diff --git a/src/fuchsia/mod.rs b/src/fuchsia/mod.rs index 20bf7401e570f..22eb8b9393274 100644 --- a/src/fuchsia/mod.rs +++ b/src/fuchsia/mod.rs @@ -1592,7 +1592,9 @@ pub const LOCK_UN: c_int = 8; pub const SS_ONSTACK: c_int = 1; pub const SS_DISABLE: c_int = 2; -pub const PATH_MAX: c_int = 4096; +ct! { + pub const PATH_MAX: c_int = 4096; +} pub const FD_SETSIZE: c_int = 1024; diff --git a/src/macros.rs b/src/macros.rs index 0149b1fd18466..5c5b8c2deac79 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -402,6 +402,21 @@ macro_rules! offset_of { }}; } +/// Defines constants with an accompanying doc comment pointing out their +/// instability, and links to the crate documentation for usage guidelines. +macro_rules! ct { + ($($it:item)+) => { +$( +/// This constant, among others often used in C for the purposes of denoting the +/// latest value or limit in a set of constants, is likely to change upstream. +/// For correct usage, see the [crate-level documentation][docs]. +/// +/// [docs]: index.html#usage-recommendations +$it +)+ + }; +} + #[cfg(test)] mod tests { use core::any::TypeId; diff --git a/src/new/linux_uapi/linux/can/j1939.rs b/src/new/linux_uapi/linux/can/j1939.rs index fdf425ce6c0c1..413c4098532e0 100644 --- a/src/new/linux_uapi/linux/can/j1939.rs +++ b/src/new/linux_uapi/linux/can/j1939.rs @@ -57,4 +57,6 @@ s! { } } -pub const J1939_FILTER_MAX: c_int = 512; +ct! { + pub const J1939_FILTER_MAX: c_int = 512; +} diff --git a/src/new/linux_uapi/linux/can/raw.rs b/src/new/linux_uapi/linux/can/raw.rs index 470334bd5d147..a77e840022a52 100644 --- a/src/new/linux_uapi/linux/can/raw.rs +++ b/src/new/linux_uapi/linux/can/raw.rs @@ -3,7 +3,10 @@ pub use crate::linux::can::*; pub const SOL_CAN_RAW: c_int = SOL_CAN_BASE + CAN_RAW; -pub const CAN_RAW_FILTER_MAX: c_int = 512; + +ct! { + pub const CAN_RAW_FILTER_MAX: c_int = 512; +} // FIXME(cleanup): use `c_enum!`, which needs to be adapted to allow omitting a type. pub const CAN_RAW_FILTER: c_int = 1; diff --git a/src/new/qurt/limits.rs b/src/new/qurt/limits.rs index fefe069c1c19f..db2266420ecc4 100644 --- a/src/new/qurt/limits.rs +++ b/src/new/qurt/limits.rs @@ -27,12 +27,16 @@ pub const USHRT_MAX: c_ushort = 65535; // POSIX Limits pub const ARG_MAX: c_int = 4096; pub const CHILD_MAX: c_int = 25; -pub const LINK_MAX: c_int = 8; + +ct! { + pub const LINK_MAX: c_int = 8; + pub const NAME_MAX: c_int = 255; + pub const PATH_MAX: c_int = 260; +} + pub const MAX_CANON: c_int = 255; pub const MAX_INPUT: c_int = 255; -pub const NAME_MAX: c_int = 255; pub const OPEN_MAX: c_int = 20; -pub const PATH_MAX: c_int = 260; pub const PIPE_BUF: c_int = 512; pub const STREAM_MAX: c_int = 20; pub const TZNAME_MAX: c_int = 50; diff --git a/src/new/qurt/signal.rs b/src/new/qurt/signal.rs index e5a219af5881b..128421c0a4a7e 100644 --- a/src/new/qurt/signal.rs +++ b/src/new/qurt/signal.rs @@ -51,7 +51,10 @@ pub const SIG_SETMASK: c_int = 3; pub const POSIX_MSG: c_int = 7; pub const POSIX_NOTIF: c_int = 8; pub const SIGRTMIN: c_int = 10; -pub const SIGRTMAX: c_int = 32; + +ct! { + pub const SIGRTMAX: c_int = 32; +} // Notification types (from QuRT signal.h) pub const SIGEV_NONE: c_int = 0; diff --git a/src/unix/aix/mod.rs b/src/unix/aix/mod.rs index 04df0b6ba336d..856bdc9bbd876 100644 --- a/src/unix/aix/mod.rs +++ b/src/unix/aix/mod.rs @@ -932,7 +932,11 @@ pub const RTAX_IFP: c_int = 4; pub const RTAX_IFA: c_int = 5; pub const RTAX_AUTHOR: c_int = 6; pub const RTAX_BRD: c_int = 7; -pub const RTAX_MAX: c_int = 8; + +ct! { + pub const RTAX_MAX: c_int = 8; +} + pub const RTF_UP: c_int = 0x1; pub const RTF_GATEWAY: c_int = 0x2; pub const RTF_HOST: c_int = 0x4; @@ -1445,7 +1449,18 @@ pub const L_GETPROCINFO: c_int = 7; pub const L_GETXINFO: c_int = 8; // sys/limits.h -pub const PATH_MAX: c_int = 1023; + +ct! { + pub const PATH_MAX: c_int = 1023; + pub const BC_BASE_MAX: c_int = 99; + pub const BC_DIM_MAX: c_int = 0x800; + pub const BC_SCALE_MAX: c_int = 99; + pub const BC_STRING_MAX: c_int = 0x800; + pub const CHARCLASS_NAME_MAX: c_int = 14; + pub const COLL_WEIGHTS_MAX: c_int = 4; + pub const EXPR_NEST_MAX: c_int = 32; +} + pub const PAGESIZE: c_int = 4096; pub const IOV_MAX: c_int = 16; pub const AIO_LISTIO_MAX: c_int = 4096; @@ -1454,14 +1469,7 @@ pub const OPEN_MAX: c_int = 65534; pub const MAX_INPUT: c_int = 512; pub const MAX_CANON: c_int = 256; pub const ARG_MAX: c_int = 1048576; -pub const BC_BASE_MAX: c_int = 99; -pub const BC_DIM_MAX: c_int = 0x800; -pub const BC_SCALE_MAX: c_int = 99; -pub const BC_STRING_MAX: c_int = 0x800; -pub const CHARCLASS_NAME_MAX: c_int = 14; pub const CHILD_MAX: c_int = 128; -pub const COLL_WEIGHTS_MAX: c_int = 4; -pub const EXPR_NEST_MAX: c_int = 32; pub const NZERO: c_int = 20; // sys/lockf.h @@ -1541,7 +1549,11 @@ pub const MAXPATHLEN: c_int = PATH_MAX + 1; pub const MAXSYMLINKS: c_int = 20; pub const MAXHOSTNAMELEN: c_int = 256; pub const MAXUPRC: c_int = 128; -pub const NGROUPS_MAX: c_ulong = 2048; + +ct! { + pub const NGROUPS_MAX: c_ulong = 2048; +} + pub const NGROUPS: c_ulong = NGROUPS_MAX; pub const NOFILE: c_int = OPEN_MAX; @@ -1739,7 +1751,11 @@ pub const SIGXCPU: c_int = 24; pub const SIGXFSZ: c_int = 25; pub const SIGTRAP: c_int = 5; pub const SIGCLD: c_int = 20; -pub const SIGRTMAX: c_int = 57; + +ct! { + pub const SIGRTMAX: c_int = 57; +} + pub const SIGRTMIN: c_int = 50; pub const SI_USER: c_int = 0; pub const SI_UNDEFINED: c_int = 8; @@ -1817,7 +1833,11 @@ pub const AF_INET6: c_int = 24; pub const AF_INTF: c_int = 20; pub const AF_RIF: c_int = 21; pub const AF_NDD: c_int = 23; -pub const AF_MAX: c_int = 30; + +ct! { + pub const AF_MAX: c_int = 30; +} + pub const PF_UNSPEC: c_int = AF_UNSPEC; pub const PF_UNIX: c_int = AF_UNIX; pub const PF_INET: c_int = AF_INET; @@ -1843,7 +1863,11 @@ pub const PF_RIF: c_int = AF_RIF; pub const PF_INTF: c_int = AF_INTF; pub const PF_NDD: c_int = AF_NDD; pub const PF_INET6: c_int = AF_INET6; -pub const PF_MAX: c_int = AF_MAX; + +ct! { + pub const PF_MAX: c_int = AF_MAX; +} + pub const SF_CLOSE: c_int = 1; pub const SF_REUSE: c_int = 2; pub const SF_DONT_CACHE: c_int = 4; diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs index f0bd543bf6df8..ba58a13f3f64b 100644 --- a/src/unix/bsd/apple/mod.rs +++ b/src/unix/bsd/apple/mod.rs @@ -2014,7 +2014,10 @@ pub const CPU_STATE_USER: c_int = 0; pub const CPU_STATE_SYSTEM: c_int = 1; pub const CPU_STATE_IDLE: c_int = 2; pub const CPU_STATE_NICE: c_int = 3; -pub const CPU_STATE_MAX: c_int = 4; + +ct! { + pub const CPU_STATE_MAX: c_int = 4; +} pub const PROCESSOR_BASIC_INFO: c_int = 1; pub const PROCESSOR_CPU_LOAD_INFO: c_int = 2; @@ -3396,14 +3399,18 @@ pub const HW_TARGET: c_int = 26; pub const HW_PRODUCT: c_int = 27; pub const HW_MAXID: c_int = 28; 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; + +ct! { + 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; @@ -3447,10 +3454,6 @@ pub const SIGEV_THREAD: c_int = 3; pub const AIO_CANCELED: c_int = 2; pub const AIO_NOTCANCELED: c_int = 4; pub const AIO_ALLDONE: c_int = 1; -#[deprecated( - since = "0.2.64", - note = "Can vary at runtime. Use sysconf(3) instead" -)] pub const AIO_LISTIO_MAX: c_int = 16; pub const LIO_NOP: c_int = 0; pub const LIO_WRITE: c_int = 2; @@ -3526,7 +3529,9 @@ pub const RTV_SSTHRESH: c_int = 0x20; pub const RTV_RTT: c_int = 0x40; pub const RTV_RTTVAR: c_int = 0x80; -pub const RTAX_MAX: c_int = 8; +ct! { + pub const RTAX_MAX: c_int = 8; +} pub const KERN_PROCARGS2: c_int = 49; diff --git a/src/unix/bsd/freebsdlike/dragonfly/mod.rs b/src/unix/bsd/freebsdlike/dragonfly/mod.rs index 22cb415f9b552..3430ced045b1d 100644 --- a/src/unix/bsd/freebsdlike/dragonfly/mod.rs +++ b/src/unix/bsd/freebsdlike/dragonfly/mod.rs @@ -641,14 +641,18 @@ pub const HW_MACHINE_PLATFORM: c_int = 12; pub const HW_SENSORS: c_int = 13; pub const HW_MAXID: c_int = 14; 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; + +ct! { + 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; @@ -1168,7 +1172,10 @@ pub const RTM_VERSION: c_int = 7; pub const RTAX_MPLS1: c_int = 8; pub const RTAX_MPLS2: c_int = 9; pub const RTAX_MPLS3: c_int = 10; -pub const RTAX_MAX: c_int = 11; + +ct! { + pub const RTAX_MAX: c_int = 11; +} const fn _CMSG_ALIGN(n: usize) -> usize { (n + (size_of::() - 1)) & !(size_of::() - 1) diff --git a/src/unix/bsd/freebsdlike/freebsd/mod.rs b/src/unix/bsd/freebsdlike/freebsd/mod.rs index ed6391cea51a2..8b28773b904f2 100644 --- a/src/unix/bsd/freebsdlike/freebsd/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/mod.rs @@ -2320,14 +2320,18 @@ 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; + +ct! { + 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; @@ -2444,7 +2448,10 @@ pub const SO_TS_BINTIME: c_int = 1; pub const SO_TS_REALTIME: c_int = 2; pub const SO_TS_MONOTONIC: c_int = 3; pub const SO_TS_DEFAULT: c_int = SO_TS_REALTIME_MICRO; -pub const SO_TS_CLOCK_MAX: c_int = SO_TS_MONOTONIC; + +ct! { + pub const SO_TS_CLOCK_MAX: c_int = SO_TS_MONOTONIC; +} pub const LOCAL_CREDS: c_int = 2; pub const LOCAL_CREDS_PERSISTENT: c_int = 3; @@ -2724,7 +2731,9 @@ pub const IFNET_SLOWHZ: c_int = 1; pub const IFAN_ARRIVAL: c_int = 0; pub const IFAN_DEPARTURE: c_int = 1; -pub const IFSTATMAX: c_int = 800; +ct! { + pub const IFSTATMAX: c_int = 800; +} pub const RSS_FUNC_NONE: c_int = 0; pub const RSS_FUNC_PRIVATE: c_int = 1; @@ -3061,7 +3070,10 @@ pub const TCP_PCAP_IN: c_int = 4096; pub const TCP_FUNCTION_BLK: c_int = 8192; pub const TCP_FUNCTION_ALIAS: c_int = 8193; pub const TCP_FASTOPEN_PSK_LEN: c_int = 16; -pub const TCP_FUNCTION_NAME_LEN_MAX: c_int = 32; + +ct! { + pub const TCP_FUNCTION_NAME_LEN_MAX: c_int = 32; +} pub const TCP_REUSPORT_LB_NUMA: c_int = 1026; pub const TCP_RACK_MBUF_QUEUE: c_int = 1050; @@ -3428,70 +3440,37 @@ pub const KKST_STATE_RUNNING: c_int = 2; // Constants about priority. pub const PRI_MIN: c_int = 0; -pub const PRI_MAX: c_int = 255; + +ct! { + pub const PRI_MAX: c_int = 255; + pub const PRI_MAX_ITHD: c_int = PRI_MIN_REALTIME - 1; + pub const PI_AV: c_int = PRI_MIN_ITHD + 4; + pub const PI_NET: c_int = PRI_MIN_ITHD + 8; + pub const PI_DISK: c_int = PRI_MIN_ITHD + 12; + pub const PI_TTY: c_int = PRI_MIN_ITHD + 16; + pub const PI_DULL: c_int = PRI_MIN_ITHD + 20; + pub const PI_SOFT: c_int = PRI_MIN_ITHD + 24; + pub const PRI_MIN_REALTIME: c_int = 48; + pub const PRI_MAX_REALTIME: c_int = PRI_MIN_KERN - 1; + pub const PRI_MIN_KERN: c_int = 80; + pub const PRI_MAX_KERN: c_int = PRI_MIN_TIMESHARE - 1; + pub const PSWP: c_int = PRI_MIN_KERN + 0; + pub const PVM: c_int = PRI_MIN_KERN + 4; + pub const PINOD: c_int = PRI_MIN_KERN + 8; + pub const PRIBIO: c_int = PRI_MIN_KERN + 12; + pub const PVFS: c_int = PRI_MIN_KERN + 16; + pub const PZERO: c_int = PRI_MIN_KERN + 20; + pub const PSOCK: c_int = PRI_MIN_KERN + 24; + pub const PWAIT: c_int = PRI_MIN_KERN + 28; + pub const PLOCK: c_int = PRI_MIN_KERN + 32; + pub const PPAUSE: c_int = PRI_MIN_KERN + 36; + pub const PRI_MIN_TIMESHARE: c_int = 120; + pub const PUSER: c_int = PRI_MIN_TIMESHARE; +} + pub const PRI_MIN_ITHD: c_int = PRI_MIN; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -#[allow(deprecated)] -pub const PRI_MAX_ITHD: c_int = PRI_MIN_REALTIME - 1; pub const PI_REALTIME: c_int = PRI_MIN_ITHD + 0; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -pub const PI_AV: c_int = PRI_MIN_ITHD + 4; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -pub const PI_NET: c_int = PRI_MIN_ITHD + 8; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -pub const PI_DISK: c_int = PRI_MIN_ITHD + 12; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -pub const PI_TTY: c_int = PRI_MIN_ITHD + 16; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -pub const PI_DULL: c_int = PRI_MIN_ITHD + 20; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -pub const PI_SOFT: c_int = PRI_MIN_ITHD + 24; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -pub const PRI_MIN_REALTIME: c_int = 48; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -#[allow(deprecated)] -pub const PRI_MAX_REALTIME: c_int = PRI_MIN_KERN - 1; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -pub const PRI_MIN_KERN: c_int = 80; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -#[allow(deprecated)] -pub const PRI_MAX_KERN: c_int = PRI_MIN_TIMESHARE - 1; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -#[allow(deprecated)] -pub const PSWP: c_int = PRI_MIN_KERN + 0; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -#[allow(deprecated)] -pub const PVM: c_int = PRI_MIN_KERN + 4; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -#[allow(deprecated)] -pub const PINOD: c_int = PRI_MIN_KERN + 8; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -#[allow(deprecated)] -pub const PRIBIO: c_int = PRI_MIN_KERN + 12; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -#[allow(deprecated)] -pub const PVFS: c_int = PRI_MIN_KERN + 16; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -#[allow(deprecated)] -pub const PZERO: c_int = PRI_MIN_KERN + 20; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -#[allow(deprecated)] -pub const PSOCK: c_int = PRI_MIN_KERN + 24; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -#[allow(deprecated)] -pub const PWAIT: c_int = PRI_MIN_KERN + 28; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -#[allow(deprecated)] -pub const PLOCK: c_int = PRI_MIN_KERN + 32; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -#[allow(deprecated)] -pub const PPAUSE: c_int = PRI_MIN_KERN + 36; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -pub const PRI_MIN_TIMESHARE: c_int = 120; pub const PRI_MAX_TIMESHARE: c_int = PRI_MIN_IDLE - 1; -#[deprecated(since = "0.2.133", note = "Not stable across OS versions")] -#[allow(deprecated)] -pub const PUSER: c_int = PRI_MIN_TIMESHARE; pub const PRI_MIN_IDLE: c_int = 224; pub const PRI_MAX_IDLE: c_int = PRI_MAX; @@ -3507,6 +3486,14 @@ cfg_if! { pub const ARG_MAX: c_int = 2 * 256 * 1024; } } + +ct! { + /// max bytes in a file name + pub const NAME_MAX: c_int = 255; + /// max supplemental group id's + pub const NGROUPS_MAX: c_int = 1023; +} + pub const CHILD_MAX: c_int = 40; /// max command name remembered pub const MAXCOMLEN: usize = 19; @@ -3530,11 +3517,7 @@ pub const MAXHOSTNAMELEN: c_int = 256; pub const MAX_CANON: c_int = 255; /// max bytes in terminal input pub const MAX_INPUT: c_int = 255; -/// max bytes in a file name -pub const NAME_MAX: c_int = 255; pub const MAXSYMLINKS: c_int = 32; -/// max supplemental group id's -pub const NGROUPS_MAX: c_int = 1023; /// max open files per process pub const OPEN_MAX: c_int = 64; @@ -3547,24 +3530,26 @@ pub const _POSIX_PIPE_BUF: c_int = 512; pub const _POSIX_SSIZE_MAX: c_int = 32767; pub const _POSIX_STREAM_MAX: c_int = 8; -/// max ibase/obase values in bc(1) -pub const BC_BASE_MAX: c_int = 99; -/// max array elements in bc(1) -pub const BC_DIM_MAX: c_int = 2048; -/// max scale value in bc(1) -pub const BC_SCALE_MAX: c_int = 99; -/// max const string length in bc(1) -pub const BC_STRING_MAX: c_int = 1000; -/// max character class name size -pub const CHARCLASS_NAME_MAX: c_int = 14; -/// max weights for order keyword -pub const COLL_WEIGHTS_MAX: c_int = 10; -/// max expressions nested in expr(1) -pub const EXPR_NEST_MAX: c_int = 32; -/// max bytes in an input line -pub const LINE_MAX: c_int = 2048; -/// max RE's in interval notation -pub const RE_DUP_MAX: c_int = 255; +ct! { + /// max ibase/obase values in bc(1) + pub const BC_BASE_MAX: c_int = 99; + /// max array elements in bc(1) + pub const BC_DIM_MAX: c_int = 2048; + /// max scale value in bc(1) + pub const BC_SCALE_MAX: c_int = 99; + /// max const string length in bc(1) + pub const BC_STRING_MAX: c_int = 1000; + /// max character class name size + pub const CHARCLASS_NAME_MAX: c_int = 14; + /// max weights for order keyword + pub const COLL_WEIGHTS_MAX: c_int = 10; + /// max expressions nested in expr(1) + pub const EXPR_NEST_MAX: c_int = 32; + /// max bytes in an input line + pub const LINE_MAX: c_int = 2048; + /// max RE's in interval notation + pub const RE_DUP_MAX: c_int = 255; +} pub const _POSIX2_BC_BASE_MAX: c_int = 99; pub const _POSIX2_BC_DIM_MAX: c_int = 2048; @@ -3971,7 +3956,9 @@ pub const RTF_FIXEDMTU: c_int = 0x80000; pub const RTM_VERSION: c_int = 5; -pub const RTAX_MAX: c_int = 8; +ct! { + pub const RTAX_MAX: c_int = 8; +} // sys/signal.h pub const SIGTHR: c_int = 32; @@ -4018,7 +4005,11 @@ pub const SCTP_PR_SCTP_TTL: c_int = 0x0001; pub const SCTP_PR_SCTP_PRIO: c_int = 0x0002; pub const SCTP_PR_SCTP_BUF: c_int = SCTP_PR_SCTP_PRIO; pub const SCTP_PR_SCTP_RTX: c_int = 0x0003; -pub const SCTP_PR_SCTP_MAX: c_int = SCTP_PR_SCTP_RTX; + +ct! { + pub const SCTP_PR_SCTP_MAX: c_int = SCTP_PR_SCTP_RTX; +} + pub const SCTP_PR_SCTP_ALL: c_int = 0x000f; pub const SCTP_INIT: c_int = 0x0001; @@ -4100,7 +4091,10 @@ pub const SCTP_ASSOC_SUPPORTS_ASCONF: c_int = 0x03; pub const SCTP_ASSOC_SUPPORTS_MULTIBUF: c_int = 0x04; pub const SCTP_ASSOC_SUPPORTS_RE_CONFIG: c_int = 0x05; pub const SCTP_ASSOC_SUPPORTS_INTERLEAVING: c_int = 0x06; -pub const SCTP_ASSOC_SUPPORTS_MAX: c_int = 0x06; + +ct! { + pub const SCTP_ASSOC_SUPPORTS_MAX: c_int = 0x06; +} pub const SCTP_ADDR_AVAILABLE: c_int = 0x0001; pub const SCTP_ADDR_UNREACHABLE: c_int = 0x0002; diff --git a/src/unix/bsd/freebsdlike/mod.rs b/src/unix/bsd/freebsdlike/mod.rs index b8d9e779830d9..0c010bda9fbb0 100644 --- a/src/unix/bsd/freebsdlike/mod.rs +++ b/src/unix/bsd/freebsdlike/mod.rs @@ -408,10 +408,6 @@ s! { // Non-public helper constant const SIZEOF_LONG: usize = size_of::(); -#[deprecated( - since = "0.2.64", - note = "Can vary at runtime. Use sysconf(3) instead" -)] pub const AIO_LISTIO_MAX: c_int = 16; pub const AIO_CANCELED: c_int = 1; pub const AIO_NOTCANCELED: c_int = 2; diff --git a/src/unix/bsd/mod.rs b/src/unix/bsd/mod.rs index 47fd27321609f..b7143145789de 100644 --- a/src/unix/bsd/mod.rs +++ b/src/unix/bsd/mod.rs @@ -163,7 +163,10 @@ pub const FIOASYNC: c_ulong = 0x8004667d; pub const FIOSETOWN: c_ulong = 0x8004667c; pub const FIOGETOWN: c_ulong = 0x4004667b; -pub const PATH_MAX: c_int = 1024; +ct! { + pub const PATH_MAX: c_int = 1024; +} + pub const MAXPATHLEN: c_int = PATH_MAX; pub const IOV_MAX: c_int = 1024; diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs index 6646ac390ff97..ac3f9ea81896c 100644 --- a/src/unix/bsd/netbsdlike/netbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs @@ -1715,7 +1715,9 @@ pub const KVME_FLAG_PAGEABLE: c_int = 0x000000008; pub const KVME_FLAG_GROWS_UP: c_int = 0x000000010; pub const KVME_FLAG_GROWS_DOWN: c_int = 0x000000020; -pub const NGROUPS_MAX: c_int = 16; +ct! { + pub const NGROUPS_MAX: c_int = 16; +} pub const KI_NGROUPS: c_int = 16; pub const KI_MAXCOMLEN: c_int = 24; @@ -1791,7 +1793,10 @@ pub const RTM_CHGADDR: c_int = 0x18; pub const RTA_TAG: c_int = 0x100; pub const RTAX_TAG: c_int = 8; -pub const RTAX_MAX: c_int = 9; + +ct! { + pub const RTAX_MAX: c_int = 9; +} // For eventfd pub const EFD_SEMAPHORE: c_int = crate::O_RDWR; diff --git a/src/unix/bsd/netbsdlike/openbsd/mod.rs b/src/unix/bsd/netbsdlike/openbsd/mod.rs index 6242505420559..ef3bc49aeb525 100644 --- a/src/unix/bsd/netbsdlike/openbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/openbsd/mod.rs @@ -1507,7 +1507,9 @@ pub const ISOFSMNT_EXTATT: c_int = 0x4; // enable extended attr pub const ISOFSMNT_NOJOLIET: c_int = 0x8; // disable Joliet Ext pub const ISOFSMNT_SESS: c_int = 0x10; // use iso_args.sess -pub const NFS_ARGSVERSION: c_int = 4; // change when nfs_args changes +ct! { + pub const NFS_ARGSVERSION: c_int = 4; // change when nfs_args changes +} pub const NFSMNT_RESVPORT: c_int = 0; // always use reserved ports pub const NFSMNT_SOFT: c_int = 0x1; // soft mount (hard is default) @@ -1814,7 +1816,10 @@ pub const RTAX_BFD: c_int = 11; pub const RTAX_DNS: c_int = 12; pub const RTAX_STATIC: c_int = 13; pub const RTAX_SEARCH: c_int = 14; -pub const RTAX_MAX: c_int = 15; + +ct! { + pub const RTAX_MAX: c_int = 15; +} const fn _ALIGN(p: usize) -> usize { (p + _ALIGNBYTES) & !_ALIGNBYTES diff --git a/src/unix/cygwin/mod.rs b/src/unix/cygwin/mod.rs index c712c03ff5b32..8a8d553c9735f 100644 --- a/src/unix/cygwin/mod.rs +++ b/src/unix/cygwin/mod.rs @@ -893,13 +893,16 @@ pub const S_IXOTH: mode_t = 1; pub const UTIME_NOW: c_long = -2; pub const UTIME_OMIT: c_long = -1; +ct! { + pub const PATH_MAX: c_int = 4096; + pub const NGROUPS_MAX: c_int = 1024; +} + pub const ARG_MAX: c_int = 32000; pub const CHILD_MAX: c_int = 256; pub const IOV_MAX: c_int = 1024; pub const PTHREAD_STACK_MIN: size_t = 65536; -pub const PATH_MAX: c_int = 4096; pub const PIPE_BUF: usize = 4096; -pub const NGROUPS_MAX: c_int = 1024; pub const FILENAME_MAX: c_int = 4096; diff --git a/src/unix/haiku/mod.rs b/src/unix/haiku/mod.rs index bf1e8d5f2938f..1908888d93bc4 100644 --- a/src/unix/haiku/mod.rs +++ b/src/unix/haiku/mod.rs @@ -902,7 +902,10 @@ pub const MINSIGSTKSZ: size_t = 8192; pub const SIGSTKSZ: size_t = 16384; pub const IOV_MAX: c_int = 1024; -pub const PATH_MAX: c_int = 1024; + +ct! { + pub const PATH_MAX: c_int = 1024; +} pub const SA_NOCLDSTOP: c_int = 0x01; pub const SA_NOCLDWAIT: c_int = 0x02; diff --git a/src/unix/hurd/mod.rs b/src/unix/hurd/mod.rs index 29a5c95e9bb26..59c352c4935c1 100644 --- a/src/unix/hurd/mod.rs +++ b/src/unix/hurd/mod.rs @@ -1230,7 +1230,11 @@ pub const PF_IPX: c_int = 23; pub const PF_SIP: c_int = 24; pub const PF_PIP: c_int = 25; pub const PF_INET6: c_int = 26; -pub const PF_MAX: c_int = 27; + +ct! { + pub const PF_MAX: c_int = 27; +} + pub const AF_UNSPEC: c_int = 0; pub const AF_LOCAL: c_int = 1; pub const AF_UNIX: c_int = 1; @@ -1260,7 +1264,11 @@ pub const AF_IPX: c_int = 23; pub const AF_SIP: c_int = 24; pub const pseudo_AF_PIP: c_int = 25; pub const AF_INET6: c_int = 26; -pub const AF_MAX: c_int = 27; + +ct! { + pub const AF_MAX: c_int = 27; +} + pub const SOMAXCONN: c_int = 4096; pub const _SS_SIZE: usize = 128; pub const CMGROUP_MAX: usize = 16; @@ -1492,6 +1500,11 @@ pub const ARPHRD_VOID: u16 = 0xFFFF; pub const ARPHRD_NONE: u16 = 0xFFFE; // bits/posix1_lim.h +ct! { + pub const NAME_MAX: usize = 255; + pub const NGROUPS_MAX: usize = 256; +} + pub const _POSIX_AIO_LISTIO_MAX: usize = 2; pub const _POSIX_AIO_MAX: usize = 1; pub const _POSIX_ARG_MAX: usize = 4096; @@ -1526,8 +1539,6 @@ pub const _POSIX_QLIMIT: usize = 1; pub const _POSIX_HIWAT: usize = 512; pub const _POSIX_UIO_MAXIOV: usize = 16; pub const _POSIX_CLOCKRES_MIN: usize = 20000000; -pub const NAME_MAX: usize = 255; -pub const NGROUPS_MAX: usize = 256; pub const _POSIX_THREAD_KEYS_MAX: usize = 128; pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: usize = 4; pub const _POSIX_THREAD_THREADS_MAX: usize = 64; @@ -3207,7 +3218,10 @@ pub const RTLD_DI_PROFILEOUT: c_int = 8; pub const RTLD_DI_TLS_MODID: c_int = 9; pub const RTLD_DI_TLS_DATA: c_int = 10; pub const RTLD_DI_PHDR: c_int = 11; -pub const RTLD_DI_MAX: c_int = 11; + +ct! { + pub const RTLD_DI_MAX: c_int = 11; +} pub const SI_ASYNCIO: c_int = -4; pub const SI_MESGQ: c_int = -3; diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs index b262ff8a142c7..3e3c5a8564e64 100644 --- a/src/unix/linux_like/android/mod.rs +++ b/src/unix/linux_like/android/mod.rs @@ -1681,7 +1681,10 @@ pub const NFQA_CFG_F_CONNTRACK: c_int = 0x0002; pub const NFQA_CFG_F_GSO: c_int = 0x0004; pub const NFQA_CFG_F_UID_GID: c_int = 0x0008; pub const NFQA_CFG_F_SECCTX: c_int = 0x0010; -pub const NFQA_CFG_F_MAX: c_int = 0x0020; + +ct! { + pub const NFQA_CFG_F_MAX: c_int = 0x0020; +} pub const NFQA_SKB_CSUMNOTREADY: c_int = 0x0001; pub const NFQA_SKB_GSO: c_int = 0x0002; @@ -2001,7 +2004,11 @@ pub const NFT_REG_1: c_int = 1; pub const NFT_REG_2: c_int = 2; pub const NFT_REG_3: c_int = 3; pub const NFT_REG_4: c_int = 4; -pub const __NFT_REG_MAX: c_int = 5; + +ct! { + pub const __NFT_REG_MAX: c_int = 5; +} + pub const NFT_REG32_00: c_int = 8; pub const NFT_REG32_01: c_int = 9; pub const NFT_REG32_02: c_int = 10; @@ -2050,7 +2057,10 @@ pub const NFT_MSG_NEWOBJ: c_int = 18; pub const NFT_MSG_GETOBJ: c_int = 19; pub const NFT_MSG_DELOBJ: c_int = 20; pub const NFT_MSG_GETOBJ_RESET: c_int = 21; -pub const NFT_MSG_MAX: c_int = 25; + +ct! { + pub const NFT_MSG_MAX: c_int = 25; +} pub const NFT_SET_ANONYMOUS: c_int = 0x1; pub const NFT_SET_CONSTANT: c_int = 0x2; @@ -2181,31 +2191,37 @@ pub const NFT_NG_INCREMENTAL: c_int = 0; pub const NFT_NG_RANDOM: c_int = 1; // linux/input.h -pub const FF_MAX: crate::__u16 = 0x7f; +ct! { + pub const FF_MAX: crate::__u16 = 0x7f; +} + pub const FF_CNT: usize = FF_MAX as usize + 1; // linux/input-event-codes.h -pub const INPUT_PROP_MAX: crate::__u16 = 0x1f; +ct! { + pub const INPUT_PROP_MAX: crate::__u16 = 0x1f; + pub const EV_MAX: crate::__u16 = 0x1f; + pub const SYN_MAX: crate::__u16 = 0xf; + pub const KEY_MAX: crate::__u16 = 0x2ff; + pub const REL_MAX: crate::__u16 = 0x0f; + pub const ABS_MAX: crate::__u16 = 0x3f; + pub const SW_MAX: crate::__u16 = 0x0f; + pub const MSC_MAX: crate::__u16 = 0x07; + pub const LED_MAX: crate::__u16 = 0x0f; + pub const REP_MAX: crate::__u16 = 0x01; + pub const SND_MAX: crate::__u16 = 0x07; +} + pub const INPUT_PROP_CNT: usize = INPUT_PROP_MAX as usize + 1; -pub const EV_MAX: crate::__u16 = 0x1f; pub const EV_CNT: usize = EV_MAX as usize + 1; -pub const SYN_MAX: crate::__u16 = 0xf; pub const SYN_CNT: usize = SYN_MAX as usize + 1; -pub const KEY_MAX: crate::__u16 = 0x2ff; pub const KEY_CNT: usize = KEY_MAX as usize + 1; -pub const REL_MAX: crate::__u16 = 0x0f; pub const REL_CNT: usize = REL_MAX as usize + 1; -pub const ABS_MAX: crate::__u16 = 0x3f; pub const ABS_CNT: usize = ABS_MAX as usize + 1; -pub const SW_MAX: crate::__u16 = 0x0f; pub const SW_CNT: usize = SW_MAX as usize + 1; -pub const MSC_MAX: crate::__u16 = 0x07; pub const MSC_CNT: usize = MSC_MAX as usize + 1; -pub const LED_MAX: crate::__u16 = 0x0f; pub const LED_CNT: usize = LED_MAX as usize + 1; -pub const REP_MAX: crate::__u16 = 0x01; pub const REP_CNT: usize = REP_MAX as usize + 1; -pub const SND_MAX: crate::__u16 = 0x07; pub const SND_CNT: usize = SND_MAX as usize + 1; // linux/uinput.h @@ -2835,7 +2851,11 @@ pub const PR_SCHED_CORE_GET: c_int = 0; pub const PR_SCHED_CORE_CREATE: c_int = 1; pub const PR_SCHED_CORE_SHARE_TO: c_int = 2; pub const PR_SCHED_CORE_SHARE_FROM: c_int = 3; -pub const PR_SCHED_CORE_MAX: c_int = 4; + +ct! { + pub const PR_SCHED_CORE_MAX: c_int = 4; +} + pub const PR_SCHED_CORE_SCOPE_THREAD: c_int = 0; pub const PR_SCHED_CORE_SCOPE_THREAD_GROUP: c_int = 1; pub const PR_SCHED_CORE_SCOPE_PROCESS_GROUP: c_int = 2; @@ -3137,7 +3157,11 @@ pub const KERN_S390_USER_DEBUG_LOGGING: c_int = 51; pub const KERN_CORE_USES_PID: c_int = 52; pub const KERN_TAINTED: c_int = 53; pub const KERN_CADPID: c_int = 54; -pub const KERN_PIDMAX: c_int = 55; + +ct! { + pub const KERN_PIDMAX: c_int = 55; +} + pub const KERN_CORE_PATTERN: c_int = 56; pub const KERN_PANIC_ON_OOPS: c_int = 57; pub const KERN_HPPA_PWRSW: c_int = 58; @@ -3145,7 +3169,11 @@ pub const KERN_HPPA_UNALIGNED: c_int = 59; pub const KERN_PRINTK_RATELIMIT: c_int = 60; pub const KERN_PRINTK_RATELIMIT_BURST: c_int = 61; pub const KERN_PTY: c_int = 62; -pub const KERN_NGROUPS_MAX: c_int = 63; + +ct! { + pub const KERN_NGROUPS_MAX: c_int = 63; +} + pub const KERN_SPARC_SCONS_PWROFF: c_int = 64; pub const KERN_HZ_TIMER: c_int = 65; pub const KERN_UNKNOWN_NMI_PANIC: c_int = 66; diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs index 081b16d78ce39..736d6a35ae351 100644 --- a/src/unix/linux_like/linux/mod.rs +++ b/src/unix/linux_like/linux/mod.rs @@ -1714,7 +1714,11 @@ pub const SKF_AD_VLAN_TAG_PRESENT: c_int = 48; pub const SKF_AD_PAY_OFFSET: c_int = 52; pub const SKF_AD_RANDOM: c_int = 56; pub const SKF_AD_VLAN_TPID: c_int = 60; -pub const SKF_AD_MAX: c_int = 64; + +ct! { + pub const SKF_AD_MAX: c_int = 64; +} + pub const SKF_NET_OFF: c_int = -0x100000; pub const SKF_LL_OFF: c_int = -0x200000; pub const BPF_NET_OFF: c_int = SKF_NET_OFF; @@ -2015,7 +2019,10 @@ pub const NFQA_CFG_F_CONNTRACK: c_int = 0x0002; pub const NFQA_CFG_F_GSO: c_int = 0x0004; pub const NFQA_CFG_F_UID_GID: c_int = 0x0008; pub const NFQA_CFG_F_SECCTX: c_int = 0x0010; -pub const NFQA_CFG_F_MAX: c_int = 0x0020; + +ct! { + pub const NFQA_CFG_F_MAX: c_int = 0x0020; +} pub const NFQA_SKB_CSUMNOTREADY: c_int = 0x0001; pub const NFQA_SKB_GSO: c_int = 0x0002; @@ -3120,7 +3127,11 @@ pub const NFT_REG_1: c_int = 1; pub const NFT_REG_2: c_int = 2; pub const NFT_REG_3: c_int = 3; pub const NFT_REG_4: c_int = 4; -pub const __NFT_REG_MAX: c_int = 5; + +ct! { + pub const __NFT_REG_MAX: c_int = 5; +} + pub const NFT_REG32_00: c_int = 8; pub const NFT_REG32_01: c_int = 9; pub const NFT_REG32_02: c_int = 10; @@ -3174,7 +3185,9 @@ cfg_if! { } } -pub const NFT_MSG_MAX: c_int = 34; +ct! { + pub const NFT_MSG_MAX: c_int = 34; +} pub const NFT_SET_ANONYMOUS: c_int = 0x1; pub const NFT_SET_CONSTANT: c_int = 0x2; @@ -3304,40 +3317,47 @@ pub const NFT_NG_INCREMENTAL: c_int = 0; pub const NFT_NG_RANDOM: c_int = 1; // linux/input.h -pub const FF_MAX: __u16 = 0x7f; +ct! { + pub const FF_MAX: __u16 = 0x7f; +} + pub const FF_CNT: usize = FF_MAX as usize + 1; // linux/input-event-codes.h -pub const INPUT_PROP_POINTER: __u16 = 0x00; -pub const INPUT_PROP_DIRECT: __u16 = 0x01; -pub const INPUT_PROP_BUTTONPAD: __u16 = 0x02; -pub const INPUT_PROP_SEMI_MT: __u16 = 0x03; -pub const INPUT_PROP_TOPBUTTONPAD: __u16 = 0x04; -pub const INPUT_PROP_POINTING_STICK: __u16 = 0x05; -pub const INPUT_PROP_ACCELEROMETER: __u16 = 0x06; -pub const INPUT_PROP_MAX: __u16 = 0x1f; +ct! { + pub const INPUT_PROP_MAX: __u16 = 0x1f; + pub const EV_MAX: __u16 = 0x1f; + pub const SYN_MAX: __u16 = 0xf; + pub const KEY_MAX: __u16 = 0x2ff; + pub const REL_MAX: __u16 = 0x0f; + pub const ABS_MAX: __u16 = 0x3f; + pub const SW_MAX: __u16 = 0x10; + pub const MSC_MAX: __u16 = 0x07; + pub const LED_MAX: __u16 = 0x0f; + pub const REP_MAX: __u16 = 0x01; + pub const SND_MAX: __u16 = 0x07; +} + pub const INPUT_PROP_CNT: usize = INPUT_PROP_MAX as usize + 1; -pub const EV_MAX: __u16 = 0x1f; pub const EV_CNT: usize = EV_MAX as usize + 1; -pub const SYN_MAX: __u16 = 0xf; pub const SYN_CNT: usize = SYN_MAX as usize + 1; -pub const KEY_MAX: __u16 = 0x2ff; pub const KEY_CNT: usize = KEY_MAX as usize + 1; -pub const REL_MAX: __u16 = 0x0f; pub const REL_CNT: usize = REL_MAX as usize + 1; -pub const ABS_MAX: __u16 = 0x3f; pub const ABS_CNT: usize = ABS_MAX as usize + 1; -pub const SW_MAX: __u16 = 0x10; pub const SW_CNT: usize = SW_MAX as usize + 1; -pub const MSC_MAX: __u16 = 0x07; pub const MSC_CNT: usize = MSC_MAX as usize + 1; -pub const LED_MAX: __u16 = 0x0f; pub const LED_CNT: usize = LED_MAX as usize + 1; -pub const REP_MAX: __u16 = 0x01; pub const REP_CNT: usize = REP_MAX as usize + 1; -pub const SND_MAX: __u16 = 0x07; pub const SND_CNT: usize = SND_MAX as usize + 1; +pub const INPUT_PROP_POINTER: __u16 = 0x00; +pub const INPUT_PROP_DIRECT: __u16 = 0x01; +pub const INPUT_PROP_BUTTONPAD: __u16 = 0x02; +pub const INPUT_PROP_SEMI_MT: __u16 = 0x03; +pub const INPUT_PROP_TOPBUTTONPAD: __u16 = 0x04; +pub const INPUT_PROP_POINTING_STICK: __u16 = 0x05; +pub const INPUT_PROP_ACCELEROMETER: __u16 = 0x06; + // linux/uinput.h pub const UINPUT_VERSION: c_uint = 5; pub const UINPUT_MAX_NAME_SIZE: usize = 80; @@ -3569,7 +3589,11 @@ pub const SCTP_PR_SCTP_NONE: c_int = 0x0000; pub const SCTP_PR_SCTP_TTL: c_int = 0x0010; pub const SCTP_PR_SCTP_RTX: c_int = 0x0020; pub const SCTP_PR_SCTP_PRIO: c_int = 0x0030; -pub const SCTP_PR_SCTP_MAX: c_int = SCTP_PR_SCTP_PRIO; + +ct! { + pub const SCTP_PR_SCTP_MAX: c_int = SCTP_PR_SCTP_PRIO; +} + pub const SCTP_PR_SCTP_MASK: c_int = 0x0030; pub const SCTP_ENABLE_RESET_STREAM_REQ: c_int = 0x01; pub const SCTP_ENABLE_RESET_ASSOC_REQ: c_int = 0x02; @@ -3677,7 +3701,11 @@ pub const KERN_S390_USER_DEBUG_LOGGING: c_int = 51; pub const KERN_CORE_USES_PID: c_int = 52; pub const KERN_TAINTED: c_int = 53; pub const KERN_CADPID: c_int = 54; -pub const KERN_PIDMAX: c_int = 55; + +ct! { + pub const KERN_PIDMAX: c_int = 55; +} + pub const KERN_CORE_PATTERN: c_int = 56; pub const KERN_PANIC_ON_OOPS: c_int = 57; pub const KERN_HPPA_PWRSW: c_int = 58; @@ -3685,7 +3713,11 @@ pub const KERN_HPPA_UNALIGNED: c_int = 59; pub const KERN_PRINTK_RATELIMIT: c_int = 60; pub const KERN_PRINTK_RATELIMIT_BURST: c_int = 61; pub const KERN_PTY: c_int = 62; -pub const KERN_NGROUPS_MAX: c_int = 63; + +ct! { + pub const KERN_NGROUPS_MAX: c_int = 63; +} + pub const KERN_SPARC_SCONS_PWROFF: c_int = 64; pub const KERN_HZ_TIMER: c_int = 65; pub const KERN_UNKNOWN_NMI_PANIC: c_int = 66; diff --git a/src/unix/linux_like/linux/musl/b32/hexagon.rs b/src/unix/linux_like/linux/musl/b32/hexagon.rs index 9a62e4d57d6da..581d26f55ec23 100644 --- a/src/unix/linux_like/linux/musl/b32/hexagon.rs +++ b/src/unix/linux_like/linux/musl/b32/hexagon.rs @@ -103,7 +103,11 @@ s! { pub const AF_FILE: c_int = 1; pub const AF_KCM: c_int = 41; -pub const AF_MAX: c_int = 43; + +ct! { + pub const AF_MAX: c_int = 43; +} + pub const AF_QIPCRTR: c_int = 42; pub const EADDRINUSE: c_int = 98; pub const EADDRNOTAVAIL: c_int = 99; @@ -236,7 +240,11 @@ pub const O_SYNC: c_int = 1052672; pub const O_RSYNC: c_int = 1052672; pub const PF_FILE: c_int = 1; pub const PF_KCM: c_int = 41; -pub const PF_MAX: c_int = 43; + +ct! { + pub const PF_MAX: c_int = 43; +} + pub const PF_QIPCRTR: c_int = 42; pub const SA_ONSTACK: c_int = 0x08000000; pub const SA_SIGINFO: c_int = 0x00000004; diff --git a/src/unix/linux_like/linux_l4re_shared.rs b/src/unix/linux_like/linux_l4re_shared.rs index 041e2525d9bc8..4c3545fe0fe49 100644 --- a/src/unix/linux_like/linux_l4re_shared.rs +++ b/src/unix/linux_like/linux_l4re_shared.rs @@ -1175,7 +1175,11 @@ pub const PR_SCHED_CORE_GET: c_int = 0; pub const PR_SCHED_CORE_CREATE: c_int = 1; pub const PR_SCHED_CORE_SHARE_TO: c_int = 2; pub const PR_SCHED_CORE_SHARE_FROM: c_int = 3; -pub const PR_SCHED_CORE_MAX: c_int = 4; + +ct! { + pub const PR_SCHED_CORE_MAX: c_int = 4; +} + pub const PR_SCHED_CORE_SCOPE_THREAD: c_int = 0; pub const PR_SCHED_CORE_SCOPE_THREAD_GROUP: c_int = 1; pub const PR_SCHED_CORE_SCOPE_PROCESS_GROUP: c_int = 2; @@ -1365,7 +1369,10 @@ pub const RT_CLASS_UNSPEC: u8 = 0; pub const RT_CLASS_DEFAULT: u8 = 253; pub const RT_CLASS_MAIN: u8 = 254; pub const RT_CLASS_LOCAL: u8 = 255; -pub const RT_CLASS_MAX: u8 = 255; + +ct! { + pub const RT_CLASS_MAX: u8 = 255; +} pub const MAX_ADDR_LEN: usize = 7; pub const ARPD_UPDATE: c_ushort = 0x01; diff --git a/src/unix/linux_like/mod.rs b/src/unix/linux_like/mod.rs index 172e44111e455..48b28f786dd84 100644 --- a/src/unix/linux_like/mod.rs +++ b/src/unix/linux_like/mod.rs @@ -1054,8 +1054,10 @@ pub const LOCK_UN: c_int = 8; pub const SS_ONSTACK: c_int = 1; pub const SS_DISABLE: c_int = 2; -pub const NAME_MAX: c_int = 255; -pub const PATH_MAX: c_int = 4096; +ct! { + pub const NAME_MAX: c_int = 255; + pub const PATH_MAX: c_int = 4096; +} pub const UIO_MAXIOV: c_int = 1024; diff --git a/src/unix/newlib/horizon/mod.rs b/src/unix/newlib/horizon/mod.rs index e94a0bb1c13d8..cdfd9b0a7afef 100644 --- a/src/unix/newlib/horizon/mod.rs +++ b/src/unix/newlib/horizon/mod.rs @@ -169,7 +169,10 @@ pub const EAI_SYSTEM: c_int = 11; pub const EAI_BADHINTS: c_int = 12; pub const EAI_PROTOCOL: c_int = 13; pub const EAI_OVERFLOW: c_int = 14; -pub const EAI_MAX: c_int = 15; + +ct! { + pub const EAI_MAX: c_int = 15; +} pub const AF_UNIX: c_int = 1; pub const AF_INET6: c_int = 23; diff --git a/src/unix/newlib/rtems/mod.rs b/src/unix/newlib/rtems/mod.rs index ec4534e32a11f..19c0cd2f6da00 100644 --- a/src/unix/newlib/rtems/mod.rs +++ b/src/unix/newlib/rtems/mod.rs @@ -56,7 +56,11 @@ pub const SIGWINCH: c_int = 24; pub const SIGUSR1: c_int = 25; pub const SIGUSR2: c_int = 26; pub const SIGRTMIN: c_int = 27; -pub const SIGRTMAX: c_int = 31; + +ct! { + pub const SIGRTMAX: c_int = 31; +} + pub const SIGXCPU: c_int = 24; pub const SIGXFSZ: c_int = 25; pub const SIGVTALRM: c_int = 26; diff --git a/src/unix/nto/mod.rs b/src/unix/nto/mod.rs index 134d926d42d19..d0330cd174487 100644 --- a/src/unix/nto/mod.rs +++ b/src/unix/nto/mod.rs @@ -1154,7 +1154,9 @@ pub const LOCK_UN: c_int = 0x8; pub const SS_ONSTACK: c_int = 1; pub const SS_DISABLE: c_int = 2; -pub const PATH_MAX: c_int = 1024; +ct! { + pub const PATH_MAX: c_int = 1024; +} pub const UIO_MAXIOV: c_int = 1024; @@ -2339,15 +2341,18 @@ pub const TIOCSTI: c_int = -2147388302; pub const TIOCSTOP: c_int = 29807; pub const TIOCSWINSZ: c_int = -2146929561; +ct! { + 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_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; diff --git a/src/unix/redox/mod.rs b/src/unix/redox/mod.rs index 12db71c7a57a5..d179671f599c1 100644 --- a/src/unix/redox/mod.rs +++ b/src/unix/redox/mod.rs @@ -333,7 +333,9 @@ cfg_if! { } // limits.h -pub const PATH_MAX: c_int = 4096; +ct! { + pub const PATH_MAX: c_int = 4096; +} // fcntl.h pub const F_GETLK: c_int = 5; diff --git a/src/unix/solarish/illumos.rs b/src/unix/solarish/illumos.rs index b31c31bd1f6c8..2f2485b46b22a 100644 --- a/src/unix/solarish/illumos.rs +++ b/src/unix/solarish/illumos.rs @@ -109,7 +109,11 @@ pub const FD_CLOFORK: c_int = 2; pub const FIL_ATTACH: c_int = 0x1; pub const FIL_DETACH: c_int = 0x2; pub const FIL_LIST: c_int = 0x3; -pub const FILNAME_MAX: c_int = 32; + +ct! { + pub const FILNAME_MAX: c_int = 32; +} + pub const FILF_PROG: c_int = 0x1; pub const FILF_AUTO: c_int = 0x2; pub const FILF_BYPASS: c_int = 0x4; diff --git a/src/unix/solarish/mod.rs b/src/unix/solarish/mod.rs index e571e7c1d8617..c25dc5e21ce34 100644 --- a/src/unix/solarish/mod.rs +++ b/src/unix/solarish/mod.rs @@ -823,7 +823,9 @@ pub const NOEXPR: crate::nl_item = 57; pub const _DATE_FMT: crate::nl_item = 58; pub const MAXSTRMSG: crate::nl_item = 58; -pub const PATH_MAX: c_int = 1024; +ct! { + pub const PATH_MAX: c_int = 1024; +} pub const SA_ONSTACK: c_int = 0x00000001; pub const SA_RESETHAND: c_int = 0x00000002; diff --git a/src/vxworks/mod.rs b/src/vxworks/mod.rs index 536930467dde4..2b35551f1ee51 100644 --- a/src/vxworks/mod.rs +++ b/src/vxworks/mod.rs @@ -702,7 +702,10 @@ pub const PTHREAD_MUTEX_ERRORCHECK: c_int = 1; pub const PTHREAD_MUTEX_RECURSIVE: c_int = 2; pub const PTHREAD_MUTEX_DEFAULT: c_int = PTHREAD_MUTEX_NORMAL; pub const PTHREAD_STACK_MIN: usize = 4096; -pub const _PTHREAD_SHARED_SEM_NAME_MAX: usize = 30; + +ct! { + pub const _PTHREAD_SHARED_SEM_NAME_MAX: usize = 30; +} //sched.h pub const SCHED_FIFO: c_int = 0x01; @@ -1041,7 +1044,10 @@ pub const AF_SOCKDEV: c_int = 31; pub const AF_TIPC: c_int = 33; pub const AF_MIPC: c_int = 34; pub const AF_MIPC_SAFE: c_int = 35; -pub const AF_MAX: c_int = 39; + +ct! { + pub const AF_MAX: c_int = 39; +} // termios.h pub const B0: crate::speed_t = 0; @@ -1171,7 +1177,10 @@ pub const FIOGETNAME: c_int = 18; pub const FIONBIO: c_int = 0x90040010; // limits.h -pub const PATH_MAX: c_int = _PARM_PATH_MAX; +ct! { + pub const PATH_MAX: c_int = _PARM_PATH_MAX; +} + pub const _POSIX_PATH_MAX: c_int = 256; // Some poll stuff @@ -1315,8 +1324,10 @@ pub const AT_REMOVEDIR: c_int = 0x200; pub const AT_SYMLINK_FOLLOW: c_int = 0x400; // vxParams.h definitions -pub const _PARM_NAME_MAX: c_int = 255; -pub const _PARM_PATH_MAX: c_int = 1024; +ct! { + pub const _PARM_NAME_MAX: c_int = 255; + pub const _PARM_PATH_MAX: c_int = 1024; +} // WAIT STUFF pub const WNOHANG: c_int = 0x01;