nix::unistd

Enum SysconfVar

source
#[non_exhaustive]
#[repr(i32)]
pub enum SysconfVar {
Show 124 variants AIO_LISTIO_MAX = 23, AIO_MAX = 24, AIO_PRIO_DELTA_MAX = 25, ARG_MAX = 0, ATEXIT_MAX = 87, BC_BASE_MAX = 36, BC_DIM_MAX = 37, BC_SCALE_MAX = 38, BC_STRING_MAX = 39, CHILD_MAX = 1, CLK_TCK = 2, COLL_WEIGHTS_MAX = 40, DELAYTIMER_MAX = 26, EXPR_NEST_MAX = 42, HOST_NAME_MAX = 180, IOV_MAX = 60, LINE_MAX = 43, LOGIN_NAME_MAX = 71, NGROUPS_MAX = 3, GETGR_R_SIZE_MAX = 69, GETPW_R_SIZE_MAX = 70, MQ_OPEN_MAX = 27, MQ_PRIO_MAX = 28, OPEN_MAX = 4, _POSIX_ADVISORY_INFO = 132, _POSIX_BARRIERS = 133, _POSIX_ASYNCHRONOUS_IO = 12, _POSIX_CLOCK_SELECTION = 137, _POSIX_CPUTIME = 138, _POSIX_FSYNC = 15, _POSIX_IPV6 = 235, _POSIX_JOB_CONTROL = 7, _POSIX_MAPPED_FILES = 16, _POSIX_MEMLOCK = 17, _POSIX_MEMLOCK_RANGE = 18, _POSIX_MEMORY_PROTECTION = 19, _POSIX_MESSAGE_PASSING = 20, _POSIX_MONOTONIC_CLOCK = 149, _POSIX_PRIORITIZED_IO = 13, _POSIX_PRIORITY_SCHEDULING = 10, _POSIX_RAW_SOCKETS = 236, _POSIX_READER_WRITER_LOCKS = 153, _POSIX_REALTIME_SIGNALS = 9, _POSIX_REGEXP = 155, _POSIX_SAVED_IDS = 8, _POSIX_SEMAPHORES = 21, _POSIX_SHARED_MEMORY_OBJECTS = 22, _POSIX_SHELL = 157, _POSIX_SPAWN = 159, _POSIX_SPIN_LOCKS = 154, _POSIX_SPORADIC_SERVER = 160, _POSIX_SS_REPL_MAX = 241, _POSIX_SYNCHRONIZED_IO = 14, _POSIX_THREAD_ATTR_STACKADDR = 77, _POSIX_THREAD_ATTR_STACKSIZE = 78, _POSIX_THREAD_CPUTIME = 139, _POSIX_THREAD_PRIO_INHERIT = 80, _POSIX_THREAD_PRIO_PROTECT = 81, _POSIX_THREAD_PRIORITY_SCHEDULING = 79, _POSIX_THREAD_PROCESS_SHARED = 82, _POSIX_THREAD_ROBUST_PRIO_INHERIT = 247, _POSIX_THREAD_ROBUST_PRIO_PROTECT = 248, _POSIX_THREAD_SAFE_FUNCTIONS = 68, _POSIX_THREAD_SPORADIC_SERVER = 161, _POSIX_THREADS = 67, _POSIX_TIMEOUTS = 164, _POSIX_TIMERS = 11, _POSIX_TRACE = 181, _POSIX_TRACE_EVENT_FILTER = 182, _POSIX_TRACE_EVENT_NAME_MAX = 242, _POSIX_TRACE_INHERIT = 183, _POSIX_TRACE_LOG = 184, _POSIX_TRACE_NAME_MAX = 243, _POSIX_TRACE_SYS_MAX = 244, _POSIX_TRACE_USER_EVENT_MAX = 245, _POSIX_TYPED_MEMORY_OBJECTS = 165, _POSIX_VERSION = 29, _POSIX_V6_ILP32_OFF32 = 176, _POSIX_V6_ILP32_OFFBIG = 177, _POSIX_V6_LP64_OFF64 = 178, _POSIX_V6_LPBIG_OFFBIG = 179, _POSIX2_C_BIND = 47, _POSIX2_C_DEV = 48, _POSIX2_CHAR_TERM = 95, _POSIX2_FORT_DEV = 49, _POSIX2_FORT_RUN = 50, _POSIX2_LOCALEDEF = 52, _POSIX2_PBS = 168, _POSIX2_PBS_ACCOUNTING = 169, _POSIX2_PBS_CHECKPOINT = 175, _POSIX2_PBS_LOCATE = 170, _POSIX2_PBS_MESSAGE = 171, _POSIX2_PBS_TRACK = 172, _POSIX2_SW_DEV = 51, _POSIX2_UPE = 97, _POSIX2_VERSION = 46, PAGE_SIZE = 30, PTHREAD_DESTRUCTOR_ITERATIONS = 73, PTHREAD_KEYS_MAX = 74, PTHREAD_STACK_MIN = 75, PTHREAD_THREADS_MAX = 76, RE_DUP_MAX = 44, RTSIG_MAX = 31, SEM_NSEMS_MAX = 32, SEM_VALUE_MAX = 33, SIGQUEUE_MAX = 34, STREAM_MAX = 5, SYMLOOP_MAX = 173, TIMER_MAX = 35, TTY_NAME_MAX = 72, TZNAME_MAX = 6, _XOPEN_CRYPT = 92, _XOPEN_ENH_I18N = 93, _XOPEN_LEGACY = 129, _XOPEN_REALTIME = 130, _XOPEN_REALTIME_THREADS = 131, _XOPEN_SHM = 94, _XOPEN_STREAMS = 246, _XOPEN_UNIX = 91, _XOPEN_VERSION = 89, _PHYS_PAGES = 85, _AVPHYS_PAGES = 86, _NPROCESSORS_CONF = 83, _NPROCESSORS_ONLN = 84,
}
Expand description

