# [−][src]Enum nix::unistd::SysconfVar

    #[repr(i32)]
    pub enum SysconfVar {
        AIO_LISTIO_MAX,
        AIO_MAX,
        AIO_PRIO_DELTA_MAX,
        ARG_MAX,
        ATEXIT_MAX,
        BC_BASE_MAX,
        BC_DIM_MAX,
        BC_SCALE_MAX,
        BC_STRING_MAX,
        CHILD_MAX,
        COLL_WEIGHTS_MAX,
        DELAYTIMER_MAX,
        EXPR_NEST_MAX,
        HOST_NAME_MAX,
        IOV_MAX,
        LINE_MAX,
        LOGIN_NAME_MAX,
        NGROUPS_MAX,
        GETGR_R_SIZE_MAX,
        GETPW_R_SIZE_MAX,
        MQ_OPEN_MAX,
        MQ_PRIO_MAX,
        OPEN_MAX,
        _POSIX_ADVISORY_INFO,
        _POSIX_BARRIERS,
        _POSIX_ASYNCHRONOUS_IO,
        _POSIX_CLOCK_SELECTION,
        _POSIX_CPUTIME,
        _POSIX_FSYNC,
        _POSIX_IPV6,
        _POSIX_JOB_CONTROL,
        _POSIX_MAPPED_FILES,
        _POSIX_MEMLOCK,
        _POSIX_MEMLOCK_RANGE,
        _POSIX_MEMORY_PROTECTION,
        _POSIX_MESSAGE_PASSING,
        _POSIX_MONOTONIC_CLOCK,
        _POSIX_PRIORITIZED_IO,
        _POSIX_PRIORITY_SCHEDULING,
        _POSIX_RAW_SOCKETS,
        _POSIX_READER_WRITER_LOCKS,
        _POSIX_REALTIME_SIGNALS,
        _POSIX_REGEXP,
        _POSIX_SAVED_IDS,
        _POSIX_SEMAPHORES,
        _POSIX_SHARED_MEMORY_OBJECTS,
        _POSIX_SHELL,
        _POSIX_SPAWN,
        _POSIX_SPIN_LOCKS,
        _POSIX_SPORADIC_SERVER,
        _POSIX_SS_REPL_MAX,
        _POSIX_SYNCHRONIZED_IO,
        _POSIX_THREAD_ATTR_STACKADDR,
        _POSIX_THREAD_ATTR_STACKSIZE,
        _POSIX_THREAD_CPUTIME,
        _POSIX_THREAD_PRIO_INHERIT,
        _POSIX_THREAD_PRIO_PROTECT,
        _POSIX_THREAD_PRIORITY_SCHEDULING,
        _POSIX_THREAD_PROCESS_SHARED,
        _POSIX_THREAD_ROBUST_PRIO_INHERIT,
        _POSIX_THREAD_ROBUST_PRIO_PROTECT,
        _POSIX_THREAD_SAFE_FUNCTIONS,
        _POSIX_THREAD_SPORADIC_SERVER,
        _POSIX_THREADS,
        _POSIX_TIMEOUTS,
        _POSIX_TIMERS,
        _POSIX_TRACE,
        _POSIX_TRACE_EVENT_FILTER,
        _POSIX_TRACE_EVENT_NAME_MAX,
        _POSIX_TRACE_INHERIT,
        _POSIX_TRACE_LOG,
        _POSIX_TRACE_NAME_MAX,
        _POSIX_TRACE_SYS_MAX,
        _POSIX_TRACE_USER_EVENT_MAX,
        _POSIX_TYPED_MEMORY_OBJECTS,
        _POSIX_VERSION,
        _POSIX_V6_ILP32_OFF32,
        _POSIX_V6_ILP32_OFFBIG,
        _POSIX_V6_LP64_OFF64,
        _POSIX_V6_LPBIG_OFFBIG,
        _POSIX2_C_BIND,
        _POSIX2_C_DEV,
        _POSIX2_CHAR_TERM,
        _POSIX2_FORT_DEV,
        _POSIX2_FORT_RUN,
        _POSIX2_LOCALEDEF,
        _POSIX2_PBS,
        _POSIX2_PBS_ACCOUNTING,
        _POSIX2_PBS_CHECKPOINT,
        _POSIX2_PBS_LOCATE,
        _POSIX2_PBS_MESSAGE,
        _POSIX2_PBS_TRACK,
        _POSIX2_SW_DEV,
        _POSIX2_UPE,
        _POSIX2_VERSION,
        PAGE_SIZE,
        PTHREAD_DESTRUCTOR_ITERATIONS,
        PTHREAD_KEYS_MAX,
        PTHREAD_STACK_MIN,
        PTHREAD_THREADS_MAX,
        RE_DUP_MAX,
        RTSIG_MAX,
        SEM_NSEMS_MAX,
        SEM_VALUE_MAX,
        SIGQUEUE_MAX,
        STREAM_MAX,
        SYMLOOP_MAX,
        TIMER_MAX,
        TTY_NAME_MAX,
        TZNAME_MAX,
        _XOPEN_CRYPT,
        _XOPEN_ENH_I18N,
        _XOPEN_LEGACY,
        _XOPEN_REALTIME,
        _XOPEN_REALTIME_THREADS,
        _XOPEN_SHM,
        _XOPEN_STREAMS,
        _XOPEN_UNIX,
        _XOPEN_VERSION,
    }

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

