diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/unix/bsd/freebsdlike/freebsd/mod.rs | 9 | ||||
-rw-r--r-- | src/unix/bsd/netbsdlike/netbsd/mod.rs | 56 | ||||
-rw-r--r-- | src/unix/haiku/mod.rs | 2 | ||||
-rw-r--r-- | src/unix/linux_like/linux/arch/generic/mod.rs | 10 | ||||
-rw-r--r-- | src/unix/linux_like/linux/arch/mips/mod.rs | 3 | ||||
-rw-r--r-- | src/unix/linux_like/linux/arch/powerpc/mod.rs | 3 | ||||
-rw-r--r-- | src/unix/linux_like/linux/gnu/mod.rs | 17 | ||||
-rw-r--r-- | src/unix/linux_like/linux/mod.rs | 2 | ||||
-rw-r--r-- | src/unix/linux_like/mod.rs | 13 | ||||
-rw-r--r-- | src/unix/redox/mod.rs | 10 |
10 files changed, 74 insertions, 51 deletions
diff --git a/src/unix/bsd/freebsdlike/freebsd/mod.rs b/src/unix/bsd/freebsdlike/freebsd/mod.rs index 2ee676d973..01a3bf9db8 100644 --- a/src/unix/bsd/freebsdlike/freebsd/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/mod.rs @@ -3767,6 +3767,15 @@ pub const AT_EUID: ::c_int = 12; pub const AT_GID: ::c_int = 13; pub const AT_EGID: ::c_int = 14; pub const AT_EXECPATH: ::c_int = 15; +pub const AT_CANARY: ::c_int = 16; +pub const AT_OSRELDATE: ::c_int = 18; +pub const AT_NCPUS: ::c_int = 19; +pub const AT_PAGESIZES: ::c_int = 20; +pub const AT_TIMEKEEP: ::c_int = 22; +pub const AT_HWCAP: ::c_int = 25; +pub const AT_HWCAP2: ::c_int = 26; +pub const AT_USRSTACKBASE: ::c_int = 35; +pub const AT_USRSTACKLIM: ::c_int = 36; pub const TABDLY: ::tcflag_t = 0x00000004; pub const TAB0: ::tcflag_t = 0x00000000; diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs index 402257fd3b..210a2a392a 100644 --- a/src/unix/bsd/netbsdlike/netbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs @@ -1464,7 +1464,15 @@ pub const ENOATTR: ::c_int = 93; pub const EMULTIHOP: ::c_int = 94; pub const ENOLINK: ::c_int = 95; pub const EPROTO: ::c_int = 96; -pub const ELAST: ::c_int = 96; +pub const EOWNERDEAD: ::c_int = 97; +pub const ENOTRECOVERABLE: ::c_int = 98; +#[deprecated( + since = "0.2.143", + note = "This value will always match the highest defined error number \ + and thus is not stable. \ + See #3040 for more info." +)] +pub const ELAST: ::c_int = 98; pub const F_DUPFD_CLOEXEC: ::c_int = 12; pub const F_CLOSEM: ::c_int = 10; @@ -2505,31 +2513,7 @@ extern "C" { ) -> ::c_int; pub fn reallocarr(ptr: *mut ::c_void, number: ::size_t, size: ::size_t) -> ::c_int; -} - -#[link(name = "rt")] -extern "C" { - pub fn aio_read(aiocbp: *mut aiocb) -> ::c_int; - pub fn aio_write(aiocbp: *mut aiocb) -> ::c_int; - pub fn aio_fsync(op: ::c_int, aiocbp: *mut aiocb) -> ::c_int; - pub fn aio_error(aiocbp: *const aiocb) -> ::c_int; - pub fn aio_return(aiocbp: *mut aiocb) -> ::ssize_t; - #[link_name = "__aio_suspend50"] - pub fn aio_suspend( - aiocb_list: *const *const aiocb, - nitems: ::c_int, - timeout: *const ::timespec, - ) -> ::c_int; - pub fn aio_cancel(fd: ::c_int, aiocbp: *mut aiocb) -> ::c_int; - pub fn lio_listio( - mode: ::c_int, - aiocb_list: *const *mut aiocb, - nitems: ::c_int, - sevp: *mut sigevent, - ) -> ::c_int; -} -extern "C" { pub fn chflags(path: *const ::c_char, flags: ::c_ulong) -> ::c_int; pub fn fchflags(fd: ::c_int, flags: ::c_ulong) -> ::c_int; pub fn lchflags(path: *const ::c_char, flags: ::c_ulong) -> ::c_int; @@ -2959,6 +2943,28 @@ extern "C" { pub fn getrandom(buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t; } +#[link(name = "rt")] +extern "C" { + pub fn aio_read(aiocbp: *mut aiocb) -> ::c_int; + pub fn aio_write(aiocbp: *mut aiocb) -> ::c_int; + pub fn aio_fsync(op: ::c_int, aiocbp: *mut aiocb) -> ::c_int; + pub fn aio_error(aiocbp: *const aiocb) -> ::c_int; + pub fn aio_return(aiocbp: *mut aiocb) -> ::ssize_t; + #[link_name = "__aio_suspend50"] + pub fn aio_suspend( + aiocb_list: *const *const aiocb, + nitems: ::c_int, + timeout: *const ::timespec, + ) -> ::c_int; + pub fn aio_cancel(fd: ::c_int, aiocbp: *mut aiocb) -> ::c_int; + pub fn lio_listio( + mode: ::c_int, + aiocb_list: *const *mut aiocb, + nitems: ::c_int, + sevp: *mut sigevent, + ) -> ::c_int; +} + #[link(name = "util")] extern "C" { #[cfg_attr(target_os = "netbsd", link_name = "__getpwent_r50")] diff --git a/src/unix/haiku/mod.rs b/src/unix/haiku/mod.rs index 2fa3327834..c1a38f1b36 100644 --- a/src/unix/haiku/mod.rs +++ b/src/unix/haiku/mod.rs @@ -2055,7 +2055,7 @@ extern "C" { ) -> ::c_int; } -#[link(name = "unix")] +#[link(name = "gnu")] extern "C" { pub fn memmem( source: *const ::c_void, diff --git a/src/unix/linux_like/linux/arch/generic/mod.rs b/src/unix/linux_like/linux/arch/generic/mod.rs index 4693978311..8acf5b5520 100644 --- a/src/unix/linux_like/linux/arch/generic/mod.rs +++ b/src/unix/linux_like/linux/arch/generic/mod.rs @@ -104,6 +104,8 @@ cfg_if! { pub const SO_DETACH_REUSEPORT_BPF: ::c_int = 68; } } +// pub const SO_PREFER_BUSY_POLL: ::c_int = 69; +// pub const SO_BUSY_POLL_BUDGET: ::c_int = 70; cfg_if! { if #[cfg(any(target_arch = "x86", @@ -114,16 +116,8 @@ cfg_if! { target_arch = "s390x"))] { pub const FICLONE: ::c_ulong = 0x40049409; pub const FICLONERANGE: ::c_ulong = 0x4020940D; - } else if #[cfg(any(target_arch = "mips", - target_arch = "mips64", - target_arch = "powerpc", - target_arch = "powerpc64"))] { - pub const FICLONE: ::c_ulong = 0x80049409; - pub const FICLONERANGE: ::c_ulong = 0x8020940D; } } -// pub const SO_PREFER_BUSY_POLL: ::c_int = 69; -// pub const SO_BUSY_POLL_BUDGET: ::c_int = 70; // Defined in unix/linux_like/mod.rs // pub const SCM_TIMESTAMP: ::c_int = SO_TIMESTAMP; diff --git a/src/unix/linux_like/linux/arch/mips/mod.rs b/src/unix/linux_like/linux/arch/mips/mod.rs index 077417de52..34c00a2936 100644 --- a/src/unix/linux_like/linux/arch/mips/mod.rs +++ b/src/unix/linux_like/linux/arch/mips/mod.rs @@ -103,6 +103,9 @@ pub const SO_TIMESTAMPING: ::c_int = 37; // pub const SO_PREFER_BUSY_POLL: ::c_int = 69; // pub const SO_BUSY_POLL_BUDGET: ::c_int = 70; +pub const FICLONE: ::c_ulong = 0x80049409; +pub const FICLONERANGE: ::c_ulong = 0x8020940D; + // Defined in unix/linux_like/mod.rs // pub const SCM_TIMESTAMP: ::c_int = SO_TIMESTAMP; pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS; diff --git a/src/unix/linux_like/linux/arch/powerpc/mod.rs b/src/unix/linux_like/linux/arch/powerpc/mod.rs index 637b7a1e34..64c3eaab54 100644 --- a/src/unix/linux_like/linux/arch/powerpc/mod.rs +++ b/src/unix/linux_like/linux/arch/powerpc/mod.rs @@ -85,6 +85,9 @@ pub const SO_BINDTOIFINDEX: ::c_int = 62; // pub const SO_PREFER_BUSY_POLL: ::c_int = 69; // pub const SO_BUSY_POLL_BUDGET: ::c_int = 70; +pub const FICLONE: ::c_ulong = 0x80049409; +pub const FICLONERANGE: ::c_ulong = 0x8020940D; + // Defined in unix/linux_like/mod.rs // pub const SCM_TIMESTAMP: ::c_int = SO_TIMESTAMP; pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS; diff --git a/src/unix/linux_like/linux/gnu/mod.rs b/src/unix/linux_like/linux/gnu/mod.rs index 1aad8361ad..e88ad4eb2c 100644 --- a/src/unix/linux_like/linux/gnu/mod.rs +++ b/src/unix/linux_like/linux/gnu/mod.rs @@ -1240,9 +1240,6 @@ extern "C" { pub fn reallocarray(ptr: *mut ::c_void, nmemb: ::size_t, size: ::size_t) -> *mut ::c_void; pub fn ctermid(s: *mut ::c_char) -> *mut ::c_char; -} - -extern "C" { pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int; pub fn backtrace(buf: *mut *mut ::c_void, sz: ::c_int) -> ::c_int; pub fn glob64( @@ -1331,9 +1328,6 @@ extern "C" { /// GNU version of `basename(3)`, defined in `string.h`. #[link_name = "basename"] pub fn gnu_basename(path: *const ::c_char) -> *mut ::c_char; -} - -extern "C" { pub fn dlmopen(lmid: Lmid_t, filename: *const ::c_char, flag: ::c_int) -> *mut ::c_void; pub fn dlinfo(handle: *mut ::c_void, request: ::c_int, info: *mut ::c_void) -> ::c_int; pub fn dladdr1( @@ -1343,15 +1337,10 @@ extern "C" { flags: ::c_int, ) -> ::c_int; pub fn malloc_trim(__pad: ::size_t) -> ::c_int; -} - -extern "C" { pub fn gnu_get_libc_release() -> *const ::c_char; pub fn gnu_get_libc_version() -> *const ::c_char; -} -// posix/spawn.h -extern "C" { + // posix/spawn.h // Added in `glibc` 2.29 pub fn posix_spawn_file_actions_addchdir_np( actions: *mut ::posix_spawn_file_actions_t, @@ -1372,10 +1361,8 @@ extern "C" { actions: *mut ::posix_spawn_file_actions_t, tcfd: ::c_int, ) -> ::c_int; -} -// mntent.h -extern "C" { + // mntent.h pub fn getmntent_r( stream: *mut ::FILE, mntbuf: *mut ::mntent, diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs index a982901113..dae589fd14 100644 --- a/src/unix/linux_like/linux/mod.rs +++ b/src/unix/linux_like/linux/mod.rs @@ -1933,8 +1933,6 @@ pub const CLONE_PIDFD: ::c_int = 0x1000; // netinet/in.h // NOTE: These are in addition to the constants defined in src/unix/mod.rs -/// Multipath TCP -pub const IPPROTO_MPTCP: ::c_int = 262; #[deprecated( since = "0.2.80", note = "This value was increased in the newer kernel \ diff --git a/src/unix/linux_like/mod.rs b/src/unix/linux_like/mod.rs index 584e308ce2..e08bb7dbb0 100644 --- a/src/unix/linux_like/mod.rs +++ b/src/unix/linux_like/mod.rs @@ -662,7 +662,18 @@ pub const MADV_HUGEPAGE: ::c_int = 14; pub const MADV_NOHUGEPAGE: ::c_int = 15; pub const MADV_DONTDUMP: ::c_int = 16; pub const MADV_DODUMP: ::c_int = 17; +pub const MADV_WIPEONFORK: ::c_int = 18; +pub const MADV_KEEPONFORK: ::c_int = 19; +pub const MADV_COLD: ::c_int = 20; +pub const MADV_PAGEOUT: ::c_int = 21; pub const MADV_HWPOISON: ::c_int = 100; +cfg_if! { + if #[cfg(not(target_os = "emscripten"))] { + pub const MADV_POPULATE_READ: ::c_int = 22; + pub const MADV_POPULATE_WRITE: ::c_int = 23; + pub const MADV_DONTNEED_LOCKED: ::c_int = 24; + } +} pub const IFF_UP: ::c_int = 0x1; pub const IFF_BROADCAST: ::c_int = 0x2; @@ -905,6 +916,8 @@ pub const IPPROTO_UDPLITE: ::c_int = 136; pub const IPPROTO_RAW: ::c_int = 255; pub const IPPROTO_BEETPH: ::c_int = 94; pub const IPPROTO_MPLS: ::c_int = 137; +/// Multipath TCP +pub const IPPROTO_MPTCP: ::c_int = 262; pub const MCAST_EXCLUDE: ::c_int = 0; pub const MCAST_INCLUDE: ::c_int = 1; diff --git a/src/unix/redox/mod.rs b/src/unix/redox/mod.rs index dec47c610b..ccd3d779fa 100644 --- a/src/unix/redox/mod.rs +++ b/src/unix/redox/mod.rs @@ -47,6 +47,7 @@ pub type speed_t = u32; pub type suseconds_t = ::c_int; pub type tcflag_t = u32; pub type time_t = ::c_longlong; +pub type id_t = ::c_uint; #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum timezone {} @@ -1104,6 +1105,15 @@ extern "C" { // strings.h pub fn explicit_bzero(p: *mut ::c_void, len: ::size_t); + + pub fn getpriority(which: ::c_int, who: ::id_t) -> ::c_int; + pub fn setpriority(which: ::c_int, who: ::id_t, prio: ::c_int) -> ::c_int; + + pub fn getsubopt( + optionp: *mut *mut c_char, + tokens: *const *mut c_char, + valuep: *mut *mut c_char, + ) -> ::c_int; } cfg_if! { |