Variable names for sysconf

Nix uses the same naming convention for these variables as the getconf(1) utility. That is, SysconfVar variables have the same name as the abstract variables shown in the sysconf(3) man page. Usually, it’s the same as the C variable name without the leading _SC_.

All of these symbols are standardized by POSIX 1003.1-2008, but haven’t been implemented by all platforms.

§References

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

AIO_LISTIO_MAX = 23

Maximum number of I/O operations in a single list I/O call supported by the implementation.

§

AIO_MAX = 24

Maximum number of outstanding asynchronous I/O operations supported by the implementation.

§

AIO_PRIO_DELTA_MAX = 25

The maximum amount by which a process can decrease its asynchronous I/O priority level from its own scheduling priority.

§

ARG_MAX = 0

Maximum length of argument to the exec functions including environment data.

§

ATEXIT_MAX = 87

Maximum number of functions that may be registered with atexit.

§

BC_BASE_MAX = 36

Maximum obase values allowed by the bc utility.

§

BC_DIM_MAX = 37

Maximum number of elements permitted in an array by the bc utility.

§

BC_SCALE_MAX = 38

Maximum scale value allowed by the bc utility.

§

BC_STRING_MAX = 39

Maximum length of a string constant accepted by the bc utility.

§

CHILD_MAX = 1

Maximum number of simultaneous processes per real user ID.

§

CLK_TCK = 2

§

COLL_WEIGHTS_MAX = 40

Maximum number of weights that can be assigned to an entry of the LC_COLLATE order keyword in the locale definition file

§

DELAYTIMER_MAX = 26

Maximum number of timer expiration overruns.

§

EXPR_NEST_MAX = 42

Maximum number of expressions that can be nested within parentheses by the expr utility.

§

HOST_NAME_MAX = 180

Maximum length of a host name (not including the terminating null) as returned from the gethostname function

§

IOV_MAX = 60

Maximum number of iovec structures that one process has available for use with readv or writev.

§

LINE_MAX = 43

Unless otherwise noted, the maximum length, in bytes, of a utility’s input line (either standard input or another file), when the utility is described as processing text files. The length includes room for the trailing newline.

§

LOGIN_NAME_MAX = 71

Maximum length of a login name.

§

NGROUPS_MAX = 3

Maximum number of simultaneous supplementary group IDs per process.

§

GETGR_R_SIZE_MAX = 69

Initial size of getgrgid_r and getgrnam_r data buffers

§

GETPW_R_SIZE_MAX = 70

Initial size of getpwuid_r and getpwnam_r data buffers

§

MQ_OPEN_MAX = 27

The maximum number of open message queue descriptors a process may hold.

§

MQ_PRIO_MAX = 28

The maximum number of message priorities supported by the implementation.

§

OPEN_MAX = 4

A value one greater than the maximum value that the system may assign to a newly-created file descriptor.

§

_POSIX_ADVISORY_INFO = 132

The implementation supports the Advisory Information option.

§

_POSIX_BARRIERS = 133

The implementation supports barriers.

§

_POSIX_ASYNCHRONOUS_IO = 12

The implementation supports asynchronous input and output.

§

_POSIX_CLOCK_SELECTION = 137

The implementation supports clock selection.

§

_POSIX_CPUTIME = 138

The implementation supports the Process CPU-Time Clocks option.

§

_POSIX_FSYNC = 15

The implementation supports the File Synchronization option.

§

_POSIX_IPV6 = 235