- sysconf(3)
- unistd.h
- limits.h

## Variants

`AIO_LISTIO_MAX`

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

`AIO_MAX`

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

`AIO_PRIO_DELTA_MAX`

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

`ARG_MAX`

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

`ATEXIT_MAX`

Maximum number of functions that may be registered with `atexit`.

`BC_BASE_MAX`

Maximum obase values allowed by the bc utility.

`BC_DIM_MAX`

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

`BC_SCALE_MAX`

Maximum scale value allowed by the bc utility.

`BC_STRING_MAX`

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

`CHILD_MAX`

Maximum number of simultaneous processes per real user ID.

`COLL_WEIGHTS_MAX`

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

`DELAYTIMER_MAX`

Maximum number of timer expiration overruns.

`EXPR_NEST_MAX`

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

`HOST_NAME_MAX`

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

`IOV_MAX`

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

`LINE_MAX`

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 .

`LOGIN_NAME_MAX`

Maximum length of a login name.

`NGROUPS_MAX`

Maximum number of simultaneous supplementary group IDs per process.

`GETGR_R_SIZE_MAX`

Initial size of `getgrgid_r` and `getgrnam_r` data buffers

`GETPW_R_SIZE_MAX`

Initial size of `getpwuid_r` and `getpwnam_r` data buffers

`MQ_OPEN_MAX`

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

`MQ_PRIO_MAX`

The maximum number of message priorities supported by the implementation.

`OPEN_MAX`

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

`_POSIX_ADVISORY_INFO`

The implementation supports the Advisory Information option.

`_POSIX_BARRIERS`

The implementation supports barriers.

`_POSIX_ASYNCHRONOUS_IO`

The implementation supports asynchronous input and output.

`_POSIX_CLOCK_SELECTION`

The implementation supports clock selection.

`_POSIX_CPUTIME`

The implementation supports the Process CPU-Time Clocks option.

`_POSIX_FSYNC`

The implementation supports the File Synchronization option.

`_POSIX_IPV6`

The implementation supports the IPv6 option.

`_POSIX_JOB_CONTROL`

The implementation supports job control.

`_POSIX_MAPPED_FILES`

The implementation supports memory mapped Files.

`_POSIX_MEMLOCK`

The implementation supports the Process Memory Locking option.

`_POSIX_MEMLOCK_RANGE`

The implementation supports the Range Memory Locking option.

`_POSIX_MEMORY_PROTECTION`

The implementation supports memory protection.

`_POSIX_MESSAGE_PASSING`

The implementation supports the Message Passing option.

`_POSIX_MONOTONIC_CLOCK`

The implementation supports the Monotonic Clock option.

`_POSIX_PRIORITIZED_IO`

The implementation supports the Prioritized Input and Output option.

`_POSIX_PRIORITY_SCHEDULING`

The implementation supports the Process Scheduling option.

`_POSIX_RAW_SOCKETS`

The implementation supports the Raw Sockets option.

