Chapter Contents

Previous

Next
sysconf

sysconf



Determine System Configuration Options

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
returns the value of 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
returns the value of 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
returns the value of the CLK_TCK macro, which is defined in <time.h> . This macro specifies the number of clock ticks in a second.

_SC_JOB_CONTROL
returns the value of the _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
returns the value of NGROUPS_MAX , which specifies the maximum number of supplementary group IDs (GIDs) that can be associated with a process.

_SC_OPEN_MAX
returns the value of OPEN_MAX , which specifies the maximum number of files that a single process can have open at one time.

_SC_SAVED_IDS
returns the value of the 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
returns the value of the 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
returns the value of the 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
returns the value of the 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

fpathconf , pathconf


Chapter Contents

Previous

Next

Top of Page

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.