]>
git.proxmox.com Git - rustc.git/blob - vendor/libc/src/wasi.rs
8 pub type c_short
= i16;
9 pub type c_ushort
= u16;
10 pub type c_long
= i32;
11 pub type c_ulong
= u32;
12 pub type c_longlong
= i64;
13 pub type c_ulonglong
= u64;
14 pub type intmax_t
= i64;
15 pub type uintmax_t
= u64;
16 pub type size_t
= usize;
17 pub type ssize_t
= isize;
18 pub type ptrdiff_t
= isize;
19 pub type intptr_t
= isize;
20 pub type uintptr_t
= usize;
23 pub type clock_t
= c_longlong
;
24 pub type time_t
= c_longlong
;
25 pub type c_double
= f64;
26 pub type c_float
= f32;
28 pub type sigset_t
= c_uchar
;
29 pub type suseconds_t
= c_longlong
;
30 pub type mode_t
= u32;
34 pub type nlink_t
= u64;
35 pub type blksize_t
= c_long
;
36 pub type blkcnt_t
= i64;
37 pub type nfds_t
= c_ulong
;
39 pub type __wasi_rights_t
= u64;
41 #[allow(missing_copy_implementations)]
42 #[cfg_attr(feature = "extra_traits", derive(Debug))]
44 #[allow(missing_copy_implementations)]
45 #[cfg_attr(feature = "extra_traits", derive(Debug))]
47 #[allow(missing_copy_implementations)]
48 #[cfg_attr(feature = "extra_traits", derive(Debug))]
49 pub enum __locale_struct {}
51 pub type locale_t
= *mut __locale_struct
;
69 pub __tm_gmtoff
: c_int
,
70 pub __tm_zone
: *const c_char
,
76 pub tv_usec
: suseconds_t
,
85 pub tms_utime
: clock_t
,
86 pub tms_stime
: clock_t
,
87 pub tms_cutime
: clock_t
,
88 pub tms_cstime
: clock_t
,
91 pub struct itimerspec
{
92 pub it_interval
: timespec
,
93 pub it_value
: timespec
,
97 pub iov_base
: *mut c_void
,
102 pub decimal_point
: *mut c_char
,
103 pub thousands_sep
: *mut c_char
,
104 pub grouping
: *mut c_char
,
105 pub int_curr_symbol
: *mut c_char
,
106 pub currency_symbol
: *mut c_char
,
107 pub mon_decimal_point
: *mut c_char
,
108 pub mon_thousands_sep
: *mut c_char
,
109 pub mon_grouping
: *mut c_char
,
110 pub positive_sign
: *mut c_char
,
111 pub negative_sign
: *mut c_char
,
112 pub int_frac_digits
: c_char
,
113 pub frac_digits
: c_char
,
114 pub p_cs_precedes
: c_char
,
115 pub p_sep_by_space
: c_char
,
116 pub n_cs_precedes
: c_char
,
117 pub n_sep_by_space
: c_char
,
118 pub p_sign_posn
: c_char
,
119 pub n_sign_posn
: c_char
,
120 pub int_p_cs_precedes
: c_char
,
121 pub int_p_sep_by_space
: c_char
,
122 pub int_n_cs_precedes
: c_char
,
123 pub int_n_sep_by_space
: c_char
,
124 pub int_p_sign_posn
: c_char
,
125 pub int_n_sign_posn
: c_char
,
131 pub revents
: c_short
,
135 pub ru_utime
: timeval
,
136 pub ru_stime
: timeval
,
142 pub st_nlink
: nlink_t
,
149 pub st_blksize
: blksize_t
,
150 pub st_blocks
: blkcnt_t
,
151 pub st_atim
: timespec
,
152 pub st_mtim
: timespec
,
153 pub st_ctim
: timespec
,
154 __reserved
: [c_longlong
; 3],
158 // Declare dirent outside of s! so that it doesn't implement Copy, Eq, Hash,
159 // etc., since it contains a flexible array member with a dynamic size.
161 #[allow(missing_copy_implementations)]
162 #[cfg_attr(feature = "extra_traits", derive(Debug))]
166 /// d_name is declared in WASI libc as a flexible array member, which
167 /// can't be directly expressed in Rust. As an imperfect workaround,
168 /// declare it as a zero-length array instead.
169 pub d_name
: [c_char
; 0],
172 pub const EXIT_SUCCESS
: c_int
= 0;
173 pub const EXIT_FAILURE
: c_int
= 1;
174 pub const STDIN_FILENO
: c_int
= 0;
175 pub const STDOUT_FILENO
: c_int
= 1;
176 pub const STDERR_FILENO
: c_int
= 2;
177 pub const SEEK_SET
: c_int
= 0;
178 pub const SEEK_CUR
: c_int
= 1;
179 pub const SEEK_END
: c_int
= 2;
180 pub const _IOFBF
: c_int
= 0;
181 pub const _IONBF
: c_int
= 2;
182 pub const _IOLBF
: c_int
= 1;
183 pub const F_GETFD
: c_int
= 1;
184 pub const F_SETFD
: c_int
= 2;
185 pub const F_GETFL
: c_int
= 3;
186 pub const F_SETFL
: c_int
= 4;
187 pub const FD_CLOEXEC
: c_int
= 1;
188 pub const FD_SETSIZE
: size_t
= 1024;
189 pub const O_APPEND
: c_int
= 0x0001;
190 pub const O_DSYNC
: c_int
= 0x0002;
191 pub const O_NONBLOCK
: c_int
= 0x0004;
192 pub const O_RSYNC
: c_int
= 0x0008;
193 pub const O_SYNC
: c_int
= 0x0010;
194 pub const O_CREAT
: c_int
= 0x0001 << 12;
195 pub const O_DIRECTORY
: c_int
= 0x0002 << 12;
196 pub const O_EXCL
: c_int
= 0x0004 << 12;
197 pub const O_TRUNC
: c_int
= 0x0008 << 12;
198 pub const O_NOFOLLOW
: c_int
= 0x01000000;
199 pub const O_EXEC
: c_int
= 0x02000000;
200 pub const O_RDONLY
: c_int
= 0x04000000;
201 pub const O_SEARCH
: c_int
= 0x08000000;
202 pub const O_WRONLY
: c_int
= 0x10000000;
203 pub const O_RDWR
: c_int
= O_WRONLY
| O_RDONLY
;
204 pub const O_ACCMODE
: c_int
= O_EXEC
| O_RDWR
| O_SEARCH
;
205 pub const O_NOCTTY
: c_int
= 0x0;
206 pub const POSIX_FADV_DONTNEED
: c_int
= 4;
207 pub const POSIX_FADV_NOREUSE
: c_int
= 5;
208 pub const POSIX_FADV_NORMAL
: c_int
= 0;
209 pub const POSIX_FADV_RANDOM
: c_int
= 2;
210 pub const POSIX_FADV_SEQUENTIAL
: c_int
= 1;
211 pub const POSIX_FADV_WILLNEED
: c_int
= 3;
212 pub const AT_EACCESS
: c_int
= 0x0;
213 pub const AT_SYMLINK_NOFOLLOW
: c_int
= 0x1;
214 pub const AT_SYMLINK_FOLLOW
: c_int
= 0x2;
215 pub const AT_REMOVEDIR
: c_int
= 0x4;
216 pub const UTIME_OMIT
: c_long
= 0xfffffffe;
217 pub const UTIME_NOW
: c_long
= 0xffffffff;
218 pub const S_IFIFO
: mode_t
= 49152;
219 pub const S_IFCHR
: mode_t
= 8192;
220 pub const S_IFBLK
: mode_t
= 24576;
221 pub const S_IFDIR
: mode_t
= 16384;
222 pub const S_IFREG
: mode_t
= 32768;
223 pub const S_IFLNK
: mode_t
= 40960;
224 pub const S_IFSOCK
: mode_t
= 49152;
225 pub const S_IFMT
: mode_t
= 57344;
226 pub const DT_UNKNOWN
: u8 = 0;
227 pub const DT_BLK
: u8 = 1;
228 pub const DT_CHR
: u8 = 2;
229 pub const DT_DIR
: u8 = 3;
230 pub const DT_REG
: u8 = 4;
231 pub const DT_LNK
: u8 = 7;
232 pub const FIONREAD
: c_int
= 1;
233 pub const FIONBIO
: c_int
= 2;
234 pub const F_OK
: ::c_int
= 0;
235 pub const R_OK
: ::c_int
= 4;
236 pub const W_OK
: ::c_int
= 2;
237 pub const X_OK
: ::c_int
= 1;
238 pub const POLLIN
: ::c_short
= 0x1;
239 pub const POLLOUT
: ::c_short
= 0x2;
240 pub const POLLERR
: ::c_short
= 0x1000;
241 pub const POLLHUP
: ::c_short
= 0x2000;
242 pub const POLLNVAL
: ::c_short
= 0x4000;
243 pub const POLLRDNORM
: ::c_short
= 0x1;
244 pub const POLLWRNORM
: ::c_short
= 0x2;
246 pub const E2BIG
: c_int
= 1;
247 pub const EACCES
: c_int
= 2;
248 pub const EADDRINUSE
: c_int
= 3;
249 pub const EADDRNOTAVAIL
: c_int
= 4;
250 pub const EAFNOSUPPORT
: c_int
= 5;
251 pub const EAGAIN
: c_int
= 6;
252 pub const EALREADY
: c_int
= 7;
253 pub const EBADF
: c_int
= 8;
254 pub const EBADMSG
: c_int
= 9;
255 pub const EBUSY
: c_int
= 10;
256 pub const ECANCELED
: c_int
= 11;
257 pub const ECHILD
: c_int
= 12;
258 pub const ECONNABORTED
: c_int
= 13;
259 pub const ECONNREFUSED
: c_int
= 14;
260 pub const ECONNRESET
: c_int
= 15;
261 pub const EDEADLK
: c_int
= 16;
262 pub const EDESTADDRREQ
: c_int
= 17;
263 pub const EDOM
: c_int
= 18;
264 pub const EDQUOT
: c_int
= 19;
265 pub const EEXIST
: c_int
= 20;
266 pub const EFAULT
: c_int
= 21;
267 pub const EFBIG
: c_int
= 22;
268 pub const EHOSTUNREACH
: c_int
= 23;
269 pub const EIDRM
: c_int
= 24;
270 pub const EILSEQ
: c_int
= 25;
271 pub const EINPROGRESS
: c_int
= 26;
272 pub const EINTR
: c_int
= 27;
273 pub const EINVAL
: c_int
= 28;
274 pub const EIO
: c_int
= 29;
275 pub const EISCONN
: c_int
= 30;
276 pub const EISDIR
: c_int
= 31;
277 pub const ELOOP
: c_int
= 32;
278 pub const EMFILE
: c_int
= 33;
279 pub const EMLINK
: c_int
= 34;
280 pub const EMSGSIZE
: c_int
= 35;
281 pub const EMULTIHOP
: c_int
= 36;
282 pub const ENAMETOOLONG
: c_int
= 37;
283 pub const ENETDOWN
: c_int
= 38;
284 pub const ENETRESET
: c_int
= 39;
285 pub const ENETUNREACH
: c_int
= 40;
286 pub const ENFILE
: c_int
= 41;
287 pub const ENOBUFS
: c_int
= 42;
288 pub const ENODEV
: c_int
= 43;
289 pub const ENOENT
: c_int
= 44;
290 pub const ENOEXEC
: c_int
= 45;
291 pub const ENOLCK
: c_int
= 46;
292 pub const ENOLINK
: c_int
= 47;
293 pub const ENOMEM
: c_int
= 48;
294 pub const ENOMSG
: c_int
= 49;
295 pub const ENOPROTOOPT
: c_int
= 50;
296 pub const ENOSPC
: c_int
= 51;
297 pub const ENOSYS
: c_int
= 52;
298 pub const ENOTCONN
: c_int
= 53;
299 pub const ENOTDIR
: c_int
= 54;
300 pub const ENOTEMPTY
: c_int
= 55;
301 pub const ENOTRECOVERABLE
: c_int
= 56;
302 pub const ENOTSOCK
: c_int
= 57;
303 pub const ENOTSUP
: c_int
= 58;
304 pub const ENOTTY
: c_int
= 59;
305 pub const ENXIO
: c_int
= 60;
306 pub const EOVERFLOW
: c_int
= 61;
307 pub const EOWNERDEAD
: c_int
= 62;
308 pub const EPERM
: c_int
= 63;
309 pub const EPIPE
: c_int
= 64;
310 pub const EPROTO
: c_int
= 65;
311 pub const EPROTONOSUPPORT
: c_int
= 66;
312 pub const EPROTOTYPE
: c_int
= 67;
313 pub const ERANGE
: c_int
= 68;
314 pub const EROFS
: c_int
= 69;
315 pub const ESPIPE
: c_int
= 70;
316 pub const ESRCH
: c_int
= 71;
317 pub const ESTALE
: c_int
= 72;
318 pub const ETIMEDOUT
: c_int
= 73;
319 pub const ETXTBSY
: c_int
= 74;
320 pub const EXDEV
: c_int
= 75;
321 pub const ENOTCAPABLE
: c_int
= 76;
322 pub const EOPNOTSUPP
: c_int
= ENOTSUP
;
323 pub const EWOULDBLOCK
: c_int
= EAGAIN
;
326 feature
= "rustc-dep-of-std",
327 link(name
= "c", kind
= "static", cfg(target_feature
= "crt-static"))
330 feature
= "rustc-dep-of-std",
331 link(name
= "c", cfg(not(target_feature
= "crt-static")))
334 pub fn _Exit(code
: c_int
) -> !;
335 pub fn _exit(code
: c_int
) -> !;
337 pub fn aligned_alloc(a
: size_t
, b
: size_t
) -> *mut c_void
;
338 pub fn calloc(amt
: size_t
, amt2
: size_t
) -> *mut c_void
;
339 pub fn exit(code
: c_int
) -> !;
340 pub fn free(ptr
: *mut c_void
);
341 pub fn getenv(s
: *const c_char
) -> *mut c_char
;
342 pub fn malloc(amt
: size_t
) -> *mut c_void
;
343 pub fn malloc_usable_size(ptr
: *mut c_void
) -> size_t
;
344 pub fn sbrk(increment
: ::intptr_t
) -> *mut ::c_void
;
345 pub fn rand() -> c_int
;
346 pub fn read(fd
: c_int
, ptr
: *mut c_void
, size
: size_t
) -> ssize_t
;
347 pub fn realloc(ptr
: *mut c_void
, amt
: size_t
) -> *mut c_void
;
348 pub fn setenv(k
: *const c_char
, v
: *const c_char
, a
: c_int
) -> c_int
;
349 pub fn unsetenv(k
: *const c_char
) -> c_int
;
350 pub fn clearenv() -> ::c_int
;
351 pub fn write(fd
: c_int
, ptr
: *const c_void
, size
: size_t
) -> ssize_t
;
352 pub static mut environ
: *mut *mut c_char
;
353 pub fn fopen(a
: *const c_char
, b
: *const c_char
) -> *mut FILE
;
359 pub fn fclose(f
: *mut FILE
) -> c_int
;
360 pub fn remove(a
: *const c_char
) -> c_int
;
361 pub fn rename(a
: *const c_char
, b
: *const c_char
) -> c_int
;
362 pub fn feof(f
: *mut FILE
) -> c_int
;
363 pub fn ferror(f
: *mut FILE
) -> c_int
;
364 pub fn fflush(f
: *mut FILE
) -> c_int
;
365 pub fn clearerr(f
: *mut FILE
);
366 pub fn fseek(f
: *mut FILE
, b
: c_long
, c
: c_int
) -> c_int
;
367 pub fn ftell(f
: *mut FILE
) -> c_long
;
368 pub fn rewind(f
: *mut FILE
);
369 pub fn fgetpos(f
: *mut FILE
, pos
: *mut fpos_t
) -> c_int
;
370 pub fn fsetpos(f
: *mut FILE
, pos
: *const fpos_t
) -> c_int
;
383 pub fn fgetc(f
: *mut FILE
) -> c_int
;
384 pub fn getc(f
: *mut FILE
) -> c_int
;
385 pub fn getchar() -> c_int
;
386 pub fn ungetc(a
: c_int
, f
: *mut FILE
) -> c_int
;
387 pub fn fputc(a
: c_int
, f
: *mut FILE
) -> c_int
;
388 pub fn putc(a
: c_int
, f
: *mut FILE
) -> c_int
;
389 pub fn putchar(a
: c_int
) -> c_int
;
390 pub fn fputs(a
: *const c_char
, f
: *mut FILE
) -> c_int
;
391 pub fn puts(a
: *const c_char
) -> c_int
;
392 pub fn perror(a
: *const c_char
);
393 pub fn srand(a
: c_uint
);
394 pub fn atexit(a
: extern "C" fn()) -> c_int
;
395 pub fn at_quick_exit(a
: extern "C" fn()) -> c_int
;
396 pub fn quick_exit(a
: c_int
) -> !;
397 pub fn posix_memalign(a
: *mut *mut c_void
, b
: size_t
, c
: size_t
) -> c_int
;
398 pub fn rand_r(a
: *mut c_uint
) -> c_int
;
399 pub fn random() -> c_long
;
400 pub fn srandom(a
: c_uint
);
401 pub fn putenv(a
: *mut c_char
) -> c_int
;
402 pub fn clock() -> clock_t
;
403 pub fn time(a
: *mut time_t
) -> time_t
;
404 pub fn difftime(a
: time_t
, b
: time_t
) -> c_double
;
405 pub fn mktime(a
: *mut tm
) -> time_t
;
412 pub fn gmtime(a
: *const time_t
) -> *mut tm
;
413 pub fn gmtime_r(a
: *const time_t
, b
: *mut tm
) -> *mut tm
;
414 pub fn localtime(a
: *const time_t
) -> *mut tm
;
415 pub fn localtime_r(a
: *const time_t
, b
: *mut tm
) -> *mut tm
;
416 pub fn asctime_r(a
: *const tm
, b
: *mut c_char
) -> *mut c_char
;
417 pub fn ctime_r(a
: *const time_t
, b
: *mut c_char
) -> *mut c_char
;
419 pub fn nanosleep(a
: *const timespec
, b
: *mut timespec
) -> c_int
;
420 // pub fn clock_getres(a: clockid_t, b: *mut timespec) -> c_int;
421 // pub fn clock_gettime(a: clockid_t, b: *mut timespec) -> c_int;
422 // pub fn clock_nanosleep(
425 // b: *const timespec,
429 pub fn isalnum(c
: c_int
) -> c_int
;
430 pub fn isalpha(c
: c_int
) -> c_int
;
431 pub fn iscntrl(c
: c_int
) -> c_int
;
432 pub fn isdigit(c
: c_int
) -> c_int
;
433 pub fn isgraph(c
: c_int
) -> c_int
;
434 pub fn islower(c
: c_int
) -> c_int
;
435 pub fn isprint(c
: c_int
) -> c_int
;
436 pub fn ispunct(c
: c_int
) -> c_int
;
437 pub fn isspace(c
: c_int
) -> c_int
;
438 pub fn isupper(c
: c_int
) -> c_int
;
439 pub fn isxdigit(c
: c_int
) -> c_int
;
440 pub fn isblank(c
: c_int
) -> c_int
;
441 pub fn tolower(c
: c_int
) -> c_int
;
442 pub fn toupper(c
: c_int
) -> c_int
;
449 pub fn setbuf(stream
: *mut FILE
, buf
: *mut c_char
);
450 pub fn fgets(buf
: *mut c_char
, n
: c_int
, stream
: *mut FILE
)
452 pub fn atoi(s
: *const c_char
) -> c_int
;
453 pub fn atof(s
: *const c_char
) -> c_double
;
454 pub fn strtod(s
: *const c_char
, endp
: *mut *mut c_char
) -> c_double
;
457 endp
: *mut *mut c_char
,
462 endp
: *mut *mut c_char
,
466 pub fn strcpy(dst
: *mut c_char
, src
: *const c_char
) -> *mut c_char
;
472 pub fn strcat(s
: *mut c_char
, ct
: *const c_char
) -> *mut c_char
;
478 pub fn strcmp(cs
: *const c_char
, ct
: *const c_char
) -> c_int
;
479 pub fn strncmp(cs
: *const c_char
, ct
: *const c_char
, n
: size_t
) -> c_int
;
480 pub fn strcoll(cs
: *const c_char
, ct
: *const c_char
) -> c_int
;
481 pub fn strchr(cs
: *const c_char
, c
: c_int
) -> *mut c_char
;
482 pub fn strrchr(cs
: *const c_char
, c
: c_int
) -> *mut c_char
;
483 pub fn strspn(cs
: *const c_char
, ct
: *const c_char
) -> size_t
;
484 pub fn strcspn(cs
: *const c_char
, ct
: *const c_char
) -> size_t
;
485 pub fn strdup(cs
: *const c_char
) -> *mut c_char
;
486 pub fn strndup(cs
: *const c_char
, n
: size_t
) -> *mut c_char
;
487 pub fn strpbrk(cs
: *const c_char
, ct
: *const c_char
) -> *mut c_char
;
488 pub fn strstr(cs
: *const c_char
, ct
: *const c_char
) -> *mut c_char
;
489 pub fn strcasecmp(s1
: *const c_char
, s2
: *const c_char
) -> c_int
;
495 pub fn strlen(cs
: *const c_char
) -> size_t
;
496 pub fn strnlen(cs
: *const c_char
, maxlen
: size_t
) -> size_t
;
497 pub fn strerror(n
: c_int
) -> *mut c_char
;
498 pub fn strtok(s
: *mut c_char
, t
: *const c_char
) -> *mut c_char
;
499 pub fn strxfrm(s
: *mut c_char
, ct
: *const c_char
, n
: size_t
) -> size_t
;
501 pub fn memchr(cx
: *const c_void
, c
: c_int
, n
: size_t
) -> *mut c_void
;
502 pub fn memcmp(cx
: *const c_void
, ct
: *const c_void
, n
: size_t
) -> c_int
;
513 pub fn memset(dest
: *mut c_void
, c
: c_int
, n
: size_t
) -> *mut c_void
;
517 format
: *const ::c_char
,
520 pub fn printf(format
: *const ::c_char
, ...) -> ::c_int
;
524 format
: *const ::c_char
,
527 pub fn sprintf(s
: *mut ::c_char
, format
: *const ::c_char
, ...) -> ::c_int
;
530 format
: *const ::c_char
,
533 pub fn scanf(format
: *const ::c_char
, ...) -> ::c_int
;
534 pub fn sscanf(s
: *const ::c_char
, format
: *const ::c_char
, ...)
536 pub fn getchar_unlocked() -> ::c_int
;
537 pub fn putchar_unlocked(c
: ::c_int
) -> ::c_int
;
539 pub fn shutdown(socket
: ::c_int
, how
: ::c_int
) -> ::c_int
;
540 pub fn fstat(fildes
: ::c_int
, buf
: *mut stat
) -> ::c_int
;
541 pub fn mkdir(path
: *const c_char
, mode
: mode_t
) -> ::c_int
;
542 pub fn stat(path
: *const c_char
, buf
: *mut stat
) -> ::c_int
;
543 pub fn fdopen(fd
: ::c_int
, mode
: *const c_char
) -> *mut ::FILE
;
544 pub fn fileno(stream
: *mut ::FILE
) -> ::c_int
;
545 pub fn open(path
: *const c_char
, oflag
: ::c_int
, ...) -> ::c_int
;
546 pub fn creat(path
: *const c_char
, mode
: mode_t
) -> ::c_int
;
547 pub fn fcntl(fd
: ::c_int
, cmd
: ::c_int
, ...) -> ::c_int
;
548 pub fn opendir(dirname
: *const c_char
) -> *mut ::DIR
;
549 pub fn fdopendir(fd
: ::c_int
) -> *mut ::DIR
;
550 pub fn readdir(dirp
: *mut ::DIR
) -> *mut ::dirent
;
551 pub fn closedir(dirp
: *mut ::DIR
) -> ::c_int
;
552 pub fn rewinddir(dirp
: *mut ::DIR
);
553 pub fn dirfd(dirp
: *mut ::DIR
) -> ::c_int
;
554 pub fn seekdir(dirp
: *mut ::DIR
, loc
: ::c_long
);
555 pub fn telldir(dirp
: *mut ::DIR
) -> ::c_long
;
559 pathname
: *const ::c_char
,
565 pathname
: *const ::c_char
,
571 oldpath
: *const ::c_char
,
573 newpath
: *const ::c_char
,
578 pathname
: *const ::c_char
,
583 pathname
: *const ::c_char
,
589 oldpath
: *const ::c_char
,
591 newpath
: *const ::c_char
,
594 target
: *const ::c_char
,
596 linkpath
: *const ::c_char
,
600 pathname
: *const ::c_char
,
604 pub fn access(path
: *const c_char
, amode
: ::c_int
) -> ::c_int
;
605 pub fn close(fd
: ::c_int
) -> ::c_int
;
606 pub fn fpathconf(filedes
: ::c_int
, name
: ::c_int
) -> c_long
;
609 argv
: *const *mut c_char
,
610 optstr
: *const c_char
,
612 pub fn isatty(fd
: ::c_int
) -> ::c_int
;
613 pub fn link(src
: *const c_char
, dst
: *const c_char
) -> ::c_int
;
614 pub fn lseek(fd
: ::c_int
, offset
: off_t
, whence
: ::c_int
) -> off_t
;
615 pub fn pathconf(path
: *const c_char
, name
: ::c_int
) -> c_long
;
616 pub fn rmdir(path
: *const c_char
) -> ::c_int
;
617 pub fn sleep(secs
: ::c_uint
) -> ::c_uint
;
618 pub fn unlink(c
: *const c_char
) -> ::c_int
;
627 buf
: *const ::c_void
,
632 pub fn lstat(path
: *const c_char
, buf
: *mut stat
) -> ::c_int
;
634 pub fn fsync(fd
: ::c_int
) -> ::c_int
;
635 pub fn fdatasync(fd
: ::c_int
) -> ::c_int
;
637 pub fn symlink(path1
: *const c_char
, path2
: *const c_char
) -> ::c_int
;
639 pub fn truncate(path
: *const c_char
, length
: off_t
) -> ::c_int
;
640 pub fn ftruncate(fd
: ::c_int
, length
: off_t
) -> ::c_int
;
642 pub fn getrusage(resource
: ::c_int
, usage
: *mut rusage
) -> ::c_int
;
644 pub fn gettimeofday(tp
: *mut ::timeval
, tz
: *mut ::c_void
) -> ::c_int
;
645 pub fn times(buf
: *mut ::tms
) -> ::clock_t
;
653 pub fn usleep(secs
: ::c_uint
) -> ::c_int
;
656 buf
: *const ::c_void
,
666 pub fn poll(fds
: *mut pollfd
, nfds
: nfds_t
, timeout
: ::c_int
) -> ::c_int
;
669 locale
: *const ::c_char
,
671 pub fn localeconv() -> *mut lconv
;
679 pub fn timegm(tm
: *mut ::tm
) -> time_t
;
681 pub fn sysconf(name
: ::c_int
) -> ::c_long
;
683 pub fn ioctl(fd
: ::c_int
, request
: ::c_int
, ...) -> ::c_int
;
690 pub fn ftello(stream
: *mut ::FILE
) -> ::off_t
;
691 pub fn posix_fallocate(
697 pub fn strcasestr(cs
: *const c_char
, ct
: *const c_char
) -> *mut c_char
;
699 lineptr
: *mut *mut c_char
,
706 pathname
: *const ::c_char
,
732 pub fn posix_fadvise(
738 pub fn futimens(fd
: ::c_int
, times
: *const ::timespec
) -> ::c_int
;
741 path
: *const ::c_char
,
742 times
: *const ::timespec
,
745 pub fn getentropy(buf
: *mut ::c_void
, buflen
: ::size_t
) -> ::c_int
;
751 pub fn abs(i
: c_int
) -> c_int
;
752 pub fn labs(i
: c_long
) -> c_long
;
753 pub fn duplocale(base
: ::locale_t
) -> ::locale_t
;
754 pub fn freelocale(loc
: ::locale_t
);
757 locale
: *const ::c_char
,
760 pub fn uselocale(loc
: ::locale_t
) -> ::locale_t
;
761 pub fn sched_yield() -> ::c_int
;
763 pub fn __wasilibc_register_preopened_fd(
767 pub fn __wasilibc_fd_renumber(fd
: c_int
, newfd
: c_int
) -> c_int
;
768 pub fn __wasilibc_unlinkat(fd
: c_int
, path
: *const c_char
) -> c_int
;
769 pub fn __wasilibc_rmdirat(fd
: c_int
, path
: *const c_char
) -> c_int
;
770 pub fn __wasilibc_find_relpath(
772 relative_path
: *mut *const c_char
,
774 pub fn __wasilibc_tell(fd
: c_int
) -> ::off_t
;
776 pub fn arc4random() -> u32;
777 pub fn arc4random_buf(a
: *mut c_void
, b
: size_t
);
778 pub fn arc4random_uniform(a
: u32) -> u32;