`_POSIX_READER_WRITER_LOCKS`

The implementation supports read-write locks.

`_POSIX_REALTIME_SIGNALS`

The implementation supports realtime signals.

`_POSIX_REGEXP`

The implementation supports the Regular Expression Handling option.

`_POSIX_SAVED_IDS`

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

`_POSIX_SEMAPHORES`

The implementation supports semaphores.

`_POSIX_SHARED_MEMORY_OBJECTS`

The implementation supports the Shared Memory Objects option.

`_POSIX_SHELL`

The implementation supports the POSIX shell.

`_POSIX_SPAWN`

The implementation supports the Spawn option.

`_POSIX_SPIN_LOCKS`

The implementation supports spin locks.

`_POSIX_SPORADIC_SERVER`

The implementation supports the Process Sporadic Server option.

`_POSIX_SS_REPL_MAX`
`_POSIX_SYNCHRONIZED_IO`

The implementation supports the Synchronized Input and Output option.

`_POSIX_THREAD_ATTR_STACKADDR`

The implementation supports the Thread Stack Address Attribute option.

`_POSIX_THREAD_ATTR_STACKSIZE`

The implementation supports the Thread Stack Size Attribute option.

`_POSIX_THREAD_CPUTIME`

The implementation supports the Thread CPU-Time Clocks option.

`_POSIX_THREAD_PRIO_INHERIT`

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

`_POSIX_THREAD_PRIO_PROTECT`

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

`_POSIX_THREAD_PRIORITY_SCHEDULING`

The implementation supports the Thread Execution Scheduling option.

`_POSIX_THREAD_PROCESS_SHARED`

The implementation supports the Thread Process-Shared Synchronization option.

`_POSIX_THREAD_ROBUST_PRIO_INHERIT`

The implementation supports the Robust Mutex Priority Inheritance option.

`_POSIX_THREAD_ROBUST_PRIO_PROTECT`

The implementation supports the Robust Mutex Priority Protection option.

`_POSIX_THREAD_SAFE_FUNCTIONS`

The implementation supports thread-safe functions.

`_POSIX_THREAD_SPORADIC_SERVER`

The implementation supports the Thread Sporadic Server option.

`_POSIX_THREADS`

The implementation supports threads.

`_POSIX_TIMEOUTS`

The implementation supports timeouts.

`_POSIX_TIMERS`

The implementation supports timers.

`_POSIX_TRACE`

The implementation supports the Trace option.

`_POSIX_TRACE_EVENT_FILTER`

The implementation supports the Trace Event Filter option.

`_POSIX_TRACE_EVENT_NAME_MAX`
`_POSIX_TRACE_INHERIT`

The implementation supports the Trace Inherit option.

`_POSIX_TRACE_LOG`

The implementation supports the Trace Log option.

`_POSIX_TRACE_NAME_MAX`
`_POSIX_TRACE_SYS_MAX`
`_POSIX_TRACE_USER_EVENT_MAX`
`_POSIX_TYPED_MEMORY_OBJECTS`

The implementation supports the Typed Memory Objects option.

`_POSIX_VERSION`

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`

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

`_POSIX_V6_ILP32_OFFBIG`

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`

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`

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`

The implementation supports the C-Language Binding option.

`_POSIX2_C_DEV`

The implementation supports the C-Language Development Utilities option.

`_POSIX2_CHAR_TERM`

The implementation supports the Terminal Characteristics option.

`_POSIX2_FORT_DEV`

The implementation supports the FORTRAN Development Utilities option.

`_POSIX2_FORT_RUN`

The implementation supports the FORTRAN Runtime Utilities option.

`_POSIX2_LOCALEDEF`

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

`_POSIX2_PBS`

The implementation supports the Batch Environment Services and Utilities option.

`_POSIX2_PBS_ACCOUNTING`

The implementation supports the Batch Accounting option.

`_POSIX2_PBS_CHECKPOINT`

The implementation supports the Batch Checkpoint/Restart option.

`_POSIX2_PBS_LOCATE`

The implementation supports the Locate Batch Job Request option.

`_POSIX2_PBS_MESSAGE`

The implementation supports the Batch Job Message Request option.

`_POSIX2_PBS_TRACK`

