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