The implementation supports the IPv6 option.

§

_POSIX_JOB_CONTROL = 7

The implementation supports job control.

§

_POSIX_MAPPED_FILES = 16

The implementation supports memory mapped Files.

§

_POSIX_MEMLOCK = 17

The implementation supports the Process Memory Locking option.

§

_POSIX_MEMLOCK_RANGE = 18

The implementation supports the Range Memory Locking option.

§

_POSIX_MEMORY_PROTECTION = 19

The implementation supports memory protection.

§

_POSIX_MESSAGE_PASSING = 20

The implementation supports the Message Passing option.

§

_POSIX_MONOTONIC_CLOCK = 149

The implementation supports the Monotonic Clock option.

§

_POSIX_PRIORITIZED_IO = 13

The implementation supports the Prioritized Input and Output option.

§

_POSIX_PRIORITY_SCHEDULING = 10

The implementation supports the Process Scheduling option.

§

_POSIX_RAW_SOCKETS = 236

The implementation supports the Raw Sockets option.

§

_POSIX_READER_WRITER_LOCKS = 153

The implementation supports read-write locks.

§

_POSIX_REALTIME_SIGNALS = 9

The implementation supports realtime signals.

§

_POSIX_REGEXP = 155

The implementation supports the Regular Expression Handling option.

§

_POSIX_SAVED_IDS = 8

Each process has a saved set-user-ID and a saved set-group-ID.

§

_POSIX_SEMAPHORES = 21

The implementation supports semaphores.

§

_POSIX_SHARED_MEMORY_OBJECTS = 22

The implementation supports the Shared Memory Objects option.

§

_POSIX_SHELL = 157

The implementation supports the POSIX shell.

§

_POSIX_SPAWN = 159

The implementation supports the Spawn option.

§

_POSIX_SPIN_LOCKS = 154

The implementation supports spin locks.

§

_POSIX_SPORADIC_SERVER = 160

The implementation supports the Process Sporadic Server option.

§

_POSIX_SS_REPL_MAX = 241

§

_POSIX_SYNCHRONIZED_IO = 14

The implementation supports the Synchronized Input and Output option.

§

_POSIX_THREAD_ATTR_STACKADDR = 77

The implementation supports the Thread Stack Address Attribute option.

§

_POSIX_THREAD_ATTR_STACKSIZE = 78

The implementation supports the Thread Stack Size Attribute option.

§

_POSIX_THREAD_CPUTIME = 139

The implementation supports the Thread CPU-Time Clocks option.

§

_POSIX_THREAD_PRIO_INHERIT = 80

The implementation supports the Non-Robust Mutex Priority Inheritance option.

§

_POSIX_THREAD_PRIO_PROTECT = 81

The implementation supports the Non-Robust Mutex Priority Protection option.

§

_POSIX_THREAD_PRIORITY_SCHEDULING = 79

The implementation supports the Thread Execution Scheduling option.

§

_POSIX_THREAD_PROCESS_SHARED = 82

The implementation supports the Thread Process-Shared Synchronization option.

§

_POSIX_THREAD_ROBUST_PRIO_INHERIT = 247

The implementation supports the Robust Mutex Priority Inheritance option.

§

_POSIX_THREAD_ROBUST_PRIO_PROTECT = 248

The implementation supports the Robust Mutex Priority Protection option.

§

_POSIX_THREAD_SAFE_FUNCTIONS = 68

The implementation supports thread-safe functions.

§

_POSIX_THREAD_SPORADIC_SERVER = 161

The implementation supports the Thread Sporadic Server option.

§

_POSIX_THREADS = 67

The implementation supports threads.

§

_POSIX_TIMEOUTS = 164

The implementation supports timeouts.

§

_POSIX_TIMERS = 11

The implementation supports timers.

§

_POSIX_TRACE = 181

The implementation supports the Trace option.

§

_POSIX_TRACE_EVENT_FILTER = 182

The implementation supports the Trace Event Filter option.

§

_POSIX_TRACE_EVENT_NAME_MAX = 242

§

_POSIX_TRACE_INHERIT = 183

The implementation supports the Trace Inherit option.

§

_POSIX_TRACE_LOG = 184

The implementation supports the Trace Log option.

§

_POSIX_TRACE_NAME_MAX = 243

§

_POSIX_TRACE_SYS_MAX = 244

§

_POSIX_TRACE_USER_EVENT_MAX = 245

§

_POSIX_TYPED_MEMORY_OBJECTS = 165

The implementation supports the Typed Memory Objects option.

§

_POSIX_VERSION = 29

Integer value indicating version of this standard (C-language binding) to which the implementation conforms. For implementations conforming to POSIX.1-2008, the value shall be 200809L.

§