The implementation supports the Track Batch Job Request option.

`_POSIX2_SW_DEV`

The implementation supports the Software Development Utilities option.

`_POSIX2_UPE`

The implementation supports the User Portability Utilities option.

`_POSIX2_VERSION`

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

`PAGE_SIZE`

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`
`PTHREAD_KEYS_MAX`
`PTHREAD_STACK_MIN`
`PTHREAD_THREADS_MAX`
`RE_DUP_MAX`
`RTSIG_MAX`
`SEM_NSEMS_MAX`
`SEM_VALUE_MAX`
`SIGQUEUE_MAX`
`STREAM_MAX`
`SYMLOOP_MAX`
`TIMER_MAX`
`TTY_NAME_MAX`
`TZNAME_MAX`
`_XOPEN_CRYPT`

The implementation supports the X/Open Encryption Option Group.

`_XOPEN_ENH_I18N`

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

`_XOPEN_LEGACY`
`_XOPEN_REALTIME`

The implementation supports the X/Open Realtime Option Group.

`_XOPEN_REALTIME_THREADS`

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

`_XOPEN_SHM`

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

`_XOPEN_STREAMS`

The implementation supports the XSI STREAMS Option Group.

`_XOPEN_UNIX`

The implementation supports the XSI option

`_XOPEN_VERSION`

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

## Trait Implementations

### `impl Eq for SysconfVar`[src]

### `impl Clone for SysconfVar`[src]

#### `fn clone(&self) -> SysconfVar`[src]

Returns a copy of the value. Read more

#### `fn clone_from(&mut self, source: &Self)`1.0.0[src]

Performs copy-assignment from `source`. Read more

### `impl PartialEq<SysconfVar> for SysconfVar`[src]

#### `fn eq(&self, other: &SysconfVar) -> bool`[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `#[must_use] fn ne(&self, other: &Rhs) -> bool` 1.0.0[src]

This method tests for `!=`.

### `impl Copy for SysconfVar`[src]

### `impl Hash for SysconfVar`[src]

#### `fn hash<__H: Hasher>(&self, state: &mut __H)`[src]

Feeds this value into the given [`Hasher`]. Read more

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,` 1.3.0[src]

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl Debug for SysconfVar`[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

Formats the value using the given formatter. Read more

## Auto Trait Implementations

### `impl Send for SysconfVar`

### `impl Unpin for SysconfVar`

### `impl Sync for SysconfVar`

### `impl UnwindSafe for SysconfVar`

### `impl RefUnwindSafe for SysconfVar`

## Blanket Implementations

### `impl<T> ToOwned for T where
T: Clone,` [src]

#### `type Owned = T`

The resulting type after obtaining ownership.

#### `fn to_owned(&self) -> T`[src]

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

#### `fn clone_into(&self, target: &mut T)`[src]

🔬 This is a nightly-only experimental API. (`toowned_clone_into`)

recently added

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

### `impl<T, U> Into<U> for T where
U: From<T>,` [src]

#### `fn into(self) -> U`[src]

Performs the conversion.

### `impl<T> From<T> for T`[src]

#### `fn from(t: T) -> T`[src]

Performs the conversion.

### `impl<T, U> TryFrom<U> for T where
U: Into<T>,` [src]

#### `type Error = Infallible`

The type returned in the event of a conversion error.

#### `fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>`[src]

Performs the conversion.

### `impl<T, U> TryInto<U> for T where
U: TryFrom<T>,` [src]

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

The type returned in the event of a conversion error.

#### `fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>`[src]

Performs the conversion.

### `impl<T> BorrowMut<T> for T where
T: ?Sized,` [src]

#### `fn borrow_mut(&mut self) -> &mut T`[src]

Mutably borrows from an owned value. Read more

### `impl<T> Borrow<T> for T where
T: ?Sized,` [src]

#### `fn borrow(&self) -> &T`[src]

Immutably borrows from an owned value. Read more

### `impl<T> Any for T where
T: 'static + ?Sized,` [src]

#### `fn type_id(&self) -> TypeId`[src]

Gets the `TypeId` of `self`. Read more

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g., `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g., `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g., `str,u8` or `String,struct:Vec,test`)