libc-rs/src/unix/bsd/freebsdlike/freebsd/mod.rs

1578 lines
53 KiB
Rust
Raw Normal View History

pub type fflags_t = u32;
Squashed commit of the following: Running libc-test: PASSED 3426 tests commit 1a7ee714db34f17abd33dc9262d3e10275eec68d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:30:56 2016 +0100 Fix RLIM_POSIXLOCKS -> RLIMIT_POSIXLOCKS commit 09c49a97ebebf087486659ef8277610d99e5c7b3 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:29:24 2016 +0100 Ignore signedness check for uuid_t on DragonFly commit aab4d11f59917686280c271683bf00ff34c8040d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:23:21 2016 +0100 Move FreeBSD-only function into freebsd/mod.rs commit 9921f030b103dbccb37930ab1d64cf1dd587bd48 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:21:42 2016 +0100 Move POSIX_FADV_* to freebsd/mod.rs commit 2921c2db1e3d0314375aa371936bd227cc6c6e2a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:20:11 2016 +0100 Fix signedness of blksize_t for DragonFly commit 65e817baee9e01d2d7c86c6202c63ee46d218914 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:19:02 2016 +0100 Fix Q_{GET,SET}QUOTA for DragonFly commit a0d2d63ef88206d321222140ae6b3d92c93b51bd Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:17:27 2016 +0100 Fix RLIMIT_* for DragonFly commit d04a1600a7c66a792a481e1524a1652234a69939 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:12:09 2016 +0100 Fix ELAST for DragonFly commit d120b9278426a76ee106e91e6c999885c1f5c7f4 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:10:28 2016 +0100 Fix F_GETLK, F_SETLK, F_SETLKW for DragonFly commit 963f7da270a14f4d12ea1a52301e363ce745c897 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:08:51 2016 +0100 Fix O_CLOEXEC for DragonFly commit f4d6c9d5991d690c7cb4460790a8e37e713bc034 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:07:18 2016 +0100 Fix RAND_MAX for DragonFly commit ba48336da7be613a49702ad9de445ab3850ebb7c Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:04:48 2016 +0100 Fix statvfs for DragonFly commit 9ae480c60a7d77b31a17d34320464f4179e40a4a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:51:47 2016 +0100 Fix fd_set for DragonFly commit a15e027838288c4980371c503252cca7e32356c0 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:42:24 2016 +0100 Fix all remaining issues on DragonFly Missing functions and missing constats. commit 3966e4fce0cb81bd0b3ed8cdf50611e6982f7767 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:27:14 2016 +0100 Use a macro instead of a constant. When using a constant, the libc-test thinks this constant exists as an C equivalent. commit 9b5659aaf54419f317250cb3a4692a1c14fdbc33 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:21:01 2016 +0100 Use a constant in utsname commit 50484eda3c978a9c0a9652f6fc619c41ad349c2d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:17:55 2016 +0100 Fix struct utsname commit 832e94248fabc91574d6d42630168da3542c153f Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:07:08 2016 +0100 DragonFly has different stat, dirent, clock_t, ino_t, nlink_t, blksize_t commit f3152a369d75ae8c1558afa5a59aa55e33b33ec6 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:52:54 2016 +0100 Move DragonFly related stuff into dragonfly/* Replicate x86_64.rs from FreeBSD. Need some twists. commit 9fe35124064aa92303171d019004df119f948223 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:49:38 2016 +0100 Move FreeBSD code under freebsd/*. Next commit will replicate some of the architecture dependent stuff for DragonFly. commit e91983df8deb14004f7a0fe47878f0e4eb31198d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:44:25 2016 +0100 struct utsname has a different size on DragonFly
2016-02-20 13:34:01 +01:00
pub type clock_t = i32;
pub type lwpid_t = i32;
2018-03-12 01:03:46 +01:00
pub type blksize_t = i32;
pub type clockid_t = ::c_int;
pub type sem_t = _sem;
Squashed commit of the following: Running libc-test: PASSED 3426 tests commit 1a7ee714db34f17abd33dc9262d3e10275eec68d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:30:56 2016 +0100 Fix RLIM_POSIXLOCKS -> RLIMIT_POSIXLOCKS commit 09c49a97ebebf087486659ef8277610d99e5c7b3 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:29:24 2016 +0100 Ignore signedness check for uuid_t on DragonFly commit aab4d11f59917686280c271683bf00ff34c8040d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:23:21 2016 +0100 Move FreeBSD-only function into freebsd/mod.rs commit 9921f030b103dbccb37930ab1d64cf1dd587bd48 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:21:42 2016 +0100 Move POSIX_FADV_* to freebsd/mod.rs commit 2921c2db1e3d0314375aa371936bd227cc6c6e2a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:20:11 2016 +0100 Fix signedness of blksize_t for DragonFly commit 65e817baee9e01d2d7c86c6202c63ee46d218914 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:19:02 2016 +0100 Fix Q_{GET,SET}QUOTA for DragonFly commit a0d2d63ef88206d321222140ae6b3d92c93b51bd Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:17:27 2016 +0100 Fix RLIMIT_* for DragonFly commit d04a1600a7c66a792a481e1524a1652234a69939 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:12:09 2016 +0100 Fix ELAST for DragonFly commit d120b9278426a76ee106e91e6c999885c1f5c7f4 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:10:28 2016 +0100 Fix F_GETLK, F_SETLK, F_SETLKW for DragonFly commit 963f7da270a14f4d12ea1a52301e363ce745c897 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:08:51 2016 +0100 Fix O_CLOEXEC for DragonFly commit f4d6c9d5991d690c7cb4460790a8e37e713bc034 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:07:18 2016 +0100 Fix RAND_MAX for DragonFly commit ba48336da7be613a49702ad9de445ab3850ebb7c Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:04:48 2016 +0100 Fix statvfs for DragonFly commit 9ae480c60a7d77b31a17d34320464f4179e40a4a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:51:47 2016 +0100 Fix fd_set for DragonFly commit a15e027838288c4980371c503252cca7e32356c0 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:42:24 2016 +0100 Fix all remaining issues on DragonFly Missing functions and missing constats. commit 3966e4fce0cb81bd0b3ed8cdf50611e6982f7767 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:27:14 2016 +0100 Use a macro instead of a constant. When using a constant, the libc-test thinks this constant exists as an C equivalent. commit 9b5659aaf54419f317250cb3a4692a1c14fdbc33 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:21:01 2016 +0100 Use a constant in utsname commit 50484eda3c978a9c0a9652f6fc619c41ad349c2d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:17:55 2016 +0100 Fix struct utsname commit 832e94248fabc91574d6d42630168da3542c153f Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:07:08 2016 +0100 DragonFly has different stat, dirent, clock_t, ino_t, nlink_t, blksize_t commit f3152a369d75ae8c1558afa5a59aa55e33b33ec6 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:52:54 2016 +0100 Move DragonFly related stuff into dragonfly/* Replicate x86_64.rs from FreeBSD. Need some twists. commit 9fe35124064aa92303171d019004df119f948223 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:49:38 2016 +0100 Move FreeBSD code under freebsd/*. Next commit will replicate some of the architecture dependent stuff for DragonFly. commit e91983df8deb14004f7a0fe47878f0e4eb31198d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:44:25 2016 +0100 struct utsname has a different size on DragonFly
2016-02-20 13:34:01 +01:00
pub type fsblkcnt_t = u64;
pub type fsfilcnt_t = u64;
pub type idtype_t = ::c_uint;
Add IPC,SHM,MSG for Freebsd INFO for the patch: FREEBSD [https://github.com/freebsd/freebsd] /sys/sys/_types.h typedef long __key_t; /sys/sys/types.h typedef __key_t key_t; /sys/sys/ipc.h struct ipc_perm { uid_t cuid; gid_t cgid; uid_t uid; gid_t gid; mode_t mode; unsigned short seq; key_t key; }; key_t ftok(const char *, int); /sys/sys/msg.h typedef unsigned long msglen_t; typedef unsigned long msgqnum_t; struct msqid_ds { struct ipc_perm msg_perm; struct msg *msg_first; struct msg *msg_last; msglen_t msg_cbytes; msgqnum_t msg_qnum; msglen_t msg_qbytes; pid_t msg_lspid; pid_t msg_lrpid; time_t msg_stime; time_t msg_rtime; time_t msg_ctime; }; struct msg { struct msg *msg_next; long msg_type; u_short msg_ts; short msg_spot; struct label *label; }; struct msginfo { int msgmax, msgmni, msgmnb, msgtql, msgssz, msgseg; }; int msgctl(int, int, struct msqid_ds *); int msgget(key_t, int); ssize_t msgrcv(int, void *, size_t, long, int); int msgsnd(int, const void *, size_t, int); /sys/sys/shm.h typedef unsigned int shmatt_t; struct shmid_ds { struct ipc_perm shm_perm; size_t shm_segsz; pid_t shm_lpid; pid_t shm_cpid; shmatt_t shm_nattch; time_t shm_atime; time_t shm_dtime; time_t shm_ctime; }; void *shmat(int, const void *, int); int shmget(key_t, size_t, int); int shmctl(int, int, struct shmid_ds *); int shmdt(const void *); /sys/security/mac/mac_internal.h struct label { int l_flags; intptr_t l_perpolicy[MAC_MAX_SLOTS]; }; Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update build.rs Update mod.rs Update mod.rs Update build.rs Update mod.rs Update build.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update build.rs Update build.rs Update mod.rs Update mod.rs
2017-03-28 11:30:53 +02:00
pub type key_t = ::c_long;
pub type msglen_t = ::c_ulong;
pub type msgqnum_t = ::c_ulong;
2019-03-27 14:35:08 +01:00
pub type mqd_t = *mut ::c_void;
2018-02-27 01:36:13 +01:00
pub type posix_spawnattr_t = *mut ::c_void;
pub type posix_spawn_file_actions_t = *mut ::c_void;
Squashed commit of the following: Running libc-test: PASSED 3426 tests commit 1a7ee714db34f17abd33dc9262d3e10275eec68d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:30:56 2016 +0100 Fix RLIM_POSIXLOCKS -> RLIMIT_POSIXLOCKS commit 09c49a97ebebf087486659ef8277610d99e5c7b3 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:29:24 2016 +0100 Ignore signedness check for uuid_t on DragonFly commit aab4d11f59917686280c271683bf00ff34c8040d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:23:21 2016 +0100 Move FreeBSD-only function into freebsd/mod.rs commit 9921f030b103dbccb37930ab1d64cf1dd587bd48 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:21:42 2016 +0100 Move POSIX_FADV_* to freebsd/mod.rs commit 2921c2db1e3d0314375aa371936bd227cc6c6e2a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:20:11 2016 +0100 Fix signedness of blksize_t for DragonFly commit 65e817baee9e01d2d7c86c6202c63ee46d218914 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:19:02 2016 +0100 Fix Q_{GET,SET}QUOTA for DragonFly commit a0d2d63ef88206d321222140ae6b3d92c93b51bd Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:17:27 2016 +0100 Fix RLIMIT_* for DragonFly commit d04a1600a7c66a792a481e1524a1652234a69939 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:12:09 2016 +0100 Fix ELAST for DragonFly commit d120b9278426a76ee106e91e6c999885c1f5c7f4 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:10:28 2016 +0100 Fix F_GETLK, F_SETLK, F_SETLKW for DragonFly commit 963f7da270a14f4d12ea1a52301e363ce745c897 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:08:51 2016 +0100 Fix O_CLOEXEC for DragonFly commit f4d6c9d5991d690c7cb4460790a8e37e713bc034 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:07:18 2016 +0100 Fix RAND_MAX for DragonFly commit ba48336da7be613a49702ad9de445ab3850ebb7c Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:04:48 2016 +0100 Fix statvfs for DragonFly commit 9ae480c60a7d77b31a17d34320464f4179e40a4a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:51:47 2016 +0100 Fix fd_set for DragonFly commit a15e027838288c4980371c503252cca7e32356c0 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:42:24 2016 +0100 Fix all remaining issues on DragonFly Missing functions and missing constats. commit 3966e4fce0cb81bd0b3ed8cdf50611e6982f7767 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:27:14 2016 +0100 Use a macro instead of a constant. When using a constant, the libc-test thinks this constant exists as an C equivalent. commit 9b5659aaf54419f317250cb3a4692a1c14fdbc33 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:21:01 2016 +0100 Use a constant in utsname commit 50484eda3c978a9c0a9652f6fc619c41ad349c2d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:17:55 2016 +0100 Fix struct utsname commit 832e94248fabc91574d6d42630168da3542c153f Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:07:08 2016 +0100 DragonFly has different stat, dirent, clock_t, ino_t, nlink_t, blksize_t commit f3152a369d75ae8c1558afa5a59aa55e33b33ec6 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:52:54 2016 +0100 Move DragonFly related stuff into dragonfly/* Replicate x86_64.rs from FreeBSD. Need some twists. commit 9fe35124064aa92303171d019004df119f948223 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:49:38 2016 +0100 Move FreeBSD code under freebsd/*. Next commit will replicate some of the architecture dependent stuff for DragonFly. commit e91983df8deb14004f7a0fe47878f0e4eb31198d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:44:25 2016 +0100 struct utsname has a different size on DragonFly
2016-02-20 13:34:01 +01:00
s! {
pub struct aiocb {
pub aio_fildes: ::c_int,
pub aio_offset: ::off_t,
pub aio_buf: *mut ::c_void,
pub aio_nbytes: ::size_t,
__unused1: [::c_int; 2],
__unused2: *mut ::c_void,
pub aio_lio_opcode: ::c_int,
pub aio_reqprio: ::c_int,
// unused 3 through 5 are the __aiocb_private structure
__unused3: ::c_long,
__unused4: ::c_long,
__unused5: *mut ::c_void,
pub aio_sigevent: sigevent
}
pub struct jail {
pub version: u32,
pub path: *mut ::c_char,
pub hostname: *mut ::c_char,
pub jailname: *mut ::c_char,
pub ip4s: ::c_uint,
pub ip6s: ::c_uint,
pub ip4: *mut ::in_addr,
pub ip6: *mut ::in6_addr,
}
Squashed commit of the following: Running libc-test: PASSED 3426 tests commit 1a7ee714db34f17abd33dc9262d3e10275eec68d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:30:56 2016 +0100 Fix RLIM_POSIXLOCKS -> RLIMIT_POSIXLOCKS commit 09c49a97ebebf087486659ef8277610d99e5c7b3 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:29:24 2016 +0100 Ignore signedness check for uuid_t on DragonFly commit aab4d11f59917686280c271683bf00ff34c8040d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:23:21 2016 +0100 Move FreeBSD-only function into freebsd/mod.rs commit 9921f030b103dbccb37930ab1d64cf1dd587bd48 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:21:42 2016 +0100 Move POSIX_FADV_* to freebsd/mod.rs commit 2921c2db1e3d0314375aa371936bd227cc6c6e2a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:20:11 2016 +0100 Fix signedness of blksize_t for DragonFly commit 65e817baee9e01d2d7c86c6202c63ee46d218914 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:19:02 2016 +0100 Fix Q_{GET,SET}QUOTA for DragonFly commit a0d2d63ef88206d321222140ae6b3d92c93b51bd Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:17:27 2016 +0100 Fix RLIMIT_* for DragonFly commit d04a1600a7c66a792a481e1524a1652234a69939 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:12:09 2016 +0100 Fix ELAST for DragonFly commit d120b9278426a76ee106e91e6c999885c1f5c7f4 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:10:28 2016 +0100 Fix F_GETLK, F_SETLK, F_SETLKW for DragonFly commit 963f7da270a14f4d12ea1a52301e363ce745c897 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:08:51 2016 +0100 Fix O_CLOEXEC for DragonFly commit f4d6c9d5991d690c7cb4460790a8e37e713bc034 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:07:18 2016 +0100 Fix RAND_MAX for DragonFly commit ba48336da7be613a49702ad9de445ab3850ebb7c Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:04:48 2016 +0100 Fix statvfs for DragonFly commit 9ae480c60a7d77b31a17d34320464f4179e40a4a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:51:47 2016 +0100 Fix fd_set for DragonFly commit a15e027838288c4980371c503252cca7e32356c0 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:42:24 2016 +0100 Fix all remaining issues on DragonFly Missing functions and missing constats. commit 3966e4fce0cb81bd0b3ed8cdf50611e6982f7767 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:27:14 2016 +0100 Use a macro instead of a constant. When using a constant, the libc-test thinks this constant exists as an C equivalent. commit 9b5659aaf54419f317250cb3a4692a1c14fdbc33 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:21:01 2016 +0100 Use a constant in utsname commit 50484eda3c978a9c0a9652f6fc619c41ad349c2d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:17:55 2016 +0100 Fix struct utsname commit 832e94248fabc91574d6d42630168da3542c153f Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:07:08 2016 +0100 DragonFly has different stat, dirent, clock_t, ino_t, nlink_t, blksize_t commit f3152a369d75ae8c1558afa5a59aa55e33b33ec6 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:52:54 2016 +0100 Move DragonFly related stuff into dragonfly/* Replicate x86_64.rs from FreeBSD. Need some twists. commit 9fe35124064aa92303171d019004df119f948223 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:49:38 2016 +0100 Move FreeBSD code under freebsd/*. Next commit will replicate some of the architecture dependent stuff for DragonFly. commit e91983df8deb14004f7a0fe47878f0e4eb31198d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:44:25 2016 +0100 struct utsname has a different size on DragonFly
2016-02-20 13:34:01 +01:00
pub struct statvfs {
pub f_bavail: ::fsblkcnt_t,
pub f_bfree: ::fsblkcnt_t,
pub f_blocks: ::fsblkcnt_t,
pub f_favail: ::fsfilcnt_t,
pub f_ffree: ::fsfilcnt_t,
pub f_files: ::fsfilcnt_t,
pub f_bsize: ::c_ulong,
pub f_flag: ::c_ulong,
pub f_frsize: ::c_ulong,
pub f_fsid: ::c_ulong,
pub f_namemax: ::c_ulong,
}
// internal structure has changed over time
pub struct _sem {
data: [u32; 4],
}
Add IPC,SHM,MSG for Freebsd INFO for the patch: FREEBSD [https://github.com/freebsd/freebsd] /sys/sys/_types.h typedef long __key_t; /sys/sys/types.h typedef __key_t key_t; /sys/sys/ipc.h struct ipc_perm { uid_t cuid; gid_t cgid; uid_t uid; gid_t gid; mode_t mode; unsigned short seq; key_t key; }; key_t ftok(const char *, int); /sys/sys/msg.h typedef unsigned long msglen_t; typedef unsigned long msgqnum_t; struct msqid_ds { struct ipc_perm msg_perm; struct msg *msg_first; struct msg *msg_last; msglen_t msg_cbytes; msgqnum_t msg_qnum; msglen_t msg_qbytes; pid_t msg_lspid; pid_t msg_lrpid; time_t msg_stime; time_t msg_rtime; time_t msg_ctime; }; struct msg { struct msg *msg_next; long msg_type; u_short msg_ts; short msg_spot; struct label *label; }; struct msginfo { int msgmax, msgmni, msgmnb, msgtql, msgssz, msgseg; }; int msgctl(int, int, struct msqid_ds *); int msgget(key_t, int); ssize_t msgrcv(int, void *, size_t, long, int); int msgsnd(int, const void *, size_t, int); /sys/sys/shm.h typedef unsigned int shmatt_t; struct shmid_ds { struct ipc_perm shm_perm; size_t shm_segsz; pid_t shm_lpid; pid_t shm_cpid; shmatt_t shm_nattch; time_t shm_atime; time_t shm_dtime; time_t shm_ctime; }; void *shmat(int, const void *, int); int shmget(key_t, size_t, int); int shmctl(int, int, struct shmid_ds *); int shmdt(const void *); /sys/security/mac/mac_internal.h struct label { int l_flags; intptr_t l_perpolicy[MAC_MAX_SLOTS]; }; Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update build.rs Update mod.rs Update mod.rs Update build.rs Update mod.rs Update build.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update build.rs Update build.rs Update mod.rs Update mod.rs
2017-03-28 11:30:53 +02:00
pub struct ipc_perm {
pub cuid: ::uid_t,
pub cgid: ::gid_t,
pub uid: ::uid_t,
pub gid: ::gid_t,
pub mode: ::mode_t,
pub seq: ::c_ushort,
pub key: ::key_t,
}
pub struct msqid_ds {
pub msg_perm: ::ipc_perm,
__unused1: *mut ::c_void,
__unused2: *mut ::c_void,
pub msg_cbytes: ::msglen_t,
pub msg_qnum: ::msgqnum_t,
pub msg_qbytes: ::msglen_t,
pub msg_lspid: ::pid_t,
pub msg_lrpid: ::pid_t,
pub msg_stime: ::time_t,
pub msg_rtime: ::time_t,
pub msg_ctime: ::time_t,
}
2019-02-07 11:37:21 +01:00
pub struct stack_t {
pub ss_sp: *mut ::c_void,
pub ss_size: ::size_t,
pub ss_flags: ::c_int,
}
pub struct mmsghdr {
pub msg_hdr: ::msghdr,
pub msg_len: ::ssize_t,
}
pub struct sockcred {
pub sc_uid: ::uid_t,
pub sc_euid: ::uid_t,
pub sc_gid: ::gid_t,
pub sc_egid: ::gid_t,
pub sc_ngroups: ::c_int,
pub sc_groups: [::gid_t; 1],
}
2020-07-09 17:12:41 +02:00
pub struct ptrace_vm_entry {
pub pve_entry: ::c_int,
pub pve_timestamp: ::c_int,
pub pve_start: ::c_ulong,
pub pve_end: ::c_ulong,
pub pve_offset: ::c_ulong,
pub pve_prot: ::c_uint,
pub pve_pathlen: ::c_uint,
pub pve_fileid: ::c_long,
pub pve_fsid: u32,
pub pve_path: *mut ::c_char,
}
2019-02-07 11:37:21 +01:00
}
s_no_extra_traits! {
pub struct utmpx {
pub ut_type: ::c_short,
pub ut_tv: ::timeval,
pub ut_id: [::c_char; 8],
pub ut_pid: ::pid_t,
pub ut_user: [::c_char; 32],
pub ut_line: [::c_char; 16],
pub ut_host: [::c_char; 128],
pub __ut_spare: [::c_char; 64],
}
#[cfg(libc_union)]
pub union __c_anonymous_cr_pid {
__cr_unused: *mut ::c_void,
pub cr_pid: ::pid_t,
}
pub struct xucred {
pub cr_version: ::c_uint,
pub cr_uid: ::uid_t,
pub cr_ngroups: ::c_short,
pub cr_groups: [::gid_t; 16],
#[cfg(libc_union)]
pub cr_pid__c_anonymous_union: __c_anonymous_cr_pid,
#[cfg(not(libc_union))]
__cr_unused1: *mut ::c_void,
}
2017-12-12 04:24:00 +01:00
pub struct sockaddr_dl {
pub sdl_len: ::c_uchar,
pub sdl_family: ::c_uchar,
pub sdl_index: ::c_ushort,
pub sdl_type: ::c_uchar,
pub sdl_nlen: ::c_uchar,
pub sdl_alen: ::c_uchar,
pub sdl_slen: ::c_uchar,
pub sdl_data: [::c_char; 46],
}
pub struct mq_attr {
pub mq_flags: ::c_long,
pub mq_maxmsg: ::c_long,
pub mq_msgsize: ::c_long,
pub mq_curmsgs: ::c_long,
__reserved: [::c_long; 4]
}
pub struct sigevent {
pub sigev_notify: ::c_int,
pub sigev_signo: ::c_int,
pub sigev_value: ::sigval,
//The rest of the structure is actually a union. We expose only
//sigev_notify_thread_id because it's the most useful union member.
pub sigev_notify_thread_id: ::lwpid_t,
#[cfg(target_pointer_width = "64")]
__unused1: ::c_int,
__unused2: [::c_long; 7]
}
Squashed commit of the following: Running libc-test: PASSED 3426 tests commit 1a7ee714db34f17abd33dc9262d3e10275eec68d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:30:56 2016 +0100 Fix RLIM_POSIXLOCKS -> RLIMIT_POSIXLOCKS commit 09c49a97ebebf087486659ef8277610d99e5c7b3 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:29:24 2016 +0100 Ignore signedness check for uuid_t on DragonFly commit aab4d11f59917686280c271683bf00ff34c8040d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:23:21 2016 +0100 Move FreeBSD-only function into freebsd/mod.rs commit 9921f030b103dbccb37930ab1d64cf1dd587bd48 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:21:42 2016 +0100 Move POSIX_FADV_* to freebsd/mod.rs commit 2921c2db1e3d0314375aa371936bd227cc6c6e2a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:20:11 2016 +0100 Fix signedness of blksize_t for DragonFly commit 65e817baee9e01d2d7c86c6202c63ee46d218914 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:19:02 2016 +0100 Fix Q_{GET,SET}QUOTA for DragonFly commit a0d2d63ef88206d321222140ae6b3d92c93b51bd Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:17:27 2016 +0100 Fix RLIMIT_* for DragonFly commit d04a1600a7c66a792a481e1524a1652234a69939 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:12:09 2016 +0100 Fix ELAST for DragonFly commit d120b9278426a76ee106e91e6c999885c1f5c7f4 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:10:28 2016 +0100 Fix F_GETLK, F_SETLK, F_SETLKW for DragonFly commit 963f7da270a14f4d12ea1a52301e363ce745c897 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:08:51 2016 +0100 Fix O_CLOEXEC for DragonFly commit f4d6c9d5991d690c7cb4460790a8e37e713bc034 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:07:18 2016 +0100 Fix RAND_MAX for DragonFly commit ba48336da7be613a49702ad9de445ab3850ebb7c Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:04:48 2016 +0100 Fix statvfs for DragonFly commit 9ae480c60a7d77b31a17d34320464f4179e40a4a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:51:47 2016 +0100 Fix fd_set for DragonFly commit a15e027838288c4980371c503252cca7e32356c0 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:42:24 2016 +0100 Fix all remaining issues on DragonFly Missing functions and missing constats. commit 3966e4fce0cb81bd0b3ed8cdf50611e6982f7767 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:27:14 2016 +0100 Use a macro instead of a constant. When using a constant, the libc-test thinks this constant exists as an C equivalent. commit 9b5659aaf54419f317250cb3a4692a1c14fdbc33 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:21:01 2016 +0100 Use a constant in utsname commit 50484eda3c978a9c0a9652f6fc619c41ad349c2d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:17:55 2016 +0100 Fix struct utsname commit 832e94248fabc91574d6d42630168da3542c153f Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:07:08 2016 +0100 DragonFly has different stat, dirent, clock_t, ino_t, nlink_t, blksize_t commit f3152a369d75ae8c1558afa5a59aa55e33b33ec6 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:52:54 2016 +0100 Move DragonFly related stuff into dragonfly/* Replicate x86_64.rs from FreeBSD. Need some twists. commit 9fe35124064aa92303171d019004df119f948223 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:49:38 2016 +0100 Move FreeBSD code under freebsd/*. Next commit will replicate some of the architecture dependent stuff for DragonFly. commit e91983df8deb14004f7a0fe47878f0e4eb31198d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:44:25 2016 +0100 struct utsname has a different size on DragonFly
2016-02-20 13:34:01 +01:00
}
2019-02-23 04:33:17 +01:00
cfg_if! {
if #[cfg(feature = "extra_traits")] {
impl PartialEq for utmpx {
fn eq(&self, other: &utmpx) -> bool {
self.ut_type == other.ut_type
&& self.ut_tv == other.ut_tv
&& self.ut_id == other.ut_id
&& self.ut_pid == other.ut_pid
&& self.ut_user == other.ut_user
&& self.ut_line == other.ut_line
&& self
.ut_host
.iter()
.zip(other.ut_host.iter())
.all(|(a,b)| a == b)
&& self
.__ut_spare
.iter()
.zip(other.__ut_spare.iter())
.all(|(a,b)| a == b)
}
}
impl Eq for utmpx {}
impl ::fmt::Debug for utmpx {
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
f.debug_struct("utmpx")
.field("ut_type", &self.ut_type)
.field("ut_tv", &self.ut_tv)
.field("ut_id", &self.ut_id)
.field("ut_pid", &self.ut_pid)
.field("ut_user", &self.ut_user)
.field("ut_line", &self.ut_line)
// FIXME: .field("ut_host", &self.ut_host)
// FIXME: .field("__ut_spare", &self.__ut_spare)
.finish()
}
}
impl ::hash::Hash for utmpx {
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
self.ut_type.hash(state);
self.ut_tv.hash(state);
self.ut_id.hash(state);
self.ut_pid.hash(state);
self.ut_user.hash(state);
self.ut_line.hash(state);
self.ut_host.hash(state);
self.__ut_spare.hash(state);
}
}
#[cfg(libc_union)]
impl PartialEq for __c_anonymous_cr_pid {
fn eq(&self, other: &__c_anonymous_cr_pid) -> bool {
unsafe { self.cr_pid == other.cr_pid}
}
}
#[cfg(libc_union)]
impl Eq for __c_anonymous_cr_pid {}
#[cfg(libc_union)]
impl ::fmt::Debug for __c_anonymous_cr_pid {
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
f.debug_struct("cr_pid")
.field("cr_pid", unsafe { &self.cr_pid })
.finish()
}
}
#[cfg(libc_union)]
impl ::hash::Hash for __c_anonymous_cr_pid {
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
unsafe { self.cr_pid.hash(state) };
}
}
impl PartialEq for xucred {
fn eq(&self, other: &xucred) -> bool {
#[cfg(libc_union)]
let equal_cr_pid = self.cr_pid__c_anonymous_union
== other.cr_pid__c_anonymous_union;
#[cfg(not(libc_union))]
let equal_cr_pid = self.__cr_unused1 == other.__cr_unused1;
self.cr_version == other.cr_version
&& self.cr_uid == other.cr_uid
&& self.cr_ngroups == other.cr_ngroups
&& self.cr_groups == other.cr_groups
&& equal_cr_pid
}
}
impl Eq for xucred {}
impl ::fmt::Debug for xucred {
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
let mut struct_formatter = f.debug_struct("xucred");
struct_formatter.field("cr_version", &self.cr_version);
struct_formatter.field("cr_uid", &self.cr_uid);
struct_formatter.field("cr_ngroups", &self.cr_ngroups);
struct_formatter.field("cr_groups", &self.cr_groups);
#[cfg(libc_union)]
struct_formatter.field(
"cr_pid__c_anonymous_union",
&self.cr_pid__c_anonymous_union
);
struct_formatter.finish()
}
}
impl ::hash::Hash for xucred {
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
self.cr_version.hash(state);
self.cr_uid.hash(state);
self.cr_ngroups.hash(state);
self.cr_groups.hash(state);
#[cfg(libc_union)]
self.cr_pid__c_anonymous_union.hash(state);
#[cfg(not(libc_union))]
self.__cr_unused1.hash(state);
}
}
2019-02-23 04:33:17 +01:00
impl PartialEq for sockaddr_dl {
fn eq(&self, other: &sockaddr_dl) -> bool {
self.sdl_len == other.sdl_len
&& self.sdl_family == other.sdl_family
&& self.sdl_index == other.sdl_index
&& self.sdl_type == other.sdl_type
&& self.sdl_nlen == other.sdl_nlen
&& self.sdl_alen == other.sdl_alen
&& self.sdl_slen == other.sdl_slen
&& self
.sdl_data
.iter()
.zip(other.sdl_data.iter())
.all(|(a,b)| a == b)
}
}
impl Eq for sockaddr_dl {}
impl ::fmt::Debug for sockaddr_dl {
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
f.debug_struct("sockaddr_dl")
.field("sdl_len", &self.sdl_len)
.field("sdl_family", &self.sdl_family)
.field("sdl_index", &self.sdl_index)
.field("sdl_type", &self.sdl_type)
.field("sdl_nlen", &self.sdl_nlen)
.field("sdl_alen", &self.sdl_alen)
.field("sdl_slen", &self.sdl_slen)
// FIXME: .field("sdl_data", &self.sdl_data)
.finish()
}
}
impl ::hash::Hash for sockaddr_dl {
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
self.sdl_len.hash(state);
self.sdl_family.hash(state);
self.sdl_index.hash(state);
self.sdl_type.hash(state);
self.sdl_nlen.hash(state);
self.sdl_alen.hash(state);
self.sdl_slen.hash(state);
self.sdl_data.hash(state);
}
}
impl PartialEq for mq_attr {
fn eq(&self, other: &mq_attr) -> bool {
self.mq_flags == other.mq_flags &&
self.mq_maxmsg == other.mq_maxmsg &&
self.mq_msgsize == other.mq_msgsize &&
self.mq_curmsgs == other.mq_curmsgs
}
}
impl Eq for mq_attr {}
impl ::fmt::Debug for mq_attr {
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
f.debug_struct("mq_attr")
.field("mq_flags", &self.mq_flags)
.field("mq_maxmsg", &self.mq_maxmsg)
.field("mq_msgsize", &self.mq_msgsize)
.field("mq_curmsgs", &self.mq_curmsgs)
.finish()
}
}
impl ::hash::Hash for mq_attr {
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
self.mq_flags.hash(state);
self.mq_maxmsg.hash(state);
self.mq_msgsize.hash(state);
self.mq_curmsgs.hash(state);
}
}
impl PartialEq for sigevent {
fn eq(&self, other: &sigevent) -> bool {
self.sigev_notify == other.sigev_notify
&& self.sigev_signo == other.sigev_signo
&& self.sigev_value == other.sigev_value
&& self.sigev_notify_thread_id
== other.sigev_notify_thread_id
}
}
impl Eq for sigevent {}
impl ::fmt::Debug for sigevent {
fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
f.debug_struct("sigevent")
.field("sigev_notify", &self.sigev_notify)
.field("sigev_signo", &self.sigev_signo)
.field("sigev_value", &self.sigev_value)
.field("sigev_notify_thread_id",
&self.sigev_notify_thread_id)
.finish()
}
}
impl ::hash::Hash for sigevent {
fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
self.sigev_notify.hash(state);
self.sigev_signo.hash(state);
self.sigev_value.hash(state);
self.sigev_notify_thread_id.hash(state);
}
}
2019-02-23 04:33:17 +01:00
}
}
pub const SIGEV_THREAD_ID: ::c_int = 4;
pub const EXTATTR_NAMESPACE_EMPTY: ::c_int = 0;
pub const EXTATTR_NAMESPACE_USER: ::c_int = 1;
pub const EXTATTR_NAMESPACE_SYSTEM: ::c_int = 2;
pub const PTHREAD_STACK_MIN: ::size_t = MINSIGSTKSZ;
2016-12-05 23:51:35 +01:00
pub const PTHREAD_MUTEX_ADAPTIVE_NP: ::c_int = 4;
pub const SIGSTKSZ: ::size_t = MINSIGSTKSZ + 32768;
Squashed commit of the following: Running libc-test: PASSED 3426 tests commit 1a7ee714db34f17abd33dc9262d3e10275eec68d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:30:56 2016 +0100 Fix RLIM_POSIXLOCKS -> RLIMIT_POSIXLOCKS commit 09c49a97ebebf087486659ef8277610d99e5c7b3 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:29:24 2016 +0100 Ignore signedness check for uuid_t on DragonFly commit aab4d11f59917686280c271683bf00ff34c8040d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:23:21 2016 +0100 Move FreeBSD-only function into freebsd/mod.rs commit 9921f030b103dbccb37930ab1d64cf1dd587bd48 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:21:42 2016 +0100 Move POSIX_FADV_* to freebsd/mod.rs commit 2921c2db1e3d0314375aa371936bd227cc6c6e2a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:20:11 2016 +0100 Fix signedness of blksize_t for DragonFly commit 65e817baee9e01d2d7c86c6202c63ee46d218914 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:19:02 2016 +0100 Fix Q_{GET,SET}QUOTA for DragonFly commit a0d2d63ef88206d321222140ae6b3d92c93b51bd Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:17:27 2016 +0100 Fix RLIMIT_* for DragonFly commit d04a1600a7c66a792a481e1524a1652234a69939 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:12:09 2016 +0100 Fix ELAST for DragonFly commit d120b9278426a76ee106e91e6c999885c1f5c7f4 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:10:28 2016 +0100 Fix F_GETLK, F_SETLK, F_SETLKW for DragonFly commit 963f7da270a14f4d12ea1a52301e363ce745c897 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:08:51 2016 +0100 Fix O_CLOEXEC for DragonFly commit f4d6c9d5991d690c7cb4460790a8e37e713bc034 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:07:18 2016 +0100 Fix RAND_MAX for DragonFly commit ba48336da7be613a49702ad9de445ab3850ebb7c Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:04:48 2016 +0100 Fix statvfs for DragonFly commit 9ae480c60a7d77b31a17d34320464f4179e40a4a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:51:47 2016 +0100 Fix fd_set for DragonFly commit a15e027838288c4980371c503252cca7e32356c0 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:42:24 2016 +0100 Fix all remaining issues on DragonFly Missing functions and missing constats. commit 3966e4fce0cb81bd0b3ed8cdf50611e6982f7767 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:27:14 2016 +0100 Use a macro instead of a constant. When using a constant, the libc-test thinks this constant exists as an C equivalent. commit 9b5659aaf54419f317250cb3a4692a1c14fdbc33 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:21:01 2016 +0100 Use a constant in utsname commit 50484eda3c978a9c0a9652f6fc619c41ad349c2d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:17:55 2016 +0100 Fix struct utsname commit 832e94248fabc91574d6d42630168da3542c153f Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:07:08 2016 +0100 DragonFly has different stat, dirent, clock_t, ino_t, nlink_t, blksize_t commit f3152a369d75ae8c1558afa5a59aa55e33b33ec6 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:52:54 2016 +0100 Move DragonFly related stuff into dragonfly/* Replicate x86_64.rs from FreeBSD. Need some twists. commit 9fe35124064aa92303171d019004df119f948223 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:49:38 2016 +0100 Move FreeBSD code under freebsd/*. Next commit will replicate some of the architecture dependent stuff for DragonFly. commit e91983df8deb14004f7a0fe47878f0e4eb31198d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:44:25 2016 +0100 struct utsname has a different size on DragonFly
2016-02-20 13:34:01 +01:00
pub const SF_NODISKIO: ::c_int = 0x00000001;
pub const SF_MNOWAIT: ::c_int = 0x00000002;
pub const SF_SYNC: ::c_int = 0x00000004;
2018-05-17 06:26:14 +02:00
pub const SF_USER_READAHEAD: ::c_int = 0x00000008;
pub const SF_NOCACHE: ::c_int = 0x00000010;
Squashed commit of the following: Running libc-test: PASSED 3426 tests commit 1a7ee714db34f17abd33dc9262d3e10275eec68d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:30:56 2016 +0100 Fix RLIM_POSIXLOCKS -> RLIMIT_POSIXLOCKS commit 09c49a97ebebf087486659ef8277610d99e5c7b3 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:29:24 2016 +0100 Ignore signedness check for uuid_t on DragonFly commit aab4d11f59917686280c271683bf00ff34c8040d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:23:21 2016 +0100 Move FreeBSD-only function into freebsd/mod.rs commit 9921f030b103dbccb37930ab1d64cf1dd587bd48 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:21:42 2016 +0100 Move POSIX_FADV_* to freebsd/mod.rs commit 2921c2db1e3d0314375aa371936bd227cc6c6e2a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:20:11 2016 +0100 Fix signedness of blksize_t for DragonFly commit 65e817baee9e01d2d7c86c6202c63ee46d218914 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:19:02 2016 +0100 Fix Q_{GET,SET}QUOTA for DragonFly commit a0d2d63ef88206d321222140ae6b3d92c93b51bd Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:17:27 2016 +0100 Fix RLIMIT_* for DragonFly commit d04a1600a7c66a792a481e1524a1652234a69939 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:12:09 2016 +0100 Fix ELAST for DragonFly commit d120b9278426a76ee106e91e6c999885c1f5c7f4 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:10:28 2016 +0100 Fix F_GETLK, F_SETLK, F_SETLKW for DragonFly commit 963f7da270a14f4d12ea1a52301e363ce745c897 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:08:51 2016 +0100 Fix O_CLOEXEC for DragonFly commit f4d6c9d5991d690c7cb4460790a8e37e713bc034 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:07:18 2016 +0100 Fix RAND_MAX for DragonFly commit ba48336da7be613a49702ad9de445ab3850ebb7c Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:04:48 2016 +0100 Fix statvfs for DragonFly commit 9ae480c60a7d77b31a17d34320464f4179e40a4a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:51:47 2016 +0100 Fix fd_set for DragonFly commit a15e027838288c4980371c503252cca7e32356c0 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:42:24 2016 +0100 Fix all remaining issues on DragonFly Missing functions and missing constats. commit 3966e4fce0cb81bd0b3ed8cdf50611e6982f7767 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:27:14 2016 +0100 Use a macro instead of a constant. When using a constant, the libc-test thinks this constant exists as an C equivalent. commit 9b5659aaf54419f317250cb3a4692a1c14fdbc33 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:21:01 2016 +0100 Use a constant in utsname commit 50484eda3c978a9c0a9652f6fc619c41ad349c2d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:17:55 2016 +0100 Fix struct utsname commit 832e94248fabc91574d6d42630168da3542c153f Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:07:08 2016 +0100 DragonFly has different stat, dirent, clock_t, ino_t, nlink_t, blksize_t commit f3152a369d75ae8c1558afa5a59aa55e33b33ec6 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:52:54 2016 +0100 Move DragonFly related stuff into dragonfly/* Replicate x86_64.rs from FreeBSD. Need some twists. commit 9fe35124064aa92303171d019004df119f948223 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:49:38 2016 +0100 Move FreeBSD code under freebsd/*. Next commit will replicate some of the architecture dependent stuff for DragonFly. commit e91983df8deb14004f7a0fe47878f0e4eb31198d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:44:25 2016 +0100 struct utsname has a different size on DragonFly
2016-02-20 13:34:01 +01:00
pub const O_CLOEXEC: ::c_int = 0x00100000;
pub const O_DIRECTORY: ::c_int = 0x00020000;
2017-06-19 09:12:50 +02:00
pub const O_EXEC: ::c_int = 0x00040000;
2017-06-19 09:27:55 +02:00
pub const O_TTY_INIT: ::c_int = 0x00080000;
Squashed commit of the following: Running libc-test: PASSED 3426 tests commit 1a7ee714db34f17abd33dc9262d3e10275eec68d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:30:56 2016 +0100 Fix RLIM_POSIXLOCKS -> RLIMIT_POSIXLOCKS commit 09c49a97ebebf087486659ef8277610d99e5c7b3 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:29:24 2016 +0100 Ignore signedness check for uuid_t on DragonFly commit aab4d11f59917686280c271683bf00ff34c8040d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:23:21 2016 +0100 Move FreeBSD-only function into freebsd/mod.rs commit 9921f030b103dbccb37930ab1d64cf1dd587bd48 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:21:42 2016 +0100 Move POSIX_FADV_* to freebsd/mod.rs commit 2921c2db1e3d0314375aa371936bd227cc6c6e2a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:20:11 2016 +0100 Fix signedness of blksize_t for DragonFly commit 65e817baee9e01d2d7c86c6202c63ee46d218914 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:19:02 2016 +0100 Fix Q_{GET,SET}QUOTA for DragonFly commit a0d2d63ef88206d321222140ae6b3d92c93b51bd Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:17:27 2016 +0100 Fix RLIMIT_* for DragonFly commit d04a1600a7c66a792a481e1524a1652234a69939 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:12:09 2016 +0100 Fix ELAST for DragonFly commit d120b9278426a76ee106e91e6c999885c1f5c7f4 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:10:28 2016 +0100 Fix F_GETLK, F_SETLK, F_SETLKW for DragonFly commit 963f7da270a14f4d12ea1a52301e363ce745c897 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:08:51 2016 +0100 Fix O_CLOEXEC for DragonFly commit f4d6c9d5991d690c7cb4460790a8e37e713bc034 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:07:18 2016 +0100 Fix RAND_MAX for DragonFly commit ba48336da7be613a49702ad9de445ab3850ebb7c Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:04:48 2016 +0100 Fix statvfs for DragonFly commit 9ae480c60a7d77b31a17d34320464f4179e40a4a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:51:47 2016 +0100 Fix fd_set for DragonFly commit a15e027838288c4980371c503252cca7e32356c0 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:42:24 2016 +0100 Fix all remaining issues on DragonFly Missing functions and missing constats. commit 3966e4fce0cb81bd0b3ed8cdf50611e6982f7767 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:27:14 2016 +0100 Use a macro instead of a constant. When using a constant, the libc-test thinks this constant exists as an C equivalent. commit 9b5659aaf54419f317250cb3a4692a1c14fdbc33 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:21:01 2016 +0100 Use a constant in utsname commit 50484eda3c978a9c0a9652f6fc619c41ad349c2d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:17:55 2016 +0100 Fix struct utsname commit 832e94248fabc91574d6d42630168da3542c153f Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:07:08 2016 +0100 DragonFly has different stat, dirent, clock_t, ino_t, nlink_t, blksize_t commit f3152a369d75ae8c1558afa5a59aa55e33b33ec6 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:52:54 2016 +0100 Move DragonFly related stuff into dragonfly/* Replicate x86_64.rs from FreeBSD. Need some twists. commit 9fe35124064aa92303171d019004df119f948223 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:49:38 2016 +0100 Move FreeBSD code under freebsd/*. Next commit will replicate some of the architecture dependent stuff for DragonFly. commit e91983df8deb14004f7a0fe47878f0e4eb31198d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:44:25 2016 +0100 struct utsname has a different size on DragonFly
2016-02-20 13:34:01 +01:00
pub const F_GETLK: ::c_int = 11;
pub const F_SETLK: ::c_int = 12;
pub const F_SETLKW: ::c_int = 13;
2017-12-04 02:52:22 +01:00
pub const ENOTCAPABLE: ::c_int = 93;
pub const ECAPMODE: ::c_int = 94;
pub const ENOTRECOVERABLE: ::c_int = 95;
pub const EOWNERDEAD: ::c_int = 96;
Squashed commit of the following: Running libc-test: PASSED 3426 tests commit 1a7ee714db34f17abd33dc9262d3e10275eec68d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:30:56 2016 +0100 Fix RLIM_POSIXLOCKS -> RLIMIT_POSIXLOCKS commit 09c49a97ebebf087486659ef8277610d99e5c7b3 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:29:24 2016 +0100 Ignore signedness check for uuid_t on DragonFly commit aab4d11f59917686280c271683bf00ff34c8040d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:23:21 2016 +0100 Move FreeBSD-only function into freebsd/mod.rs commit 9921f030b103dbccb37930ab1d64cf1dd587bd48 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:21:42 2016 +0100 Move POSIX_FADV_* to freebsd/mod.rs commit 2921c2db1e3d0314375aa371936bd227cc6c6e2a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:20:11 2016 +0100 Fix signedness of blksize_t for DragonFly commit 65e817baee9e01d2d7c86c6202c63ee46d218914 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:19:02 2016 +0100 Fix Q_{GET,SET}QUOTA for DragonFly commit a0d2d63ef88206d321222140ae6b3d92c93b51bd Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:17:27 2016 +0100 Fix RLIMIT_* for DragonFly commit d04a1600a7c66a792a481e1524a1652234a69939 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:12:09 2016 +0100 Fix ELAST for DragonFly commit d120b9278426a76ee106e91e6c999885c1f5c7f4 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:10:28 2016 +0100 Fix F_GETLK, F_SETLK, F_SETLKW for DragonFly commit 963f7da270a14f4d12ea1a52301e363ce745c897 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:08:51 2016 +0100 Fix O_CLOEXEC for DragonFly commit f4d6c9d5991d690c7cb4460790a8e37e713bc034 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:07:18 2016 +0100 Fix RAND_MAX for DragonFly commit ba48336da7be613a49702ad9de445ab3850ebb7c Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:04:48 2016 +0100 Fix statvfs for DragonFly commit 9ae480c60a7d77b31a17d34320464f4179e40a4a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:51:47 2016 +0100 Fix fd_set for DragonFly commit a15e027838288c4980371c503252cca7e32356c0 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:42:24 2016 +0100 Fix all remaining issues on DragonFly Missing functions and missing constats. commit 3966e4fce0cb81bd0b3ed8cdf50611e6982f7767 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:27:14 2016 +0100 Use a macro instead of a constant. When using a constant, the libc-test thinks this constant exists as an C equivalent. commit 9b5659aaf54419f317250cb3a4692a1c14fdbc33 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:21:01 2016 +0100 Use a constant in utsname commit 50484eda3c978a9c0a9652f6fc619c41ad349c2d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:17:55 2016 +0100 Fix struct utsname commit 832e94248fabc91574d6d42630168da3542c153f Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:07:08 2016 +0100 DragonFly has different stat, dirent, clock_t, ino_t, nlink_t, blksize_t commit f3152a369d75ae8c1558afa5a59aa55e33b33ec6 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:52:54 2016 +0100 Move DragonFly related stuff into dragonfly/* Replicate x86_64.rs from FreeBSD. Need some twists. commit 9fe35124064aa92303171d019004df119f948223 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:49:38 2016 +0100 Move FreeBSD code under freebsd/*. Next commit will replicate some of the architecture dependent stuff for DragonFly. commit e91983df8deb14004f7a0fe47878f0e4eb31198d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:44:25 2016 +0100 struct utsname has a different size on DragonFly
2016-02-20 13:34:01 +01:00
pub const RLIMIT_NPTS: ::c_int = 11;
pub const RLIMIT_SWAP: ::c_int = 12;
2018-03-12 01:03:46 +01:00
pub const RLIMIT_KQUEUES: ::c_int = 13;
pub const RLIMIT_UMTXP: ::c_int = 14;
2019-09-12 15:12:33 +02:00
#[deprecated(since = "0.2.64", note = "Not stable across OS versions")]
2018-03-12 01:03:46 +01:00
pub const RLIM_NLIMITS: ::rlim_t = 15;
Squashed commit of the following: Running libc-test: PASSED 3426 tests commit 1a7ee714db34f17abd33dc9262d3e10275eec68d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:30:56 2016 +0100 Fix RLIM_POSIXLOCKS -> RLIMIT_POSIXLOCKS commit 09c49a97ebebf087486659ef8277610d99e5c7b3 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:29:24 2016 +0100 Ignore signedness check for uuid_t on DragonFly commit aab4d11f59917686280c271683bf00ff34c8040d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:23:21 2016 +0100 Move FreeBSD-only function into freebsd/mod.rs commit 9921f030b103dbccb37930ab1d64cf1dd587bd48 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:21:42 2016 +0100 Move POSIX_FADV_* to freebsd/mod.rs commit 2921c2db1e3d0314375aa371936bd227cc6c6e2a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:20:11 2016 +0100 Fix signedness of blksize_t for DragonFly commit 65e817baee9e01d2d7c86c6202c63ee46d218914 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:19:02 2016 +0100 Fix Q_{GET,SET}QUOTA for DragonFly commit a0d2d63ef88206d321222140ae6b3d92c93b51bd Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:17:27 2016 +0100 Fix RLIMIT_* for DragonFly commit d04a1600a7c66a792a481e1524a1652234a69939 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:12:09 2016 +0100 Fix ELAST for DragonFly commit d120b9278426a76ee106e91e6c999885c1f5c7f4 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:10:28 2016 +0100 Fix F_GETLK, F_SETLK, F_SETLKW for DragonFly commit 963f7da270a14f4d12ea1a52301e363ce745c897 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:08:51 2016 +0100 Fix O_CLOEXEC for DragonFly commit f4d6c9d5991d690c7cb4460790a8e37e713bc034 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:07:18 2016 +0100 Fix RAND_MAX for DragonFly commit ba48336da7be613a49702ad9de445ab3850ebb7c Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:04:48 2016 +0100 Fix statvfs for DragonFly commit 9ae480c60a7d77b31a17d34320464f4179e40a4a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:51:47 2016 +0100 Fix fd_set for DragonFly commit a15e027838288c4980371c503252cca7e32356c0 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:42:24 2016 +0100 Fix all remaining issues on DragonFly Missing functions and missing constats. commit 3966e4fce0cb81bd0b3ed8cdf50611e6982f7767 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:27:14 2016 +0100 Use a macro instead of a constant. When using a constant, the libc-test thinks this constant exists as an C equivalent. commit 9b5659aaf54419f317250cb3a4692a1c14fdbc33 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:21:01 2016 +0100 Use a constant in utsname commit 50484eda3c978a9c0a9652f6fc619c41ad349c2d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:17:55 2016 +0100 Fix struct utsname commit 832e94248fabc91574d6d42630168da3542c153f Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:07:08 2016 +0100 DragonFly has different stat, dirent, clock_t, ino_t, nlink_t, blksize_t commit f3152a369d75ae8c1558afa5a59aa55e33b33ec6 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:52:54 2016 +0100 Move DragonFly related stuff into dragonfly/* Replicate x86_64.rs from FreeBSD. Need some twists. commit 9fe35124064aa92303171d019004df119f948223 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:49:38 2016 +0100 Move FreeBSD code under freebsd/*. Next commit will replicate some of the architecture dependent stuff for DragonFly. commit e91983df8deb14004f7a0fe47878f0e4eb31198d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:44:25 2016 +0100 struct utsname has a different size on DragonFly
2016-02-20 13:34:01 +01:00
pub const NI_NOFQDN: ::c_int = 0x00000001;
pub const NI_NUMERICHOST: ::c_int = 0x00000002;
pub const NI_NAMEREQD: ::c_int = 0x00000004;
pub const NI_NUMERICSERV: ::c_int = 0x00000008;
pub const NI_DGRAM: ::c_int = 0x00000010;
pub const NI_NUMERICSCOPE: ::c_int = 0x00000020;
Squashed commit of the following: Running libc-test: PASSED 3426 tests commit 1a7ee714db34f17abd33dc9262d3e10275eec68d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:30:56 2016 +0100 Fix RLIM_POSIXLOCKS -> RLIMIT_POSIXLOCKS commit 09c49a97ebebf087486659ef8277610d99e5c7b3 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:29:24 2016 +0100 Ignore signedness check for uuid_t on DragonFly commit aab4d11f59917686280c271683bf00ff34c8040d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:23:21 2016 +0100 Move FreeBSD-only function into freebsd/mod.rs commit 9921f030b103dbccb37930ab1d64cf1dd587bd48 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:21:42 2016 +0100 Move POSIX_FADV_* to freebsd/mod.rs commit 2921c2db1e3d0314375aa371936bd227cc6c6e2a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:20:11 2016 +0100 Fix signedness of blksize_t for DragonFly commit 65e817baee9e01d2d7c86c6202c63ee46d218914 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:19:02 2016 +0100 Fix Q_{GET,SET}QUOTA for DragonFly commit a0d2d63ef88206d321222140ae6b3d92c93b51bd Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:17:27 2016 +0100 Fix RLIMIT_* for DragonFly commit d04a1600a7c66a792a481e1524a1652234a69939 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:12:09 2016 +0100 Fix ELAST for DragonFly commit d120b9278426a76ee106e91e6c999885c1f5c7f4 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:10:28 2016 +0100 Fix F_GETLK, F_SETLK, F_SETLKW for DragonFly commit 963f7da270a14f4d12ea1a52301e363ce745c897 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:08:51 2016 +0100 Fix O_CLOEXEC for DragonFly commit f4d6c9d5991d690c7cb4460790a8e37e713bc034 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:07:18 2016 +0100 Fix RAND_MAX for DragonFly commit ba48336da7be613a49702ad9de445ab3850ebb7c Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:04:48 2016 +0100 Fix statvfs for DragonFly commit 9ae480c60a7d77b31a17d34320464f4179e40a4a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:51:47 2016 +0100 Fix fd_set for DragonFly commit a15e027838288c4980371c503252cca7e32356c0 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:42:24 2016 +0100 Fix all remaining issues on DragonFly Missing functions and missing constats. commit 3966e4fce0cb81bd0b3ed8cdf50611e6982f7767 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:27:14 2016 +0100 Use a macro instead of a constant. When using a constant, the libc-test thinks this constant exists as an C equivalent. commit 9b5659aaf54419f317250cb3a4692a1c14fdbc33 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:21:01 2016 +0100 Use a constant in utsname commit 50484eda3c978a9c0a9652f6fc619c41ad349c2d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:17:55 2016 +0100 Fix struct utsname commit 832e94248fabc91574d6d42630168da3542c153f Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:07:08 2016 +0100 DragonFly has different stat, dirent, clock_t, ino_t, nlink_t, blksize_t commit f3152a369d75ae8c1558afa5a59aa55e33b33ec6 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:52:54 2016 +0100 Move DragonFly related stuff into dragonfly/* Replicate x86_64.rs from FreeBSD. Need some twists. commit 9fe35124064aa92303171d019004df119f948223 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:49:38 2016 +0100 Move FreeBSD code under freebsd/*. Next commit will replicate some of the architecture dependent stuff for DragonFly. commit e91983df8deb14004f7a0fe47878f0e4eb31198d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:44:25 2016 +0100 struct utsname has a different size on DragonFly
2016-02-20 13:34:01 +01:00
pub const Q_GETQUOTA: ::c_int = 0x700;
pub const Q_SETQUOTA: ::c_int = 0x800;
pub const MAP_GUARD: ::c_int = 0x00002000;
Squashed commit of the following: Running libc-test: PASSED 3426 tests commit 1a7ee714db34f17abd33dc9262d3e10275eec68d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:30:56 2016 +0100 Fix RLIM_POSIXLOCKS -> RLIMIT_POSIXLOCKS commit 09c49a97ebebf087486659ef8277610d99e5c7b3 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:29:24 2016 +0100 Ignore signedness check for uuid_t on DragonFly commit aab4d11f59917686280c271683bf00ff34c8040d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:23:21 2016 +0100 Move FreeBSD-only function into freebsd/mod.rs commit 9921f030b103dbccb37930ab1d64cf1dd587bd48 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:21:42 2016 +0100 Move POSIX_FADV_* to freebsd/mod.rs commit 2921c2db1e3d0314375aa371936bd227cc6c6e2a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:20:11 2016 +0100 Fix signedness of blksize_t for DragonFly commit 65e817baee9e01d2d7c86c6202c63ee46d218914 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:19:02 2016 +0100 Fix Q_{GET,SET}QUOTA for DragonFly commit a0d2d63ef88206d321222140ae6b3d92c93b51bd Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:17:27 2016 +0100 Fix RLIMIT_* for DragonFly commit d04a1600a7c66a792a481e1524a1652234a69939 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:12:09 2016 +0100 Fix ELAST for DragonFly commit d120b9278426a76ee106e91e6c999885c1f5c7f4 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:10:28 2016 +0100 Fix F_GETLK, F_SETLK, F_SETLKW for DragonFly commit 963f7da270a14f4d12ea1a52301e363ce745c897 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:08:51 2016 +0100 Fix O_CLOEXEC for DragonFly commit f4d6c9d5991d690c7cb4460790a8e37e713bc034 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:07:18 2016 +0100 Fix RAND_MAX for DragonFly commit ba48336da7be613a49702ad9de445ab3850ebb7c Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:04:48 2016 +0100 Fix statvfs for DragonFly commit 9ae480c60a7d77b31a17d34320464f4179e40a4a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:51:47 2016 +0100 Fix fd_set for DragonFly commit a15e027838288c4980371c503252cca7e32356c0 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:42:24 2016 +0100 Fix all remaining issues on DragonFly Missing functions and missing constats. commit 3966e4fce0cb81bd0b3ed8cdf50611e6982f7767 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:27:14 2016 +0100 Use a macro instead of a constant. When using a constant, the libc-test thinks this constant exists as an C equivalent. commit 9b5659aaf54419f317250cb3a4692a1c14fdbc33 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:21:01 2016 +0100 Use a constant in utsname commit 50484eda3c978a9c0a9652f6fc619c41ad349c2d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:17:55 2016 +0100 Fix struct utsname commit 832e94248fabc91574d6d42630168da3542c153f Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:07:08 2016 +0100 DragonFly has different stat, dirent, clock_t, ino_t, nlink_t, blksize_t commit f3152a369d75ae8c1558afa5a59aa55e33b33ec6 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:52:54 2016 +0100 Move DragonFly related stuff into dragonfly/* Replicate x86_64.rs from FreeBSD. Need some twists. commit 9fe35124064aa92303171d019004df119f948223 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:49:38 2016 +0100 Move FreeBSD code under freebsd/*. Next commit will replicate some of the architecture dependent stuff for DragonFly. commit e91983df8deb14004f7a0fe47878f0e4eb31198d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:44:25 2016 +0100 struct utsname has a different size on DragonFly
2016-02-20 13:34:01 +01:00
pub const POSIX_FADV_NORMAL: ::c_int = 0;
pub const POSIX_FADV_RANDOM: ::c_int = 1;
pub const POSIX_FADV_SEQUENTIAL: ::c_int = 2;
pub const POSIX_FADV_WILLNEED: ::c_int = 3;
pub const POSIX_FADV_DONTNEED: ::c_int = 4;
pub const POSIX_FADV_NOREUSE: ::c_int = 5;
pub const POLLINIGNEOF: ::c_short = 0x2000;
pub const EVFILT_READ: i16 = -1;
pub const EVFILT_WRITE: i16 = -2;
pub const EVFILT_AIO: i16 = -3;
pub const EVFILT_VNODE: i16 = -4;
pub const EVFILT_PROC: i16 = -5;
pub const EVFILT_SIGNAL: i16 = -6;
pub const EVFILT_TIMER: i16 = -7;
pub const EVFILT_PROCDESC: i16 = -8;
pub const EVFILT_FS: i16 = -9;
pub const EVFILT_LIO: i16 = -10;
pub const EVFILT_USER: i16 = -11;
pub const EVFILT_SENDFILE: i16 = -12;
pub const EVFILT_EMPTY: i16 = -13;
pub const EV_ADD: u16 = 0x1;
pub const EV_DELETE: u16 = 0x2;
pub const EV_ENABLE: u16 = 0x4;
pub const EV_DISABLE: u16 = 0x8;
pub const EV_ONESHOT: u16 = 0x10;
pub const EV_CLEAR: u16 = 0x20;
pub const EV_RECEIPT: u16 = 0x40;
pub const EV_DISPATCH: u16 = 0x80;
pub const EV_DROP: u16 = 0x1000;
pub const EV_FLAG1: u16 = 0x2000;
pub const EV_ERROR: u16 = 0x4000;
pub const EV_EOF: u16 = 0x8000;
pub const EV_SYSFLAGS: u16 = 0xf000;
pub const NOTE_TRIGGER: u32 = 0x01000000;
pub const NOTE_FFNOP: u32 = 0x00000000;
pub const NOTE_FFAND: u32 = 0x40000000;
pub const NOTE_FFOR: u32 = 0x80000000;
pub const NOTE_FFCOPY: u32 = 0xc0000000;
pub const NOTE_FFCTRLMASK: u32 = 0xc0000000;
pub const NOTE_FFLAGSMASK: u32 = 0x00ffffff;
pub const NOTE_LOWAT: u32 = 0x00000001;
pub const NOTE_DELETE: u32 = 0x00000001;
pub const NOTE_WRITE: u32 = 0x00000002;
pub const NOTE_EXTEND: u32 = 0x00000004;
pub const NOTE_ATTRIB: u32 = 0x00000008;
pub const NOTE_LINK: u32 = 0x00000010;
pub const NOTE_RENAME: u32 = 0x00000020;
pub const NOTE_REVOKE: u32 = 0x00000040;
pub const NOTE_EXIT: u32 = 0x80000000;
pub const NOTE_FORK: u32 = 0x40000000;
pub const NOTE_EXEC: u32 = 0x20000000;
pub const NOTE_PDATAMASK: u32 = 0x000fffff;
pub const NOTE_PCTRLMASK: u32 = 0xf0000000;
pub const NOTE_TRACK: u32 = 0x00000001;
pub const NOTE_TRACKERR: u32 = 0x00000002;
pub const NOTE_CHILD: u32 = 0x00000004;
pub const NOTE_SECONDS: u32 = 0x00000001;
pub const NOTE_MSECONDS: u32 = 0x00000002;
pub const NOTE_USECONDS: u32 = 0x00000004;
pub const NOTE_NSECONDS: u32 = 0x00000008;
pub const MADV_PROTECT: ::c_int = 10;
pub const RUSAGE_THREAD: ::c_int = 1;
#[doc(hidden)]
#[deprecated(
since = "0.2.72",
note = "CTL_UNSPEC is deprecated. Use CTL_SYSCTL instead"
)]
pub const CTL_UNSPEC: ::c_int = 0;
pub const CTL_SYSCTL: ::c_int = 0;
pub const CTL_KERN: ::c_int = 1;
pub const CTL_VM: ::c_int = 2;
pub const CTL_VFS: ::c_int = 3;
pub const CTL_NET: ::c_int = 4;
pub const CTL_DEBUG: ::c_int = 5;
pub const CTL_HW: ::c_int = 6;
pub const CTL_MACHDEP: ::c_int = 7;
pub const CTL_USER: ::c_int = 8;
pub const CTL_P1003_1B: ::c_int = 9;
pub const CTL_SYSCTL_DEBUG: ::c_int = 0;
pub const CTL_SYSCTL_NAME: ::c_int = 1;
pub const CTL_SYSCTL_NEXT: ::c_int = 2;
pub const CTL_SYSCTL_NAME2OID: ::c_int = 3;
pub const CTL_SYSCTL_OIDFMT: ::c_int = 4;
pub const CTL_SYSCTL_OIDDESCR: ::c_int = 5;
pub const CTL_SYSCTL_OIDLABEL: ::c_int = 6;
pub const KERN_OSTYPE: ::c_int = 1;
pub const KERN_OSRELEASE: ::c_int = 2;
pub const KERN_OSREV: ::c_int = 3;
pub const KERN_VERSION: ::c_int = 4;
pub const KERN_MAXVNODES: ::c_int = 5;
pub const KERN_MAXPROC: ::c_int = 6;
pub const KERN_MAXFILES: ::c_int = 7;
pub const KERN_ARGMAX: ::c_int = 8;
pub const KERN_SECURELVL: ::c_int = 9;
pub const KERN_HOSTNAME: ::c_int = 10;
pub const KERN_HOSTID: ::c_int = 11;
pub const KERN_CLOCKRATE: ::c_int = 12;
pub const KERN_VNODE: ::c_int = 13;
pub const KERN_PROC: ::c_int = 14;
pub const KERN_FILE: ::c_int = 15;
pub const KERN_PROF: ::c_int = 16;
pub const KERN_POSIX1: ::c_int = 17;
pub const KERN_NGROUPS: ::c_int = 18;
pub const KERN_JOB_CONTROL: ::c_int = 19;
pub const KERN_SAVED_IDS: ::c_int = 20;
pub const KERN_BOOTTIME: ::c_int = 21;
pub const KERN_NISDOMAINNAME: ::c_int = 22;
pub const KERN_UPDATEINTERVAL: ::c_int = 23;
pub const KERN_OSRELDATE: ::c_int = 24;
pub const KERN_NTP_PLL: ::c_int = 25;
pub const KERN_BOOTFILE: ::c_int = 26;
pub const KERN_MAXFILESPERPROC: ::c_int = 27;
pub const KERN_MAXPROCPERUID: ::c_int = 28;
pub const KERN_DUMPDEV: ::c_int = 29;
pub const KERN_IPC: ::c_int = 30;
pub const KERN_DUMMY: ::c_int = 31;
pub const KERN_PS_STRINGS: ::c_int = 32;
pub const KERN_USRSTACK: ::c_int = 33;
pub const KERN_LOGSIGEXIT: ::c_int = 34;
pub const KERN_IOV_MAX: ::c_int = 35;
pub const KERN_HOSTUUID: ::c_int = 36;
pub const KERN_ARND: ::c_int = 37;
pub const KERN_PROC_ALL: ::c_int = 0;
pub const KERN_PROC_PID: ::c_int = 1;
pub const KERN_PROC_PGRP: ::c_int = 2;
pub const KERN_PROC_SESSION: ::c_int = 3;
pub const KERN_PROC_TTY: ::c_int = 4;
pub const KERN_PROC_UID: ::c_int = 5;
pub const KERN_PROC_RUID: ::c_int = 6;
pub const KERN_PROC_ARGS: ::c_int = 7;
pub const KERN_PROC_PROC: ::c_int = 8;
pub const KERN_PROC_SV_NAME: ::c_int = 9;
pub const KERN_PROC_RGID: ::c_int = 10;
pub const KERN_PROC_GID: ::c_int = 11;
pub const KERN_PROC_PATHNAME: ::c_int = 12;
pub const KERN_PROC_OVMMAP: ::c_int = 13;
pub const KERN_PROC_OFILEDESC: ::c_int = 14;
pub const KERN_PROC_KSTACK: ::c_int = 15;
pub const KERN_PROC_INC_THREAD: ::c_int = 0x10;
pub const KERN_PROC_VMMAP: ::c_int = 32;
pub const KERN_PROC_FILEDESC: ::c_int = 33;
pub const KERN_PROC_GROUPS: ::c_int = 34;
pub const KERN_PROC_ENV: ::c_int = 35;
pub const KERN_PROC_AUXV: ::c_int = 36;
pub const KERN_PROC_RLIMIT: ::c_int = 37;
pub const KERN_PROC_PS_STRINGS: ::c_int = 38;
pub const KERN_PROC_UMASK: ::c_int = 39;
pub const KERN_PROC_OSREL: ::c_int = 40;
pub const KERN_PROC_SIGTRAMP: ::c_int = 41;
pub const KIPC_MAXSOCKBUF: ::c_int = 1;
pub const KIPC_SOCKBUF_WASTE: ::c_int = 2;
pub const KIPC_SOMAXCONN: ::c_int = 3;
pub const KIPC_MAX_LINKHDR: ::c_int = 4;
pub const KIPC_MAX_PROTOHDR: ::c_int = 5;
pub const KIPC_MAX_HDR: ::c_int = 6;
pub const KIPC_MAX_DATALEN: ::c_int = 7;
pub const HW_MACHINE: ::c_int = 1;
pub const HW_MODEL: ::c_int = 2;
pub const HW_NCPU: ::c_int = 3;
pub const HW_BYTEORDER: ::c_int = 4;
pub const HW_PHYSMEM: ::c_int = 5;
pub const HW_USERMEM: ::c_int = 6;
pub const HW_PAGESIZE: ::c_int = 7;
pub const HW_DISKNAMES: ::c_int = 8;
pub const HW_DISKSTATS: ::c_int = 9;
pub const HW_FLOATINGPT: ::c_int = 10;
pub const HW_MACHINE_ARCH: ::c_int = 11;
pub const HW_REALMEM: ::c_int = 12;
pub const USER_CS_PATH: ::c_int = 1;
pub const USER_BC_BASE_MAX: ::c_int = 2;
pub const USER_BC_DIM_MAX: ::c_int = 3;
pub const USER_BC_SCALE_MAX: ::c_int = 4;
pub const USER_BC_STRING_MAX: ::c_int = 5;
pub const USER_COLL_WEIGHTS_MAX: ::c_int = 6;
pub const USER_EXPR_NEST_MAX: ::c_int = 7;
pub const USER_LINE_MAX: ::c_int = 8;
pub const USER_RE_DUP_MAX: ::c_int = 9;
pub const USER_POSIX2_VERSION: ::c_int = 10;
pub const USER_POSIX2_C_BIND: ::c_int = 11;
pub const USER_POSIX2_C_DEV: ::c_int = 12;
pub const USER_POSIX2_CHAR_TERM: ::c_int = 13;
pub const USER_POSIX2_FORT_DEV: ::c_int = 14;
pub const USER_POSIX2_FORT_RUN: ::c_int = 15;
pub const USER_POSIX2_LOCALEDEF: ::c_int = 16;
pub const USER_POSIX2_SW_DEV: ::c_int = 17;
pub const USER_POSIX2_UPE: ::c_int = 18;
pub const USER_STREAM_MAX: ::c_int = 19;
pub const USER_TZNAME_MAX: ::c_int = 20;
pub const CTL_P1003_1B_ASYNCHRONOUS_IO: ::c_int = 1;
pub const CTL_P1003_1B_MAPPED_FILES: ::c_int = 2;
pub const CTL_P1003_1B_MEMLOCK: ::c_int = 3;
pub const CTL_P1003_1B_MEMLOCK_RANGE: ::c_int = 4;
pub const CTL_P1003_1B_MEMORY_PROTECTION: ::c_int = 5;
pub const CTL_P1003_1B_MESSAGE_PASSING: ::c_int = 6;
pub const CTL_P1003_1B_PRIORITIZED_IO: ::c_int = 7;
pub const CTL_P1003_1B_PRIORITY_SCHEDULING: ::c_int = 8;
pub const CTL_P1003_1B_REALTIME_SIGNALS: ::c_int = 9;
pub const CTL_P1003_1B_SEMAPHORES: ::c_int = 10;
pub const CTL_P1003_1B_FSYNC: ::c_int = 11;
pub const CTL_P1003_1B_SHARED_MEMORY_OBJECTS: ::c_int = 12;
pub const CTL_P1003_1B_SYNCHRONIZED_IO: ::c_int = 13;
pub const CTL_P1003_1B_TIMERS: ::c_int = 14;
pub const CTL_P1003_1B_AIO_LISTIO_MAX: ::c_int = 15;
pub const CTL_P1003_1B_AIO_MAX: ::c_int = 16;
pub const CTL_P1003_1B_AIO_PRIO_DELTA_MAX: ::c_int = 17;
pub const CTL_P1003_1B_DELAYTIMER_MAX: ::c_int = 18;
pub const CTL_P1003_1B_MQ_OPEN_MAX: ::c_int = 19;
pub const CTL_P1003_1B_PAGESIZE: ::c_int = 20;
pub const CTL_P1003_1B_RTSIG_MAX: ::c_int = 21;
pub const CTL_P1003_1B_SEM_NSEMS_MAX: ::c_int = 22;
pub const CTL_P1003_1B_SEM_VALUE_MAX: ::c_int = 23;
pub const CTL_P1003_1B_SIGQUEUE_MAX: ::c_int = 24;
pub const CTL_P1003_1B_TIMER_MAX: ::c_int = 25;
pub const TIOCGPTN: ::c_uint = 0x4004740f;
pub const TIOCPTMASTER: ::c_uint = 0x2000741c;
pub const TIOCSIG: ::c_uint = 0x2004745f;
pub const TIOCM_DCD: ::c_int = 0x40;
pub const H4DISC: ::c_int = 0x7;
2019-07-30 08:23:04 +02:00
pub const BIOCSETFNR: ::c_ulong = 0x80104282;
2019-01-08 13:21:46 +01:00
pub const FIONWRITE: ::c_ulong = 0x40046677;
pub const FIONSPACE: ::c_ulong = 0x40046676;
pub const FIOSEEKDATA: ::c_ulong = 0xc0086661;
pub const FIOSEEKHOLE: ::c_ulong = 0xc0086662;
pub const JAIL_API_VERSION: u32 = 2;
pub const JAIL_CREATE: ::c_int = 0x01;
pub const JAIL_UPDATE: ::c_int = 0x02;
pub const JAIL_ATTACH: ::c_int = 0x04;
pub const JAIL_DYING: ::c_int = 0x08;
pub const JAIL_SET_MASK: ::c_int = 0x0f;
pub const JAIL_GET_MASK: ::c_int = 0x08;
pub const JAIL_SYS_DISABLE: ::c_int = 0;
pub const JAIL_SYS_NEW: ::c_int = 1;
pub const JAIL_SYS_INHERIT: ::c_int = 2;
pub const SO_BINTIME: ::c_int = 0x2000;
pub const SO_NO_OFFLOAD: ::c_int = 0x4000;
pub const SO_NO_DDP: ::c_int = 0x8000;
pub const SO_REUSEPORT_LB: ::c_int = 0x10000;
pub const SO_LABEL: ::c_int = 0x1009;
pub const SO_PEERLABEL: ::c_int = 0x1010;
pub const SO_LISTENQLIMIT: ::c_int = 0x1011;
pub const SO_LISTENQLEN: ::c_int = 0x1012;
pub const SO_LISTENINCQLEN: ::c_int = 0x1013;
pub const SO_SETFIB: ::c_int = 0x1014;
pub const SO_USER_COOKIE: ::c_int = 0x1015;
pub const SO_PROTOCOL: ::c_int = 0x1016;
pub const SO_PROTOTYPE: ::c_int = SO_PROTOCOL;
pub const SO_VENDOR: ::c_int = 0x80000000;
pub const LOCAL_CREDS: ::c_int = 2;
pub const LOCAL_CONNWAIT: ::c_int = 4;
pub const LOCAL_VENDOR: ::c_int = SO_VENDOR;
pub const PT_LWPINFO: ::c_int = 13;
pub const PT_GETNUMLWPS: ::c_int = 14;
pub const PT_GETLWPLIST: ::c_int = 15;
pub const PT_CLEARSTEP: ::c_int = 16;
pub const PT_SETSTEP: ::c_int = 17;
pub const PT_SUSPEND: ::c_int = 18;
pub const PT_RESUME: ::c_int = 19;
pub const PT_TO_SCE: ::c_int = 20;
pub const PT_TO_SCX: ::c_int = 21;
pub const PT_SYSCALL: ::c_int = 22;
pub const PT_FOLLOW_FORK: ::c_int = 23;
pub const PT_LWP_EVENTS: ::c_int = 24;
pub const PT_GET_EVENT_MASK: ::c_int = 25;
pub const PT_SET_EVENT_MASK: ::c_int = 26;
pub const PT_GETREGS: ::c_int = 33;
pub const PT_SETREGS: ::c_int = 34;
pub const PT_GETFPREGS: ::c_int = 35;
pub const PT_SETFPREGS: ::c_int = 36;
pub const PT_GETDBREGS: ::c_int = 37;
pub const PT_SETDBREGS: ::c_int = 38;
pub const PT_VM_TIMESTAMP: ::c_int = 40;
pub const PT_VM_ENTRY: ::c_int = 41;
pub const PT_FIRSTMACH: ::c_int = 64;
pub const PTRACE_EXEC: ::c_int = 0x0001;
pub const PTRACE_SCE: ::c_int = 0x0002;
pub const PTRACE_SCX: ::c_int = 0x0004;
pub const PTRACE_SYSCALL: ::c_int = PTRACE_SCE | PTRACE_SCX;
pub const PTRACE_FORK: ::c_int = 0x0008;
pub const PTRACE_LWP: ::c_int = 0x0010;
pub const PTRACE_VFORK: ::c_int = 0x0020;
pub const PTRACE_DEFAULT: ::c_int = PTRACE_EXEC;
pub const AF_SLOW: ::c_int = 33;
pub const AF_SCLUSTER: ::c_int = 34;
pub const AF_ARP: ::c_int = 35;
pub const AF_BLUETOOTH: ::c_int = 36;
pub const AF_IEEE80211: ::c_int = 37;
pub const AF_INET_SDP: ::c_int = 40;
pub const AF_INET6_SDP: ::c_int = 42;
// https://github.com/freebsd/freebsd/blob/master/sys/net/if.h#L140
pub const IFF_UP: ::c_int = 0x1; // (n) interface is up
pub const IFF_BROADCAST: ::c_int = 0x2; // (i) broadcast address valid
pub const IFF_DEBUG: ::c_int = 0x4; // (n) turn on debugging
pub const IFF_LOOPBACK: ::c_int = 0x8; // (i) is a loopback net
pub const IFF_POINTOPOINT: ::c_int = 0x10; // (i) is a point-to-point link
2019-09-12 15:12:33 +02:00
// 0x20 was IFF_SMART
pub const IFF_RUNNING: ::c_int = 0x40; // (d) resources allocated
#[doc(hidden)]
#[deprecated(
2019-09-12 15:12:33 +02:00
since = "0.2.54",
note = "IFF_DRV_RUNNING is deprecated. Use the portable IFF_RUNNING instead"
)]
pub const IFF_DRV_RUNNING: ::c_int = 0x40;
pub const IFF_NOARP: ::c_int = 0x80; // (n) no address resolution protocol
pub const IFF_PROMISC: ::c_int = 0x100; // (n) receive all packets
pub const IFF_ALLMULTI: ::c_int = 0x200; // (n) receive all multicast packets
pub const IFF_OACTIVE: ::c_int = 0x400; // (d) tx hardware queue is full
#[doc(hidden)]
2021-04-06 02:57:12 +02:00
#[deprecated(since = "0.2.54", note = "Use the portable `IFF_OACTIVE` instead")]
pub const IFF_DRV_OACTIVE: ::c_int = 0x400;
pub const IFF_SIMPLEX: ::c_int = 0x800; // (i) can't hear own transmissions
pub const IFF_LINK0: ::c_int = 0x1000; // per link layer defined bit
pub const IFF_LINK1: ::c_int = 0x2000; // per link layer defined bit
pub const IFF_LINK2: ::c_int = 0x4000; // per link layer defined bit
pub const IFF_ALTPHYS: ::c_int = IFF_LINK2; // use alternate physical connection
pub const IFF_MULTICAST: ::c_int = 0x8000; // (i) supports multicast
2019-09-12 15:12:33 +02:00
// (i) unconfigurable using ioctl(2)
2017-11-09 10:10:59 +01:00
pub const IFF_CANTCONFIG: ::c_int = 0x10000;
pub const IFF_PPROMISC: ::c_int = 0x20000; // (n) user-requested promisc mode
pub const IFF_MONITOR: ::c_int = 0x40000; // (n) user-requested monitor mode
pub const IFF_STATICARP: ::c_int = 0x80000; // (n) static ARP
pub const IFF_DYING: ::c_int = 0x200000; // (n) interface is winding down
pub const IFF_RENAMING: ::c_int = 0x400000; // (n) interface is being renamed
2017-09-11 03:06:28 +02:00
// sys/netinet/in.h
// Protocols (RFC 1700)
// NOTE: These are in addition to the constants defined in src/unix/mod.rs
// IPPROTO_IP defined in src/unix/mod.rs
/// IP6 hop-by-hop options
pub const IPPROTO_HOPOPTS: ::c_int = 0;
// IPPROTO_ICMP defined in src/unix/mod.rs
/// group mgmt protocol
pub const IPPROTO_IGMP: ::c_int = 2;
/// gateway^2 (deprecated)
pub const IPPROTO_GGP: ::c_int = 3;
/// for compatibility
pub const IPPROTO_IPIP: ::c_int = 4;
// IPPROTO_TCP defined in src/unix/mod.rs
/// Stream protocol II.
pub const IPPROTO_ST: ::c_int = 7;
/// exterior gateway protocol
pub const IPPROTO_EGP: ::c_int = 8;
/// private interior gateway
pub const IPPROTO_PIGP: ::c_int = 9;
/// BBN RCC Monitoring
pub const IPPROTO_RCCMON: ::c_int = 10;
/// network voice protocol
pub const IPPROTO_NVPII: ::c_int = 11;
/// pup
pub const IPPROTO_PUP: ::c_int = 12;
/// Argus
pub const IPPROTO_ARGUS: ::c_int = 13;
/// EMCON
pub const IPPROTO_EMCON: ::c_int = 14;
/// Cross Net Debugger
pub const IPPROTO_XNET: ::c_int = 15;
/// Chaos
pub const IPPROTO_CHAOS: ::c_int = 16;
// IPPROTO_UDP defined in src/unix/mod.rs
/// Multiplexing
pub const IPPROTO_MUX: ::c_int = 18;
/// DCN Measurement Subsystems
pub const IPPROTO_MEAS: ::c_int = 19;
/// Host Monitoring
pub const IPPROTO_HMP: ::c_int = 20;
/// Packet Radio Measurement
pub const IPPROTO_PRM: ::c_int = 21;
/// xns idp
pub const IPPROTO_IDP: ::c_int = 22;
/// Trunk-1
pub const IPPROTO_TRUNK1: ::c_int = 23;
/// Trunk-2
pub const IPPROTO_TRUNK2: ::c_int = 24;
/// Leaf-1
pub const IPPROTO_LEAF1: ::c_int = 25;
/// Leaf-2
pub const IPPROTO_LEAF2: ::c_int = 26;
/// Reliable Data
pub const IPPROTO_RDP: ::c_int = 27;
/// Reliable Transaction
pub const IPPROTO_IRTP: ::c_int = 28;
/// tp-4 w/ class negotiation
pub const IPPROTO_TP: ::c_int = 29;
/// Bulk Data Transfer
pub const IPPROTO_BLT: ::c_int = 30;
/// Network Services
pub const IPPROTO_NSP: ::c_int = 31;
/// Merit Internodal
pub const IPPROTO_INP: ::c_int = 32;
#[doc(hidden)]
#[deprecated(
since = "0.2.72",
note = "IPPROTO_SEP is deprecated. Use IPPROTO_DCCP instead"
)]
2017-09-11 03:06:28 +02:00
pub const IPPROTO_SEP: ::c_int = 33;
/// Datagram Congestion Control Protocol
pub const IPPROTO_DCCP: ::c_int = 33;
2017-09-11 03:06:28 +02:00
/// Third Party Connect
pub const IPPROTO_3PC: ::c_int = 34;
/// InterDomain Policy Routing
pub const IPPROTO_IDPR: ::c_int = 35;
/// XTP
pub const IPPROTO_XTP: ::c_int = 36;
/// Datagram Delivery
pub const IPPROTO_DDP: ::c_int = 37;
/// Control Message Transport
pub const IPPROTO_CMTP: ::c_int = 38;
/// TP++ Transport
pub const IPPROTO_TPXX: ::c_int = 39;
/// IL transport protocol
pub const IPPROTO_IL: ::c_int = 40;
// IPPROTO_IPV6 defined in src/unix/mod.rs
/// Source Demand Routing
pub const IPPROTO_SDRP: ::c_int = 42;
/// IP6 routing header
pub const IPPROTO_ROUTING: ::c_int = 43;
/// IP6 fragmentation header
pub const IPPROTO_FRAGMENT: ::c_int = 44;
/// InterDomain Routing
pub const IPPROTO_IDRP: ::c_int = 45;
/// resource reservation
pub const IPPROTO_RSVP: ::c_int = 46;
/// General Routing Encap.
pub const IPPROTO_GRE: ::c_int = 47;
/// Mobile Host Routing
pub const IPPROTO_MHRP: ::c_int = 48;
/// BHA
pub const IPPROTO_BHA: ::c_int = 49;
/// IP6 Encap Sec. Payload
pub const IPPROTO_ESP: ::c_int = 50;
/// IP6 Auth Header
pub const IPPROTO_AH: ::c_int = 51;
/// Integ. Net Layer Security
pub const IPPROTO_INLSP: ::c_int = 52;
/// IP with encryption
pub const IPPROTO_SWIPE: ::c_int = 53;
/// Next Hop Resolution
pub const IPPROTO_NHRP: ::c_int = 54;
/// IP Mobility
pub const IPPROTO_MOBILE: ::c_int = 55;
/// Transport Layer Security
pub const IPPROTO_TLSP: ::c_int = 56;
/// SKIP
pub const IPPROTO_SKIP: ::c_int = 57;
// IPPROTO_ICMPV6 defined in src/unix/mod.rs
/// IP6 no next header
pub const IPPROTO_NONE: ::c_int = 59;
/// IP6 destination option
pub const IPPROTO_DSTOPTS: ::c_int = 60;
/// any host internal protocol
pub const IPPROTO_AHIP: ::c_int = 61;
/// CFTP
pub const IPPROTO_CFTP: ::c_int = 62;
/// "hello" routing protocol
pub const IPPROTO_HELLO: ::c_int = 63;
/// SATNET/Backroom EXPAK
pub const IPPROTO_SATEXPAK: ::c_int = 64;
/// Kryptolan
pub const IPPROTO_KRYPTOLAN: ::c_int = 65;
/// Remote Virtual Disk
pub const IPPROTO_RVD: ::c_int = 66;
/// Pluribus Packet Core
pub const IPPROTO_IPPC: ::c_int = 67;
/// Any distributed FS
pub const IPPROTO_ADFS: ::c_int = 68;
/// Satnet Monitoring
pub const IPPROTO_SATMON: ::c_int = 69;
/// VISA Protocol
pub const IPPROTO_VISA: ::c_int = 70;
/// Packet Core Utility
pub const IPPROTO_IPCV: ::c_int = 71;
/// Comp. Prot. Net. Executive
pub const IPPROTO_CPNX: ::c_int = 72;
/// Comp. Prot. HeartBeat
pub const IPPROTO_CPHB: ::c_int = 73;
/// Wang Span Network
pub const IPPROTO_WSN: ::c_int = 74;
/// Packet Video Protocol
pub const IPPROTO_PVP: ::c_int = 75;
/// BackRoom SATNET Monitoring
pub const IPPROTO_BRSATMON: ::c_int = 76;
/// Sun net disk proto (temp.)
pub const IPPROTO_ND: ::c_int = 77;
/// WIDEBAND Monitoring
pub const IPPROTO_WBMON: ::c_int = 78;
/// WIDEBAND EXPAK
pub const IPPROTO_WBEXPAK: ::c_int = 79;
/// ISO cnlp
pub const IPPROTO_EON: ::c_int = 80;
/// VMTP
pub const IPPROTO_VMTP: ::c_int = 81;
/// Secure VMTP
pub const IPPROTO_SVMTP: ::c_int = 82;
/// Banyon VINES
pub const IPPROTO_VINES: ::c_int = 83;
/// TTP
pub const IPPROTO_TTP: ::c_int = 84;
/// NSFNET-IGP
pub const IPPROTO_IGP: ::c_int = 85;
/// dissimilar gateway prot.
pub const IPPROTO_DGP: ::c_int = 86;
/// TCF
pub const IPPROTO_TCF: ::c_int = 87;
/// Cisco/GXS IGRP
pub const IPPROTO_IGRP: ::c_int = 88;
/// OSPFIGP
pub const IPPROTO_OSPFIGP: ::c_int = 89;
/// Strite RPC protocol
pub const IPPROTO_SRPC: ::c_int = 90;
/// Locus Address Resoloution
pub const IPPROTO_LARP: ::c_int = 91;
/// Multicast Transport
pub const IPPROTO_MTP: ::c_int = 92;
/// AX.25 Frames
pub const IPPROTO_AX25: ::c_int = 93;
/// IP encapsulated in IP
pub const IPPROTO_IPEIP: ::c_int = 94;
/// Mobile Int.ing control
pub const IPPROTO_MICP: ::c_int = 95;
/// Semaphore Comm. security
pub const IPPROTO_SCCSP: ::c_int = 96;
/// Ethernet IP encapsulation
pub const IPPROTO_ETHERIP: ::c_int = 97;
/// encapsulation header
pub const IPPROTO_ENCAP: ::c_int = 98;
/// any private encr. scheme
pub const IPPROTO_APES: ::c_int = 99;
/// GMTP
pub const IPPROTO_GMTP: ::c_int = 100;
/// payload compression (IPComp)
pub const IPPROTO_IPCOMP: ::c_int = 108;
/// SCTP
pub const IPPROTO_SCTP: ::c_int = 132;
/// IPv6 Mobility Header
pub const IPPROTO_MH: ::c_int = 135;
/// UDP-Lite
pub const IPPROTO_UDPLITE: ::c_int = 136;
/// IP6 Host Identity Protocol
pub const IPPROTO_HIP: ::c_int = 139;
/// IP6 Shim6 Protocol
pub const IPPROTO_SHIM6: ::c_int = 140;
/* 101-254: Partly Unassigned */
/// Protocol Independent Mcast
pub const IPPROTO_PIM: ::c_int = 103;
/// CARP
pub const IPPROTO_CARP: ::c_int = 112;
/// PGM
pub const IPPROTO_PGM: ::c_int = 113;
/// MPLS-in-IP
pub const IPPROTO_MPLS: ::c_int = 137;
/// PFSYNC
pub const IPPROTO_PFSYNC: ::c_int = 240;
/* 255: Reserved */
/* BSD Private, local use, namespace incursion, no longer used */
/// OLD divert pseudo-proto
pub const IPPROTO_OLD_DIVERT: ::c_int = 254;
pub const IPPROTO_MAX: ::c_int = 256;
/// last return value of *_input(), meaning "all job for this pkt is done".
pub const IPPROTO_DONE: ::c_int = 257;
/* Only used internally, so can be outside the range of valid IP protocols. */
/// divert pseudo-protocol
pub const IPPROTO_DIVERT: ::c_int = 258;
2017-09-11 03:06:28 +02:00
/// SeND pseudo-protocol
pub const IPPROTO_SEND: ::c_int = 259;
2018-11-26 17:44:15 +01:00
// sys/netinet/TCP.h
pub const TCP_MD5SIG: ::c_int = 16;
pub const TCP_INFO: ::c_int = 32;
pub const TCP_CONGESTION: ::c_int = 64;
pub const TCP_CCALGOOPT: ::c_int = 65;
pub const TCP_KEEPINIT: ::c_int = 128;
pub const TCP_FASTOPEN: ::c_int = 1025;
pub const TCP_PCAP_OUT: ::c_int = 2048;
pub const TCP_PCAP_IN: ::c_int = 4096;
2017-10-05 22:24:56 +02:00
pub const IP_BINDANY: ::c_int = 24;
pub const IP_BINDMULTI: ::c_int = 25;
pub const IP_RSS_LISTEN_BUCKET: ::c_int = 26;
2019-09-12 15:12:33 +02:00
pub const IP_ORIGDSTADDR: ::c_int = 27;
pub const IP_RECVORIGDSTADDR: ::c_int = IP_ORIGDSTADDR;
2018-12-15 10:18:36 +01:00
pub const IP_RECVTOS: ::c_int = 68;
2017-10-05 22:24:56 +02:00
2020-11-07 05:08:32 +01:00
pub const IPV6_BINDANY: ::c_int = 64;
pub const IPV6_ORIGDSTADDR: ::c_int = 72;
pub const IPV6_RECVORIGDSTADDR: ::c_int = IPV6_ORIGDSTADDR;
pub const PF_SLOW: ::c_int = AF_SLOW;
pub const PF_SCLUSTER: ::c_int = AF_SCLUSTER;
pub const PF_ARP: ::c_int = AF_ARP;
pub const PF_BLUETOOTH: ::c_int = AF_BLUETOOTH;
pub const PF_IEEE80211: ::c_int = AF_IEEE80211;
pub const PF_INET_SDP: ::c_int = AF_INET_SDP;
pub const PF_INET6_SDP: ::c_int = AF_INET6_SDP;
pub const NET_RT_DUMP: ::c_int = 1;
pub const NET_RT_FLAGS: ::c_int = 2;
pub const NET_RT_IFLIST: ::c_int = 3;
pub const NET_RT_IFMALIST: ::c_int = 4;
pub const NET_RT_IFLISTL: ::c_int = 5;
Add IPC,SHM,MSG for Freebsd INFO for the patch: FREEBSD [https://github.com/freebsd/freebsd] /sys/sys/_types.h typedef long __key_t; /sys/sys/types.h typedef __key_t key_t; /sys/sys/ipc.h struct ipc_perm { uid_t cuid; gid_t cgid; uid_t uid; gid_t gid; mode_t mode; unsigned short seq; key_t key; }; key_t ftok(const char *, int); /sys/sys/msg.h typedef unsigned long msglen_t; typedef unsigned long msgqnum_t; struct msqid_ds { struct ipc_perm msg_perm; struct msg *msg_first; struct msg *msg_last; msglen_t msg_cbytes; msgqnum_t msg_qnum; msglen_t msg_qbytes; pid_t msg_lspid; pid_t msg_lrpid; time_t msg_stime; time_t msg_rtime; time_t msg_ctime; }; struct msg { struct msg *msg_next; long msg_type; u_short msg_ts; short msg_spot; struct label *label; }; struct msginfo { int msgmax, msgmni, msgmnb, msgtql, msgssz, msgseg; }; int msgctl(int, int, struct msqid_ds *); int msgget(key_t, int); ssize_t msgrcv(int, void *, size_t, long, int); int msgsnd(int, const void *, size_t, int); /sys/sys/shm.h typedef unsigned int shmatt_t; struct shmid_ds { struct ipc_perm shm_perm; size_t shm_segsz; pid_t shm_lpid; pid_t shm_cpid; shmatt_t shm_nattch; time_t shm_atime; time_t shm_dtime; time_t shm_ctime; }; void *shmat(int, const void *, int); int shmget(key_t, size_t, int); int shmctl(int, int, struct shmid_ds *); int shmdt(const void *); /sys/security/mac/mac_internal.h struct label { int l_flags; intptr_t l_perpolicy[MAC_MAX_SLOTS]; }; Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update build.rs Update mod.rs Update mod.rs Update build.rs Update mod.rs Update build.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update build.rs Update build.rs Update mod.rs Update mod.rs
2017-03-28 11:30:53 +02:00
// System V IPC
pub const IPC_PRIVATE: ::key_t = 0;
pub const IPC_CREAT: ::c_int = 0o1000;
pub const IPC_EXCL: ::c_int = 0o2000;
pub const IPC_NOWAIT: ::c_int = 0o4000;
pub const IPC_RMID: ::c_int = 0;
pub const IPC_SET: ::c_int = 1;
pub const IPC_STAT: ::c_int = 2;
pub const IPC_INFO: ::c_int = 3;
2019-09-12 15:12:33 +02:00
pub const IPC_R: ::c_int = 0o400;
pub const IPC_W: ::c_int = 0o200;
pub const IPC_M: ::c_int = 0o10000;
Add IPC,SHM,MSG for Freebsd INFO for the patch: FREEBSD [https://github.com/freebsd/freebsd] /sys/sys/_types.h typedef long __key_t; /sys/sys/types.h typedef __key_t key_t; /sys/sys/ipc.h struct ipc_perm { uid_t cuid; gid_t cgid; uid_t uid; gid_t gid; mode_t mode; unsigned short seq; key_t key; }; key_t ftok(const char *, int); /sys/sys/msg.h typedef unsigned long msglen_t; typedef unsigned long msgqnum_t; struct msqid_ds { struct ipc_perm msg_perm; struct msg *msg_first; struct msg *msg_last; msglen_t msg_cbytes; msgqnum_t msg_qnum; msglen_t msg_qbytes; pid_t msg_lspid; pid_t msg_lrpid; time_t msg_stime; time_t msg_rtime; time_t msg_ctime; }; struct msg { struct msg *msg_next; long msg_type; u_short msg_ts; short msg_spot; struct label *label; }; struct msginfo { int msgmax, msgmni, msgmnb, msgtql, msgssz, msgseg; }; int msgctl(int, int, struct msqid_ds *); int msgget(key_t, int); ssize_t msgrcv(int, void *, size_t, long, int); int msgsnd(int, const void *, size_t, int); /sys/sys/shm.h typedef unsigned int shmatt_t; struct shmid_ds { struct ipc_perm shm_perm; size_t shm_segsz; pid_t shm_lpid; pid_t shm_cpid; shmatt_t shm_nattch; time_t shm_atime; time_t shm_dtime; time_t shm_ctime; }; void *shmat(int, const void *, int); int shmget(key_t, size_t, int); int shmctl(int, int, struct shmid_ds *); int shmdt(const void *); /sys/security/mac/mac_internal.h struct label { int l_flags; intptr_t l_perpolicy[MAC_MAX_SLOTS]; }; Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update build.rs Update mod.rs Update mod.rs Update build.rs Update mod.rs Update build.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update build.rs Update build.rs Update mod.rs Update mod.rs
2017-03-28 11:30:53 +02:00
pub const MSG_NOERROR: ::c_int = 0o10000;
pub const SHM_RDONLY: ::c_int = 0o10000;
pub const SHM_RND: ::c_int = 0o20000;
pub const SHM_R: ::c_int = 0o400;
pub const SHM_W: ::c_int = 0o200;
pub const SHM_LOCK: ::c_int = 11;
pub const SHM_UNLOCK: ::c_int = 12;
pub const SHM_STAT: ::c_int = 13;
pub const SHM_INFO: ::c_int = 14;
2017-11-06 19:51:50 +01:00
pub const SHM_ANON: *mut ::c_char = 1 as *mut ::c_char;
Add IPC,SHM,MSG for Freebsd INFO for the patch: FREEBSD [https://github.com/freebsd/freebsd] /sys/sys/_types.h typedef long __key_t; /sys/sys/types.h typedef __key_t key_t; /sys/sys/ipc.h struct ipc_perm { uid_t cuid; gid_t cgid; uid_t uid; gid_t gid; mode_t mode; unsigned short seq; key_t key; }; key_t ftok(const char *, int); /sys/sys/msg.h typedef unsigned long msglen_t; typedef unsigned long msgqnum_t; struct msqid_ds { struct ipc_perm msg_perm; struct msg *msg_first; struct msg *msg_last; msglen_t msg_cbytes; msgqnum_t msg_qnum; msglen_t msg_qbytes; pid_t msg_lspid; pid_t msg_lrpid; time_t msg_stime; time_t msg_rtime; time_t msg_ctime; }; struct msg { struct msg *msg_next; long msg_type; u_short msg_ts; short msg_spot; struct label *label; }; struct msginfo { int msgmax, msgmni, msgmnb, msgtql, msgssz, msgseg; }; int msgctl(int, int, struct msqid_ds *); int msgget(key_t, int); ssize_t msgrcv(int, void *, size_t, long, int); int msgsnd(int, const void *, size_t, int); /sys/sys/shm.h typedef unsigned int shmatt_t; struct shmid_ds { struct ipc_perm shm_perm; size_t shm_segsz; pid_t shm_lpid; pid_t shm_cpid; shmatt_t shm_nattch; time_t shm_atime; time_t shm_dtime; time_t shm_ctime; }; void *shmat(int, const void *, int); int shmget(key_t, size_t, int); int shmctl(int, int, struct shmid_ds *); int shmdt(const void *); /sys/security/mac/mac_internal.h struct label { int l_flags; intptr_t l_perpolicy[MAC_MAX_SLOTS]; }; Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update build.rs Update mod.rs Update mod.rs Update build.rs Update mod.rs Update build.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update build.rs Update build.rs Update mod.rs Update mod.rs
2017-03-28 11:30:53 +02:00
// The *_MAXID constants never should've been used outside of the
// FreeBSD base system. And with the exception of CTL_P1003_1B_MAXID,
// they were all removed in svn r262489. They remain here for backwards
// compatibility only, and are scheduled to be removed in libc 1.0.0.
#[doc(hidden)]
2019-09-12 15:12:33 +02:00
#[deprecated(since = "0.2.54", note = "Removed in FreeBSD 11")]
pub const CTL_MAXID: ::c_int = 10;
#[doc(hidden)]
2019-09-12 15:12:33 +02:00
#[deprecated(since = "0.2.54", note = "Removed in FreeBSD 11")]
pub const KERN_MAXID: ::c_int = 38;
#[doc(hidden)]
2019-09-12 15:12:33 +02:00
#[deprecated(since = "0.2.54", note = "Removed in FreeBSD 11")]
pub const HW_MAXID: ::c_int = 13;
#[doc(hidden)]
2019-09-12 15:12:33 +02:00
#[deprecated(since = "0.2.54", note = "Removed in FreeBSD 11")]
pub const USER_MAXID: ::c_int = 21;
#[doc(hidden)]
#[deprecated(since = "0.2.74", note = "Removed in FreeBSD 13")]
pub const CTL_P1003_1B_MAXID: ::c_int = 26;
pub const MSG_NOTIFICATION: ::c_int = 0x00002000;
pub const MSG_NBIO: ::c_int = 0x00004000;
pub const MSG_COMPAT: ::c_int = 0x00008000;
pub const MSG_CMSG_CLOEXEC: ::c_int = 0x00040000;
2016-10-08 12:51:53 +02:00
pub const MSG_NOSIGNAL: ::c_int = 0x20000;
// utmpx entry types
2016-12-04 13:08:48 +01:00
pub const EMPTY: ::c_short = 0;
pub const BOOT_TIME: ::c_short = 1;
pub const OLD_TIME: ::c_short = 2;
pub const NEW_TIME: ::c_short = 3;
pub const USER_PROCESS: ::c_short = 4;
pub const INIT_PROCESS: ::c_short = 5;
pub const LOGIN_PROCESS: ::c_short = 6;
pub const DEAD_PROCESS: ::c_short = 7;
pub const SHUTDOWN_TIME: ::c_short = 8;
// utmp database types
pub const UTXDB_ACTIVE: ::c_int = 0;
pub const UTXDB_LASTLOGIN: ::c_int = 1;
pub const UTXDB_LOG: ::c_int = 2;
2016-12-04 13:08:48 +01:00
pub const LC_COLLATE_MASK: ::c_int = 1 << 0;
pub const LC_CTYPE_MASK: ::c_int = 1 << 1;
pub const LC_MONETARY_MASK: ::c_int = 1 << 2;
pub const LC_NUMERIC_MASK: ::c_int = 1 << 3;
pub const LC_TIME_MASK: ::c_int = 1 << 4;
pub const LC_MESSAGES_MASK: ::c_int = 1 << 5;
2016-12-04 13:12:20 +01:00
pub const LC_ALL_MASK: ::c_int = LC_COLLATE_MASK
2019-09-12 15:12:33 +02:00
| LC_CTYPE_MASK
| LC_MESSAGES_MASK
| LC_MONETARY_MASK
| LC_NUMERIC_MASK
| LC_TIME_MASK;
2016-12-04 13:12:20 +01:00
pub const WSTOPPED: ::c_int = 2; // same as WUNTRACED
pub const WCONTINUED: ::c_int = 4;
pub const WNOWAIT: ::c_int = 8;
pub const WEXITED: ::c_int = 16;
pub const WTRAPPED: ::c_int = 32;
// FreeBSD defines a great many more of these, we only expose the
// standardized ones.
pub const P_PID: idtype_t = 0;
pub const P_PGID: idtype_t = 2;
pub const P_ALL: idtype_t = 7;
pub const UTIME_OMIT: c_long = -2;
pub const UTIME_NOW: c_long = -1;
pub const B460800: ::speed_t = 460800;
pub const B921600: ::speed_t = 921600;
2017-06-16 15:05:04 +02:00
pub const AT_FDCWD: ::c_int = -100;
pub const AT_EACCESS: ::c_int = 0x100;
pub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x200;
pub const AT_SYMLINK_FOLLOW: ::c_int = 0x400;
pub const AT_REMOVEDIR: ::c_int = 0x800;
2017-06-23 17:33:20 +02:00
pub const TABDLY: ::tcflag_t = 0x00000004;
pub const TAB0: ::tcflag_t = 0x00000000;
pub const TAB3: ::tcflag_t = 0x00000004;
2017-06-25 20:45:27 +02:00
pub const _PC_ACL_NFS4: ::c_int = 64;
pub const _SC_CPUSET_SIZE: ::c_int = 122;
// Flags which can be passed to pdfork(2)
pub const PD_DAEMON: ::c_int = 0x00000001;
pub const PD_CLOEXEC: ::c_int = 0x00000002;
pub const PD_ALLOWED_AT_FORK: ::c_int = PD_DAEMON | PD_CLOEXEC;
// Values for struct rtprio (type_ field)
pub const RTP_PRIO_REALTIME: ::c_ushort = 2;
pub const RTP_PRIO_NORMAL: ::c_ushort = 3;
pub const RTP_PRIO_IDLE: ::c_ushort = 4;
2018-02-27 01:36:13 +01:00
pub const POSIX_SPAWN_RESETIDS: ::c_int = 0x01;
pub const POSIX_SPAWN_SETPGROUP: ::c_int = 0x02;
pub const POSIX_SPAWN_SETSCHEDPARAM: ::c_int = 0x04;
pub const POSIX_SPAWN_SETSCHEDULER: ::c_int = 0x08;
pub const POSIX_SPAWN_SETSIGDEF: ::c_int = 0x10;
pub const POSIX_SPAWN_SETSIGMASK: ::c_int = 0x20;
2018-11-20 01:58:54 +01:00
// Flags for chflags(2)
2019-09-12 15:12:33 +02:00
pub const UF_SYSTEM: ::c_ulong = 0x00000080;
pub const UF_SPARSE: ::c_ulong = 0x00000100;
pub const UF_OFFLINE: ::c_ulong = 0x00000200;
pub const UF_REPARSE: ::c_ulong = 0x00000400;
pub const UF_ARCHIVE: ::c_ulong = 0x00000800;
pub const UF_READONLY: ::c_ulong = 0x00001000;
pub const UF_HIDDEN: ::c_ulong = 0x00008000;
pub const SF_SNAPSHOT: ::c_ulong = 0x00200000;
2018-11-20 01:58:54 +01:00
pub const F_OGETLK: ::c_int = 7;
pub const F_OSETLK: ::c_int = 8;
pub const F_OSETLKW: ::c_int = 9;
pub const F_DUP2FD: ::c_int = 10;
pub const F_SETLK_REMOTE: ::c_int = 14;
pub const F_READAHEAD: ::c_int = 15;
pub const F_RDAHEAD: ::c_int = 16;
pub const F_DUP2FD_CLOEXEC: ::c_int = 18;
const_fn! {
{const} fn _ALIGN(p: usize) -> usize {
(p + _ALIGNBYTES) & !_ALIGNBYTES
}
}
f! {
pub fn CMSG_DATA(cmsg: *const ::cmsghdr) -> *mut ::c_uchar {
(cmsg as *mut ::c_uchar)
2019-02-13 10:38:54 +01:00
.offset(_ALIGN(::mem::size_of::<::cmsghdr>()) as isize)
}
pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint {
2019-02-13 10:38:54 +01:00
_ALIGN(::mem::size_of::<::cmsghdr>()) as ::c_uint + length
}
pub fn CMSG_NXTHDR(mhdr: *const ::msghdr, cmsg: *const ::cmsghdr)
-> *mut ::cmsghdr
{
if cmsg.is_null() {
return ::CMSG_FIRSTHDR(mhdr);
};
let next = cmsg as usize + _ALIGN((*cmsg).cmsg_len as usize)
2019-02-13 10:38:54 +01:00
+ _ALIGN(::mem::size_of::<::cmsghdr>());
let max = (*mhdr).msg_control as usize
+ (*mhdr).msg_controllen as usize;
if next > max {
0 as *mut ::cmsghdr
} else {
(cmsg as usize + _ALIGN((*cmsg).cmsg_len as usize))
as *mut ::cmsghdr
}
}
pub {const} fn CMSG_SPACE(length: ::c_uint) -> ::c_uint {
2019-02-13 10:38:54 +01:00
(_ALIGN(::mem::size_of::<::cmsghdr>()) + _ALIGN(length as usize))
as ::c_uint
}
pub fn SOCKCREDSIZE(ngrps: usize) -> usize {
let ngrps = if ngrps > 0 {
ngrps - 1
} else {
0
};
::mem::size_of::<sockcred>() + ::mem::size_of::<::gid_t>() * ngrps
}
pub fn uname(buf: *mut ::utsname) -> ::c_int {
__xuname(256, buf as *mut ::c_void)
}
}
safe_f! {
pub {const} fn WIFSIGNALED(status: ::c_int) -> bool {
(status & 0o177) != 0o177 && (status & 0o177) != 0 && status != 0x13
}
}
2019-09-12 15:12:33 +02:00
extern "C" {
Squashed commit of the following: Running libc-test: PASSED 3426 tests commit 1a7ee714db34f17abd33dc9262d3e10275eec68d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:30:56 2016 +0100 Fix RLIM_POSIXLOCKS -> RLIMIT_POSIXLOCKS commit 09c49a97ebebf087486659ef8277610d99e5c7b3 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:29:24 2016 +0100 Ignore signedness check for uuid_t on DragonFly commit aab4d11f59917686280c271683bf00ff34c8040d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:23:21 2016 +0100 Move FreeBSD-only function into freebsd/mod.rs commit 9921f030b103dbccb37930ab1d64cf1dd587bd48 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:21:42 2016 +0100 Move POSIX_FADV_* to freebsd/mod.rs commit 2921c2db1e3d0314375aa371936bd227cc6c6e2a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:20:11 2016 +0100 Fix signedness of blksize_t for DragonFly commit 65e817baee9e01d2d7c86c6202c63ee46d218914 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:19:02 2016 +0100 Fix Q_{GET,SET}QUOTA for DragonFly commit a0d2d63ef88206d321222140ae6b3d92c93b51bd Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:17:27 2016 +0100 Fix RLIMIT_* for DragonFly commit d04a1600a7c66a792a481e1524a1652234a69939 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:12:09 2016 +0100 Fix ELAST for DragonFly commit d120b9278426a76ee106e91e6c999885c1f5c7f4 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:10:28 2016 +0100 Fix F_GETLK, F_SETLK, F_SETLKW for DragonFly commit 963f7da270a14f4d12ea1a52301e363ce745c897 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:08:51 2016 +0100 Fix O_CLOEXEC for DragonFly commit f4d6c9d5991d690c7cb4460790a8e37e713bc034 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:07:18 2016 +0100 Fix RAND_MAX for DragonFly commit ba48336da7be613a49702ad9de445ab3850ebb7c Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:04:48 2016 +0100 Fix statvfs for DragonFly commit 9ae480c60a7d77b31a17d34320464f4179e40a4a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:51:47 2016 +0100 Fix fd_set for DragonFly commit a15e027838288c4980371c503252cca7e32356c0 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:42:24 2016 +0100 Fix all remaining issues on DragonFly Missing functions and missing constats. commit 3966e4fce0cb81bd0b3ed8cdf50611e6982f7767 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:27:14 2016 +0100 Use a macro instead of a constant. When using a constant, the libc-test thinks this constant exists as an C equivalent. commit 9b5659aaf54419f317250cb3a4692a1c14fdbc33 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:21:01 2016 +0100 Use a constant in utsname commit 50484eda3c978a9c0a9652f6fc619c41ad349c2d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:17:55 2016 +0100 Fix struct utsname commit 832e94248fabc91574d6d42630168da3542c153f Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:07:08 2016 +0100 DragonFly has different stat, dirent, clock_t, ino_t, nlink_t, blksize_t commit f3152a369d75ae8c1558afa5a59aa55e33b33ec6 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:52:54 2016 +0100 Move DragonFly related stuff into dragonfly/* Replicate x86_64.rs from FreeBSD. Need some twists. commit 9fe35124064aa92303171d019004df119f948223 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:49:38 2016 +0100 Move FreeBSD code under freebsd/*. Next commit will replicate some of the architecture dependent stuff for DragonFly. commit e91983df8deb14004f7a0fe47878f0e4eb31198d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:44:25 2016 +0100 struct utsname has a different size on DragonFly
2016-02-20 13:34:01 +01:00
pub fn __error() -> *mut ::c_int;
pub fn aio_cancel(fd: ::c_int, aiocbp: *mut aiocb) -> ::c_int;
pub fn aio_error(aiocbp: *const aiocb) -> ::c_int;
pub fn aio_fsync(op: ::c_int, aiocbp: *mut aiocb) -> ::c_int;
pub fn aio_read(aiocbp: *mut aiocb) -> ::c_int;
pub fn aio_return(aiocbp: *mut aiocb) -> ::ssize_t;
pub fn aio_suspend(
aiocb_list: *const *const aiocb,
nitems: ::c_int,
timeout: *const ::timespec,
) -> ::c_int;
pub fn aio_write(aiocbp: *mut aiocb) -> ::c_int;
2019-09-12 15:12:33 +02:00
pub fn extattr_delete_fd(
fd: ::c_int,
attrnamespace: ::c_int,
attrname: *const ::c_char,
) -> ::c_int;
pub fn extattr_delete_file(
path: *const ::c_char,
attrnamespace: ::c_int,
attrname: *const ::c_char,
) -> ::c_int;
pub fn extattr_delete_link(
path: *const ::c_char,
attrnamespace: ::c_int,
attrname: *const ::c_char,
) -> ::c_int;
pub fn extattr_get_fd(
fd: ::c_int,
attrnamespace: ::c_int,
attrname: *const ::c_char,
data: *mut ::c_void,
nbytes: ::size_t,
) -> ::ssize_t;
pub fn extattr_get_file(
path: *const ::c_char,
attrnamespace: ::c_int,
attrname: *const ::c_char,
data: *mut ::c_void,
nbytes: ::size_t,
) -> ::ssize_t;
pub fn extattr_get_link(
path: *const ::c_char,
attrnamespace: ::c_int,
attrname: *const ::c_char,
data: *mut ::c_void,
nbytes: ::size_t,
) -> ::ssize_t;
pub fn extattr_list_fd(
fd: ::c_int,
attrnamespace: ::c_int,
data: *mut ::c_void,
nbytes: ::size_t,
) -> ::ssize_t;
pub fn extattr_list_file(
path: *const ::c_char,
attrnamespace: ::c_int,
data: *mut ::c_void,
nbytes: ::size_t,
) -> ::ssize_t;
pub fn extattr_list_link(
path: *const ::c_char,
attrnamespace: ::c_int,
data: *mut ::c_void,
nbytes: ::size_t,
) -> ::ssize_t;
pub fn extattr_set_fd(
fd: ::c_int,
attrnamespace: ::c_int,
attrname: *const ::c_char,
data: *const ::c_void,
nbytes: ::size_t,
) -> ::ssize_t;
pub fn extattr_set_file(
path: *const ::c_char,
attrnamespace: ::c_int,
attrname: *const ::c_char,
data: *const ::c_void,
nbytes: ::size_t,
) -> ::ssize_t;
pub fn extattr_set_link(
path: *const ::c_char,
attrnamespace: ::c_int,
attrname: *const ::c_char,
data: *const ::c_void,
nbytes: ::size_t,
) -> ::ssize_t;
pub fn jail(jail: *mut ::jail) -> ::c_int;
pub fn jail_attach(jid: ::c_int) -> ::c_int;
pub fn jail_remove(jid: ::c_int) -> ::c_int;
2021-04-06 02:57:12 +02:00
pub fn jail_get(iov: *mut ::iovec, niov: ::c_uint, flags: ::c_int) -> ::c_int;
pub fn jail_set(iov: *mut ::iovec, niov: ::c_uint, flags: ::c_int) -> ::c_int;
pub fn lio_listio(
mode: ::c_int,
aiocb_list: *const *mut aiocb,
nitems: ::c_int,
sevp: *mut sigevent,
) -> ::c_int;
2021-04-06 02:57:12 +02:00
pub fn posix_fallocate(fd: ::c_int, offset: ::off_t, len: ::off_t) -> ::c_int;
pub fn posix_fadvise(fd: ::c_int, offset: ::off_t, len: ::off_t, advise: ::c_int) -> ::c_int;
Squashed commit of the following: Running libc-test: PASSED 3426 tests commit 1a7ee714db34f17abd33dc9262d3e10275eec68d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:30:56 2016 +0100 Fix RLIM_POSIXLOCKS -> RLIMIT_POSIXLOCKS commit 09c49a97ebebf087486659ef8277610d99e5c7b3 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:29:24 2016 +0100 Ignore signedness check for uuid_t on DragonFly commit aab4d11f59917686280c271683bf00ff34c8040d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:23:21 2016 +0100 Move FreeBSD-only function into freebsd/mod.rs commit 9921f030b103dbccb37930ab1d64cf1dd587bd48 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:21:42 2016 +0100 Move POSIX_FADV_* to freebsd/mod.rs commit 2921c2db1e3d0314375aa371936bd227cc6c6e2a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:20:11 2016 +0100 Fix signedness of blksize_t for DragonFly commit 65e817baee9e01d2d7c86c6202c63ee46d218914 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:19:02 2016 +0100 Fix Q_{GET,SET}QUOTA for DragonFly commit a0d2d63ef88206d321222140ae6b3d92c93b51bd Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:17:27 2016 +0100 Fix RLIMIT_* for DragonFly commit d04a1600a7c66a792a481e1524a1652234a69939 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:12:09 2016 +0100 Fix ELAST for DragonFly commit d120b9278426a76ee106e91e6c999885c1f5c7f4 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:10:28 2016 +0100 Fix F_GETLK, F_SETLK, F_SETLKW for DragonFly commit 963f7da270a14f4d12ea1a52301e363ce745c897 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:08:51 2016 +0100 Fix O_CLOEXEC for DragonFly commit f4d6c9d5991d690c7cb4460790a8e37e713bc034 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:07:18 2016 +0100 Fix RAND_MAX for DragonFly commit ba48336da7be613a49702ad9de445ab3850ebb7c Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:04:48 2016 +0100 Fix statvfs for DragonFly commit 9ae480c60a7d77b31a17d34320464f4179e40a4a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:51:47 2016 +0100 Fix fd_set for DragonFly commit a15e027838288c4980371c503252cca7e32356c0 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:42:24 2016 +0100 Fix all remaining issues on DragonFly Missing functions and missing constats. commit 3966e4fce0cb81bd0b3ed8cdf50611e6982f7767 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:27:14 2016 +0100 Use a macro instead of a constant. When using a constant, the libc-test thinks this constant exists as an C equivalent. commit 9b5659aaf54419f317250cb3a4692a1c14fdbc33 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:21:01 2016 +0100 Use a constant in utsname commit 50484eda3c978a9c0a9652f6fc619c41ad349c2d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:17:55 2016 +0100 Fix struct utsname commit 832e94248fabc91574d6d42630168da3542c153f Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:07:08 2016 +0100 DragonFly has different stat, dirent, clock_t, ino_t, nlink_t, blksize_t commit f3152a369d75ae8c1558afa5a59aa55e33b33ec6 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:52:54 2016 +0100 Move DragonFly related stuff into dragonfly/* Replicate x86_64.rs from FreeBSD. Need some twists. commit 9fe35124064aa92303171d019004df119f948223 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:49:38 2016 +0100 Move FreeBSD code under freebsd/*. Next commit will replicate some of the architecture dependent stuff for DragonFly. commit e91983df8deb14004f7a0fe47878f0e4eb31198d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:44:25 2016 +0100 struct utsname has a different size on DragonFly
2016-02-20 13:34:01 +01:00
pub fn mkostemp(template: *mut ::c_char, flags: ::c_int) -> ::c_int;
2021-04-06 02:57:12 +02:00
pub fn mkostemps(template: *mut ::c_char, suffixlen: ::c_int, flags: ::c_int) -> ::c_int;
pub fn getutxuser(user: *const ::c_char) -> *mut utmpx;
pub fn setutxdb(_type: ::c_int, file: *const ::c_char) -> ::c_int;
2021-04-06 02:57:12 +02:00
pub fn aio_waitcomplete(iocbp: *mut *mut aiocb, timeout: *mut ::timespec) -> ::ssize_t;
2019-03-27 14:31:57 +01:00
pub fn mq_getfd_np(mqd: ::mqd_t) -> ::c_int;
2019-09-12 15:12:33 +02:00
pub fn waitid(
idtype: idtype_t,
id: ::id_t,
infop: *mut ::siginfo_t,
options: ::c_int,
) -> ::c_int;
Add IPC,SHM,MSG for Freebsd INFO for the patch: FREEBSD [https://github.com/freebsd/freebsd] /sys/sys/_types.h typedef long __key_t; /sys/sys/types.h typedef __key_t key_t; /sys/sys/ipc.h struct ipc_perm { uid_t cuid; gid_t cgid; uid_t uid; gid_t gid; mode_t mode; unsigned short seq; key_t key; }; key_t ftok(const char *, int); /sys/sys/msg.h typedef unsigned long msglen_t; typedef unsigned long msgqnum_t; struct msqid_ds { struct ipc_perm msg_perm; struct msg *msg_first; struct msg *msg_last; msglen_t msg_cbytes; msgqnum_t msg_qnum; msglen_t msg_qbytes; pid_t msg_lspid; pid_t msg_lrpid; time_t msg_stime; time_t msg_rtime; time_t msg_ctime; }; struct msg { struct msg *msg_next; long msg_type; u_short msg_ts; short msg_spot; struct label *label; }; struct msginfo { int msgmax, msgmni, msgmnb, msgtql, msgssz, msgseg; }; int msgctl(int, int, struct msqid_ds *); int msgget(key_t, int); ssize_t msgrcv(int, void *, size_t, long, int); int msgsnd(int, const void *, size_t, int); /sys/sys/shm.h typedef unsigned int shmatt_t; struct shmid_ds { struct ipc_perm shm_perm; size_t shm_segsz; pid_t shm_lpid; pid_t shm_cpid; shmatt_t shm_nattch; time_t shm_atime; time_t shm_dtime; time_t shm_ctime; }; void *shmat(int, const void *, int); int shmget(key_t, size_t, int); int shmctl(int, int, struct shmid_ds *); int shmdt(const void *); /sys/security/mac/mac_internal.h struct label { int l_flags; intptr_t l_perpolicy[MAC_MAX_SLOTS]; }; Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update build.rs Update mod.rs Update mod.rs Update build.rs Update mod.rs Update build.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update build.rs Update build.rs Update mod.rs Update mod.rs
2017-03-28 11:30:53 +02:00
pub fn ftok(pathname: *const ::c_char, proj_id: ::c_int) -> ::key_t;
pub fn shmget(key: ::key_t, size: ::size_t, shmflg: ::c_int) -> ::c_int;
2021-04-06 02:57:12 +02:00
pub fn shmat(shmid: ::c_int, shmaddr: *const ::c_void, shmflg: ::c_int) -> *mut ::c_void;
Add IPC,SHM,MSG for Freebsd INFO for the patch: FREEBSD [https://github.com/freebsd/freebsd] /sys/sys/_types.h typedef long __key_t; /sys/sys/types.h typedef __key_t key_t; /sys/sys/ipc.h struct ipc_perm { uid_t cuid; gid_t cgid; uid_t uid; gid_t gid; mode_t mode; unsigned short seq; key_t key; }; key_t ftok(const char *, int); /sys/sys/msg.h typedef unsigned long msglen_t; typedef unsigned long msgqnum_t; struct msqid_ds { struct ipc_perm msg_perm; struct msg *msg_first; struct msg *msg_last; msglen_t msg_cbytes; msgqnum_t msg_qnum; msglen_t msg_qbytes; pid_t msg_lspid; pid_t msg_lrpid; time_t msg_stime; time_t msg_rtime; time_t msg_ctime; }; struct msg { struct msg *msg_next; long msg_type; u_short msg_ts; short msg_spot; struct label *label; }; struct msginfo { int msgmax, msgmni, msgmnb, msgtql, msgssz, msgseg; }; int msgctl(int, int, struct msqid_ds *); int msgget(key_t, int); ssize_t msgrcv(int, void *, size_t, long, int); int msgsnd(int, const void *, size_t, int); /sys/sys/shm.h typedef unsigned int shmatt_t; struct shmid_ds { struct ipc_perm shm_perm; size_t shm_segsz; pid_t shm_lpid; pid_t shm_cpid; shmatt_t shm_nattch; time_t shm_atime; time_t shm_dtime; time_t shm_ctime; }; void *shmat(int, const void *, int); int shmget(key_t, size_t, int); int shmctl(int, int, struct shmid_ds *); int shmdt(const void *); /sys/security/mac/mac_internal.h struct label { int l_flags; intptr_t l_perpolicy[MAC_MAX_SLOTS]; }; Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update build.rs Update mod.rs Update mod.rs Update build.rs Update mod.rs Update build.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update build.rs Update build.rs Update mod.rs Update mod.rs
2017-03-28 11:30:53 +02:00
pub fn shmdt(shmaddr: *const ::c_void) -> ::c_int;
2021-04-06 02:57:12 +02:00
pub fn shmctl(shmid: ::c_int, cmd: ::c_int, buf: *mut ::shmid_ds) -> ::c_int;
pub fn msgctl(msqid: ::c_int, cmd: ::c_int, buf: *mut ::msqid_ds) -> ::c_int;
Add IPC,SHM,MSG for Freebsd INFO for the patch: FREEBSD [https://github.com/freebsd/freebsd] /sys/sys/_types.h typedef long __key_t; /sys/sys/types.h typedef __key_t key_t; /sys/sys/ipc.h struct ipc_perm { uid_t cuid; gid_t cgid; uid_t uid; gid_t gid; mode_t mode; unsigned short seq; key_t key; }; key_t ftok(const char *, int); /sys/sys/msg.h typedef unsigned long msglen_t; typedef unsigned long msgqnum_t; struct msqid_ds { struct ipc_perm msg_perm; struct msg *msg_first; struct msg *msg_last; msglen_t msg_cbytes; msgqnum_t msg_qnum; msglen_t msg_qbytes; pid_t msg_lspid; pid_t msg_lrpid; time_t msg_stime; time_t msg_rtime; time_t msg_ctime; }; struct msg { struct msg *msg_next; long msg_type; u_short msg_ts; short msg_spot; struct label *label; }; struct msginfo { int msgmax, msgmni, msgmnb, msgtql, msgssz, msgseg; }; int msgctl(int, int, struct msqid_ds *); int msgget(key_t, int); ssize_t msgrcv(int, void *, size_t, long, int); int msgsnd(int, const void *, size_t, int); /sys/sys/shm.h typedef unsigned int shmatt_t; struct shmid_ds { struct ipc_perm shm_perm; size_t shm_segsz; pid_t shm_lpid; pid_t shm_cpid; shmatt_t shm_nattch; time_t shm_atime; time_t shm_dtime; time_t shm_ctime; }; void *shmat(int, const void *, int); int shmget(key_t, size_t, int); int shmctl(int, int, struct shmid_ds *); int shmdt(const void *); /sys/security/mac/mac_internal.h struct label { int l_flags; intptr_t l_perpolicy[MAC_MAX_SLOTS]; }; Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update build.rs Update mod.rs Update mod.rs Update build.rs Update mod.rs Update build.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update mod.rs Update build.rs Update build.rs Update mod.rs Update mod.rs
2017-03-28 11:30:53 +02:00
pub fn msgget(key: ::key_t, msgflg: ::c_int) -> ::c_int;
2019-09-12 15:12:33 +02:00
pub fn msgsnd(
msqid: ::c_int,
msgp: *const ::c_void,
msgsz: ::size_t,
msgflg: ::c_int,
) -> ::c_int;
pub fn cfmakesane(termios: *mut ::termios);
2019-09-12 15:12:33 +02:00
pub fn fexecve(
fd: ::c_int,
argv: *const *const ::c_char,
envp: *const *const ::c_char,
) -> ::c_int;
pub fn pdfork(fdp: *mut ::c_int, flags: ::c_int) -> ::pid_t;
pub fn pdgetpid(fd: ::c_int, pidp: *mut ::pid_t) -> ::c_int;
pub fn pdkill(fd: ::c_int, signum: ::c_int) -> ::c_int;
2021-04-06 02:57:12 +02:00
pub fn rtprio_thread(function: ::c_int, lwpid: ::lwpid_t, rtp: *mut super::rtprio) -> ::c_int;
2019-09-12 15:12:33 +02:00
pub fn posix_spawn(
pid: *mut ::pid_t,
path: *const ::c_char,
file_actions: *const ::posix_spawn_file_actions_t,
attrp: *const ::posix_spawnattr_t,
argv: *const *mut ::c_char,
envp: *const *mut ::c_char,
) -> ::c_int;
pub fn posix_spawnp(
pid: *mut ::pid_t,
file: *const ::c_char,
file_actions: *const ::posix_spawn_file_actions_t,
attrp: *const ::posix_spawnattr_t,
argv: *const *mut ::c_char,
envp: *const *mut ::c_char,
) -> ::c_int;
2018-02-27 01:36:13 +01:00
pub fn posix_spawnattr_init(attr: *mut posix_spawnattr_t) -> ::c_int;
pub fn posix_spawnattr_destroy(attr: *mut posix_spawnattr_t) -> ::c_int;
2019-09-12 15:12:33 +02:00
pub fn posix_spawnattr_getsigdefault(
attr: *const posix_spawnattr_t,
default: *mut ::sigset_t,
) -> ::c_int;
pub fn posix_spawnattr_setsigdefault(
attr: *mut posix_spawnattr_t,
default: *const ::sigset_t,
) -> ::c_int;
pub fn posix_spawnattr_getsigmask(
attr: *const posix_spawnattr_t,
default: *mut ::sigset_t,
) -> ::c_int;
pub fn posix_spawnattr_setsigmask(
attr: *mut posix_spawnattr_t,
default: *const ::sigset_t,
) -> ::c_int;
pub fn posix_spawnattr_getflags(
attr: *const posix_spawnattr_t,
flags: *mut ::c_short,
) -> ::c_int;
2021-04-06 02:57:12 +02:00
pub fn posix_spawnattr_setflags(attr: *mut posix_spawnattr_t, flags: ::c_short) -> ::c_int;
2019-09-12 15:12:33 +02:00
pub fn posix_spawnattr_getpgroup(
attr: *const posix_spawnattr_t,
flags: *mut ::pid_t,
) -> ::c_int;
2021-04-06 02:57:12 +02:00
pub fn posix_spawnattr_setpgroup(attr: *mut posix_spawnattr_t, flags: ::pid_t) -> ::c_int;
2019-09-12 15:12:33 +02:00
pub fn posix_spawnattr_getschedpolicy(
attr: *const posix_spawnattr_t,
flags: *mut ::c_int,
) -> ::c_int;
2021-04-06 02:57:12 +02:00
pub fn posix_spawnattr_setschedpolicy(attr: *mut posix_spawnattr_t, flags: ::c_int) -> ::c_int;
2018-02-27 01:36:13 +01:00
pub fn posix_spawnattr_getschedparam(
attr: *const posix_spawnattr_t,
param: *mut ::sched_param,
) -> ::c_int;
pub fn posix_spawnattr_setschedparam(
attr: *mut posix_spawnattr_t,
param: *const ::sched_param,
) -> ::c_int;
2021-04-06 02:57:12 +02:00
pub fn posix_spawn_file_actions_init(actions: *mut posix_spawn_file_actions_t) -> ::c_int;
pub fn posix_spawn_file_actions_destroy(actions: *mut posix_spawn_file_actions_t) -> ::c_int;
2018-02-27 01:36:13 +01:00
pub fn posix_spawn_file_actions_addopen(
actions: *mut posix_spawn_file_actions_t,
fd: ::c_int,
path: *const ::c_char,
oflag: ::c_int,
mode: ::mode_t,
) -> ::c_int;
pub fn posix_spawn_file_actions_addclose(
actions: *mut posix_spawn_file_actions_t,
fd: ::c_int,
) -> ::c_int;
pub fn posix_spawn_file_actions_adddup2(
actions: *mut posix_spawn_file_actions_t,
fd: ::c_int,
newfd: ::c_int,
) -> ::c_int;
2021-04-06 02:57:12 +02:00
#[cfg_attr(all(target_os = "freebsd", freebsd11), link_name = "statfs@FBSD_1.0")]
pub fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int;
2021-04-06 02:57:12 +02:00
#[cfg_attr(all(target_os = "freebsd", freebsd11), link_name = "fstatfs@FBSD_1.0")]
pub fn fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int;
pub fn dup3(src: ::c_int, dst: ::c_int, flags: ::c_int) -> ::c_int;
pub fn __xuname(nmln: ::c_int, buf: *mut ::c_void) -> ::c_int;
2019-09-12 15:12:33 +02:00
pub fn sendmmsg(
sockfd: ::c_int,
msgvec: *mut ::mmsghdr,
vlen: ::size_t,
flags: ::c_int,
) -> ::ssize_t;
pub fn recvmmsg(
sockfd: ::c_int,
msgvec: *mut ::mmsghdr,
vlen: ::size_t,
flags: ::c_int,
timeout: *const ::timespec,
) -> ::ssize_t;
pub fn memmem(
haystack: *const ::c_void,
haystacklen: ::size_t,
needle: *const ::c_void,
needlelen: ::size_t,
) -> *mut ::c_void;
2021-04-06 02:57:12 +02:00
pub fn nmount(iov: *mut ::iovec, niov: ::c_uint, flags: ::c_int) -> ::c_int;
Squashed commit of the following: Running libc-test: PASSED 3426 tests commit 1a7ee714db34f17abd33dc9262d3e10275eec68d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:30:56 2016 +0100 Fix RLIM_POSIXLOCKS -> RLIMIT_POSIXLOCKS commit 09c49a97ebebf087486659ef8277610d99e5c7b3 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:29:24 2016 +0100 Ignore signedness check for uuid_t on DragonFly commit aab4d11f59917686280c271683bf00ff34c8040d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:23:21 2016 +0100 Move FreeBSD-only function into freebsd/mod.rs commit 9921f030b103dbccb37930ab1d64cf1dd587bd48 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:21:42 2016 +0100 Move POSIX_FADV_* to freebsd/mod.rs commit 2921c2db1e3d0314375aa371936bd227cc6c6e2a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:20:11 2016 +0100 Fix signedness of blksize_t for DragonFly commit 65e817baee9e01d2d7c86c6202c63ee46d218914 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:19:02 2016 +0100 Fix Q_{GET,SET}QUOTA for DragonFly commit a0d2d63ef88206d321222140ae6b3d92c93b51bd Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:17:27 2016 +0100 Fix RLIMIT_* for DragonFly commit d04a1600a7c66a792a481e1524a1652234a69939 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:12:09 2016 +0100 Fix ELAST for DragonFly commit d120b9278426a76ee106e91e6c999885c1f5c7f4 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:10:28 2016 +0100 Fix F_GETLK, F_SETLK, F_SETLKW for DragonFly commit 963f7da270a14f4d12ea1a52301e363ce745c897 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:08:51 2016 +0100 Fix O_CLOEXEC for DragonFly commit f4d6c9d5991d690c7cb4460790a8e37e713bc034 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:07:18 2016 +0100 Fix RAND_MAX for DragonFly commit ba48336da7be613a49702ad9de445ab3850ebb7c Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 13:04:48 2016 +0100 Fix statvfs for DragonFly commit 9ae480c60a7d77b31a17d34320464f4179e40a4a Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:51:47 2016 +0100 Fix fd_set for DragonFly commit a15e027838288c4980371c503252cca7e32356c0 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:42:24 2016 +0100 Fix all remaining issues on DragonFly Missing functions and missing constats. commit 3966e4fce0cb81bd0b3ed8cdf50611e6982f7767 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:27:14 2016 +0100 Use a macro instead of a constant. When using a constant, the libc-test thinks this constant exists as an C equivalent. commit 9b5659aaf54419f317250cb3a4692a1c14fdbc33 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:21:01 2016 +0100 Use a constant in utsname commit 50484eda3c978a9c0a9652f6fc619c41ad349c2d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:17:55 2016 +0100 Fix struct utsname commit 832e94248fabc91574d6d42630168da3542c153f Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 12:07:08 2016 +0100 DragonFly has different stat, dirent, clock_t, ino_t, nlink_t, blksize_t commit f3152a369d75ae8c1558afa5a59aa55e33b33ec6 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:52:54 2016 +0100 Move DragonFly related stuff into dragonfly/* Replicate x86_64.rs from FreeBSD. Need some twists. commit 9fe35124064aa92303171d019004df119f948223 Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:49:38 2016 +0100 Move FreeBSD code under freebsd/*. Next commit will replicate some of the architecture dependent stuff for DragonFly. commit e91983df8deb14004f7a0fe47878f0e4eb31198d Author: Michael Neumann <mneumann@ntecs.de> Date: Sat Feb 20 11:44:25 2016 +0100 struct utsname has a different size on DragonFly
2016-02-20 13:34:01 +01:00
}
#[link(name = "util")]
2019-09-12 15:12:33 +02:00
extern "C" {
pub fn extattr_namespace_to_string(
attrnamespace: ::c_int,
string: *mut *mut ::c_char,
) -> ::c_int;
pub fn extattr_string_to_namespace(
string: *const ::c_char,
attrnamespace: *mut ::c_int,
) -> ::c_int;
}
cfg_if! {
if #[cfg(freebsd13)] {
mod freebsd13;
pub use self::freebsd13::*;
} else if #[cfg(freebsd12)] {
mod freebsd12;
pub use self::freebsd12::*;
} else if #[cfg(any(freebsd10, freebsd11))] {
mod freebsd11;
pub use self::freebsd11::*;
2019-08-14 15:22:20 +02:00
} else {
// Unknown freebsd version
}
}
cfg_if! {
if #[cfg(target_arch = "x86")] {
mod x86;
pub use self::x86::*;
} else if #[cfg(target_arch = "x86_64")] {
mod x86_64;
pub use self::x86_64::*;
} else if #[cfg(target_arch = "aarch64")] {
mod aarch64;
pub use self::aarch64::*;
2019-02-02 16:19:08 +01:00
} else if #[cfg(target_arch = "arm")] {
mod arm;
pub use self::arm::*;
2019-01-21 18:34:27 +01:00
} else if #[cfg(target_arch = "powerpc64")] {
mod powerpc64;
pub use self::powerpc64::*;
} else {
// Unknown target_arch
}
}