_POSIX_V6_ILP32_OFF32 = 176

The implementation provides a C-language compilation environment with 32-bit int, long, pointer, and off_t types.

§

_POSIX_V6_ILP32_OFFBIG = 177

The implementation provides a C-language compilation environment with 32-bit int, long, and pointer types and an off_t type using at least 64 bits.

§

_POSIX_V6_LP64_OFF64 = 178

The implementation provides a C-language compilation environment with 32-bit int and 64-bit long, pointer, and off_t types.

§

_POSIX_V6_LPBIG_OFFBIG = 179

The implementation provides a C-language compilation environment with an int type using at least 32 bits and long, pointer, and off_t types using at least 64 bits.

§

_POSIX2_C_BIND = 47

The implementation supports the C-Language Binding option.

§

_POSIX2_C_DEV = 48

The implementation supports the C-Language Development Utilities option.

§

_POSIX2_CHAR_TERM = 95

The implementation supports the Terminal Characteristics option.

§

_POSIX2_FORT_DEV = 49

The implementation supports the FORTRAN Development Utilities option.

§

_POSIX2_FORT_RUN = 50

The implementation supports the FORTRAN Runtime Utilities option.

§

_POSIX2_LOCALEDEF = 52

The implementation supports the creation of locales by the localedef utility.

§

_POSIX2_PBS = 168

The implementation supports the Batch Environment Services and Utilities option.

§

_POSIX2_PBS_ACCOUNTING = 169

The implementation supports the Batch Accounting option.

§

_POSIX2_PBS_CHECKPOINT = 175

The implementation supports the Batch Checkpoint/Restart option.

§

_POSIX2_PBS_LOCATE = 170

The implementation supports the Locate Batch Job Request option.

§

_POSIX2_PBS_MESSAGE = 171

The implementation supports the Batch Job Message Request option.

§

_POSIX2_PBS_TRACK = 172

The implementation supports the Track Batch Job Request option.

§

_POSIX2_SW_DEV = 51

The implementation supports the Software Development Utilities option.

§

_POSIX2_UPE = 97

The implementation supports the User Portability Utilities option.

§

_POSIX2_VERSION = 46

Integer value indicating version of the Shell and Utilities volume of POSIX.1 to which the implementation conforms.

§

PAGE_SIZE = 30

The size of a system page in bytes.

POSIX also defines an alias named PAGESIZE, but Rust does not allow two enum constants to have the same value, so nix omits PAGESIZE.

§

PTHREAD_DESTRUCTOR_ITERATIONS = 73

§

PTHREAD_KEYS_MAX = 74

§

PTHREAD_STACK_MIN = 75

§

PTHREAD_THREADS_MAX = 76

§

RE_DUP_MAX = 44

§

RTSIG_MAX = 31

§

SEM_NSEMS_MAX = 32

§

SEM_VALUE_MAX = 33

§

SIGQUEUE_MAX = 34

§

STREAM_MAX = 5

§

SYMLOOP_MAX = 173

§

TIMER_MAX = 35

§

TTY_NAME_MAX = 72

§

TZNAME_MAX = 6

§

_XOPEN_CRYPT = 92

The implementation supports the X/Open Encryption Option Group.

§

_XOPEN_ENH_I18N = 93

The implementation supports the Issue 4, Version 2 Enhanced Internationalization Option Group.

§

_XOPEN_LEGACY = 129

§

_XOPEN_REALTIME = 130

The implementation supports the X/Open Realtime Option Group.

§

_XOPEN_REALTIME_THREADS = 131

The implementation supports the X/Open Realtime Threads Option Group.

§

_XOPEN_SHM = 94

The implementation supports the Issue 4, Version 2 Shared Memory Option Group.

§

_XOPEN_STREAMS = 246

The implementation supports the XSI STREAMS Option Group.

§

_XOPEN_UNIX = 91

The implementation supports the XSI option

§

_XOPEN_VERSION = 89

Integer value indicating version of the X/Open Portability Guide to which the implementation conforms.

§

_PHYS_PAGES = 85

The number of pages of physical memory. Note that it is possible for the product of this value to overflow.

§

_AVPHYS_PAGES = 86

The number of currently available pages of physical memory.

§

_NPROCESSORS_CONF = 83

The number of processors configured.

§

_NPROCESSORS_ONLN = 84

The number of processors currently online (available).

Trait Implementations§

source§

impl Clone for SysconfVar

source§

fn clone(&self) -> SysconfVar

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SysconfVar

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for SysconfVar

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for SysconfVar

source§

fn eq(&self, other: &SysconfVar) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for SysconfVar

source§

impl Eq for SysconfVar

source§

impl StructuralPartialEq for SysconfVar

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.