![]() Chapter Contents  | 
![]() Previous  | 
![]() Next  | 
| sysconf | 
| Portability: | POSIX.1 conforming | 
| SYNOPSIS | |
| DESCRIPTION | |
| RETURN VALUE | |
| EXAMPLE | |
| RELATED FUNCTIONS | 
| SYNOPSIS | 
#include <unistd.h> long sysconf(int configOpt);
| DESCRIPTION | 
sysconf
 returns the value of
a system configuration option. The 
configOpt
 argument can be any of the following symbols, which specify
the system configuration option to determine.
_SC_ARG_MAX
ARG_MAX
, which specifies the maximum number of
bytes of argument and environment data that can be passed to an 
exec
 function.
_SC_CHILD_MAX
CHILD_MAX
, which specifies the maximum number
of child processes that a user ID (UID) can have running at the same time.
_SC_CLK_TCK
CLK_TCK
 macro, which is defined in 
<time.h>
. This macro specifies the number
of clock ticks in a second.
_SC_JOB_CONTROL
_POSIX_JOB_CONTROL
 macro, which may be defined
in 
<unistd.h>
. This
macro specifies that certain job control functions are implemented by the
operating system. Certain functions, such as 
setpgid
, will have more functionality if 
_POSIX_JOB_CONTROL
 is defined.
_SC_NGROUPS_MAX
NGROUPS_MAX
, which specifies the maximum number
of supplementary group IDs (GIDs) that can be associated with a process.
_SC_OPEN_MAX
OPEN_MAX
, which specifies the maximum number
of files that a single process can have open at one time.
_SC_SAVED_IDS
SAVED_IDS
 macro, which may be defined in 
<unistd.h>
. This macro specifies
that a saved set UID and a saved set GID are implemented. The behavior of
certain functions, such as 
setuid
 and 
setgid
, is
affected by this macro.
_SC_STREAM_MAX
STREAM_MAX
 macro, which may be defined in 
<unistd.h>
. This macro indicates
the maximum number of streams that a process can have open simultaneously.
_SC_TZNAME_MAX
TZNAME_MAX
 macro, which may be defined in 
<unistd.h>
. This macro indicates
the maximum length of the name of a time zone.
_SC_VERSION
VERSION
 macro, which may be defined in 
<unistd.h>
. This macro indicates
the version of the POSIX.1 standard that the system conforms to.
| RETURN VALUE | 
sysconf
 returns the value associated with the option specified by the 
configOpt
 argument. If the symbol
corresponding to the specified option exists but is not supported, 
sysconf
 returns 
-1
 but does not change the value of 
errno
. If 
sysconf
fails in any other way, it returns 
-1
 and sets 
errno
to 
EINVAL
.
| EXAMPLE | 
The following example illustrates the
use of 
sysconf
 to obtain
the value of 
STREAM_MAX
: 
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
main()
{
   int max_streams;
   errno = 0;
   if ((max_streams = sysconf(_SC_STREAM_MAX)) == -1)
      if (errno == 0)
         printf("STREAM_MAX not supported by this implementation.n");
      else
         perror("sysconf error.");
   else
      printf("STREAM_MAX = %dn", max_streams);
}
| RELATED FUNCTIONS | 
![]() Chapter Contents  | 
![]() Previous  | 
![]() Next  | 
![]() Top of Page  | 
Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.