xref: /drstd/dlibc/src/unix/platform/dragonos/pal/mod.rs (revision 86982c5e9b2eaa583327251616ee822c36288824)
1 
2 pub mod relibc_adapter;
3 pub use self::relibc_adapter::*;
4 
5 #[allow(non_upper_case_globals)]
6 #[no_mangle]
7 pub static mut errno: ::c_int = 0;
8 
9 #[no_mangle]
10 pub extern "C" fn e(sys: usize) -> usize {
11     if (sys as isize) < 0 && (sys as isize) >= -256 {
12         unsafe {
13             errno = -(sys as isize) as ::c_int;
14         }
15         !0
16     } else {
17         sys
18     }
19 }
20 
21 #[no_mangle]
22 pub extern "C" fn getrandom(buf: &mut [u8], flags: ::c_uint) -> ::ssize_t{
23     unimplemented!()
24 }
25 
26 // #[no_mangle]
27 // pub extern "C" fn pthread_key_delete(key: pthread_key_t) -> ::c_int{
28 //     0
29 // }
30 // #[no_mangle]
31 // pub extern "C" fn syscall(num: ::c_long) -> ::c_long{
32 //     0
33 // }
34 // #[no_mangle]
35 // pub extern "C" fn isalnum(c: ::c_int) -> ::c_int{
36 //  ::c_int::from(isdigit(c) != 0 || isalpha(c) != 0)
37 // }
38 // #[no_mangle]
39 // pub extern "C" fn isalpha(c: ::c_int) -> ::c_int {
40 //     ::c_int::from(islower(c) != 0 || isupper(c) != 0)
41 // }
42 
43 // #[no_mangle]
44 // pub extern "C" fn isascii(c: ::c_int) -> ::c_int {
45 //     ::c_int::from((c & !0x7f) == 0)
46 // }
47 
48 // #[no_mangle]
49 // pub extern "C" fn isblank(c: ::c_int) -> ::c_int {
50 //     ::c_int::from(c == ::c_int::from(b' ') || c == ::c_int::from(b'\t'))
51 // }
52 
53 // #[no_mangle]
54 // pub extern "C" fn iscntrl(c: ::c_int) -> ::c_int {
55 //     ::c_int::from((c >= 0x00 && c <= 0x1f) || c == 0x7f)
56 // }
57 
58 // #[no_mangle]
59 // pub extern "C" fn isdigit(c: ::c_int) -> ::c_int {
60 //     ::c_int::from(c >= ::c_int::from(b'0') && c <= ::c_int::from(b'9'))
61 // }
62 
63 // #[no_mangle]
64 // pub extern "C" fn isgraph(c: ::c_int) -> ::c_int {
65 //     ::c_int::from(c >= 0x21 && c <= 0x7e)
66 // }
67 
68 // #[no_mangle]
69 // pub extern "C" fn islower(c: ::c_int) -> ::c_int {
70 //     ::c_int::from(c >= ::c_int::from(b'a') && c <= ::c_int::from(b'z'))
71 // }
72 
73 // #[no_mangle]
74 // pub extern "C" fn isprint(c: ::c_int) -> ::c_int {
75 //     ::c_int::from(c >= 0x20 && c < 0x7f)
76 // }
77 
78 // #[no_mangle]
79 // pub extern "C" fn ispunct(c: ::c_int) -> ::c_int {
80 //     ::c_int::from(
81 //         (c >= ::c_int::from(b'!') && c <= ::c_int::from(b'/'))
82 //             || (c >= ::c_int::from(b':') && c <= ::c_int::from(b'@'))
83 //             || (c >= ::c_int::from(b'[') && c <= ::c_int::from(b'`'))
84 //             || (c >= ::c_int::from(b'{') && c <= ::c_int::from(b'~')),
85 //     )
86 // }
87 
88 // #[no_mangle]
89 // pub extern "C" fn isspace(c: ::c_int) -> ::c_int {
90 //     ::c_int::from(
91 //         c == ::c_int::from(b' ')
92 //             || c == ::c_int::from(b'\t')
93 //             || c == ::c_int::from(b'\n')
94 //             || c == ::c_int::from(b'\r')
95 //             || c == 0x0b
96 //             || c == 0x0c,
97 //     )
98 // }
99 
100 // #[no_mangle]
101 // pub extern "C" fn isupper(c: ::c_int) -> ::c_int {
102 //     ::c_int::from(c >= ::c_int::from(b'A') && c <= ::c_int::from(b'Z'))
103 // }
104 
105 // #[no_mangle]
106 // pub extern "C" fn isxdigit(c: ::c_int) -> ::c_int {
107 //     ::c_int::from(isdigit(c) != 0 || (c | 32 >= ::c_int::from(b'a') && c | 32 <= ::c_int::from(b'f')))
108 // }
109 
110 // #[no_mangle]
111 // /// The comment in musl:
112 // /// "nonsense function that should NEVER be used!"
113 // pub extern "C" fn toascii(c: ::c_int) -> ::c_int {
114 //     c & 0x7f
115 // }
116 
117 // #[no_mangle]
118 // pub extern "C" fn tolower(c: ::c_int) -> ::c_int {
119 //     if isupper(c) != 0 {
120 //         c | 0x20
121 //     } else {
122 //         c
123 //     }
124 // }
125 
126 // #[no_mangle]
127 // pub extern "C" fn toupper(c: ::c_int) -> ::c_int {
128 //     if islower(c) != 0 {
129 //         c & !0x20
130 //     } else {
131 //         c
132 //     }
133 // }
134 // #[no_mangle]
135 // pub extern "C" fn qsort(
136 //     base: *mut c_void,
137 //     num: ::size_t,
138 //     size: ::size_t,
139 //     compar: ::Option<unsafe extern "C" fn(*const c_void, *const c_void) -> ::c_int>,
140 // ){
141 // 	unimplemented!()
142 // }
143 // unsafe extern "C" fn void_cmp(a: *const c_void, b: *const c_void) -> ::c_int {
144 //     *(a as *const i32) - *(b as *const i32) as ::c_int
145 // }
146 // #[no_mangle]
147 // pub unsafe extern "C" fn bsearch(
148 //     key: *const c_void,
149 //     base: *const c_void,
150 //     num: ::size_t,
151 //     size: ::size_t,
152 //     compar: ::Option<unsafe extern "C" fn(*const c_void, *const c_void) -> ::c_int>,
153 // ) -> *mut c_void{
154 // 	let mut start = base;
155 //     let mut len = num;
156 //     let cmp_fn = compar.unwrap_or(void_cmp);
157 //     while len > 0 {
158 //         let med = (start as ::size_t + (len >> 1) * size) as *const c_void;
159 //         let diff = cmp_fn(key, med);
160 //         if diff == 0 {
161 //             return med as *mut c_void;
162 //         } else if diff > 0 {
163 //             start = (med as usize + size) as *const c_void;
164 //             len -= 1;
165 //         }
166 //         len >>= 1;
167 //     }
168 //     ptr::null_mut()
169 // }
170 
171 // pub unsafe fn parse_mode_flags(mode_str: *const ::c_char) -> i32 {
172 //     let mut flags = if !strchr(mode_str, b'+' as i32).is_null() {
173 //         O_RDWR
174 //     } else if (*mode_str) == b'r' as i8 {
175 //         O_RDONLY
176 //     } else {
177 //         O_WRONLY
178 //     };
179 //     if !strchr(mode_str, b'x' as i32).is_null() {
180 //         flags |= O_EXCL;
181 //     }
182 //     if !strchr(mode_str, b'e' as i32).is_null() {
183 //         flags |= O_CLOEXEC;
184 //     }
185 //     if (*mode_str) != b'r' as i8 {
186 //         flags |= O_CREAT;
187 //     }
188 //     if (*mode_str) == b'w' as i8 {
189 //         flags |= O_TRUNC;
190 //     } else if (*mode_str) == b'a' as i8 {
191 //         flags |= O_APPEND;
192 //     }
193 
194 //     flags
195 // }
196 // #[no_mangle]
197 // pub extern "C" fn fopen(filename: *const ::c_char, mode: *const ::c_char) -> *mut FILE{
198 // 	unimplemented!()
199 // }
200 // #[cfg_attr(
201 //     all(target_os = "macos", target_arch = "x86"),
202 //     link_name = "freopen$UNIX2003"
203 // )]
204 // #[no_mangle]
205 // pub extern "C" fn freopen(filename: *const ::c_char, mode: *const ::c_char, file: *mut FILE) -> *mut FILE{
206 // 	unimplemented!()
207 // }
208 
209 // #[no_mangle]
210 // pub extern "C" fn fflush(file: *mut FILE) -> ::c_int{
211 // 	unimplemented!()
212 // }
213 // #[no_mangle]
214 // pub extern "C" fn fclose(file: *mut FILE) -> ::c_int{
215 // 	unimplemented!()
216 // }
217 // #[no_mangle]
218 // pub extern "C" fn remove(filename: *const ::c_char) -> ::c_int{
219 //     let r = unlink(filename);
220 //     if r == -EISDIR {
221 //         rmdir(filename)
222 //     } else {
223 //         r
224 //     }
225 // }
226 
227 // #[no_mangle]
228 // pub unsafe extern "C" fn tmpfile() -> *mut FILE{
229 // 	let mut file_name = *b"/tmp/tmpfileXXXXXX\0";
230 //     let file_name = file_name.as_mut_ptr() as *mut ::c_char;
231 //     let fd = mkstemp(file_name);
232 
233 //     if fd < 0 {
234 //         return ptr::null_mut();
235 //     }
236 
237 //     let fp = fdopen(fd, "w+".as_ptr() as *const i8);
238 //     {
239 //         unlink(file_name);
240 //     }
241 
242 //     if fp.is_null() {
243 //         close(fd);
244 //     }
245 
246 //     fp
247 // }
248 // #[no_mangle]
249 // pub extern "C" fn setvbuf(stream: *mut FILE, buffer: *mut ::c_char, mode: ::c_int, size: ::size_t) -> ::c_int{
250 // 	unimplemented!()
251 // }
252 // #[no_mangle]
253 // pub extern "C" fn setbuf(stream: *mut FILE, buf: *mut ::c_char){
254 // 	unimplemented!()
255 // }
256 // #[no_mangle]
257 // pub extern "C" fn getchar() -> ::c_int{
258 // 	fgetc(&mut *stdin)
259 // }
260 // #[no_mangle]
261 // pub extern "C" fn putchar(c: ::c_int) -> ::c_int{
262 // 	fputc(c, &mut *stdout)
263 // }
264 // #[no_mangle]
265 // pub extern "C" fn fgetc(stream: *mut FILE) -> ::c_int{
266 // 	unimplemented!()
267 // }
268 // #[no_mangle]
269 // pub extern "C" fn fgets(buf: *mut ::c_char, n: ::c_int, stream: *mut FILE) -> *mut ::c_char{
270 // 	unimplemented!()
271 // }
272 // #[no_mangle]
273 // pub extern "C" fn fputc(c: ::c_int, stream: *mut FILE) -> ::c_int{
274 // 	unimplemented!()
275 // }
276 // #[cfg_attr(
277 //     all(target_os = "macos", target_arch = "x86"),
278 //     link_name = "fputs$UNIX2003"
279 // )]
280 // #[no_mangle]
281 // pub extern "C" fn fputs(s: *const ::c_char, stream: *mut FILE) -> ::c_int{
282 // 	unimplemented!()
283 // }
284 // #[no_mangle]
285 // pub extern "C" fn puts(s: *const ::c_char) -> ::c_int{
286 // 	unimplemented!()
287 // }
288 // #[no_mangle]
289 // pub extern "C" fn ungetc(c: ::c_int, stream: *mut FILE) -> ::c_int{
290 // 	unimplemented!()
291 // }
292 // #[no_mangle]
293 // pub extern "C" fn fread(ptr: *mut c_void, size: ::size_t, nobj: ::size_t, stream: *mut FILE) -> ::size_t{
294 // 	unimplemented!()
295 // }
296 // #[cfg_attr(
297 //     all(target_os = "macos", target_arch = "x86"),
298 //     link_name = "fwrite$UNIX2003"
299 // )]
300 // #[no_mangle]
301 // pub extern "C" fn fwrite(ptr: *const c_void, size: ::size_t, nobj: ::size_t, stream: *mut FILE) -> ::size_t{
302 // 	unimplemented!()
303 // }
304 // #[no_mangle]
305 // pub extern "C" fn fseek(stream: *mut FILE, offset: c_long, whence: ::c_int) -> ::c_int{
306 // 	unimplemented!()
307 // }
308 // #[no_mangle]
309 // pub extern "C" fn ftell(stream: *mut FILE) -> c_long{
310 // 	unimplemented!()
311 // }
312 // #[no_mangle]
313 // pub extern "C" fn rewind(stream: *mut FILE){
314 // 	unimplemented!()
315 // }
316 // #[cfg_attr(target_os = "netbsd", link_name = "__fgetpos50")]
317 // #[no_mangle]
318 // pub extern "C" fn fgetpos(stream: *mut FILE, ptr: *mut fpos_t) -> ::c_int{
319 // 	unimplemented!()
320 // }
321 // #[cfg_attr(target_os = "netbsd", link_name = "__fsetpos50")]
322 // #[no_mangle]
323 // pub extern "C" fn fsetpos(stream: *mut FILE, ptr: *const fpos_t) -> ::c_int{
324 // 	unimplemented!()
325 // }
326 // #[no_mangle]
327 // pub extern "C" fn feof(stream: *mut FILE) -> ::c_int{
328 // 	unimplemented!()
329 // }
330 // #[no_mangle]
331 // pub extern "C" fn ferror(stream: *mut FILE) -> ::c_int{
332 // 	unimplemented!()
333 // }
334 // #[no_mangle]
335 // pub extern "C" fn clearerr(stream: *mut FILE){
336 // 	unimplemented!()
337 // }
338 // #[no_mangle]
339 // pub extern "C" fn perror(s: *const ::c_char){
340 //     unimplemented!()
341 // }
342 // #[no_mangle]
343 // pub extern "C" fn atof(s: *const ::c_char) -> c_double{
344 // 	unimplemented!()
345 // }
346 // #[no_mangle]
347 // pub extern "C" fn atoi(s: *const ::c_char) -> ::c_int{
348 // 	unimplemented!()
349 // }
350 // #[no_mangle]
351 // pub extern "C" fn atol(s: *const ::c_char) -> c_long{
352 // 	unimplemented!()
353 // }
354 // #[no_mangle]
355 // pub extern "C" fn atoll(s: *const ::c_char) -> c_longlong{
356 // 	unimplemented!()
357 // }
358 // #[cfg_attr(
359 //     all(target_os = "macos", target_arch = "x86"),
360 //     link_name = "strtod$UNIX2003"
361 // )]
362 // #[no_mangle]
363 // pub extern "C" fn strtod(s: *const ::c_char, endp: *mut *mut ::c_char) -> c_double{
364 // 	unimplemented!()
365 // }
366 // #[no_mangle]
367 // pub extern "C" fn strtof(s: *const ::c_char, endp: *mut *mut ::c_char) -> c_float{
368 // 	unimplemented!()
369 // }
370 // #[no_mangle]
371 // pub extern "C" fn strtol(s: *const ::c_char, endp: *mut *mut ::c_char, base: ::c_int) -> c_long{
372 // 	unimplemented!()
373 // }
374 // #[no_mangle]
375 // pub extern "C" fn strtoll(s: *const ::c_char, endp: *mut *mut ::c_char, base: ::c_int) -> c_longlong{
376 // 	unimplemented!()
377 // }
378 // #[no_mangle]
379 // pub extern "C" fn strtoul(s: *const ::c_char, endp: *mut *mut ::c_char, base: ::c_int) -> c_ulong{
380 // 	unimplemented!()
381 // }
382 // #[no_mangle]
383 // pub extern "C" fn strtoull(s: *const ::c_char, endp: *mut *mut ::c_char, base: ::c_int) -> c_ulonglong{
384 // 	unimplemented!()
385 // }
386 // #[no_mangle]
387 // pub extern "C" fn calloc(nobj: ::size_t, size: ::size_t) -> *mut c_void{
388 // 	unimplemented!()
389 // }
390 // #[no_mangle]
391 // pub extern "C" fn malloc(size: ::size_t) -> *mut c_void{
392 // 	unimplemented!()
393 // }
394 // #[no_mangle]
395 // pub extern "C" fn realloc(p: *mut c_void, size: ::size_t) -> *mut c_void{
396 // 	unimplemented!()
397 // }
398 // #[no_mangle]
399 // pub extern "C" fn free(p: *mut c_void){
400 // 	unimplemented!()
401 // }
402 // #[no_mangle]
403 // pub extern "C" fn abort() -> !{
404 // 	unimplemented!()
405 // }
406 
407 // #[no_mangle]
408 // pub extern "C" fn _exit(status: ::c_int) -> !{
409 // 	unimplemented!()
410 // }
411 // #[cfg_attr(
412 //     all(target_os = "macos", target_arch = "x86"),
413 //     link_name = "system$UNIX2003"
414 // )]
415 // #[no_mangle]
416 // pub extern "C" fn system(s: *const ::c_char) -> ::c_int{
417 // 	unimplemented!()
418 // }
419 // #[no_mangle]
420 // pub extern "C" fn getenv(s: *const ::c_char) -> *mut ::c_char{
421 // 	unimplemented!()
422 // }
423 
424 // #[no_mangle]
425 // pub extern "C" fn strcpy(dst: *mut ::c_char, src: *const ::c_char) -> *mut ::c_char{
426 // 	unimplemented!()
427 // }
428 // #[no_mangle]
429 // pub extern "C" fn strncpy(dst: *mut ::c_char, src: *const ::c_char, n: ::size_t) -> *mut ::c_char{
430 // 	unimplemented!()
431 // }
432 // #[no_mangle]
433 // pub extern "C" fn stpcpy(dst: *mut ::c_char, src: *const ::c_char) -> *mut ::c_char{
434 // 	unimplemented!()
435 // }
436 // #[no_mangle]
437 // pub extern "C" fn strcat(s: *mut ::c_char, ct: *const ::c_char) -> *mut ::c_char{
438 // 	unimplemented!()
439 // }
440 // #[no_mangle]
441 // pub extern "C" fn strncat(s: *mut ::c_char, ct: *const ::c_char, n: ::size_t) -> *mut ::c_char{
442 // 	unimplemented!()
443 // }
444 // #[no_mangle]
445 // pub extern "C" fn strcmp(cs: *const ::c_char, ct: *const ::c_char) -> ::c_int{
446 // 	unimplemented!()
447 // }
448 // #[no_mangle]
449 // pub extern "C" fn strncmp(cs: *const ::c_char, ct: *const ::c_char, n: ::size_t) -> ::c_int{
450 // 	unimplemented!()
451 // }
452 // #[no_mangle]
453 // pub extern "C" fn strcoll(cs: *const ::c_char, ct: *const ::c_char) -> ::c_int{
454 // 	unimplemented!()
455 // }
456 // #[no_mangle]
457 // pub extern "C" fn strchr(cs: *const ::c_char, c: ::c_int) -> *mut ::c_char{
458 // 	unimplemented!()
459 // }
460 // #[no_mangle]
461 // pub extern "C" fn strrchr(cs: *const ::c_char, c: ::c_int) -> *mut ::c_char{
462 // 	unimplemented!()
463 // }
464 // #[no_mangle]
465 // pub extern "C" fn strspn(cs: *const ::c_char, ct: *const ::c_char) -> ::size_t{
466 // 	unimplemented!()
467 // }
468 // #[no_mangle]
469 // pub extern "C" fn strcspn(cs: *const ::c_char, ct: *const ::c_char) -> ::size_t{
470 // 	unimplemented!()
471 // }
472 // #[no_mangle]
473 // pub extern "C" fn strdup(cs: *const ::c_char) -> *mut ::c_char{
474 // 	unimplemented!()
475 // }
476 // #[no_mangle]
477 // pub extern "C" fn strndup(cs: *const ::c_char, n: ::size_t) -> *mut ::c_char{
478 // 	unimplemented!()
479 // }
480 // #[no_mangle]
481 // pub extern "C" fn strpbrk(cs: *const ::c_char, ct: *const ::c_char) -> *mut ::c_char{
482 // 	unimplemented!()
483 // }
484 // #[no_mangle]
485 // pub extern "C" fn strstr(cs: *const ::c_char, ct: *const ::c_char) -> *mut ::c_char{
486 // 	unimplemented!()
487 // }
488 // #[no_mangle]
489 // pub extern "C" fn strcasecmp(s1: *const ::c_char, s2: *const ::c_char) -> ::c_int{
490 // 	unimplemented!()
491 // }
492 // #[no_mangle]
493 // pub extern "C" fn strncasecmp(s1: *const ::c_char, s2: *const ::c_char, n: ::size_t) -> ::c_int{
494 // 	unimplemented!()
495 // }
496 // #[no_mangle]
497 // pub unsafe extern "C" fn strlen(cs: *const ::c_char) -> ::size_t{
498 // 	strnlen(cs,usize::MAX)
499 // }
500 // #[no_mangle]
501 // pub unsafe extern "C" fn strnlen(cs: *const ::c_char, maxlen: ::size_t) -> ::size_t{
502 // 	let mut i = 0;
503 //     while i < maxlen {
504 //         if *cs.add(i) == 0 {
505 //             break;
506 //         }
507 //         i += 1;
508 //     }
509 //     i as ::size_t
510 // }
511 // #[cfg_attr(
512 //     all(target_os = "macos", target_arch = "x86"),
513 //     link_name = "strerror$UNIX2003"
514 // )]
515 // #[no_mangle]
516 // pub extern "C" fn strerror(n: ::c_int) -> *mut ::c_char{
517 // 	unimplemented!()
518 // }
519 // #[no_mangle]
520 // pub extern "C" fn strtok(s: *mut ::c_char, t: *const ::c_char) -> *mut ::c_char{
521 // 	unimplemented!()
522 // }
523 // #[no_mangle]
524 // pub extern "C" fn strtok_r(s: *mut ::c_char, t: *const ::c_char, p: *mut *mut ::c_char) -> *mut ::c_char{
525 // 	unimplemented!()
526 // }
527 // #[no_mangle]
528 // pub extern "C" fn strxfrm(s: *mut ::c_char, ct: *const ::c_char, n: ::size_t) -> ::size_t{
529 // 	unimplemented!()
530 // }
531 // #[no_mangle]
532 // pub extern "C" fn strsignal(sig: ::c_int) -> *mut ::c_char{
533 // 	unimplemented!()
534 // }
535 // #[no_mangle]
536 // pub extern "C" fn wcslen(buf: *const wchar_t) -> ::size_t{
537 // 	unimplemented!()
538 // }
539 // #[no_mangle]
540 // pub extern "C" fn wcstombs(dest: *mut ::c_char, src: *const wchar_t, n: ::size_t) -> ::size_t{
541 // 	unimplemented!()
542 // }
543 
544 // #[no_mangle]
545 // pub extern "C" fn memchr(cx: *const c_void, c: ::c_int, n: ::size_t) -> *mut c_void{
546 // 	unimplemented!()
547 // }
548 // #[no_mangle]
549 // pub extern "C" fn wmemchr(cx: *const wchar_t, c: wchar_t, n: ::size_t) -> *mut wchar_t{
550 // 	unimplemented!()
551 // }
552 // #[no_mangle]
553 // pub extern "C" fn memcmp(cx: *const c_void, ct: *const c_void, n: ::size_t) -> ::c_int{
554 // 	unimplemented!()
555 // }
556 // #[no_mangle]
557 // pub extern "C" fn memcpy(dest: *mut c_void, src: *const c_void, n: ::size_t) -> *mut c_void{
558 // 	unimplemented!()
559 // }
560 // #[no_mangle]
561 // pub extern "C" fn memmove(dest: *mut c_void, src: *const c_void, n: ::size_t) -> *mut c_void{
562 // 	unimplemented!()
563 // }
564 // #[no_mangle]
565 // pub extern "C" fn memset(dest: *mut c_void, c: ::c_int, n: ::size_t) -> *mut c_void{
566 // 	unimplemented!()
567 // }
568 
569 // #[no_mangle]
570 // pub extern "C" fn fprintf(stream: *mut ::FILE, format: *const ::c_char) -> ::c_int{
571 // 	unimplemented!()
572 // }
573 
574 // #[no_mangle]
575 // pub extern "C" fn printf(format: *const ::c_char) -> ::c_int{
576 // 	unimplemented!()
577 // }
578 
579 // #[no_mangle]
580 // pub extern "C" fn snprintf(s: *mut ::c_char, n: ::size_t, format: *const ::c_char) -> ::c_int{
581 // 	unimplemented!()
582 // }
583 // #[no_mangle]
584 // pub extern "C" fn sprintf(s: *mut ::c_char, format: *const ::c_char) -> ::c_int{
585 // 	unimplemented!()
586 // }
587 // #[cfg_attr(
588 //     all(target_os = "linux", not(target_env = "uclibc")),
589 //     link_name = "__isoc99_fscanf"
590 // )]
591 // #[no_mangle]
592 // pub extern "C" fn fscanf(stream: *mut ::FILE, format: *const ::c_char) -> ::c_int{
593 // 	unimplemented!()
594 // }
595 // #[cfg_attr(
596 //     all(target_os = "linux", not(target_env = "uclibc")),
597 //     link_name = "__isoc99_scanf"
598 // )]
599 // #[no_mangle]
600 // pub extern "C" fn scanf(format: *const ::c_char) -> ::c_int{
601 // 	unimplemented!()
602 // }
603 // #[cfg_attr(
604 //     all(target_os = "linux", not(target_env = "uclibc")),
605 //     link_name = "__isoc99_sscanf"
606 // )]
607 // #[no_mangle]
608 // pub extern "C" fn sscanf(s: *const ::c_char, format: *const ::c_char) -> ::c_int{
609 // 	unimplemented!()
610 // }
611 // #[no_mangle]
612 // pub extern "C" fn getchar_unlocked() -> ::c_int{
613 // 	unimplemented!()
614 // }
615 // #[no_mangle]
616 // pub extern "C" fn putchar_unlocked(c: ::c_int) -> ::c_int{
617 // 	unimplemented!()
618 // }
619 
620 // #[cfg(not(all(
621 //     libc_cfg_target_vendor,
622 //     target_arch = "powerpc",
623 //     target_vendor = "nintendo"
624 // )))]
625 // #[cfg_attr(
626 //     all(target_os = "macos", target_arch = "x86"),
627 //     link_name = "connect$UNIX2003"
628 // )]
629 // #[cfg_attr(target_os = "illumos", link_name = "__xnet_connect")]
630 // #[cfg_attr(target_os = "espidf", link_name = "lwip_connect")]
631 // #[no_mangle]
632 // pub extern "C" fn connect(socket: ::c_int, address: *const sockaddr, len: socklen_t) -> ::c_int{
633 // 	unimplemented!()
634 // }
635 // #[cfg_attr(
636 //     all(target_os = "macos", target_arch = "x86"),
637 //     link_name = "listen$UNIX2003"
638 // )]
639 // #[cfg_attr(target_os = "espidf", link_name = "lwip_listen")]
640 // #[no_mangle]
641 // pub extern "C" fn listen(socket: ::c_int, backlog: ::c_int) -> ::c_int{
642 // 	unimplemented!()
643 // }
644 // #[cfg(not(all(
645 //     libc_cfg_target_vendor,
646 //     target_arch = "powerpc",
647 //     target_vendor = "nintendo"
648 // )))]
649 
650 // #[cfg(not(all(
651 //     libc_cfg_target_vendor,
652 //     target_arch = "powerpc",
653 //     target_vendor = "nintendo"
654 // )))]
655 // #[cfg_attr(
656 //     all(target_os = "macos", target_arch = "x86"),
657 //     link_name = "getpeername$UNIX2003"
658 // )]
659 // #[cfg_attr(target_os = "espidf", link_name = "lwip_getpeername")]
660 // #[no_mangle]
661 // pub extern "C" fn getpeername(
662 //     socket: ::c_int,
663 //     address: *mut sockaddr,
664 //     address_len: *mut socklen_t,
665 // ) -> ::c_int{
666 // 	unimplemented!()
667 // }
668 // #[cfg(not(all(
669 //     libc_cfg_target_vendor,
670 //     target_arch = "powerpc",
671 //     target_vendor = "nintendo"
672 // )))]
673 // #[cfg_attr(
674 //     all(target_os = "macos", target_arch = "x86"),
675 //     link_name = "getsockname$UNIX2003"
676 // )]
677 // #[cfg_attr(target_os = "espidf", link_name = "lwip_getsockname")]
678 // #[no_mangle]
679 // pub extern "C" fn getsockname(
680 //     socket: ::c_int,
681 //     address: *mut sockaddr,
682 //     address_len: *mut socklen_t,
683 // ) -> ::c_int{
684 // 	unimplemented!()
685 // }
686 
687 // #[cfg_attr(
688 //     all(target_os = "macos", target_arch = "x86"),
689 //     link_name = "socketpair$UNIX2003"
690 // )]
691 // #[cfg_attr(target_os = "illumos", link_name = "__xnet_socketpair")]
692 
693 // #[cfg(not(all(
694 //     libc_cfg_target_vendor,
695 //     target_arch = "powerpc",
696 //     target_vendor = "nintendo"
697 // )))]
698 
699 
700 
701 // #[cfg_attr(
702 //     all(target_os = "macos", not(target_arch = "aarch64")),
703 //     link_name = "stat$INODE64"
704 // )]
705 // #[cfg_attr(target_os = "netbsd", link_name = "__stat50")]
706 // #[cfg_attr(
707 //     all(target_os = "freebsd", any(freebsd11, freebsd10)),
708 //     link_name = "stat@FBSD_1.0"
709 // )]
710 // #[no_mangle]
711 // pub extern "C" fn stat(path: *const ::c_char, buf: *mut stat) -> ::c_int{
712 // 	unimplemented!()
713 // }
714 
715 // #[no_mangle]
716 // pub extern "C" fn pclose(stream: *mut ::FILE) -> ::c_int{
717 // 	unimplemented!()
718 // }
719 // #[cfg_attr(
720 //     all(target_os = "macos", target_arch = "x86"),
721 //     link_name = "fdopen$UNIX2003"
722 // )]
723 // #[no_mangle]
724 // pub extern "C" fn fdopen(fd: ::c_int, mode: *const ::c_char) -> *mut ::FILE{
725 // 	unimplemented!()
726 // }
727 // #[no_mangle]
728 // pub extern "C" fn fileno(stream: *mut ::FILE) -> ::c_int{
729 // 	unimplemented!()
730 // }
731 
732 
733 // #[cfg_attr(
734 //     all(target_os = "macos", target_arch = "x86"),
735 //     link_name = "creat$UNIX2003"
736 // )]
737 
738 // #[no_mangle]
739 // pub extern "C" fn creat(path: *const ::c_char, mode: mode_t) -> ::c_int{
740 // 	unimplemented!()
741 // }
742 
743 
744 
745 // #[cfg_attr(
746 //     all(target_os = "macos", target_arch = "x86_64"),
747 //     link_name = "opendir$INODE64"
748 // )]
749 // #[cfg_attr(
750 //     all(target_os = "macos", target_arch = "x86"),
751 //     link_name = "opendir$INODE64$UNIX2003"
752 // )]
753 // #[cfg_attr(target_os = "netbsd", link_name = "__opendir30")]
754 // #[no_mangle]
755 // pub extern "C" fn opendir(dirname: *const ::c_char) -> *mut ::DIR{
756 // 	unimplemented!()
757 // }
758 
759 // #[cfg_attr(
760 //     all(target_os = "macos", not(target_arch = "aarch64")),
761 //     link_name = "readdir$INODE64"
762 // )]
763 // #[cfg_attr(target_os = "netbsd", link_name = "__readdir30")]
764 // #[cfg_attr(
765 //     all(target_os = "freebsd", any(freebsd11, freebsd10)),
766 //     link_name = "readdir@FBSD_1.0"
767 // )]
768 // #[no_mangle]
769 // pub extern "C" fn readdir(dirp: *mut ::DIR) -> *mut ::dirent{
770 // 	unimplemented!()
771 // }
772 // #[cfg_attr(
773 //     all(target_os = "macos", target_arch = "x86"),
774 //     link_name = "closedir$UNIX2003"
775 // )]
776 // #[no_mangle]
777 // pub extern "C" fn closedir(dirp: *mut ::DIR) -> ::c_int{
778 // 	unimplemented!()
779 // }
780 // #[cfg_attr(
781 //     all(target_os = "macos", target_arch = "x86_64"),
782 //     link_name = "rewinddir$INODE64"
783 // )]
784 // #[cfg_attr(
785 //     all(target_os = "macos", target_arch = "x86"),
786 //     link_name = "rewinddir$INODE64$UNIX2003"
787 // )]
788 // #[no_mangle]
789 // pub extern "C" fn rewinddir(dirp: *mut ::DIR){
790 // 	unimplemented!()
791 // }
792 
793 // #[no_mangle]
794 // pub extern "C" fn fchmodat(
795 //     dirfd: ::c_int,
796 //     pathname: *const ::c_char,
797 //     mode: ::mode_t,
798 //     flags: ::c_int,
799 // ) -> ::c_int{
800 // 	unimplemented!()
801 // }
802 
803 // #[no_mangle]
804 // pub extern "C" fn fchownat(
805 //     dirfd: ::c_int,
806 //     pathname: *const ::c_char,
807 //     owner: ::uid_t,
808 //     group: ::gid_t,
809 //     flags: ::c_int,
810 // ) -> ::c_int{
811 // 	unimplemented!()
812 // }
813 // #[cfg_attr(
814 //     all(target_os = "macos", not(target_arch = "aarch64")),
815 //     link_name = "fstatat$INODE64"
816 // )]
817 // #[cfg_attr(
818 //     all(target_os = "freebsd", any(freebsd11, freebsd10)),
819 //     link_name = "fstatat@FBSD_1.1"
820 // )]
821 // #[no_mangle]
822 // pub extern "C" fn fstatat(
823 //     dirfd: ::c_int,
824 //     pathname: *const ::c_char,
825 //     buf: *mut stat,
826 //     flags: ::c_int,
827 // ) -> ::c_int{
828 // 	unimplemented!()
829 // }
830 // #[no_mangle]
831 // pub extern "C" fn linkat(
832 //     olddirfd: ::c_int,
833 //     oldpath: *const ::c_char,
834 //     newdirfd: ::c_int,
835 //     newpath: *const ::c_char,
836 //     flags: ::c_int,
837 // ) -> ::c_int{
838 // 	unimplemented!()
839 // }
840 // #[no_mangle]
841 // pub extern "C" fn renameat(
842 //     olddirfd: ::c_int,
843 //     oldpath: *const ::c_char,
844 //     newdirfd: ::c_int,
845 //     newpath: *const ::c_char,
846 // ) -> ::c_int{
847 // 	unimplemented!()
848 // }
849 // #[no_mangle]
850 // pub extern "C" fn symlinkat(
851 //     target: *const ::c_char,
852 //     newdirfd: ::c_int,
853 //     linkpath: *const ::c_char,
854 // ) -> ::c_int{
855 // 	unimplemented!()
856 // }
857 
858 
859 // #[no_mangle]
860 // pub extern "C" fn alarm(seconds: ::c_uint) -> ::c_uint{
861 // 	unimplemented!()
862 // }
863 
864 
865 
866 
867 
868 
869 // #[no_mangle]
870 // pub extern "C" fn execl(path: *const ::c_char, arg0: *const ::c_char) -> ::c_int{
871 // 	unimplemented!()
872 // }
873 // #[no_mangle]
874 // pub extern "C" fn execle(path: *const ::c_char, arg0: *const ::c_char) -> ::c_int{
875 // 	unimplemented!()
876 // }
877 // #[no_mangle]
878 // pub extern "C" fn execlp(file: *const ::c_char, arg0: *const ::c_char) -> ::c_int{
879 // 	unimplemented!()
880 // }
881 // #[no_mangle]
882 // pub extern "C" fn execv(prog: *const ::c_char, argv_: *const *const ::c_char) -> ::c_int{
883 // 	unimplemented!()
884 // }
885 
886 // #[no_mangle]
887 // pub extern "C" fn execvp(c: *const ::c_char, argv_: *const *const ::c_char) -> ::c_int{
888 // 	unimplemented!()
889 // }
890 
891 
892 // #[no_mangle]
893 // pub extern "C" fn fpathconf(filedes: ::c_int, name: ::c_int) -> c_long{
894 // 	unimplemented!()
895 // }
896 
897 
898 
899 
900 // #[no_mangle]
901 // pub extern "C" fn getgroups(ngroups_max: ::c_int, groups: *mut gid_t) -> ::c_int{
902 // 	unimplemented!()
903 // }
904 // #[cfg_attr(target_os = "illumos", link_name = "getloginx")]
905 // #[no_mangle]
906 // pub extern "C" fn getlogin() -> *mut ::c_char{
907 // 	unimplemented!()
908 // }
909 // #[cfg_attr(
910 //     all(target_os = "macos", target_arch = "x86"),
911 //     link_name = "getopt$UNIX2003"
912 // )]
913 // #[no_mangle]
914 // pub extern "C" fn getopt(argc: ::c_int, argv_: *const *mut ::c_char, optstr: *const ::c_char) -> ::c_int{
915 // 	unimplemented!()
916 // }
917 
918 // #[no_mangle]
919 // pub extern "C" fn getpgrp() -> ::pid_t{
920 // 	unimplemented!()
921 // }
922 
923 
924 
925 // #[no_mangle]
926 // pub extern "C" fn isatty(fd: ::c_int) -> ::c_int{
927 // 	unimplemented!()
928 // }
929 
930 
931 // #[no_mangle]
932 // pub extern "C" fn pathconf(path: *const ::c_char, name: ::c_int) -> c_long{
933 // 	unimplemented!()
934 // }
935 // #[no_mangle]
936 // pub extern "C" fn pipe(fds: *mut ::c_int) -> ::c_int{
937 // 	unimplemented!()
938 // }
939 // #[no_mangle]
940 // pub extern "C" fn posix_memalign(memptr: *mut *mut ::c_void, align: ::size_t, size: ::size_t) -> ::c_int{
941 // 	unimplemented!()
942 // }
943 // #[cfg_attr(
944 //     all(target_os = "macos", target_arch = "x86"),
945 //     link_name = "read$UNIX2003"
946 // )]
947 
948 
949 // #[no_mangle]
950 // pub extern "C" fn seteuid(uid: uid_t) -> ::c_int{
951 // 	unimplemented!()
952 // }
953 // #[no_mangle]
954 // pub extern "C" fn setegid(gid: gid_t) -> ::c_int{
955 // 	unimplemented!()
956 // }
957 // #[no_mangle]
958 // pub extern "C" fn setgid(gid: gid_t) -> ::c_int{
959 // 	unimplemented!()
960 // }
961 
962 // #[no_mangle]
963 // pub extern "C" fn setsid() -> ::pid_t{
964 // 	unimplemented!()
965 // }
966 // #[no_mangle]
967 // pub extern "C" fn setuid(uid: uid_t) -> ::c_int{
968 // 	unimplemented!()
969 // }
970 
971 
972 // #[cfg_attr(
973 //     all(target_os = "macos", target_arch = "x86"),
974 //     link_name = "sleep$UNIX2003"
975 // )]
976 // #[no_mangle]
977 // pub extern "C" fn sleep(secs: ::c_uint) -> ::c_uint{
978 // 	unimplemented!()
979 // }
980 
981 // #[no_mangle]
982 // pub extern "C" fn tcgetpgrp(fd: ::c_int) -> ::pid_t{
983 // 	unimplemented!()
984 // }
985 // #[no_mangle]
986 // pub extern "C" fn tcsetpgrp(fd: ::c_int, pgrp: ::pid_t) -> ::c_int{
987 // 	unimplemented!()
988 // }
989 // #[no_mangle]
990 // pub extern "C" fn ttyname(fd: ::c_int) -> *mut ::c_char{
991 // 	unimplemented!()
992 // }
993 // #[cfg_attr(
994 //     all(target_os = "macos", target_arch = "x86"),
995 //     link_name = "ttyname_r$UNIX2003"
996 // )]
997 // #[cfg_attr(target_os = "illumos", link_name = "__posix_ttyname_r")]
998 // #[no_mangle]
999 // pub extern "C" fn ttyname_r(fd: ::c_int, buf: *mut ::c_char, buflen: ::size_t) -> ::c_int{
1000 // 	unimplemented!()
1001 // }
1002 
1003 // #[cfg_attr(
1004 //     all(target_os = "macos", target_arch = "x86"),
1005 //     link_name = "wait$UNIX2003"
1006 // )]
1007 // #[no_mangle]
1008 // pub extern "C" fn wait(status: *mut ::c_int) -> ::pid_t{
1009 // 	unimplemented!()
1010 // }
1011 // #[cfg_attr(
1012 //     all(target_os = "macos", target_arch = "x86"),
1013 //     link_name = "waitpid$UNIX2003"
1014 // )]
1015 
1016 // #[cfg_attr(
1017 //     all(target_os = "macos", target_arch = "x86"),
1018 //     link_name = "write$UNIX2003"
1019 // )]
1020 // #[cfg_attr(
1021 //     all(target_os = "macos", target_arch = "x86"),
1022 //     link_name = "pread$UNIX2003"
1023 // )]
1024 // #[no_mangle]
1025 // pub extern "C" fn pread(fd: ::c_int, buf: *mut ::c_void, count: ::size_t, offset: off_t) -> ::ssize_t{
1026 // 	unimplemented!()
1027 // }
1028 // #[cfg_attr(
1029 //     all(target_os = "macos", target_arch = "x86"),
1030 //     link_name = "pwrite$UNIX2003"
1031 // )]
1032 // #[no_mangle]
1033 // pub extern "C" fn pwrite(fd: ::c_int, buf: *const ::c_void, count: ::size_t, offset: off_t) -> ::ssize_t{
1034 // 	unimplemented!()
1035 // }
1036 
1037 
1038 // #[cfg_attr(target_os = "netbsd", link_name = "__utime50")]
1039 // #[no_mangle]
1040 // pub extern "C" fn utime(file: *const ::c_char, buf: *const utimbuf) -> ::c_int{
1041 // 	unimplemented!()
1042 // }
1043 
1044 // #[cfg_attr(
1045 //     all(target_os = "macos", target_arch = "x86"),
1046 //     link_name = "kill$UNIX2003"
1047 // )]
1048 // #[no_mangle]
1049 // pub extern "C" fn kill(pid: ::pid_t, sig: ::c_int) -> ::c_int{
1050 // 	unimplemented!()
1051 // }
1052 // #[cfg_attr(
1053 //     all(target_os = "macos", target_arch = "x86"),
1054 //     link_name = "killpg$UNIX2003"
1055 // )]
1056 // #[no_mangle]
1057 // pub extern "C" fn killpg(pgrp: ::pid_t, sig: ::c_int) -> ::c_int{
1058 // 	unimplemented!()
1059 // }
1060 
1061 
1062 
1063 
1064 
1065 
1066 
1067 
1068 // #[no_mangle]
1069 // pub extern "C" fn if_nametoindex(ifname: *const ::c_char) -> ::c_uint{
1070 // 	unimplemented!()
1071 // }
1072 // #[no_mangle]
1073 // pub extern "C" fn if_indextoname(ifindex: ::c_uint, ifname: *mut ::c_char) -> *mut ::c_char{
1074 // 	unimplemented!()
1075 // }
1076 
1077 // #[cfg_attr(
1078 //     all(target_os = "macos", not(target_arch = "aarch64")),
1079 //     link_name = "lstat$INODE64"
1080 // )]
1081 // #[cfg_attr(target_os = "netbsd", link_name = "__lstat50")]
1082 // #[cfg_attr(
1083 //     all(target_os = "freebsd", any(freebsd11, freebsd10)),
1084 //     link_name = "lstat@FBSD_1.0"
1085 // )]
1086 // #[no_mangle]
1087 // pub extern "C" fn lstat(path: *const ::c_char, buf: *mut stat) -> ::c_int{
1088 // 	unimplemented!()
1089 // }
1090 
1091 
1092 
1093 // #[cfg_attr(
1094 //     all(target_os = "macos", target_arch = "x86"),
1095 //     link_name = "setenv$UNIX2003"
1096 // )]
1097 // #[no_mangle]
1098 // pub extern "C" fn setenv(name: *const ::c_char, val: *const ::c_char, overwrite: ::c_int) -> ::c_int{
1099 // 	unimplemented!()
1100 // }
1101 // #[cfg_attr(
1102 //     all(target_os = "macos", target_arch = "x86"),
1103 //     link_name = "unsetenv$UNIX2003"
1104 // )]
1105 // #[cfg_attr(target_os = "netbsd", link_name = "__unsetenv13")]
1106 // #[no_mangle]
1107 // pub extern "C" fn unsetenv(name: *const ::c_char) -> ::c_int{
1108 // 	unimplemented!()
1109 // }
1110 
1111 
1112 
1113 // #[no_mangle]
1114 // pub extern "C" fn truncate(path: *const ::c_char, length: off_t) -> ::c_int{
1115 // 	unimplemented!()
1116 // }
1117 
1118 
1119 // #[no_mangle]
1120 // pub extern "C" fn signal(signum: ::c_int, handler: sighandler_t) -> sighandler_t{
1121 // 	unimplemented!()
1122 // }
1123 
1124 // #[cfg_attr(target_os = "netbsd", link_name = "__getrusage50")]
1125 // #[no_mangle]
1126 // pub extern "C" fn getrusage(resource: ::c_int, usage: *mut rusage) -> ::c_int{
1127 // 	unimplemented!()
1128 // }
1129 
1130 // #[cfg_attr(
1131 //     any(
1132 //         target_os = "macos",
1133 //         target_os = "ios",
1134 //         target_os = "tvos",
1135 //         target_os = "watchos"
1136 //     ),
1137 //     link_name = "realpath$DARWIN_EXTSN"
1138 // )]
1139 // #[no_mangle]
1140 // pub extern "C" fn realpath(pathname: *const ::c_char, resolved: *mut ::c_char) -> *mut ::c_char{
1141 // 	unimplemented!()
1142 // }
1143 
1144 
1145 
1146 // #[cfg_attr(target_os = "netbsd", link_name = "__times13")]
1147 // #[no_mangle]
1148 // pub extern "C" fn times(buf: *mut ::tms) -> ::clock_t{
1149 // 	unimplemented!()
1150 // }
1151 
1152 // #[no_mangle]
1153 // pub extern "C" fn pthread_self() -> ::pthread_t{
1154 // 	unimplemented!()
1155 // }
1156 // #[cfg_attr(
1157 //     all(target_os = "macos", target_arch = "x86"),
1158 //     link_name = "pthread_join$UNIX2003"
1159 // )]
1160 // #[no_mangle]
1161 // pub extern "C" fn pthread_join(native: ::pthread_t, value: *mut *mut ::c_void) -> ::c_int{
1162 // 	unimplemented!()
1163 // }
1164 // #[no_mangle]
1165 // pub extern "C" fn pthread_exit(value: *mut ::c_void) -> !{
1166 // 	unimplemented!()
1167 // }
1168 // #[no_mangle]
1169 // pub extern "C" fn pthread_attr_init(attr: *mut ::pthread_attr_t) -> ::c_int{
1170 // 	unimplemented!()
1171 // }
1172 // #[no_mangle]
1173 // pub extern "C" fn pthread_attr_destroy(attr: *mut ::pthread_attr_t) -> ::c_int{
1174 // 	unimplemented!()
1175 // }
1176 // #[no_mangle]
1177 // pub extern "C" fn pthread_attr_setstacksize(attr: *mut ::pthread_attr_t, stack_size: ::size_t) -> ::c_int{
1178 // 	unimplemented!()
1179 // }
1180 // #[no_mangle]
1181 // pub extern "C" fn pthread_attr_setdetachstate(attr: *mut ::pthread_attr_t, state: ::c_int) -> ::c_int{
1182 // 	unimplemented!()
1183 // }
1184 // #[no_mangle]
1185 // pub extern "C" fn pthread_detach(thread: ::pthread_t) -> ::c_int{
1186 // 	unimplemented!()
1187 // }
1188 // #[cfg_attr(target_os = "netbsd", link_name = "__libc_thr_yield")]
1189 
1190 // #[no_mangle]
1191 // pub extern "C" fn pthread_key_create(
1192 //     key: *mut pthread_key_t,
1193 //     dtor: ::Option<unsafe extern "C" fn(*mut ::c_void)>,
1194 // ) -> ::c_int{
1195 // 	unimplemented!()
1196 // }
1197 // #[no_mangle]
1198 // pub extern "C" fn pthread_getspecific(key: pthread_key_t) -> *mut ::c_void{
1199 // 	unimplemented!()
1200 // }
1201 // #[no_mangle]
1202 // pub extern "C" fn pthread_setspecific(key: pthread_key_t, value: *const ::c_void) -> ::c_int{
1203 // 	unimplemented!()
1204 // }
1205 // #[no_mangle]
1206 // pub extern "C" fn pthread_mutex_init(
1207 //     lock: *mut pthread_mutex_t,
1208 //     attr: *const pthread_mutexattr_t,
1209 // ) -> ::c_int{
1210 // 	unimplemented!()
1211 // }
1212 // #[no_mangle]
1213 // pub extern "C" fn pthread_mutex_destroy(lock: *mut pthread_mutex_t) -> ::c_int{
1214 // 	unimplemented!()
1215 // }
1216 // #[no_mangle]
1217 // pub extern "C" fn pthread_mutex_lock(lock: *mut pthread_mutex_t) -> ::c_int{
1218 // 	unimplemented!()
1219 // }
1220 // #[no_mangle]
1221 // pub extern "C" fn pthread_mutex_trylock(lock: *mut pthread_mutex_t) -> ::c_int{
1222 // 	unimplemented!()
1223 // }
1224 // #[no_mangle]
1225 // pub extern "C" fn pthread_mutex_unlock(lock: *mut pthread_mutex_t) -> ::c_int{
1226 // 	unimplemented!()
1227 // }
1228 
1229 // #[no_mangle]
1230 // pub extern "C" fn pthread_mutexattr_init(attr: *mut pthread_mutexattr_t) -> ::c_int{
1231 // 	unimplemented!()
1232 // }
1233 // #[cfg_attr(
1234 //     all(target_os = "macos", target_arch = "x86"),
1235 //     link_name = "pthread_mutexattr_destroy$UNIX2003"
1236 // )]
1237 // #[no_mangle]
1238 // pub extern "C" fn pthread_mutexattr_destroy(attr: *mut pthread_mutexattr_t) -> ::c_int{
1239 // 	unimplemented!()
1240 // }
1241 // #[no_mangle]
1242 // pub extern "C" fn pthread_mutexattr_settype(attr: *mut pthread_mutexattr_t, _type: ::c_int) -> ::c_int{
1243 // 	unimplemented!()
1244 // }
1245 
1246 // #[cfg_attr(
1247 //     all(target_os = "macos", target_arch = "x86"),
1248 //     link_name = "pthread_cond_init$UNIX2003"
1249 // )]
1250 // #[no_mangle]
1251 // pub extern "C" fn pthread_cond_init(cond: *mut pthread_cond_t, attr: *const pthread_condattr_t)
1252 //     -> ::c_int{
1253 // 	unimplemented!()
1254 // }
1255 // #[cfg_attr(
1256 //     all(target_os = "macos", target_arch = "x86"),
1257 //     link_name = "pthread_cond_wait$UNIX2003"
1258 // )]
1259 // #[no_mangle]
1260 // pub extern "C" fn pthread_cond_wait(cond: *mut pthread_cond_t, lock: *mut pthread_mutex_t) -> ::c_int{
1261 // 	unimplemented!()
1262 // }
1263 // #[cfg_attr(
1264 //     all(target_os = "macos", target_arch = "x86"),
1265 //     link_name = "pthread_cond_timedwait$UNIX2003"
1266 // )]
1267 // #[no_mangle]
1268 // pub extern "C" fn pthread_cond_timedwait(
1269 //     cond: *mut pthread_cond_t,
1270 //     lock: *mut pthread_mutex_t,
1271 //     abstime: *const ::timespec,
1272 // ) -> ::c_int{
1273 // 	unimplemented!()
1274 // }
1275 // #[no_mangle]
1276 // pub extern "C" fn pthread_cond_signal(cond: *mut pthread_cond_t) -> ::c_int{
1277 // 	unimplemented!()
1278 // }
1279 // #[no_mangle]
1280 // pub extern "C" fn pthread_cond_broadcast(cond: *mut pthread_cond_t) -> ::c_int{
1281 // 	unimplemented!()
1282 // }
1283 // #[no_mangle]
1284 // pub extern "C" fn pthread_cond_destroy(cond: *mut pthread_cond_t) -> ::c_int{
1285 // 	unimplemented!()
1286 // }
1287 // #[no_mangle]
1288 // pub extern "C" fn pthread_condattr_init(attr: *mut pthread_condattr_t) -> ::c_int{
1289 // 	unimplemented!()
1290 // }
1291 // #[no_mangle]
1292 // pub extern "C" fn pthread_condattr_destroy(attr: *mut pthread_condattr_t) -> ::c_int{
1293 // 	unimplemented!()
1294 // }
1295 // #[cfg_attr(
1296 //     all(target_os = "macos", target_arch = "x86"),
1297 //     link_name = "pthread_rwlock_init$UNIX2003"
1298 // )]
1299 // #[no_mangle]
1300 // pub extern "C" fn pthread_rwlock_init(
1301 //     lock: *mut pthread_rwlock_t,
1302 //     attr: *const pthread_rwlockattr_t,
1303 // ) -> ::c_int{
1304 // 	unimplemented!()
1305 // }
1306 // #[cfg_attr(
1307 //     all(target_os = "macos", target_arch = "x86"),
1308 //     link_name = "pthread_rwlock_destroy$UNIX2003"
1309 // )]
1310 // #[no_mangle]
1311 // pub extern "C" fn pthread_rwlock_destroy(lock: *mut pthread_rwlock_t) -> ::c_int{
1312 // 	unimplemented!()
1313 // }
1314 // #[cfg_attr(
1315 //     all(target_os = "macos", target_arch = "x86"),
1316 //     link_name = "pthread_rwlock_rdlock$UNIX2003"
1317 // )]
1318 // #[no_mangle]
1319 // pub extern "C" fn pthread_rwlock_rdlock(lock: *mut pthread_rwlock_t) -> ::c_int{
1320 // 	unimplemented!()
1321 // }
1322 // #[cfg_attr(
1323 //     all(target_os = "macos", target_arch = "x86"),
1324 //     link_name = "pthread_rwlock_tryrdlock$UNIX2003"
1325 // )]
1326 // #[no_mangle]
1327 // pub extern "C" fn pthread_rwlock_tryrdlock(lock: *mut pthread_rwlock_t) -> ::c_int{
1328 // 	unimplemented!()
1329 // }
1330 // #[cfg_attr(
1331 //     all(target_os = "macos", target_arch = "x86"),
1332 //     link_name = "pthread_rwlock_wrlock$UNIX2003"
1333 // )]
1334 // #[no_mangle]
1335 // pub extern "C" fn pthread_rwlock_wrlock(lock: *mut pthread_rwlock_t) -> ::c_int{
1336 // 	unimplemented!()
1337 // }
1338 // #[cfg_attr(
1339 //     all(target_os = "macos", target_arch = "x86"),
1340 //     link_name = "pthread_rwlock_trywrlock$UNIX2003"
1341 // )]
1342 // #[no_mangle]
1343 // pub extern "C" fn pthread_rwlock_trywrlock(lock: *mut pthread_rwlock_t) -> ::c_int{
1344 // 	unimplemented!()
1345 // }
1346 // #[cfg_attr(
1347 //     all(target_os = "macos", target_arch = "x86"),
1348 //     link_name = "pthread_rwlock_unlock$UNIX2003"
1349 // )]
1350 // #[no_mangle]
1351 // pub extern "C" fn pthread_rwlock_unlock(lock: *mut pthread_rwlock_t) -> ::c_int{
1352 // 	unimplemented!()
1353 // }
1354 // #[no_mangle]
1355 // pub extern "C" fn pthread_rwlockattr_init(attr: *mut pthread_rwlockattr_t) -> ::c_int{
1356 // 	unimplemented!()
1357 // }
1358 // #[no_mangle]
1359 // pub extern "C" fn pthread_rwlockattr_destroy(attr: *mut pthread_rwlockattr_t) -> ::c_int{
1360 // 	unimplemented!()
1361 // }
1362 
1363 // #[cfg_attr(target_os = "illumos", link_name = "__xnet_getsockopt")]
1364 // #[cfg_attr(target_os = "espidf", link_name = "lwip_getsockopt")]
1365 // #[no_mangle]
1366 // pub extern "C" fn getsockopt(
1367 //     sockfd: ::c_int,
1368 //     level: ::c_int,
1369 //     optname: ::c_int,
1370 //     optval: *mut ::c_void,
1371 //     optlen: *mut ::socklen_t,
1372 // ) -> ::c_int{
1373 // 	unimplemented!()
1374 // }
1375 // #[no_mangle]
1376 // pub extern "C" fn raise(signum: ::c_int) -> ::c_int{
1377 // 	unimplemented!()
1378 // }
1379 
1380 // #[cfg_attr(target_os = "netbsd", link_name = "__utimes50")]
1381 // #[no_mangle]
1382 // pub extern "C" fn utimes(filename: *const ::c_char, times: *const ::timeval) -> ::c_int{
1383 // 	unimplemented!()
1384 // }
1385 // #[no_mangle]
1386 // pub extern "C" fn dlopen(filename: *const ::c_char, flag: ::c_int) -> *mut ::c_void{
1387 // 	unimplemented!()
1388 // }
1389 // #[no_mangle]
1390 // pub extern "C" fn dlerror() -> *mut ::c_char{
1391 // 	unimplemented!()
1392 // }
1393 // #[no_mangle]
1394 // pub extern "C" fn dlsym(handle: *mut ::c_void, symbol: *const ::c_char) -> *mut ::c_void{
1395 // 	unimplemented!()
1396 // }
1397 // #[no_mangle]
1398 // pub extern "C" fn dlclose(handle: *mut ::c_void) -> ::c_int{
1399 // 	unimplemented!()
1400 // }
1401 
1402 // #[cfg(not(all(
1403 //     libc_cfg_target_vendor,
1404 //     target_arch = "powerpc",
1405 //     target_vendor = "nintendo"
1406 // )))]
1407 // #[cfg_attr(target_os = "illumos", link_name = "__xnet_getaddrinfo")]
1408 // #[cfg_attr(target_os = "espidf", link_name = "lwip_getaddrinfo")]
1409 // #[no_mangle]
1410 // pub extern "C" fn getaddrinfo(
1411 //     node: *const ::c_char,
1412 //     service: *const ::c_char,
1413 //     hints: *const addrinfo,
1414 //     res: *mut *mut addrinfo,
1415 // ) -> ::c_int{
1416 // 	unimplemented!()
1417 // }
1418 // #[cfg(not(all(
1419 //     libc_cfg_target_vendor,
1420 //     target_arch = "powerpc",
1421 //     target_vendor = "nintendo"
1422 // )))]
1423 // #[cfg_attr(target_os = "espidf", link_name = "lwip_freeaddrinfo")]
1424 // #[no_mangle]
1425 // pub extern "C" fn freeaddrinfo(res: *mut addrinfo){
1426 // 	unimplemented!()
1427 // }
1428 // #[no_mangle]
1429 // pub extern "C" fn hstrerror(errcode: ::c_int) -> *const ::c_char{
1430 // 	unimplemented!()
1431 // }
1432 // #[no_mangle]
1433 // pub extern "C" fn gai_strerror(errcode: ::c_int) -> *const ::c_char{
1434 // 	unimplemented!()
1435 // }
1436 // #[cfg_attr(
1437 //     any(
1438 //         all(
1439 //             target_os = "linux",
1440 //             not(any(target_env = "musl", target_env = "ohos"))
1441 //         ),
1442 //         target_os = "freebsd",
1443 //         target_os = "dragonfly",
1444 //         target_os = "haiku"
1445 //     ),
1446 //     link_name = "__res_init"
1447 // )]
1448 // #[cfg_attr(
1449 //     any(
1450 //         target_os = "macos",
1451 //         target_os = "ios",
1452 //         target_os = "tvos",
1453 //         target_os = "watchos"
1454 //     ),
1455 //     link_name = "res_9_init"
1456 // )]
1457 // #[no_mangle]
1458 // pub extern "C" fn res_init() -> ::c_int{
1459 // 	unimplemented!()
1460 // }
1461 
1462 // #[cfg_attr(target_os = "netbsd", link_name = "__gmtime_r50")]
1463 // #[cfg_attr(any(target_env = "musl", target_env = "ohos"), allow(deprecated))]
1464 // // FIXME: for `time_t`
1465 // #[no_mangle]
1466 // pub extern "C" fn gmtime_r(time_p: *const time_t, result: *mut tm) -> *mut tm{
1467 // 	unimplemented!()
1468 // }
1469 // #[cfg_attr(target_os = "netbsd", link_name = "__localtime_r50")]
1470 // #[cfg_attr(any(target_env = "musl", target_env = "ohos"), allow(deprecated))]
1471 // // FIXME: for `time_t`
1472 // #[no_mangle]
1473 // pub extern "C" fn localtime_r(time_p: *const time_t, result: *mut tm) -> *mut tm{
1474 // 	unimplemented!()
1475 // }
1476 // #[cfg_attr(
1477 //     all(target_os = "macos", target_arch = "x86"),
1478 //     link_name = "mktime$UNIX2003"
1479 // )]
1480 // #[cfg_attr(target_os = "netbsd", link_name = "__mktime50")]
1481 // #[cfg_attr(any(target_env = "musl", target_env = "ohos"), allow(deprecated))]
1482 // // FIXME: for `time_t`
1483 // #[no_mangle]
1484 // pub extern "C" fn mktime(tm: *mut tm) -> time_t{
1485 // 	unimplemented!()
1486 // }
1487 // #[cfg_attr(target_os = "netbsd", link_name = "__time50")]
1488 // #[cfg_attr(any(target_env = "musl", target_env = "ohos"), allow(deprecated))]
1489 // // FIXME: for `time_t`
1490 // #[no_mangle]
1491 // pub extern "C" fn time(time: *mut time_t) -> time_t{
1492 // 	unimplemented!()
1493 // }
1494 // #[cfg_attr(target_os = "netbsd", link_name = "__gmtime50")]
1495 // #[cfg_attr(any(target_env = "musl", target_env = "ohos"), allow(deprecated))]
1496 // // FIXME: for `time_t`
1497 // #[no_mangle]
1498 // pub extern "C" fn gmtime(time_p: *const time_t) -> *mut tm{
1499 // 	unimplemented!()
1500 // }
1501 // #[cfg_attr(target_os = "netbsd", link_name = "__locatime50")]
1502 // #[cfg_attr(any(target_env = "musl", target_env = "ohos"), allow(deprecated))]
1503 // // FIXME: for `time_t`
1504 // #[no_mangle]
1505 // pub extern "C" fn localtime(time_p: *const time_t) -> *mut tm{
1506 // 	unimplemented!()
1507 // }
1508 // #[cfg_attr(target_os = "netbsd", link_name = "__difftime50")]
1509 // #[cfg_attr(any(target_env = "musl", target_env = "ohos"), allow(deprecated))]
1510 // // FIXME: for `time_t`
1511 // #[no_mangle]
1512 // pub extern "C" fn difftime(time1: time_t, time0: time_t) -> ::c_double{
1513 // 	unimplemented!()
1514 // }
1515 // #[cfg_attr(target_os = "netbsd", link_name = "__timegm50")]
1516 // #[cfg_attr(any(target_env = "musl", target_env = "ohos"), allow(deprecated))]
1517 // // FIXME: for `time_t`
1518 // #[no_mangle]
1519 // pub extern "C" fn timegm(tm: *mut ::tm) -> time_t{
1520 // 	unimplemented!()
1521 // }
1522 
1523 // #[cfg_attr(target_os = "netbsd", link_name = "__mknod50")]
1524 // #[cfg_attr(
1525 //     all(target_os = "freebsd", any(freebsd11, freebsd10)),
1526 //     link_name = "mknod@FBSD_1.0"
1527 // )]
1528 // #[no_mangle]
1529 // pub extern "C" fn mknod(pathname: *const ::c_char, mode: ::mode_t, dev: ::dev_t) -> ::c_int{
1530 // 	unimplemented!()
1531 // }
1532 // #[no_mangle]
1533 // pub extern "C" fn gethostname(name: *mut ::c_char, len: ::size_t) -> ::c_int{
1534 // 	unimplemented!()
1535 // }
1536 // #[no_mangle]
1537 // pub extern "C" fn endservent(){
1538 // 	unimplemented!()
1539 // }
1540 // #[no_mangle]
1541 // pub extern "C" fn getservbyname(name: *const ::c_char, proto: *const ::c_char) -> *mut servent{
1542 // 	unimplemented!()
1543 // }
1544 // #[no_mangle]
1545 // pub extern "C" fn getservbyport(port: ::c_int, proto: *const ::c_char) -> *mut servent{
1546 // 	unimplemented!()
1547 // }
1548 // #[no_mangle]
1549 // pub extern "C" fn getservent() -> *mut servent{
1550 // 	unimplemented!()
1551 // }
1552 // #[no_mangle]
1553 // pub extern "C" fn setservent(stayopen: ::c_int){
1554 // 	unimplemented!()
1555 // }
1556 // #[no_mangle]
1557 // pub extern "C" fn getprotobyname(name: *const ::c_char) -> *mut protoent{
1558 // 	unimplemented!()
1559 // }
1560 // #[no_mangle]
1561 // pub extern "C" fn getprotobynumber(proto: ::c_int) -> *mut protoent{
1562 // 	unimplemented!()
1563 // }
1564 // #[no_mangle]
1565 // pub extern "C" fn chroot(name: *const ::c_char) -> ::c_int{
1566 // 	unimplemented!()
1567 // }
1568 // #[cfg_attr(
1569 //     all(target_os = "macos", target_arch = "x86"),
1570 //     link_name = "usleep$UNIX2003"
1571 // )]
1572 // #[no_mangle]
1573 // pub extern "C" fn usleep(secs: ::c_uint) -> ::c_int{
1574 // 	unimplemented!()
1575 // }
1576 // #[cfg_attr(
1577 //     all(target_os = "macos", target_arch = "x86"),
1578 //     link_name = "send$UNIX2003"
1579 // )]
1580 // #[cfg_attr(target_os = "espidf", link_name = "lwip_send")]
1581 // #[no_mangle]
1582 // pub extern "C" fn send(socket: ::c_int, buf: *const ::c_void, len: ::size_t, flags: ::c_int) -> ::ssize_t{
1583 // 	unimplemented!()
1584 // }
1585 // #[cfg_attr(
1586 //     all(target_os = "macos", target_arch = "x86"),
1587 //     link_name = "recv$UNIX2003"
1588 // )]
1589 // #[cfg_attr(target_os = "espidf", link_name = "lwip_recv")]
1590 // #[no_mangle]
1591 // pub extern "C" fn recv(socket: ::c_int, buf: *mut ::c_void, len: ::size_t, flags: ::c_int) -> ::ssize_t{
1592 // 	unimplemented!()
1593 // }
1594 // #[cfg_attr(
1595 //     all(target_os = "macos", target_arch = "x86"),
1596 //     link_name = "putenv$UNIX2003"
1597 // )]
1598 // #[cfg_attr(target_os = "netbsd", link_name = "__putenv50")]
1599 // #[no_mangle]
1600 // pub extern "C" fn putenv(string: *mut ::c_char) -> ::c_int{
1601 // 	unimplemented!()
1602 // }
1603 // #[cfg_attr(
1604 //     all(target_os = "macos", target_arch = "x86"),
1605 //     link_name = "poll$UNIX2003"
1606 // )]
1607 // #[no_mangle]
1608 // pub extern "C" fn poll(fds: *mut pollfd, nfds: nfds_t, timeout: ::c_int) -> ::c_int{
1609 // 	unimplemented!()
1610 // }
1611 // #[cfg_attr(
1612 //     all(target_os = "macos", target_arch = "x86_64"),
1613 //     link_name = "select$1050"
1614 // )]
1615 // #[cfg_attr(
1616 //     all(target_os = "macos", target_arch = "x86"),
1617 //     link_name = "select$UNIX2003"
1618 // )]
1619 // #[cfg_attr(target_os = "netbsd", link_name = "__select50")]
1620 // #[no_mangle]
1621 // pub extern "C" fn select(
1622 //     nfds: ::c_int,
1623 //     readfds: *mut fd_set,
1624 //     writefds: *mut fd_set,
1625 //     errorfds: *mut fd_set,
1626 //     timeout: *mut timeval,
1627 // ) -> ::c_int{
1628 // 	unimplemented!()
1629 // }
1630 // #[cfg_attr(target_os = "netbsd", link_name = "__setlocale50")]
1631 // #[no_mangle]
1632 // pub extern "C" fn setlocale(category: ::c_int, locale: *const ::c_char) -> *mut ::c_char{
1633 // 	unimplemented!()
1634 // }
1635 // #[no_mangle]
1636 // pub extern "C" fn localeconv() -> *mut lconv{
1637 // 	unimplemented!()
1638 // }
1639 
1640 // #[cfg_attr(
1641 //     all(target_os = "macos", target_arch = "x86"),
1642 //     link_name = "sem_wait$UNIX2003"
1643 // )]
1644 // #[no_mangle]
1645 // pub extern "C" fn sem_wait(sem: *mut sem_t) -> ::c_int{
1646 // 	unimplemented!()
1647 // }
1648 // #[no_mangle]
1649 // pub extern "C" fn sem_trywait(sem: *mut sem_t) -> ::c_int{
1650 // 	unimplemented!()
1651 // }
1652 // #[no_mangle]
1653 // pub extern "C" fn sem_post(sem: *mut sem_t) -> ::c_int{
1654 // 	unimplemented!()
1655 // }
1656 // #[no_mangle]
1657 // pub extern "C" fn statvfs(path: *const ::c_char, buf: *mut statvfs) -> ::c_int{
1658 // 	unimplemented!()
1659 // }
1660 
1661 
1662 // #[cfg_attr(target_os = "netbsd", link_name = "__sigemptyset14")]
1663 // #[no_mangle]
1664 // pub extern "C" fn sigemptyset(set: *mut sigset_t) -> ::c_int{
1665 // 	unimplemented!()
1666 // }
1667 // #[cfg_attr(target_os = "netbsd", link_name = "__sigaddset14")]
1668 // #[no_mangle]
1669 // pub extern "C" fn sigaddset(set: *mut sigset_t, signum: ::c_int) -> ::c_int{
1670 // 	unimplemented!()
1671 // }
1672 // #[cfg_attr(target_os = "netbsd", link_name = "__sigfillset14")]
1673 // #[no_mangle]
1674 // pub extern "C" fn sigfillset(set: *mut sigset_t) -> ::c_int{
1675 // 	unimplemented!()
1676 // }
1677 // #[cfg_attr(target_os = "netbsd", link_name = "__sigdelset14")]
1678 // #[no_mangle]
1679 // pub extern "C" fn sigdelset(set: *mut sigset_t, signum: ::c_int) -> ::c_int{
1680 // 	unimplemented!()
1681 // }
1682 // #[cfg_attr(target_os = "netbsd", link_name = "__sigismember14")]
1683 // #[no_mangle]
1684 // pub extern "C" fn sigismember(set: *const sigset_t, signum: ::c_int) -> ::c_int{
1685 // 	unimplemented!()
1686 // }
1687 
1688 // #[cfg_attr(target_os = "netbsd", link_name = "__sigprocmask14")]
1689 // #[no_mangle]
1690 // pub extern "C" fn sigprocmask(how: ::c_int, set: *const sigset_t, oldset: *mut sigset_t) -> ::c_int{
1691 // 	unimplemented!()
1692 // }
1693 // #[cfg_attr(target_os = "netbsd", link_name = "__sigpending14")]
1694 // #[no_mangle]
1695 // pub extern "C" fn sigpending(set: *mut sigset_t) -> ::c_int{
1696 // 	unimplemented!()
1697 // }
1698 
1699 // #[no_mangle]
1700 // pub extern "C" fn sysconf(name: ::c_int) -> ::c_long{
1701 // 	unimplemented!()
1702 // }
1703 
1704 
1705 
1706 // #[no_mangle]
1707 // pub extern "C" fn fseeko(stream: *mut ::FILE, offset: ::off_t, whence: ::c_int) -> ::c_int{
1708 // 	unimplemented!()
1709 // }
1710 // #[no_mangle]
1711 // pub extern "C" fn ftello(stream: *mut ::FILE) -> ::off_t{
1712 // 	unimplemented!()
1713 // }
1714 // #[cfg_attr(
1715 //     all(target_os = "macos", target_arch = "x86"),
1716 //     link_name = "tcdrain$UNIX2003"
1717 // )]
1718 // #[no_mangle]
1719 // pub extern "C" fn tcdrain(fd: ::c_int) -> ::c_int{
1720 // 	unimplemented!()
1721 // }
1722 // #[no_mangle]
1723 // pub extern "C" fn cfgetispeed(termios: *const ::termios) -> ::speed_t{
1724 // 	unimplemented!()
1725 // }
1726 // #[no_mangle]
1727 // pub extern "C" fn cfgetospeed(termios: *const ::termios) -> ::speed_t{
1728 // 	unimplemented!()
1729 // }
1730 // #[no_mangle]
1731 // pub extern "C" fn cfsetispeed(termios: *mut ::termios, speed: ::speed_t) -> ::c_int{
1732 // 	unimplemented!()
1733 // }
1734 // #[no_mangle]
1735 // pub extern "C" fn cfsetospeed(termios: *mut ::termios, speed: ::speed_t) -> ::c_int{
1736 // 	unimplemented!()
1737 // }
1738 // #[no_mangle]
1739 // pub extern "C" fn tcgetattr(fd: ::c_int, termios: *mut ::termios) -> ::c_int{
1740 // 	unimplemented!()
1741 // }
1742 // #[no_mangle]
1743 // pub extern "C" fn tcsetattr(fd: ::c_int, optional_actions: ::c_int, termios: *const ::termios) -> ::c_int{
1744 // 	unimplemented!()
1745 // }
1746 // #[no_mangle]
1747 // pub extern "C" fn tcflow(fd: ::c_int, action: ::c_int) -> ::c_int{
1748 // 	unimplemented!()
1749 // }
1750 // #[no_mangle]
1751 // pub extern "C" fn tcflush(fd: ::c_int, action: ::c_int) -> ::c_int{
1752 // 	unimplemented!()
1753 // }
1754 // #[no_mangle]
1755 // pub extern "C" fn tcgetsid(fd: ::c_int) -> ::pid_t{
1756 // 	unimplemented!()
1757 // }
1758 // #[no_mangle]
1759 // pub extern "C" fn tcsendbreak(fd: ::c_int, duration: ::c_int) -> ::c_int{
1760 // 	unimplemented!()
1761 // }
1762 // fn get_nstime() -> u64 {
1763 //     let mut ts = MaybeUninit::uninit();
1764 //     clock_gettime(CLOCK_MONOTONIC, ts.as_mut_ptr());
1765 //     unsafe { ts.assume_init() }.tv_nsec as u64
1766 // }
1767 // fn inner_mktemp<T, F>(name: *mut ::c_char, suffix_len: ::c_int, mut attempt: F) -> Option<T>
1768 // where
1769 //     F: FnMut() -> Option<T>,
1770 // {
1771 //     let len = unsafe { strlen(name) as ::c_int };
1772 
1773 //     if len < 6 || suffix_len > len - 6 {
1774 //         unsafe { errno = EINVAL };
1775 //         return None;
1776 //     }
1777 
1778 //     for i in (len - suffix_len - 6)..(len - suffix_len) {
1779 //         if unsafe { *name.offset(i as isize) } != b'X' as ::c_char {
1780 //             unsafe { errno = EINVAL };
1781 //             return None;
1782 //         }
1783 //     }
1784 
1785 //     let mut rng = JitterRng::new_with_timer(get_nstime);
1786 //     let _ = rng.test_timer();
1787 
1788 //     for _ in 0..100 {
1789 //         let char_iter = iter::repeat(())
1790 //             .map(|()| rng.sample(Alphanumeric))
1791 //             .take(6)
1792 //             .enumerate();
1793 //         unsafe {
1794 //             for (i, c) in char_iter {
1795 //                 *name.offset((len as isize) - (suffix_len as isize) - (i as isize) - 1) =
1796 //                     c as ::c_char
1797 //             }
1798 //         }
1799 
1800 //         if let result @ Some(_) = attempt() {
1801 //             return result;
1802 //         }
1803 //     }
1804 
1805 //     unsafe { errno = EEXIST }
1806 
1807 //     None
1808 // }
1809 // #[no_mangle]
1810 // pub extern "C" fn mkostemps(name: *mut ::c_char, suffix_len: ::c_int, mut flags: ::c_int) -> ::c_int {
1811 //     flags &= !O_ACCMODE;
1812 //     flags |= O_RDWR | O_CREAT | O_EXCL;
1813 
1814 //     inner_mktemp(name, suffix_len, || {
1815 //         let fd = open(name, flags, 0o600);
1816 
1817 //         if fd >= 0 {
1818 //             Some(fd)
1819 //         } else {
1820 //             None
1821 //         }
1822 //     })
1823 //     .unwrap_or(-1)
1824 // }
1825 // #[no_mangle]
1826 // pub extern "C" fn mkstemp(template: *mut ::c_char) -> ::c_int{
1827 // 	mkostemps(template, 0, 0)
1828 // }
1829 // #[no_mangle]
1830 // pub extern "C" fn mkdtemp(template: *mut ::c_char) -> *mut ::c_char{
1831 // 	unimplemented!()
1832 // }
1833 
1834 // #[no_mangle]
1835 // pub extern "C" fn tmpnam(ptr: *mut ::c_char) -> *mut ::c_char{
1836 // 	unimplemented!()
1837 // }
1838 
1839 // #[no_mangle]
1840 // pub extern "C" fn openlog(ident: *const ::c_char, logopt: ::c_int, facility: ::c_int){
1841 // 	unimplemented!()
1842 // }
1843 // #[no_mangle]
1844 // pub extern "C" fn closelog(){
1845 // 	unimplemented!()
1846 // }
1847 // #[no_mangle]
1848 // pub extern "C" fn setlogmask(maskpri: ::c_int) -> ::c_int{
1849 // 	unimplemented!()
1850 // }
1851 // #[cfg_attr(target_os = "macos", link_name = "syslog$DARWIN_EXTSN")]
1852 // #[no_mangle]
1853 // pub extern "C" fn syslog(priority: ::c_int, message: *const ::c_char){
1854 // 	unimplemented!()
1855 // }
1856 // #[cfg_attr(
1857 //     all(target_os = "macos", target_arch = "x86"),
1858 //     link_name = "nice$UNIX2003"
1859 // )]
1860 // #[no_mangle]
1861 // pub extern "C" fn nice(incr: ::c_int) -> ::c_int{
1862 // 	unimplemented!()
1863 // }
1864 
1865 // #[no_mangle]
1866 // pub extern "C" fn grantpt(fd: ::c_int) -> ::c_int{
1867 // 	unimplemented!()
1868 // }
1869 // #[no_mangle]
1870 // pub extern "C" fn posix_openpt(flags: ::c_int) -> ::c_int{
1871 // 	unimplemented!()
1872 // }
1873 // #[no_mangle]
1874 // pub extern "C" fn ptsname(fd: ::c_int) -> *mut ::c_char{
1875 // 	unimplemented!()
1876 // }
1877 // #[no_mangle]
1878 // pub extern "C" fn unlockpt(fd: ::c_int) -> ::c_int{
1879 // 	unimplemented!()
1880 // }
1881 
1882 // #[no_mangle]
1883 // pub extern "C" fn strcasestr(cs: *const ::c_char, ct: *const ::c_char) -> *mut ::c_char{
1884 // 	unimplemented!()
1885 // }
1886 // #[no_mangle]
1887 // pub extern "C" fn getline(lineptr: *mut *mut ::c_char, n: *mut ::size_t, stream: *mut FILE) -> ssize_t{
1888 // 	unimplemented!()
1889 // }
1890 
1891 // #[no_mangle]
1892 // pub extern "C" fn lockf(fd: ::c_int, cmd: ::c_int, len: ::off_t) -> ::c_int{
1893 // 	unimplemented!()
1894 // }
1895 
1896 // #[no_mangle]
1897 // pub extern "C" fn adjtime(delta: *const timeval, olddelta: *mut timeval) -> ::c_int{
1898 // 	unimplemented!()
1899 // }
1900 // #[no_mangle]
1901 // pub extern "C" fn stpncpy(dst: *mut ::c_char, src: *const ::c_char, n: ::size_t) -> *mut ::c_char{
1902 // 	unimplemented!()
1903 // }
1904 
1905 // #[no_mangle]
1906 // pub extern "C" fn dladdr(addr: *const ::c_void, info: *mut Dl_info) -> ::c_int{
1907 // 	unimplemented!()
1908 // }
1909 
1910 // #[no_mangle]
1911 // pub extern "C" fn open_wmemstream(
1912 //     ptr: *mut *mut wchar_t,
1913 //     sizeloc: *mut ::size_t,
1914 // ) -> *mut FILE{
1915 // 	unimplemented!()
1916 // }
1917 
1918 // #[doc(hidden)]
1919 // #[no_mangle]
1920 // pub extern "C" fn __libc_current_sigrtmax() -> ::c_int{
1921 // 	unimplemented!()
1922 // }
1923 // #[doc(hidden)]
1924 // #[no_mangle]
1925 // pub extern "C" fn __libc_current_sigrtmin() -> ::c_int{
1926 // 	unimplemented!()
1927 // }
1928 
1929 // #[no_mangle]
1930 // pub extern "C" fn sem_destroy(sem: *mut sem_t) -> ::c_int{
1931 // 	unimplemented!()
1932 // }
1933 // #[no_mangle]
1934 // pub extern "C" fn sem_init(sem: *mut sem_t, pshared: ::c_int, value: ::c_uint) -> ::c_int{
1935 // 	unimplemented!()
1936 // }
1937 // #[no_mangle]
1938 // pub extern "C" fn fdatasync(fd: ::c_int) -> ::c_int{
1939 // 	unimplemented!()
1940 // }
1941 // #[no_mangle]
1942 // pub extern "C" fn mincore(addr: *mut ::c_void, len: ::size_t, vec: *mut ::c_uchar) -> ::c_int{
1943 // 	unimplemented!()
1944 // }
1945 
1946 // #[no_mangle]
1947 // pub extern "C" fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int{
1948 // 	unimplemented!()
1949 // }
1950 
1951 // #[no_mangle]
1952 // pub extern "C" fn clock_settime(clk_id: ::clockid_t, tp: *const ::timespec) -> ::c_int{
1953 // 	unimplemented!()
1954 // }
1955 // #[no_mangle]
1956 // pub extern "C" fn clock_getcpuclockid(pid: ::pid_t, clk_id: *mut ::clockid_t) -> ::c_int{
1957 // 	unimplemented!()
1958 // }
1959 
1960 // #[no_mangle]
1961 // pub extern "C" fn dirfd(dirp: *mut ::DIR) -> ::c_int{
1962 // 	unimplemented!()
1963 // }
1964 
1965 // #[no_mangle]
1966 // pub extern "C" fn pthread_getattr_np(native: ::pthread_t, attr: *mut ::pthread_attr_t) -> ::c_int{
1967 // 	unimplemented!()
1968 // }
1969 // #[no_mangle]
1970 // pub extern "C" fn pthread_attr_getstack(
1971 // 	attr: *const ::pthread_attr_t,
1972 // 	stackaddr: *mut *mut ::c_void,
1973 // 	stacksize: *mut ::size_t,
1974 // ) -> ::c_int{
1975 // 	unimplemented!()
1976 // }
1977 // #[no_mangle]
1978 // pub extern "C" fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void{
1979 // 	unimplemented!()
1980 // }
1981 // #[no_mangle]
1982 // pub extern "C" fn setgroups(ngroups: ::size_t, ptr: *const ::gid_t) -> ::c_int{
1983 // 	unimplemented!()
1984 // }
1985 // #[no_mangle]
1986 // pub extern "C" fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::c_int{
1987 // 	if flags == 0 {
1988 // 		e(unsafe { syscall!(SYS_PIPE, fds) }) as ::c_int
1989 // 	} else {
1990 // 		unimplemented!()
1991 // 	}
1992 // }
1993 // #[no_mangle]
1994 // pub extern "C" fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int{
1995 // 	unimplemented!()
1996 // }
1997 // #[no_mangle]
1998 // pub extern "C" fn fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int{
1999 // 	unimplemented!()
2000 // }
2001 // #[no_mangle]
2002 // pub extern "C" fn memrchr(cx: *const ::c_void, c: ::c_int, n: ::size_t) -> *mut ::c_void{
2003 // 	unimplemented!()
2004 // }
2005 // #[no_mangle]
2006 // pub extern "C" fn posix_fadvise(fd: ::c_int, offset: ::off_t, len: ::off_t, advise: ::c_int) -> ::c_int{
2007 // 	unimplemented!()
2008 // }
2009 
2010 
2011 // #[no_mangle]
2012 // pub extern "C" fn duplocale(base: ::locale_t) -> ::locale_t{
2013 // 	unimplemented!()
2014 // }
2015 // #[no_mangle]
2016 // pub extern "C" fn freelocale(loc: ::locale_t){
2017 // 	unimplemented!()
2018 // }
2019 // #[no_mangle]
2020 // pub extern "C" fn newlocale(mask: ::c_int, locale: *const ::c_char, base: ::locale_t) -> ::locale_t{
2021 // 	unimplemented!()
2022 // }
2023 // #[no_mangle]
2024 // pub extern "C" fn uselocale(loc: ::locale_t) -> ::locale_t{
2025 // 	unimplemented!()
2026 // }
2027 // #[no_mangle]
2028 // pub extern "C" fn mknodat(
2029 // 	dirfd: ::c_int,
2030 // 	pathname: *const ::c_char,
2031 // 	mode: ::mode_t,
2032 // 	dev: dev_t,
2033 // ) -> ::c_int{
2034 // 	unimplemented!()
2035 // }
2036 // #[no_mangle]
2037 // pub extern "C" fn pthread_condattr_getclock(
2038 // 	attr: *const pthread_condattr_t,
2039 // 	clock_id: *mut clockid_t,
2040 // ) -> ::c_int{
2041 // 	unimplemented!()
2042 // }
2043 // #[no_mangle]
2044 // pub extern "C" fn pthread_condattr_setclock(
2045 // 	attr: *mut pthread_condattr_t,
2046 // 	clock_id: ::clockid_t,
2047 // ) -> ::c_int{
2048 // 	unimplemented!()
2049 // }
2050 // #[no_mangle]
2051 // pub extern "C" fn pthread_condattr_setpshared(attr: *mut pthread_condattr_t, pshared: ::c_int) -> ::c_int{
2052 // 	unimplemented!()
2053 // }
2054 // #[no_mangle]
2055 // pub extern "C" fn pthread_mutexattr_setpshared(
2056 // 	attr: *mut pthread_mutexattr_t,
2057 // 	pshared: ::c_int,
2058 // ) -> ::c_int{
2059 // 	unimplemented!()
2060 // }
2061 // #[no_mangle]
2062 // pub extern "C" fn pthread_rwlockattr_getpshared(
2063 // 	attr: *const pthread_rwlockattr_t,
2064 // 	val: *mut ::c_int,
2065 // ) -> ::c_int{
2066 // 	unimplemented!()
2067 // }
2068 // #[no_mangle]
2069 // pub extern "C" fn pthread_rwlockattr_setpshared(attr: *mut pthread_rwlockattr_t, val: ::c_int) -> ::c_int{
2070 // 	unimplemented!()
2071 // }
2072 // #[no_mangle]
2073 // pub extern "C" fn ptsname_r(fd: ::c_int, buf: *mut ::c_char, buflen: ::size_t) -> ::c_int{
2074 // 	unimplemented!()
2075 // }
2076 // #[no_mangle]
2077 // pub extern "C" fn clearenv() -> ::c_int{
2078 // 	unimplemented!()
2079 // }
2080 // #[no_mangle]
2081 // pub extern "C" fn waitid(idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t, options: ::c_int)
2082 // 	-> ::c_int{
2083 // 	unimplemented!()
2084 // }
2085 // #[no_mangle]
2086 // pub extern "C" fn getresuid(ruid: *mut ::uid_t, euid: *mut ::uid_t, suid: *mut ::uid_t) -> ::c_int{
2087 // 	unimplemented!()
2088 // }
2089 // #[no_mangle]
2090 // pub extern "C" fn getresgid(rgid: *mut ::gid_t, egid: *mut ::gid_t, sgid: *mut ::gid_t) -> ::c_int{
2091 // 	unimplemented!()
2092 // }
2093 // #[no_mangle]
2094 // pub extern "C" fn acct(filename: *const ::c_char) -> ::c_int{
2095 // 	unimplemented!()
2096 // }
2097 
2098 // #[no_mangle]
2099 // pub extern "C" fn sbrk(increment: ::intptr_t) -> *mut ::c_void{
2100 // 	unimplemented!()
2101 // }
2102 // #[deprecated(
2103 // 	since = "0.2.66",
2104 // 	note = "causes memory corruption, see rust-lang/libc#1596"
2105 // )]
2106 // #[no_mangle]
2107 // pub extern "C" fn vfork() -> ::pid_t{
2108 // 	unimplemented!()
2109 // }
2110 // #[no_mangle]
2111 // pub extern "C" fn setresgid(rgid: ::gid_t, egid: ::gid_t, sgid: ::gid_t) -> ::c_int{
2112 // 	unimplemented!()
2113 // }
2114 // #[no_mangle]
2115 // pub extern "C" fn setresuid(ruid: ::uid_t, euid: ::uid_t, suid: ::uid_t) -> ::c_int{
2116 // 	unimplemented!()
2117 // }
2118 // #[no_mangle]
2119 // pub extern "C" fn wait4(
2120 // 	pid: ::pid_t,
2121 // 	status: *mut ::c_int,
2122 // 	options: ::c_int,
2123 // 	rusage: *mut ::rusage,
2124 // ) -> ::pid_t{
2125 // 	unimplemented!()
2126 // }
2127 // #[no_mangle]
2128 // pub extern "C" fn login_tty(fd: ::c_int) -> ::c_int{
2129 // 	unimplemented!()
2130 // }
2131 // #[no_mangle]
2132 // pub extern "C" fn execvpe(
2133 // 	file: *const ::c_char,
2134 // 	argv_: *const *const ::c_char,
2135 // 	envp: *const *const ::c_char,
2136 // ) -> ::c_int{
2137 // 	unimplemented!()
2138 // }
2139 // #[no_mangle]
2140 // pub extern "C" fn fexecve(
2141 // 	fd: ::c_int,
2142 // 	argv_: *const *const ::c_char,
2143 // 	envp: *const *const ::c_char,
2144 // ) -> ::c_int{
2145 // 	unimplemented!()
2146 // }
2147 // #[no_mangle]
2148 // pub extern "C" fn getifaddrs(ifap: *mut *mut ::ifaddrs) -> ::c_int{
2149 // 	unimplemented!()
2150 // }
2151 // #[no_mangle]
2152 // pub extern "C" fn freeifaddrs(ifa: *mut ::ifaddrs){
2153 // 	unimplemented!()
2154 // }
2155 // #[no_mangle]
2156 // pub extern "C" fn bind(socket: ::c_int, address: *const ::sockaddr, address_len: ::socklen_t) -> ::c_int{
2157 // 	unimplemented!()
2158 // }
2159 
2160 // #[no_mangle]
2161 // pub extern "C" fn writev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t{
2162 // 	unimplemented!()
2163 // }
2164 // #[no_mangle]
2165 // pub extern "C" fn readv(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t{
2166 // 	unimplemented!()
2167 // }
2168 
2169 // #[no_mangle]
2170 // pub extern "C" fn sendmsg(fd: ::c_int, msg: *const ::msghdr, flags: ::c_int) -> ::ssize_t{
2171 // 	unimplemented!()
2172 // }
2173 // #[no_mangle]
2174 // pub extern "C" fn recvmsg(fd: ::c_int, msg: *mut ::msghdr, flags: ::c_int) -> ::ssize_t{
2175 // 	unimplemented!()
2176 // }
2177 
2178 
2179 // #[no_mangle]
2180 // pub extern "C" fn strchrnul(s: *const ::c_char, c: ::c_int) -> *mut ::c_char{
2181 // 	unimplemented!()
2182 // }
2183 
2184 
2185 // #[no_mangle]
2186 // pub extern "C" fn pause() -> ::c_int{
2187 // 	unimplemented!()
2188 // }
2189 // #[no_mangle]
2190 // pub extern "C" fn mkdirat(dirfd: ::c_int, pathname: *const ::c_char,
2191 // 				mode: ::mode_t) -> ::c_int{
2192 // 	unimplemented!()
2193 // }
2194 // #[no_mangle]
2195 // pub extern "C" fn openat(dirfd: ::c_int, pathname: *const ::c_char,
2196 // 				flags: ::c_int) -> ::c_int{
2197 // 	unimplemented!()
2198 // }
2199 // #[no_mangle]
2200 // pub extern "C" fn fdopendir(fd: ::c_int) -> *mut ::DIR{
2201 // 	unimplemented!()
2202 // }
2203 // #[no_mangle]
2204 // pub extern "C" fn readdir_r(dirp: *mut ::DIR, entry: *mut ::dirent,
2205 // 					result: *mut *mut ::dirent) -> ::c_int{
2206 // 	unimplemented!()
2207 // }
2208 // #[no_mangle]
2209 // pub extern "C" fn sendmmsg(
2210 // 	sockfd: ::c_int,
2211 // 	msgvec: *mut ::mmsghdr,
2212 // 	vlen: ::c_uint,
2213 // 	flags: ::c_uint,
2214 // ) -> ::c_int{
2215 // 	unimplemented!()
2216 // }
2217 // #[no_mangle]
2218 // pub extern "C" fn recvmmsg(
2219 // 	sockfd: ::c_int,
2220 // 	msgvec: *mut ::mmsghdr,
2221 // 	vlen: ::c_uint,
2222 // 	flags: ::c_uint,
2223 // 	timeout: *mut ::timespec,
2224 // ) -> ::c_int{
2225 // 	unimplemented!()
2226 // }
2227 
2228 
2229 // #[no_mangle]
2230 // pub extern "C" fn setrlimit(resource: ::c_int, rlim: *const ::rlimit) -> ::c_int{
2231 // 	unimplemented!()
2232 // }
2233 // #[no_mangle]
2234 // pub extern "C" fn prlimit(
2235 // 	pid: ::pid_t,
2236 // 	resource: ::c_int,
2237 // 	new_limit: *const ::rlimit,
2238 // 	old_limit: *mut ::rlimit,
2239 // ) -> ::c_int{
2240 // 	unimplemented!()
2241 // }
2242 
2243 
2244 // #[no_mangle]
2245 // pub extern "C" fn getpriority(which: ::c_int, who: ::id_t) -> ::c_int{
2246 // 	unimplemented!()
2247 // }
2248 // #[no_mangle]
2249 // pub extern "C" fn setpriority(which: ::c_int, who: ::id_t, prio: ::c_int) -> ::c_int{
2250 // 	unimplemented!()
2251 // }
2252 // // Musl targets need the `mask` argument of `fanotify_mark` be specified
2253 // // `::c_ulonglong` instead of `u64` or there will be a type mismatch between
2254 // // `long long unsigned int` and the expected `uint64_t`.
2255 // #[no_mangle]
2256 // pub extern "C" fn fanotify_mark(
2257 // 	fd: ::c_int,
2258 // 	flags: ::c_uint,
2259 // 	mask: ::c_ulonglong,
2260 // 	dirfd: ::c_int,
2261 // 	path: *const ::c_char,
2262 // ) -> ::c_int{
2263 // 	unimplemented!()
2264 // }
2265 // #[no_mangle]
2266 // pub extern "C" fn getauxval(type_: ::c_ulong) -> ::c_ulong{
2267 // 	unimplemented!()
2268 // }
2269 
2270 // // Added in `musl` 1.1.20
2271 // #[no_mangle]
2272 // pub extern "C" fn explicit_bzero(s: *mut ::c_void, len: ::size_t){
2273 // 	unimplemented!()
2274 // }
2275 // // Added in `musl` 1.2.2
2276 // #[no_mangle]
2277 // pub extern "C" fn reallocarray(ptr: *mut ::c_void, nmemb: ::size_t, size: ::size_t) -> *mut ::c_void{
2278 // 	unimplemented!()
2279 // }
2280 
2281 // #[no_mangle]
2282 // pub extern "C" fn adjtimex(buf: *mut ::timex) -> ::c_int{
2283 // 	unimplemented!()
2284 // }
2285 // #[no_mangle]
2286 // pub extern "C" fn clock_adjtime(clk_id: ::clockid_t, buf: *mut ::timex) -> ::c_int{
2287 // 	unimplemented!()
2288 // }
2289 
2290 // #[no_mangle]
2291 // pub extern "C" fn ctermid(s: *mut ::c_char) -> *mut ::c_char{
2292 // 	unimplemented!()
2293 // }
2294 
2295 // #[no_mangle]
2296 // pub extern "C" fn memfd_create(name: *const ::c_char, flags: ::c_uint) -> ::c_int{
2297 // 	unimplemented!()
2298 // }
2299 // #[no_mangle]
2300 // pub extern "C" fn mlock2(addr: *const ::c_void, len: ::size_t, flags: ::c_uint) -> ::c_int{
2301 // 	unimplemented!()
2302 // }
2303 // #[no_mangle]
2304 // pub extern "C" fn malloc_usable_size(ptr: *mut ::c_void) -> ::size_t{
2305 // 	unimplemented!()
2306 // }
2307 
2308 // #[no_mangle]
2309 // pub extern "C" fn euidaccess(pathname: *const ::c_char, mode: ::c_int) -> ::c_int{
2310 // 	unimplemented!()
2311 // }
2312 // #[no_mangle]
2313 // pub extern "C" fn eaccess(pathname: *const ::c_char, mode: ::c_int) -> ::c_int{
2314 // 	unimplemented!()
2315 // }
2316 
2317 // #[no_mangle]
2318 // pub extern "C" fn asctime_r(tm: *const ::tm, buf: *mut ::c_char) -> *mut ::c_char{
2319 // 	unimplemented!()
2320 // }
2321 
2322 // #[no_mangle]
2323 // pub extern "C" fn strftime(
2324 // 	s: *mut ::c_char,
2325 // 	max: ::size_t,
2326 // 	format: *const ::c_char,
2327 // 	tm: *const ::tm,
2328 // ) -> ::size_t{
2329 // 	unimplemented!()
2330 // }
2331 // #[no_mangle]
2332 // pub extern "C" fn strptime(s: *const ::c_char, format: *const ::c_char, tm: *mut ::tm) -> *mut ::c_char{
2333 // 	unimplemented!()
2334 // }
2335 
2336 // #[no_mangle]
2337 // pub unsafe extern "C" fn dirname(path: *mut ::c_char) -> *mut ::c_char{
2338 // 	if path.is_null() || strlen(path) == 0 {
2339 //         return ".\0".as_ptr() as *mut ::c_char;
2340 //     }
2341 //     let mut end = strlen(path) as isize - 1;
2342 //     while end > 0 && *path.offset(end) == b'/' as ::c_char {
2343 //         end -= 1;
2344 //     }
2345 //     while end >= 0 && *path.offset(end) != b'/' as ::c_char {
2346 //         end -= 1;
2347 //     }
2348 //     while end > 0 && *path.offset(end) == b'/' as ::c_char {
2349 //         end -= 1;
2350 //     }
2351 //     if end == -1 {
2352 //         return ".\0".as_ptr() as *mut ::c_char;
2353 //     }
2354 //     *path.offset(end + 1) = 0;
2355 //     path
2356 // }
2357 // #[no_mangle]
2358 // pub unsafe extern "C" fn basename(path: *mut ::c_char) -> *mut ::c_char{
2359 // 	if path.is_null() || strlen(path) == 0 {
2360 //         return ".\0".as_ptr() as *mut ::c_char;
2361 //     }
2362 //     let mut end = strlen(path) as isize - 1;
2363 //     while end >= 0 && *path.offset(end) == b'/' as ::c_char {
2364 //         end -= 1;
2365 //     }
2366 //     if end == -1 {
2367 //         return "/\0".as_ptr() as *mut ::c_char;
2368 //     }
2369 //     let mut begin = end;
2370 //     while begin >= 0 && *path.offset(begin) != b'/' as ::c_char {
2371 //         begin -= 1;
2372 //     }
2373 //     *path.offset(end + 1) = 0;
2374 //     path.offset(begin + 1) as *mut ::c_char
2375 // }
2376 // #[no_mangle]
2377 // pub extern "C" fn aio_read(aiocbp: *mut aiocb) -> ::c_int{
2378 // 	unimplemented!()
2379 // }
2380 // #[no_mangle]
2381 // pub extern "C" fn aio_write(aiocbp: *mut aiocb) -> ::c_int{
2382 // 	unimplemented!()
2383 // }
2384 // #[no_mangle]
2385 // pub extern "C" fn aio_fsync(op: ::c_int, aiocbp: *mut aiocb) -> ::c_int{
2386 // 	unimplemented!()
2387 // }
2388 // #[no_mangle]
2389 // pub extern "C" fn aio_error(aiocbp: *const aiocb) -> ::c_int{
2390 // 	unimplemented!()
2391 // }
2392 // #[no_mangle]
2393 // pub extern "C" fn aio_return(aiocbp: *mut aiocb) -> ::ssize_t{
2394 // 	unimplemented!()
2395 // }
2396 // #[no_mangle]
2397 // pub extern "C" fn aio_suspend(
2398 // 	aiocb_list: *const *const aiocb,
2399 // 	nitems: ::c_int,
2400 // 	timeout: *const ::timespec,
2401 // ) -> ::c_int{
2402 // 	unimplemented!()
2403 // }
2404 // #[no_mangle]
2405 // pub extern "C" fn aio_cancel(fd: ::c_int, aiocbp: *mut aiocb) -> ::c_int{
2406 // 	unimplemented!()
2407 // }
2408 // #[no_mangle]
2409 // pub extern "C" fn lio_listio(
2410 // 	mode: ::c_int,
2411 // 	aiocb_list: *const *mut aiocb,
2412 // 	nitems: ::c_int,
2413 // 	sevp: *mut ::sigevent,
2414 // ) -> ::c_int{
2415 // 	unimplemented!()
2416 // }
2417 
2418 // #[no_mangle]
2419 // pub extern "C" fn pwritev(
2420 // 	fd: ::c_int,
2421 // 	iov: *const ::iovec,
2422 // 	iovcnt: ::c_int,
2423 // 	offset: ::off_t,
2424 // ) -> ::ssize_t{
2425 // 	unimplemented!()
2426 // }
2427 // #[no_mangle]
2428 // pub extern "C" fn preadv(
2429 // 	fd: ::c_int,
2430 // 	iov: *const ::iovec,
2431 // 	iovcnt: ::c_int,
2432 // 	offset: ::off_t,
2433 // ) -> ::ssize_t{
2434 // 	unimplemented!()
2435 // }
2436 // #[no_mangle]
2437 // pub extern "C" fn getnameinfo(
2438 // 	sa: *const ::sockaddr,
2439 // 	salen: ::socklen_t,
2440 // 	host: *mut ::c_char,
2441 // 	hostlen: ::socklen_t,
2442 // 	serv: *mut ::c_char,
2443 // 	sevlen: ::socklen_t,
2444 // 	flags: ::c_int,
2445 // ) -> ::c_int{
2446 // 	unimplemented!()
2447 // }
2448 // #[no_mangle]
2449 // pub extern "C" fn getloadavg(
2450 // 	loadavg: *mut ::c_double,
2451 // 	nelem: ::c_int
2452 // ) -> ::c_int{
2453 // 	unimplemented!()
2454 // }
2455 // #[no_mangle]
2456 // pub extern "C" fn process_vm_readv(
2457 // 	pid: ::pid_t,
2458 // 	local_iov: *const ::iovec,
2459 // 	liovcnt: ::c_ulong,
2460 // 	remote_iov: *const ::iovec,
2461 // 	riovcnt: ::c_ulong,
2462 // 	flags: ::c_ulong,
2463 // ) -> isize{
2464 // 	unimplemented!()
2465 // }
2466 // #[no_mangle]
2467 // pub extern "C" fn process_vm_writev(
2468 // 	pid: ::pid_t,
2469 // 	local_iov: *const ::iovec,
2470 // 	liovcnt: ::c_ulong,
2471 // 	remote_iov: *const ::iovec,
2472 // 	riovcnt: ::c_ulong,
2473 // 	flags: ::c_ulong,
2474 // ) -> isize{
2475 // 	unimplemented!()
2476 // }
2477 // #[no_mangle]
2478 // pub extern "C" fn futimes(
2479 // 	fd: ::c_int,
2480 // 	times: *const ::timeval
2481 // ) -> ::c_int{
2482 // 	unimplemented!()
2483 // }
2484 // #[no_mangle]
2485 // pub extern "C" fn getspnam_r(
2486 // 	name: *const ::c_char,
2487 // 	spbuf: *mut spwd,
2488 // 	buf: *mut ::c_char,
2489 // 	buflen: ::size_t,
2490 // 	spbufp: *mut *mut spwd,
2491 // ) -> ::c_int{
2492 // 	unimplemented!()
2493 // }
2494 
2495 // #[no_mangle]
2496 // pub extern "C" fn shm_open(name: *const ::c_char, oflag: ::c_int, mode: mode_t) -> ::c_int{
2497 // 	unimplemented!()
2498 // }
2499 // #[no_mangle]
2500 // pub extern "C" fn shm_unlink(name: *const ::c_char) -> ::c_int{
2501 // 	unimplemented!()
2502 // }
2503 
2504 // #[no_mangle]
2505 // pub extern "C" fn mq_open(name: *const ::c_char, oflag: ::c_int) -> ::mqd_t{
2506 // 	unimplemented!()
2507 // }
2508 // #[no_mangle]
2509 // pub extern "C" fn mq_close(mqd: ::mqd_t) -> ::c_int{
2510 // 	unimplemented!()
2511 // }
2512 // #[no_mangle]
2513 // pub extern "C" fn mq_unlink(name: *const ::c_char) -> ::c_int{
2514 // 	unimplemented!()
2515 // }
2516 // #[no_mangle]
2517 // pub extern "C" fn mq_receive(
2518 // 	mqd: ::mqd_t,
2519 // 	msg_ptr: *mut ::c_char,
2520 // 	msg_len: ::size_t,
2521 // 	msg_prio: *mut ::c_uint,
2522 // ) -> ::ssize_t{
2523 // 	unimplemented!()
2524 // }
2525 // #[no_mangle]
2526 // pub extern "C" fn mq_timedreceive(
2527 // 	mqd: ::mqd_t,
2528 // 	msg_ptr: *mut ::c_char,
2529 // 	msg_len: ::size_t,
2530 // 	msg_prio: *mut ::c_uint,
2531 // 	abs_timeout: *const ::timespec,
2532 // ) -> ::ssize_t{
2533 // 	unimplemented!()
2534 // }
2535 // #[no_mangle]
2536 // pub extern "C" fn mq_send(
2537 // 	mqd: ::mqd_t,
2538 // 	msg_ptr: *const ::c_char,
2539 // 	msg_len: ::size_t,
2540 // 	msg_prio: ::c_uint,
2541 // ) -> ::c_int{
2542 // 	unimplemented!()
2543 // }
2544 // #[no_mangle]
2545 // pub extern "C" fn mq_timedsend(
2546 // 	mqd: ::mqd_t,
2547 // 	msg_ptr: *const ::c_char,
2548 // 	msg_len: ::size_t,
2549 // 	msg_prio: ::c_uint,
2550 // 	abs_timeout: *const ::timespec,
2551 // ) -> ::c_int{
2552 // 	unimplemented!()
2553 // }
2554 // #[no_mangle]
2555 // pub extern "C" fn mq_getattr(mqd: ::mqd_t, attr: *mut ::mq_attr) -> ::c_int{
2556 // 	unimplemented!()
2557 // }
2558 // #[no_mangle]
2559 // pub extern "C" fn mq_setattr(
2560 // 	mqd: ::mqd_t,
2561 // 	newattr: *const ::mq_attr,
2562 // 	oldattr: *mut ::mq_attr
2563 // ) -> ::c_int{
2564 // 	unimplemented!()
2565 // }
2566 
2567 // #[no_mangle]
2568 // pub extern "C" fn pthread_mutex_consistent(mutex: *mut pthread_mutex_t) -> ::c_int{
2569 // 	unimplemented!()
2570 // }
2571 // #[no_mangle]
2572 // pub extern "C" fn pthread_cancel(thread: ::pthread_t) -> ::c_int{
2573 // 	unimplemented!()
2574 // }
2575 // #[no_mangle]
2576 // pub extern "C" fn pthread_mutexattr_getrobust(
2577 // 	attr: *const pthread_mutexattr_t,
2578 // 	robustness: *mut ::c_int,
2579 // ) -> ::c_int{
2580 // 	unimplemented!()
2581 // }
2582 // #[no_mangle]
2583 // pub extern "C" fn pthread_mutexattr_setrobust(
2584 // 	attr: *mut pthread_mutexattr_t,
2585 // 	robustness: ::c_int,
2586 // ) -> ::c_int{
2587 // 	unimplemented!()
2588 // }
2589 // #[no_mangle]
2590 // pub extern "C" fn strerror_r(errnum: ::c_int, buf: *mut ::c_char, buflen: ::size_t) -> ::c_int{
2591 // 	unimplemented!()
2592 // }
2593 
2594 // #[no_mangle]
2595 // pub extern "C" fn abs(i: ::c_int) -> ::c_int{
2596 // 	unimplemented!()
2597 // }
2598 // #[no_mangle]
2599 // pub extern "C" fn labs(i: ::c_long) -> ::c_long{
2600 // 	unimplemented!()
2601 // }
2602 // #[no_mangle]
2603 // pub extern "C" fn rand() -> ::c_int{
2604 // 	unimplemented!()
2605 // }
2606 // #[no_mangle]
2607 // pub extern "C" fn srand(seed: ::c_uint){
2608 // 	unimplemented!()
2609 // }
2610 
2611 // #[no_mangle]
2612 // pub extern "C" fn drand48() -> ::c_double{
2613 // 	unimplemented!()
2614 // }
2615 // #[no_mangle]
2616 // pub extern "C" fn erand48(xseed: *mut ::c_ushort) -> ::c_double{
2617 // 	unimplemented!()
2618 // }
2619 // #[no_mangle]
2620 // pub extern "C" fn lrand48() -> ::c_long{
2621 // 	unimplemented!()
2622 // }
2623 // #[no_mangle]
2624 // pub extern "C" fn nrand48(xseed: *mut ::c_ushort) -> ::c_long{
2625 // 	unimplemented!()
2626 // }
2627 // #[no_mangle]
2628 // pub extern "C" fn mrand48() -> ::c_long{
2629 // 	unimplemented!()
2630 // }
2631 // #[no_mangle]
2632 // pub extern "C" fn jrand48(xseed: *mut ::c_ushort) -> ::c_long{
2633 // 	unimplemented!()
2634 // }
2635 // #[no_mangle]
2636 // pub extern "C" fn srand48(seed: ::c_long){
2637 // 	unimplemented!()
2638 // }
2639 // #[no_mangle]
2640 // pub extern "C" fn seed48(xseed: *mut ::c_ushort) -> *mut ::c_ushort{
2641 // 	unimplemented!()
2642 // }
2643 // #[no_mangle]
2644 // pub extern "C" fn lcong48(p: *mut ::c_ushort){
2645 // 	unimplemented!()
2646 // }
2647 
2648 // #[no_mangle]
2649 // pub extern "C" fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::c_int{
2650 // 	unimplemented!()
2651 // }
2652 
2653 // #[no_mangle]
2654 // pub extern "C" fn setpwent(){
2655 // 	unimplemented!()
2656 // }
2657 // #[no_mangle]
2658 // pub extern "C" fn endpwent(){
2659 // 	unimplemented!()
2660 // }
2661 // #[no_mangle]
2662 // pub extern "C" fn getpwent() -> *mut passwd{
2663 // 	unimplemented!()
2664 // }
2665 // #[no_mangle]
2666 // pub extern "C" fn setgrent(){
2667 // 	unimplemented!()
2668 // }
2669 // #[no_mangle]
2670 // pub extern "C" fn endgrent(){
2671 // 	unimplemented!()
2672 // }
2673 // #[no_mangle]
2674 // pub extern "C" fn getgrent() -> *mut ::group{
2675 // 	unimplemented!()
2676 // }
2677 // #[no_mangle]
2678 // pub extern "C" fn setspent(){
2679 // 	unimplemented!()
2680 // }
2681 // #[no_mangle]
2682 // pub extern "C" fn endspent(){
2683 // 	unimplemented!()
2684 // }
2685 // #[no_mangle]
2686 // pub extern "C" fn getspent() -> *mut spwd{
2687 // 	unimplemented!()
2688 // }
2689 
2690 // #[no_mangle]
2691 // pub extern "C" fn getspnam(name: *const ::c_char) -> *mut spwd{
2692 // 	unimplemented!()
2693 // }
2694 
2695 // // System V IPC
2696 // #[no_mangle]
2697 // pub extern "C" fn shmget(key: ::key_t, size: ::size_t, shmflg: ::c_int) -> ::c_int{
2698 // 	unimplemented!()
2699 // }
2700 // #[no_mangle]
2701 // pub extern "C" fn shmat(shmid: ::c_int, shmaddr: *const ::c_void, shmflg: ::c_int) -> *mut ::c_void{
2702 // 	unimplemented!()
2703 // }
2704 // #[no_mangle]
2705 // pub extern "C" fn shmdt(shmaddr: *const ::c_void) -> ::c_int{
2706 // 	unimplemented!()
2707 // }
2708 // #[no_mangle]
2709 // pub extern "C" fn shmctl(shmid: ::c_int, cmd: ::c_int, buf: *mut ::shmid_ds) -> ::c_int{
2710 // 	unimplemented!()
2711 // }
2712 // #[no_mangle]
2713 // pub extern "C" fn ftok(pathname: *const ::c_char, proj_id: ::c_int) -> ::key_t{
2714 // 	unimplemented!()
2715 // }
2716 // #[no_mangle]
2717 // pub extern "C" fn semget(key: ::key_t, nsems: ::c_int, semflag: ::c_int) -> ::c_int{
2718 // 	unimplemented!()
2719 // }
2720 // #[no_mangle]
2721 // pub extern "C" fn semop(semid: ::c_int, sops: *mut ::sembuf, nsops: ::size_t) -> ::c_int{
2722 // 	unimplemented!()
2723 // }
2724 // #[no_mangle]
2725 // pub extern "C" fn semctl(semid: ::c_int, semnum: ::c_int, cmd: ::c_int) -> ::c_int{
2726 // 	unimplemented!()
2727 // }
2728 // #[no_mangle]
2729 // pub extern "C" fn msgctl(msqid: ::c_int, cmd: ::c_int, buf: *mut msqid_ds) -> ::c_int{
2730 // 	unimplemented!()
2731 // }
2732 // #[no_mangle]
2733 // pub extern "C" fn msgget(key: ::key_t, msgflg: ::c_int) -> ::c_int{
2734 // 	unimplemented!()
2735 // }
2736 // #[no_mangle]
2737 // pub extern "C" fn msgrcv(
2738 // 	msqid: ::c_int,
2739 // 	msgp: *mut ::c_void,
2740 // 	msgsz: ::size_t,
2741 // 	msgtyp: ::c_long,
2742 // 	msgflg: ::c_int,
2743 // ) -> ::ssize_t{
2744 // 	unimplemented!()
2745 // }
2746 // #[no_mangle]
2747 // pub extern "C" fn msgsnd(
2748 // 	msqid: ::c_int,
2749 // 	msgp: *const ::c_void,
2750 // 	msgsz: ::size_t,
2751 // 	msgflg: ::c_int,
2752 // ) -> ::c_int{
2753 // 	unimplemented!()
2754 // }
2755 
2756 
2757 // #[no_mangle]
2758 // pub extern "C" fn __errno_location() -> *mut ::c_int{
2759 // 	unimplemented!()
2760 // }
2761 
2762 // #[no_mangle]
2763 // pub extern "C" fn fallocate(fd: ::c_int, mode: ::c_int, offset: ::off_t, len: ::off_t) -> ::c_int{
2764 // 	unimplemented!()
2765 // }
2766 // #[no_mangle]
2767 // pub extern "C" fn posix_fallocate(fd: ::c_int, offset: ::off_t, len: ::off_t) -> ::c_int{
2768 // 	unimplemented!()
2769 // }
2770 // #[no_mangle]
2771 // pub extern "C" fn readahead(fd: ::c_int, offset: ::off64_t, count: ::size_t) -> ::ssize_t{
2772 // 	unimplemented!()
2773 // }
2774 // #[no_mangle]
2775 // pub extern "C" fn getxattr(
2776 // 	path: *const ::c_char,
2777 // 	name: *const ::c_char,
2778 // 	value: *mut ::c_void,
2779 // 	size: ::size_t,
2780 // ) -> ::ssize_t{
2781 // 	unimplemented!()
2782 // }
2783 // #[no_mangle]
2784 // pub extern "C" fn lgetxattr(
2785 // 	path: *const ::c_char,
2786 // 	name: *const ::c_char,
2787 // 	value: *mut ::c_void,
2788 // 	size: ::size_t,
2789 // ) -> ::ssize_t{
2790 // 	unimplemented!()
2791 // }
2792 // #[no_mangle]
2793 // pub extern "C" fn fgetxattr(
2794 // 	filedes: ::c_int,
2795 // 	name: *const ::c_char,
2796 // 	value: *mut ::c_void,
2797 // 	size: ::size_t,
2798 // ) -> ::ssize_t{
2799 // 	unimplemented!()
2800 // }
2801 // #[no_mangle]
2802 // pub extern "C" fn setxattr(
2803 // 	path: *const ::c_char,
2804 // 	name: *const ::c_char,
2805 // 	value: *const ::c_void,
2806 // 	size: ::size_t,
2807 // 	flags: ::c_int,
2808 // ) -> ::c_int{
2809 // 	unimplemented!()
2810 // }
2811 // #[no_mangle]
2812 // pub extern "C" fn lsetxattr(
2813 // 	path: *const ::c_char,
2814 // 	name: *const ::c_char,
2815 // 	value: *const ::c_void,
2816 // 	size: ::size_t,
2817 // 	flags: ::c_int,
2818 // ) -> ::c_int{
2819 // 	unimplemented!()
2820 // }
2821 // #[no_mangle]
2822 // pub extern "C" fn fsetxattr(
2823 // 	filedes: ::c_int,
2824 // 	name: *const ::c_char,
2825 // 	value: *const ::c_void,
2826 // 	size: ::size_t,
2827 // 	flags: ::c_int,
2828 // ) -> ::c_int{
2829 // 	unimplemented!()
2830 // }
2831 // #[no_mangle]
2832 // pub extern "C" fn listxattr(path: *const ::c_char, list: *mut ::c_char, size: ::size_t) -> ::ssize_t{
2833 // 	unimplemented!()
2834 // }
2835 // #[no_mangle]
2836 // pub extern "C" fn llistxattr(path: *const ::c_char, list: *mut ::c_char, size: ::size_t) -> ::ssize_t{
2837 // 	unimplemented!()
2838 // }
2839 // #[no_mangle]
2840 // pub extern "C" fn flistxattr(filedes: ::c_int, list: *mut ::c_char, size: ::size_t) -> ::ssize_t{
2841 // 	unimplemented!()
2842 // }
2843 // #[no_mangle]
2844 // pub extern "C" fn removexattr(path: *const ::c_char, name: *const ::c_char) -> ::c_int{
2845 // 	unimplemented!()
2846 // }
2847 // #[no_mangle]
2848 // pub extern "C" fn lremovexattr(path: *const ::c_char, name: *const ::c_char) -> ::c_int{
2849 // 	unimplemented!()
2850 // }
2851 // #[no_mangle]
2852 // pub extern "C" fn fremovexattr(filedes: ::c_int, name: *const ::c_char) -> ::c_int{
2853 // 	unimplemented!()
2854 // }
2855 // #[no_mangle]
2856 // pub extern "C" fn signalfd(fd: ::c_int, mask: *const ::sigset_t, flags: ::c_int) -> ::c_int{
2857 // 	unimplemented!()
2858 // }
2859 // #[no_mangle]
2860 // pub extern "C" fn timerfd_create(clockid: ::clockid_t, flags: ::c_int) -> ::c_int{
2861 // 	unimplemented!()
2862 // }
2863 // #[no_mangle]
2864 // pub extern "C" fn timerfd_gettime(fd: ::c_int, curr_value: *mut itimerspec) -> ::c_int{
2865 // 	unimplemented!()
2866 // }
2867 // #[no_mangle]
2868 // pub extern "C" fn timerfd_settime(
2869 // 	fd: ::c_int,
2870 // 	flags: ::c_int,
2871 // 	new_value: *const itimerspec,
2872 // 	old_value: *mut itimerspec,
2873 // ) -> ::c_int{
2874 // 	unimplemented!()
2875 // }
2876 // #[no_mangle]
2877 // pub extern "C" fn quotactl(
2878 // 	cmd: ::c_int,
2879 // 	special: *const ::c_char,
2880 // 	id: ::c_int,
2881 // 	data: *mut ::c_char,
2882 // ) -> ::c_int{
2883 // 	unimplemented!()
2884 // }
2885 
2886 // #[no_mangle]
2887 // pub extern "C" fn dup3(oldfd: ::c_int, newfd: ::c_int, flags: ::c_int) -> ::c_int{
2888 // 	unimplemented!()
2889 // }
2890 // #[no_mangle]
2891 // pub extern "C" fn mkostemp(template: *mut ::c_char, flags: ::c_int) -> ::c_int{
2892 // 	unimplemented!()
2893 // }
2894 // #[no_mangle]
2895 // pub extern "C" fn mkostemps(template: *mut ::c_char, suffixlen: ::c_int, flags: ::c_int) -> ::c_int{
2896 // 	unimplemented!()
2897 // }
2898 // #[no_mangle]
2899 // pub extern "C" fn sigtimedwait(
2900 // 	set: *const sigset_t,
2901 // 	info: *mut siginfo_t,
2902 // 	timeout: *const ::timespec,
2903 // ) -> ::c_int{
2904 // 	unimplemented!()
2905 // }
2906 // #[no_mangle]
2907 // pub extern "C" fn sigwaitinfo(set: *const sigset_t, info: *mut siginfo_t) -> ::c_int{
2908 // 	unimplemented!()
2909 // }
2910 // #[no_mangle]
2911 // pub extern "C" fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char{
2912 // 	unimplemented!()
2913 // }
2914 // #[no_mangle]
2915 // pub extern "C" fn accept4(
2916 // 	fd: ::c_int,
2917 // 	addr: *mut ::sockaddr,
2918 // 	len: *mut ::socklen_t,
2919 // 	flg: ::c_int,
2920 // ) -> ::c_int{
2921 // 	unimplemented!()
2922 // }
2923 // #[no_mangle]
2924 // pub extern "C" fn pthread_getaffinity_np(
2925 // 	thread: ::pthread_t,
2926 // 	cpusetsize: ::size_t,
2927 // 	cpuset: *mut ::cpu_set_t,
2928 // ) -> ::c_int{
2929 // 	unimplemented!()
2930 // }
2931 // #[no_mangle]
2932 // pub extern "C" fn pthread_setaffinity_np(
2933 // 	thread: ::pthread_t,
2934 // 	cpusetsize: ::size_t,
2935 // 	cpuset: *const ::cpu_set_t,
2936 // ) -> ::c_int{
2937 // 	unimplemented!()
2938 // }
2939 // #[no_mangle]
2940 // pub extern "C" fn pthread_setschedprio(native: ::pthread_t, priority: ::c_int) -> ::c_int{
2941 // 	unimplemented!()
2942 // }
2943 // #[no_mangle]
2944 // pub extern "C" fn reboot(how_to: ::c_int) -> ::c_int{
2945 // 	unimplemented!()
2946 // }
2947 // #[no_mangle]
2948 // pub extern "C" fn setfsgid(gid: ::gid_t) -> ::c_int{
2949 // 	unimplemented!()
2950 // }
2951 // #[no_mangle]
2952 // pub extern "C" fn setfsuid(uid: ::uid_t) -> ::c_int{
2953 // 	unimplemented!()
2954 // }
2955 
2956 // // Not available now on Android
2957 // #[no_mangle]
2958 // pub extern "C" fn mkfifoat(dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t) -> ::c_int{
2959 // 	unimplemented!()
2960 // }
2961 // #[no_mangle]
2962 // pub extern "C" fn if_nameindex() -> *mut if_nameindex{
2963 // 	unimplemented!()
2964 // }
2965 // #[no_mangle]
2966 // pub extern "C" fn if_freenameindex(ptr: *mut if_nameindex){
2967 // 	unimplemented!()
2968 // }
2969 // #[no_mangle]
2970 // pub extern "C" fn sync_file_range(
2971 // 	fd: ::c_int,
2972 // 	offset: ::off64_t,
2973 // 	nbytes: ::off64_t,
2974 // 	flags: ::c_uint,
2975 // ) -> ::c_int{
2976 // 	unimplemented!()
2977 // }
2978 // #[no_mangle]
2979 // pub extern "C" fn mremap(
2980 // 	addr: *mut ::c_void,
2981 // 	len: ::size_t,
2982 // 	new_len: ::size_t,
2983 // 	flags: ::c_int
2984 // ) -> *mut ::c_void{
2985 // 	unimplemented!()
2986 // }
2987 
2988 // #[no_mangle]
2989 // pub extern "C" fn glob(
2990 // 	pattern: *const ::c_char,
2991 // 	flags: ::c_int,
2992 // 	errfunc: ::Option<extern "C" fn(epath: *const ::c_char, errno: ::c_int) -> ::c_int>,
2993 // 	pglob: *mut ::glob_t,
2994 // ) -> ::c_int{
2995 // 	unimplemented!()
2996 // }
2997 // #[no_mangle]
2998 // pub extern "C" fn globfree(pglob: *mut ::glob_t){
2999 // 	unimplemented!()
3000 // }
3001 
3002 // #[no_mangle]
3003 // pub extern "C" fn posix_madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int) -> ::c_int{
3004 // 	unimplemented!()
3005 // }
3006 
3007 // #[no_mangle]
3008 // pub extern "C" fn seekdir(dirp: *mut ::DIR, loc: ::c_long){
3009 // 	unimplemented!()
3010 // }
3011 
3012 // #[no_mangle]
3013 // pub extern "C" fn telldir(dirp: *mut ::DIR) -> ::c_long{
3014 // 	unimplemented!()
3015 // }
3016 // #[no_mangle]
3017 // pub extern "C" fn madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int) -> ::c_int{
3018 // 	unimplemented!()
3019 // }
3020 
3021 
3022 // #[no_mangle]
3023 // pub extern "C" fn remap_file_pages(
3024 // 	addr: *mut ::c_void,
3025 // 	size: ::size_t,
3026 // 	prot: ::c_int,
3027 // 	pgoff: ::size_t,
3028 // 	flags: ::c_int,
3029 // ) -> ::c_int{
3030 // 	unimplemented!()
3031 // }
3032 
3033 // #[no_mangle]
3034 // pub extern "C" fn mkstemps(template: *mut ::c_char, suffixlen: ::c_int) -> ::c_int{
3035 // 	mkostemps(template, suffixlen, 0)
3036 // }
3037 
3038 // #[no_mangle]
3039 // pub extern "C" fn nl_langinfo(item: ::nl_item) -> *mut ::c_char{
3040 // 	unimplemented!()
3041 // }
3042 
3043 // #[no_mangle]
3044 // pub extern "C" fn getdomainname(name: *mut ::c_char, len: ::size_t) -> ::c_int{
3045 // 	unimplemented!()
3046 // }
3047 // #[no_mangle]
3048 // pub extern "C" fn setdomainname(name: *const ::c_char, len: ::size_t) -> ::c_int{
3049 // 	unimplemented!()
3050 // }
3051 // #[no_mangle]
3052 // pub extern "C" fn vhangup() -> ::c_int{
3053 // 	unimplemented!()
3054 // }
3055 // #[no_mangle]
3056 // pub extern "C" fn sync(){
3057 // 	unimplemented!()
3058 // }
3059 // #[no_mangle]
3060 // pub extern "C" fn syncfs(fd: ::c_int) -> ::c_int{
3061 // 	unimplemented!()
3062 // }
3063 // #[no_mangle]
3064 // pub extern "C" fn sched_getaffinity(pid: ::pid_t, cpusetsize: ::size_t, cpuset: *mut cpu_set_t)
3065 // 	-> ::c_int{
3066 // 	unimplemented!()
3067 // }
3068 // #[no_mangle]
3069 // pub extern "C" fn sched_setaffinity(
3070 // 	pid: ::pid_t,
3071 // 	cpusetsize: ::size_t,
3072 // 	cpuset: *const cpu_set_t,
3073 // ) -> ::c_int{
3074 // 	unimplemented!()
3075 // }
3076 // #[no_mangle]
3077 // pub extern "C" fn epoll_create(size: ::c_int) -> ::c_int{
3078 // 	unimplemented!()
3079 // }
3080 
3081 // #[no_mangle]
3082 // pub extern "C" fn epoll_wait(
3083 // 	epfd: ::c_int,
3084 // 	events: *mut ::epoll_event,
3085 // 	maxevents: ::c_int,
3086 // 	timeout: ::c_int,
3087 // ) -> ::c_int{
3088 // 	unimplemented!()
3089 // }
3090 
3091 // #[no_mangle]
3092 // pub extern "C" fn pthread_getschedparam(
3093 // 	native: ::pthread_t,
3094 // 	policy: *mut ::c_int,
3095 // 	param: *mut ::sched_param,
3096 // ) -> ::c_int{
3097 // 	unimplemented!()
3098 // }
3099 // #[no_mangle]
3100 // pub extern "C" fn unshare(flags: ::c_int) -> ::c_int{
3101 // 	unimplemented!()
3102 // }
3103 // #[no_mangle]
3104 // pub extern "C" fn umount(target: *const ::c_char) -> ::c_int{
3105 // 	unimplemented!()
3106 // }
3107 // #[no_mangle]
3108 // pub extern "C" fn sched_get_priority_max(policy: ::c_int) -> ::c_int{
3109 // 	unimplemented!()
3110 // }
3111 // #[no_mangle]
3112 // pub extern "C" fn tee(fd_in: ::c_int, fd_out: ::c_int, len: ::size_t, flags: ::c_uint) -> ::ssize_t{
3113 // 	unimplemented!()
3114 // }
3115 // #[no_mangle]
3116 // pub extern "C" fn settimeofday(tv: *const ::timeval, tz: *const ::timezone) -> ::c_int{
3117 // 	unimplemented!()
3118 // }
3119 // #[no_mangle]
3120 // pub extern "C" fn splice(
3121 // 	fd_in: ::c_int,
3122 // 	off_in: *mut ::loff_t,
3123 // 	fd_out: ::c_int,
3124 // 	off_out: *mut ::loff_t,
3125 // 	len: ::size_t,
3126 // 	flags: ::c_uint,
3127 // ) -> ::ssize_t{
3128 // 	unimplemented!()
3129 // }
3130 // #[no_mangle]
3131 // pub extern "C" fn eventfd(init: ::c_uint, flags: ::c_int) -> ::c_int{
3132 // 	unimplemented!()
3133 // }
3134 // #[no_mangle]
3135 // pub extern "C" fn sched_rr_get_interval(pid: ::pid_t, tp: *mut ::timespec) -> ::c_int{
3136 // 	unimplemented!()
3137 // }
3138 // #[no_mangle]
3139 // pub extern "C" fn sem_timedwait(sem: *mut sem_t, abstime: *const ::timespec) -> ::c_int{
3140 // 	unimplemented!()
3141 // }
3142 // #[no_mangle]
3143 // pub extern "C" fn sem_getvalue(sem: *mut sem_t, sval: *mut ::c_int) -> ::c_int{
3144 // 	unimplemented!()
3145 // }
3146 // #[no_mangle]
3147 // pub extern "C" fn sched_setparam(pid: ::pid_t, param: *const ::sched_param) -> ::c_int{
3148 // 	unimplemented!()
3149 // }
3150 // #[no_mangle]
3151 // pub extern "C" fn setns(fd: ::c_int, nstype: ::c_int) -> ::c_int{
3152 // 	unimplemented!()
3153 // }
3154 // #[no_mangle]
3155 // pub extern "C" fn swapoff(path: *const ::c_char) -> ::c_int{
3156 // 	unimplemented!()
3157 // }
3158 // #[no_mangle]
3159 // pub extern "C" fn vmsplice(
3160 // 	fd: ::c_int,
3161 // 	iov: *const ::iovec,
3162 // 	nr_segs: ::size_t,
3163 // 	flags: ::c_uint,
3164 // ) -> ::ssize_t{
3165 // 	unimplemented!()
3166 // }
3167 // #[no_mangle]
3168 // pub extern "C" fn mount(
3169 // 	src: *const ::c_char,
3170 // 	target: *const ::c_char,
3171 // 	fstype: *const ::c_char,
3172 // 	flags: ::c_ulong,
3173 // 	data: *const ::c_void,
3174 // ) -> ::c_int{
3175 // 	unimplemented!()
3176 // }
3177 // #[no_mangle]
3178 // pub extern "C" fn personality(persona: ::c_ulong) -> ::c_int{
3179 // 	unimplemented!()
3180 // }
3181 // #[no_mangle]
3182 // pub extern "C" fn prctl(option: ::c_int) -> ::c_int{
3183 // 	unimplemented!()
3184 // }
3185 // #[no_mangle]
3186 // pub extern "C" fn sched_getparam(pid: ::pid_t, param: *mut ::sched_param) -> ::c_int{
3187 // 	unimplemented!()
3188 // }
3189 // #[no_mangle]
3190 // pub extern "C" fn ppoll(
3191 // 	fds: *mut ::pollfd,
3192 // 	nfds: nfds_t,
3193 // 	timeout: *const ::timespec,
3194 // 	sigmask: *const sigset_t,
3195 // ) -> ::c_int{
3196 // 	unimplemented!()
3197 // }
3198 // #[no_mangle]
3199 // pub extern "C" fn pthread_mutexattr_getprotocol(
3200 // 	attr: *const pthread_mutexattr_t,
3201 // 	protocol: *mut ::c_int,
3202 // ) -> ::c_int{
3203 // 	unimplemented!()
3204 // }
3205 // #[no_mangle]
3206 // pub extern "C" fn pthread_mutexattr_setprotocol(
3207 // 	attr: *mut pthread_mutexattr_t,
3208 // 	protocol: ::c_int,
3209 // ) -> ::c_int{
3210 // 	unimplemented!()
3211 // }
3212 
3213 // #[no_mangle]
3214 // pub extern "C" fn pthread_mutex_timedlock(
3215 // 	lock: *mut pthread_mutex_t,
3216 // 	abstime: *const ::timespec,
3217 // ) -> ::c_int{
3218 // 	unimplemented!()
3219 // }
3220 // #[no_mangle]
3221 // pub extern "C" fn pthread_barrierattr_init(attr: *mut ::pthread_barrierattr_t) -> ::c_int{
3222 // 	unimplemented!()
3223 // }
3224 // #[no_mangle]
3225 // pub extern "C" fn pthread_barrierattr_destroy(attr: *mut ::pthread_barrierattr_t) -> ::c_int{
3226 // 	unimplemented!()
3227 // }
3228 // #[no_mangle]
3229 // pub extern "C" fn pthread_barrierattr_getpshared(
3230 // 	attr: *const ::pthread_barrierattr_t,
3231 // 	shared: *mut ::c_int,
3232 // ) -> ::c_int{
3233 // 	unimplemented!()
3234 // }
3235 // #[no_mangle]
3236 // pub extern "C" fn pthread_barrierattr_setpshared(
3237 // 	attr: *mut ::pthread_barrierattr_t,
3238 // 	shared: ::c_int,
3239 // ) -> ::c_int{
3240 // 	unimplemented!()
3241 // }
3242 // #[no_mangle]
3243 // pub extern "C" fn pthread_barrier_init(
3244 // 	barrier: *mut pthread_barrier_t,
3245 // 	attr: *const ::pthread_barrierattr_t,
3246 // 	count: ::c_uint,
3247 // ) -> ::c_int{
3248 // 	unimplemented!()
3249 // }
3250 // #[no_mangle]
3251 // pub extern "C" fn pthread_barrier_destroy(barrier: *mut pthread_barrier_t) -> ::c_int{
3252 // 	unimplemented!()
3253 // }
3254 // #[no_mangle]
3255 // pub extern "C" fn pthread_barrier_wait(barrier: *mut pthread_barrier_t) -> ::c_int{
3256 // 	unimplemented!()
3257 // }
3258 // #[no_mangle]
3259 // pub extern "C" fn pthread_spin_init(lock: *mut ::pthread_spinlock_t, pshared: ::c_int) -> ::c_int{
3260 // 	unimplemented!()
3261 // }
3262 // #[no_mangle]
3263 // pub extern "C" fn pthread_spin_destroy(lock: *mut ::pthread_spinlock_t) -> ::c_int{
3264 // 	unimplemented!()
3265 // }
3266 // #[no_mangle]
3267 // pub extern "C" fn pthread_spin_lock(lock: *mut ::pthread_spinlock_t) -> ::c_int{
3268 // 	unimplemented!()
3269 // }
3270 // #[no_mangle]
3271 // pub extern "C" fn pthread_spin_trylock(lock: *mut ::pthread_spinlock_t) -> ::c_int{
3272 // 	unimplemented!()
3273 // }
3274 // #[no_mangle]
3275 // pub extern "C" fn pthread_spin_unlock(lock: *mut ::pthread_spinlock_t) -> ::c_int{
3276 // 	unimplemented!()
3277 // }
3278 // #[no_mangle]
3279 // pub extern "C" fn clone(
3280 // 	cb: extern "C" fn(*mut ::c_void) -> ::c_int,
3281 // 	child_stack: *mut ::c_void,
3282 // 	flags: ::c_int,
3283 // 	arg: *mut ::c_void
3284 // ) -> ::c_int{
3285 // 	unimplemented!()
3286 // }
3287 // #[no_mangle]
3288 // pub extern "C" fn sched_getscheduler(pid: ::pid_t) -> ::c_int{
3289 // 	unimplemented!()
3290 // }
3291 // #[no_mangle]
3292 // pub extern "C" fn clock_nanosleep(
3293 // 	clk_id: ::clockid_t,
3294 // 	flags: ::c_int,
3295 // 	rqtp: *const ::timespec,
3296 // 	rmtp: *mut ::timespec,
3297 // ) -> ::c_int{
3298 // 	unimplemented!()
3299 // }
3300 // #[no_mangle]
3301 // pub extern "C" fn pthread_attr_getguardsize(
3302 // 	attr: *const ::pthread_attr_t,
3303 // 	guardsize: *mut ::size_t,
3304 // ) -> ::c_int{
3305 // 	unimplemented!()
3306 // }
3307 // #[no_mangle]
3308 // pub extern "C" fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int{
3309 // 	unimplemented!()
3310 // }
3311 // #[no_mangle]
3312 // pub extern "C" fn sched_get_priority_min(policy: ::c_int) -> ::c_int{
3313 // 	unimplemented!()
3314 // }
3315 // #[no_mangle]
3316 // pub extern "C" fn pthread_condattr_getpshared(
3317 // 	attr: *const pthread_condattr_t,
3318 // 	pshared: *mut ::c_int,
3319 // ) -> ::c_int{
3320 // 	unimplemented!()
3321 // }
3322 // #[no_mangle]
3323 // pub extern "C" fn sysinfo(info: *mut ::sysinfo) -> ::c_int{
3324 // 	unimplemented!()
3325 // }
3326 // #[no_mangle]
3327 // pub extern "C" fn umount2(target: *const ::c_char, flags: ::c_int) -> ::c_int{
3328 // 	unimplemented!()
3329 // }
3330 // #[no_mangle]
3331 // pub extern "C" fn pthread_setschedparam(
3332 // 	native: ::pthread_t,
3333 // 	policy: ::c_int,
3334 // 	param: *const ::sched_param,
3335 // ) -> ::c_int{
3336 // 	unimplemented!()
3337 // }
3338 // #[no_mangle]
3339 // pub extern "C" fn swapon(path: *const ::c_char, swapflags: ::c_int) -> ::c_int{
3340 // 	unimplemented!()
3341 // }
3342 // #[no_mangle]
3343 // pub extern "C" fn sched_setscheduler(
3344 // 	pid: ::pid_t,
3345 // 	policy: ::c_int,
3346 // 	param: *const ::sched_param,
3347 // ) -> ::c_int{
3348 // 	unimplemented!()
3349 // }
3350 // #[no_mangle]
3351 // pub extern "C" fn sendfile(
3352 // 	out_fd: ::c_int,
3353 // 	in_fd: ::c_int,
3354 // 	offset: *mut off_t,
3355 // 	count: ::size_t,
3356 // ) -> ::ssize_t{
3357 // 	unimplemented!()
3358 // }
3359 // #[no_mangle]
3360 // pub extern "C" fn sigsuspend(mask: *const ::sigset_t) -> ::c_int{
3361 // 	unimplemented!()
3362 // }
3363 // #[no_mangle]
3364 // pub extern "C" fn getgrgid_r(
3365 // 	gid: ::gid_t,
3366 // 	grp: *mut ::group,
3367 // 	buf: *mut ::c_char,
3368 // 	buflen: ::size_t,
3369 // 	result: *mut *mut ::group,
3370 // ) -> ::c_int{
3371 // 	unimplemented!()
3372 // }
3373 // #[no_mangle]
3374 // pub extern "C" fn sigaltstack(ss: *const stack_t, oss: *mut stack_t) -> ::c_int{
3375 // 	unimplemented!()
3376 // }
3377 // #[no_mangle]
3378 // pub extern "C" fn sem_close(sem: *mut sem_t) -> ::c_int{
3379 // 	unimplemented!()
3380 // }
3381 // #[no_mangle]
3382 // pub extern "C" fn getdtablesize() -> ::c_int{
3383 // 	unimplemented!()
3384 // }
3385 // #[no_mangle]
3386 // pub extern "C" fn getgrnam_r(
3387 // 	name: *const ::c_char,
3388 // 	grp: *mut ::group,
3389 // 	buf: *mut ::c_char,
3390 // 	buflen: ::size_t,
3391 // 	result: *mut *mut ::group,
3392 // ) -> ::c_int{
3393 // 	unimplemented!()
3394 // }
3395 // #[no_mangle]
3396 // pub extern "C" fn initgroups(user: *const ::c_char, group: ::gid_t) -> ::c_int{
3397 // 	unimplemented!()
3398 // }
3399 // #[no_mangle]
3400 // pub extern "C" fn pthread_sigmask(how: ::c_int, set: *const sigset_t, oldset: *mut sigset_t) -> ::c_int{
3401 // 	unimplemented!()
3402 // }
3403 // #[no_mangle]
3404 // pub extern "C" fn sem_open(name: *const ::c_char, oflag: ::c_int) -> *mut sem_t{
3405 // 	unimplemented!()
3406 // }
3407 // #[no_mangle]
3408 // pub extern "C" fn getgrnam(name: *const ::c_char) -> *mut ::group{
3409 // 	unimplemented!()
3410 // }
3411 // #[no_mangle]
3412 // pub extern "C" fn pthread_kill(thread: ::pthread_t, sig: ::c_int) -> ::c_int{
3413 // 	unimplemented!()
3414 // }
3415 // #[no_mangle]
3416 // pub extern "C" fn sem_unlink(name: *const ::c_char) -> ::c_int{
3417 // 	unimplemented!()
3418 // }
3419 // #[no_mangle]
3420 // pub extern "C" fn daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int{
3421 // 	unimplemented!()
3422 // }
3423 // #[no_mangle]
3424 // pub extern "C" fn getpwnam_r(
3425 // 	name: *const ::c_char,
3426 // 	pwd: *mut passwd,
3427 // 	buf: *mut ::c_char,
3428 // 	buflen: ::size_t,
3429 // 	result: *mut *mut passwd,
3430 // ) -> ::c_int{
3431 // 	unimplemented!()
3432 // }
3433 // #[no_mangle]
3434 // pub extern "C" fn getpwuid_r(
3435 // 	uid: ::uid_t,
3436 // 	pwd: *mut passwd,
3437 // 	buf: *mut ::c_char,
3438 // 	buflen: ::size_t,
3439 // 	result: *mut *mut passwd,
3440 // ) -> ::c_int{
3441 // 	unimplemented!()
3442 // }
3443 // #[no_mangle]
3444 // pub extern "C" fn sigwait(set: *const sigset_t, sig: *mut ::c_int) -> ::c_int{
3445 // 	unimplemented!()
3446 // }
3447 // #[no_mangle]
3448 // pub extern "C" fn pthread_atfork(
3449 // 	prepare: ::Option<unsafe extern "C" fn()>,
3450 // 	parent: ::Option<unsafe extern "C" fn()>,
3451 // 	child: ::Option<unsafe extern "C" fn()>,
3452 // ) -> ::c_int{
3453 // 	unimplemented!()
3454 // }
3455 // #[no_mangle]
3456 // pub extern "C" fn getgrgid(gid: ::gid_t) -> *mut ::group{
3457 // 	unimplemented!()
3458 // }
3459 // #[no_mangle]
3460 // pub extern "C" fn getgrouplist(
3461 // 	user: *const ::c_char,
3462 // 	group: ::gid_t,
3463 // 	groups: *mut ::gid_t,
3464 // 	ngroups: *mut ::c_int,
3465 // ) -> ::c_int{
3466 // 	unimplemented!()
3467 // }
3468 // #[no_mangle]
3469 // pub extern "C" fn pthread_mutexattr_getpshared(
3470 // 	attr: *const pthread_mutexattr_t,
3471 // 	pshared: *mut ::c_int,
3472 // ) -> ::c_int{
3473 // 	unimplemented!()
3474 // }
3475 // #[no_mangle]
3476 // pub extern "C" fn popen(command: *const ::c_char, mode: *const ::c_char) -> *mut ::FILE{
3477 // 	unimplemented!()
3478 // }
3479 // #[no_mangle]
3480 // pub extern "C" fn faccessat(
3481 // 	dirfd: ::c_int,
3482 // 	pathname: *const ::c_char,
3483 // 	mode: ::c_int,
3484 // 	flags: ::c_int,
3485 // ) -> ::c_int{
3486 // 	unimplemented!()
3487 // }
3488 // #[no_mangle]
3489 // pub extern "C" fn pthread_create(
3490 // 	native: *mut ::pthread_t,
3491 // 	attr: *const ::pthread_attr_t,
3492 // 	f: extern "C" fn(*mut ::c_void) -> *mut ::c_void,
3493 // 	value: *mut ::c_void,
3494 // ) -> ::c_int{
3495 // 	unimplemented!()
3496 // }
3497 // #[no_mangle]
3498 // pub extern "C" fn dl_iterate_phdr(
3499 // 	callback: ::Option<
3500 // 		unsafe extern "C" fn(
3501 // 			info: *mut ::dl_phdr_info,
3502 // 			size: ::size_t,
3503 // 			data: *mut ::c_void,
3504 // 		) -> ::c_int,
3505 // 	>,
3506 // 	data: *mut ::c_void,
3507 // ) -> ::c_int{
3508 // 	unimplemented!()
3509 // }
3510 
3511 // #[no_mangle]
3512 // pub extern "C" fn setmntent(filename: *const ::c_char, ty: *const ::c_char) -> *mut ::FILE{
3513 // 	unimplemented!()
3514 // }
3515 // #[no_mangle]
3516 // pub extern "C" fn getmntent(stream: *mut ::FILE) -> *mut ::mntent{
3517 // 	unimplemented!()
3518 // }
3519 // #[no_mangle]
3520 // pub extern "C" fn addmntent(stream: *mut ::FILE, mnt: *const ::mntent) -> ::c_int{
3521 // 	unimplemented!()
3522 // }
3523 // #[no_mangle]
3524 // pub extern "C" fn endmntent(streamp: *mut ::FILE) -> ::c_int{
3525 // 	unimplemented!()
3526 // }
3527 // #[no_mangle]
3528 // pub extern "C" fn hasmntopt(mnt: *const ::mntent, opt: *const ::c_char) -> *mut ::c_char{
3529 // 	unimplemented!()
3530 // }
3531 
3532 // #[no_mangle]
3533 // pub extern "C" fn posix_spawn(
3534 // 	pid: *mut ::pid_t,
3535 // 	path: *const ::c_char,
3536 // 	file_actions: *const ::posix_spawn_file_actions_t,
3537 // 	attrp: *const ::posix_spawnattr_t,
3538 // 	argv_: *const *mut ::c_char,
3539 // 	envp: *const *mut ::c_char,
3540 // ) -> ::c_int{
3541 // 	unimplemented!()
3542 // }
3543 // #[no_mangle]
3544 // pub extern "C" fn posix_spawnp(
3545 // 	pid: *mut ::pid_t,
3546 // 	file: *const ::c_char,
3547 // 	file_actions: *const ::posix_spawn_file_actions_t,
3548 // 	attrp: *const ::posix_spawnattr_t,
3549 // 	argv_: *const *mut ::c_char,
3550 // 	envp: *const *mut ::c_char,
3551 // ) -> ::c_int{
3552 // 	unimplemented!()
3553 // }
3554 // #[no_mangle]
3555 // pub extern "C" fn posix_spawnattr_init(attr: *mut posix_spawnattr_t) -> ::c_int{
3556 // 	unimplemented!()
3557 // }
3558 // #[no_mangle]
3559 // pub extern "C" fn posix_spawnattr_destroy(attr: *mut posix_spawnattr_t) -> ::c_int{
3560 // 	unimplemented!()
3561 // }
3562 // #[no_mangle]
3563 // pub extern "C" fn posix_spawnattr_getsigdefault(
3564 // 	attr: *const posix_spawnattr_t,
3565 // 	default: *mut ::sigset_t,
3566 // ) -> ::c_int{
3567 // 	unimplemented!()
3568 // }
3569 // #[no_mangle]
3570 // pub extern "C" fn posix_spawnattr_setsigdefault(
3571 // 	attr: *mut posix_spawnattr_t,
3572 // 	default: *const ::sigset_t,
3573 // ) -> ::c_int{
3574 // 	unimplemented!()
3575 // }
3576 // #[no_mangle]
3577 // pub extern "C" fn posix_spawnattr_getsigmask(
3578 // 	attr: *const posix_spawnattr_t,
3579 // 	default: *mut ::sigset_t,
3580 // ) -> ::c_int{
3581 // 	unimplemented!()
3582 // }
3583 // #[no_mangle]
3584 // pub extern "C" fn posix_spawnattr_setsigmask(
3585 // 	attr: *mut posix_spawnattr_t,
3586 // 	default: *const ::sigset_t,
3587 // ) -> ::c_int{
3588 // 	unimplemented!()
3589 // }
3590 // #[no_mangle]
3591 // pub extern "C" fn posix_spawnattr_getflags(
3592 // 	attr: *const posix_spawnattr_t,
3593 // 	flags: *mut ::c_short,
3594 // ) -> ::c_int{
3595 // 	unimplemented!()
3596 // }
3597 // #[no_mangle]
3598 // pub extern "C" fn posix_spawnattr_setflags(attr: *mut posix_spawnattr_t, flags: ::c_short) -> ::c_int{
3599 // 	unimplemented!()
3600 // }
3601 // #[no_mangle]
3602 // pub extern "C" fn posix_spawnattr_getpgroup(
3603 // 	attr: *const posix_spawnattr_t,
3604 // 	flags: *mut ::pid_t,
3605 // ) -> ::c_int{
3606 // 	unimplemented!()
3607 // }
3608 // #[no_mangle]
3609 // pub extern "C" fn posix_spawnattr_setpgroup(attr: *mut posix_spawnattr_t, flags: ::pid_t) -> ::c_int{
3610 // 	unimplemented!()
3611 // }
3612 // #[no_mangle]
3613 // pub extern "C" fn posix_spawnattr_getschedpolicy(
3614 // 	attr: *const posix_spawnattr_t,
3615 // 	flags: *mut ::c_int,
3616 // ) -> ::c_int{
3617 // 	unimplemented!()
3618 // }
3619 // #[no_mangle]
3620 // pub extern "C" fn posix_spawnattr_setschedpolicy(attr: *mut posix_spawnattr_t, flags: ::c_int) -> ::c_int{
3621 // 	unimplemented!()
3622 // }
3623 // #[no_mangle]
3624 // pub extern "C" fn posix_spawnattr_getschedparam(
3625 // 	attr: *const posix_spawnattr_t,
3626 // 	param: *mut ::sched_param,
3627 // ) -> ::c_int{
3628 // 	unimplemented!()
3629 // }
3630 // #[no_mangle]
3631 // pub extern "C" fn posix_spawnattr_setschedparam(
3632 // 	attr: *mut posix_spawnattr_t,
3633 // 	param: *const ::sched_param,
3634 // ) -> ::c_int{
3635 // 	unimplemented!()
3636 // }
3637 
3638 // #[no_mangle]
3639 // pub extern "C" fn posix_spawn_file_actions_init(actions: *mut posix_spawn_file_actions_t) -> ::c_int{
3640 // 	unimplemented!()
3641 // }
3642 // #[no_mangle]
3643 // pub extern "C" fn posix_spawn_file_actions_destroy(actions: *mut posix_spawn_file_actions_t) -> ::c_int{
3644 // 	unimplemented!()
3645 // }
3646 // #[no_mangle]
3647 // pub extern "C" fn posix_spawn_file_actions_addopen(
3648 // 	actions: *mut posix_spawn_file_actions_t,
3649 // 	fd: ::c_int,
3650 // 	path: *const ::c_char,
3651 // 	oflag: ::c_int,
3652 // 	mode: ::mode_t,
3653 // ) -> ::c_int{
3654 // 	unimplemented!()
3655 // }
3656 // #[no_mangle]
3657 // pub extern "C" fn posix_spawn_file_actions_addclose(
3658 // 	actions: *mut posix_spawn_file_actions_t,
3659 // 	fd: ::c_int,
3660 // ) -> ::c_int{
3661 // 	unimplemented!()
3662 // }
3663 // #[no_mangle]
3664 // pub extern "C" fn posix_spawn_file_actions_adddup2(
3665 // 	actions: *mut posix_spawn_file_actions_t,
3666 // 	fd: ::c_int,
3667 // 	newfd: ::c_int,
3668 // ) -> ::c_int{
3669 // 	unimplemented!()
3670 // }
3671 // #[no_mangle]
3672 // pub extern "C" fn fread_unlocked(
3673 // 	ptr: *mut ::c_void,
3674 // 	size: ::size_t,
3675 // 	nobj: ::size_t,
3676 // 	stream: *mut ::FILE,
3677 // ) -> ::size_t{
3678 // 	unimplemented!()
3679 // }
3680 // #[no_mangle]
3681 // pub extern "C" fn inotify_rm_watch(fd: ::c_int, wd: ::c_int) -> ::c_int{
3682 // 	unimplemented!()
3683 // }
3684 // #[no_mangle]
3685 // pub extern "C" fn inotify_init() -> ::c_int{
3686 // 	unimplemented!()
3687 // }
3688 // #[no_mangle]
3689 // pub extern "C" fn inotify_init1(flags: ::c_int) -> ::c_int{
3690 // 	unimplemented!()
3691 // }
3692 // #[no_mangle]
3693 // pub extern "C" fn inotify_add_watch(fd: ::c_int, path: *const ::c_char, mask: u32) -> ::c_int{
3694 // 	unimplemented!()
3695 // }
3696 // #[no_mangle]
3697 // pub extern "C" fn fanotify_init(flags: ::c_uint, event_f_flags: ::c_uint) -> ::c_int{
3698 // 	unimplemented!()
3699 // }
3700 
3701 // #[no_mangle]
3702 // pub extern "C" fn regcomp(preg: *mut ::regex_t, pattern: *const ::c_char, cflags: ::c_int) -> ::c_int{
3703 // 	unimplemented!()
3704 // }
3705 
3706 // #[no_mangle]
3707 // pub extern "C" fn regexec(
3708 // 	preg: *const ::regex_t,
3709 // 	input: *const ::c_char,
3710 // 	nmatch: ::size_t,
3711 // 	pmatch: *mut regmatch_t,
3712 // 	eflags: ::c_int,
3713 // ) -> ::c_int{
3714 // 	unimplemented!()
3715 // }
3716 
3717 // #[no_mangle]
3718 // pub extern "C" fn regerror(
3719 // 	errcode: ::c_int,
3720 // 	preg: *const ::regex_t,
3721 // 	errbuf: *mut ::c_char,
3722 // 	errbuf_size: ::size_t,
3723 // ) -> ::size_t{
3724 // 	unimplemented!()
3725 // }
3726 
3727 // #[no_mangle]
3728 // pub extern "C" fn regfree(preg: *mut ::regex_t){
3729 // 	unimplemented!()
3730 // }
3731 
3732 // #[no_mangle]
3733 // pub extern "C" fn iconv_open(tocode: *const ::c_char, fromcode: *const ::c_char) -> iconv_t{
3734 // 	unimplemented!()
3735 // }
3736 // #[no_mangle]
3737 // pub extern "C" fn iconv(
3738 // 	cd: iconv_t,
3739 // 	inbuf: *mut *mut ::c_char,
3740 // 	inbytesleft: *mut ::size_t,
3741 // 	outbuf: *mut *mut ::c_char,
3742 // 	outbytesleft: *mut ::size_t,
3743 // ) -> ::size_t{
3744 // 	unimplemented!()
3745 // }
3746 // #[no_mangle]
3747 // pub extern "C" fn iconv_close(cd: iconv_t) -> ::c_int{
3748 // 	unimplemented!()
3749 // }
3750 
3751 
3752 
3753 // #[no_mangle]
3754 // pub extern "C" fn timer_create(
3755 // 	clockid: ::clockid_t,
3756 // 	sevp: *mut ::sigevent,
3757 // 	timerid: *mut ::timer_t,
3758 // ) -> ::c_int{
3759 // 	unimplemented!()
3760 // }
3761 // #[no_mangle]
3762 // pub extern "C" fn timer_delete(timerid: ::timer_t) -> ::c_int{
3763 // 	unimplemented!()
3764 // }
3765 // #[no_mangle]
3766 // pub extern "C" fn timer_getoverrun(timerid: ::timer_t) -> ::c_int{
3767 // 	unimplemented!()
3768 // }
3769 // #[no_mangle]
3770 // pub extern "C" fn timer_gettime(timerid: ::timer_t, curr_value: *mut ::itimerspec) -> ::c_int{
3771 // 	unimplemented!()
3772 // }
3773 // #[no_mangle]
3774 // pub extern "C" fn timer_settime(
3775 // 	timerid: ::timer_t,
3776 // 	flags: ::c_int,
3777 // 	new_value: *const ::itimerspec,
3778 // 	old_value: *mut ::itimerspec,
3779 // ) -> ::c_int{
3780 // 	unimplemented!()
3781 // }
3782 
3783 // #[no_mangle]
3784 // pub extern "C" fn gethostid() -> ::c_long{
3785 // 	unimplemented!()
3786 // }
3787 
3788 // #[no_mangle]
3789 // pub extern "C" fn pthread_getcpuclockid(thread: ::pthread_t, clk_id: *mut ::clockid_t) -> ::c_int{
3790 // 	unimplemented!()
3791 // }
3792 // #[no_mangle]
3793 // pub extern "C" fn memmem(
3794 // 	haystack: *const ::c_void,
3795 // 	haystacklen: ::size_t,
3796 // 	needle: *const ::c_void,
3797 // 	needlelen: ::size_t,
3798 // ) -> *mut ::c_void{
3799 // 	unimplemented!()
3800 // }
3801 // #[no_mangle]
3802 // pub extern "C" fn sched_getcpu() -> ::c_int{
3803 // 	unimplemented!()
3804 // }
3805 
3806 // #[no_mangle]
3807 // pub extern "C" fn pthread_getname_np(thread: ::pthread_t, name: *mut ::c_char, len: ::size_t) -> ::c_int{
3808 // 	unimplemented!()
3809 // }
3810 // #[no_mangle]
3811 // pub extern "C" fn pthread_setname_np(thread: ::pthread_t, name: *const ::c_char) -> ::c_int{
3812 // 	unimplemented!()
3813 // }
3814 // #[no_mangle]
3815 // pub extern "C" fn getopt_long(
3816 // 	argc: ::c_int,
3817 // 	argv_: *const *mut ::c_char,
3818 // 	optstring: *const ::c_char,
3819 // 	longopts: *const option,
3820 // 	longindex: *mut ::c_int,
3821 // ) -> ::c_int{
3822 // 	unimplemented!()
3823 // }
3824 
3825 // #[no_mangle]
3826 // pub extern "C" fn copy_file_range(
3827 // 	fd_in: ::c_int,
3828 // 	off_in: *mut ::off64_t,
3829 // 	fd_out: ::c_int,
3830 // 	off_out: *mut ::off64_t,
3831 // 	len: ::size_t,
3832 // 	flags: ::c_uint,
3833 // ) -> ::ssize_t{
3834 // 	unimplemented!()
3835 // }
3836 // #[no_mangle]
3837 // pub extern "C" fn fallocate64(
3838 // 	fd: ::c_int,
3839 // 	mode: ::c_int,
3840 // 	offset: ::off64_t,
3841 // 	len: ::off64_t
3842 // ) -> ::c_int{
3843 // 	unimplemented!()
3844 // }
3845 // #[no_mangle]
3846 // pub extern "C" fn fgetpos64(stream: *mut ::FILE, ptr: *mut fpos64_t) -> ::c_int{
3847 // 	unimplemented!()
3848 // }
3849 // #[no_mangle]
3850 // pub extern "C" fn fopen64(filename: *const ::c_char, mode: *const ::c_char) -> *mut ::FILE{
3851 // 	unimplemented!()
3852 // }
3853 // #[no_mangle]
3854 // pub extern "C" fn freopen64(
3855 // 	filename: *const ::c_char,
3856 // 	mode: *const ::c_char,
3857 // 	file: *mut ::FILE,
3858 // ) -> *mut ::FILE{
3859 // 	unimplemented!()
3860 // }
3861 // #[no_mangle]
3862 // pub extern "C" fn fseeko64(stream: *mut ::FILE, offset: ::off64_t, whence: ::c_int) -> ::c_int{
3863 // 	unimplemented!()
3864 // }
3865 // #[no_mangle]
3866 // pub extern "C" fn fsetpos64(stream: *mut ::FILE, ptr: *const fpos64_t) -> ::c_int{
3867 // 	unimplemented!()
3868 // }
3869 // #[no_mangle]
3870 // pub extern "C" fn ftello64(stream: *mut ::FILE) -> ::off64_t{
3871 // 	unimplemented!()
3872 // }
3873 // #[no_mangle]
3874 // pub extern "C" fn posix_fallocate64(fd: ::c_int, offset: ::off64_t, len: ::off64_t) -> ::c_int{
3875 // 	unimplemented!()
3876 // }
3877 // #[no_mangle]
3878 // pub extern "C" fn sendfile64(
3879 // 	out_fd: ::c_int,
3880 // 	in_fd: ::c_int,
3881 // 	offset: *mut off64_t,
3882 // 	count: ::size_t,
3883 // ) -> ::ssize_t{
3884 // 	unimplemented!()
3885 // }
3886 // #[no_mangle]
3887 // pub extern "C" fn tmpfile64() -> *mut ::FILE{
3888 // 	unimplemented!()
3889 // }
3890 // pub extern "C" fn readlinkat(dirfd: ::c_int,
3891 //     pathname: *const ::c_char,
3892 //     buf: *mut ::c_char,
3893 //     bufsiz: ::size_t) -> ::ssize_t{
3894 //         unimplemented!()
3895 // }
3896 // pub extern "C" fn fmemopen(buf: *mut c_void, size: size_t, mode: *const c_char) -> *mut FILE{
3897 //     unimplemented!()
3898 // }
3899 // pub extern "C" fn open_memstream(ptr: *mut *mut c_char, sizeloc: *mut size_t) -> *mut FILE{
3900 //     unimplemented!()
3901 // }
3902 // pub extern "C" fn atexit(cb: extern "C" fn()) -> ::c_int{
3903 //     unimplemented!()
3904 // }
3905 
3906 
3907 
3908 
3909 
3910