[Previous]
[Contents]
[Next]

sysconf()

return the value of a configurable system limit

Synopsis:

#include <unistd.h>
#include <limits.h>
long sysconf( int name );

Description:

The sysconf() function returns the value of a configurable system limit indicated by name.

Configurable limits are defined in <unistd.h>, and contain at least the following values:

_SC_ARG_MAX
Maximum length of arguments for the exec... functions, in bytes, including environment data.
_SC_CHILD_MAX
Maximum number of simultaneous processes per real user ID.
_SC_CLK_TCK
The number of intervals per second used to express the value in type clock_t.
_SC_NGROUPS_MAX
The maximum number of simultaneous supplementary group IDs per process.
_SC_OPEN_MAX
Maximum number of files that one process can have open at any given time.
_SC_JOB_CONTROL
If this variable is defined, job control is supported.
_SC_SAVED_IDS
If this variable is defined, each process has a saved set-user-ID and a saved set-group-ID.
_SC_VERSION
The current POSIX version that's currently supported. A value of 198808L indicates the August (08) 1988 standard, as approved by the IEEE Standards Board.

Returns:

The requested configurable system limit. If name isn't defined for the system, -1 is returned, but errno isn't set. If an error occurs, -1 is returned and errno is set.

Errors:

EINVAL
name is invalid.

Examples:

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <unistd.h>

void main()
  {
    printf( "_SC_ARG_MAX = %ld\n",
         sysconf( _SC_ARG_MAX ) );
  }

Classification:

POSIX 1003.1

Safety:
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

errno


[Previous]
[Contents]
[Next]