(linenum→info "unix/slp.c:2238")

glibc/2.7/manual/conf.texi

    1: @node System Configuration, Cryptographic Functions, System Management, Top
    2: @c %MENU% Parameters describing operating system limits
    3: @chapter System Configuration Parameters
    4: 
    5: The functions and macros listed in this chapter give information about
    6: configuration parameters of the operating system---for example, capacity
    7: limits, presence of optional POSIX features, and the default path for
    8: executable files (@pxref{String Parameters}).
    9: 
   10: @menu
   11: * General Limits::           Constants and functions that describe
   12:                                 various process-related limits that have
   13:                                 one uniform value for any given machine.
   14: * System Options::           Optional POSIX features.
   15: * Version Supported::        Version numbers of POSIX.1 and POSIX.2.
   16: * Sysconf::                  Getting specific configuration values
   17:                                 of general limits and system options.
   18: * Minimums::                 Minimum values for general limits.
   19: 
   20: * Limits for Files::         Size limitations that pertain to individual files.
   21:                                 These can vary between file systems
   22:                                 or even from file to file.
   23: * Options for Files::        Optional features that some files may support.
   24: * File Minimums::            Minimum values for file limits.
   25: * Pathconf::                 Getting the limit values for a particular file.
   26: 
   27: * Utility Limits::           Capacity limits of some POSIX.2 utility programs.
   28: * Utility Minimums::         Minimum allowable values of those limits.
   29: 
   30: * String Parameters::        Getting the default search path.
   31: @end menu
   32: 
   33: @node General Limits
   34: @section General Capacity Limits
   35: @cindex POSIX capacity limits
   36: @cindex limits, POSIX
   37: @cindex capacity limits, POSIX
   38: 
   39: The POSIX.1 and POSIX.2 standards specify a number of parameters that
   40: describe capacity limitations of the system.  These limits can be fixed
   41: constants for a given operating system, or they can vary from machine to
   42: machine.  For example, some limit values may be configurable by the
   43: system administrator, either at run time or by rebuilding the kernel,
   44: and this should not require recompiling application programs.
   45: 
   46: @pindex limits.h
   47: Each of the following limit parameters has a macro that is defined in
   48: @file{limits.h} only if the system has a fixed, uniform limit for the
   49: parameter in question.  If the system allows different file systems or
   50: files to have different limits, then the macro is undefined; use
   51: @code{sysconf} to find out the limit that applies at a particular time
   52: on a particular machine.  @xref{Sysconf}.
   53: 
   54: Each of these parameters also has another macro, with a name starting
   55: with @samp{_POSIX}, which gives the lowest value that the limit is
   56: allowed to have on @emph{any} POSIX system.  @xref{Minimums}.
   57: 
   58: @cindex limits, program argument size
   59: @comment limits.h
   60: @comment POSIX.1
   61: @deftypevr Macro int ARG_MAX
   62: If defined, the unvarying maximum combined length of the @var{argv} and
   63: @var{environ} arguments that can be passed to the @code{exec} functions.
   64: @end deftypevr
   65: 
   66: @cindex limits, number of processes
   67: @comment limits.h
   68: @comment POSIX.1
   69: @deftypevr Macro int CHILD_MAX
   70: If defined, the unvarying maximum number of processes that can exist
   71: with the same real user ID at any one time.  In BSD and GNU, this is
   72: controlled by the @code{RLIMIT_NPROC} resource limit; @pxref{Limits on
   73: Resources}.
   74: @end deftypevr
   75: 
   76: @cindex limits, number of open files
   77: @comment limits.h
   78: @comment POSIX.1
   79: @deftypevr Macro int OPEN_MAX
   80: If defined, the unvarying maximum number of files that a single process
   81: can have open simultaneously.  In BSD and GNU, this is controlled
   82: by the @code{RLIMIT_NOFILE} resource limit; @pxref{Limits on Resources}.
   83: @end deftypevr
   84: 
   85: @comment limits.h
   86: @comment POSIX.1
   87: @deftypevr Macro int STREAM_MAX
   88: If defined, the unvarying maximum number of streams that a single
   89: process can have open simultaneously.  @xref{Opening Streams}.
   90: @end deftypevr
   91: 
   92: @cindex limits, time zone name length
   93: @comment limits.h
   94: @comment POSIX.1
   95: @deftypevr Macro int TZNAME_MAX
   96: If defined, the unvarying maximum length of a time zone name.
   97: @xref{Time Zone Functions}.
   98: @end deftypevr
   99: 
  100: These limit macros are always defined in @file{limits.h}.
  101: 
  102: @cindex limits, number of supplementary group IDs
  103: @comment limits.h
  104: @comment POSIX.1
  105: @deftypevr Macro int NGROUPS_MAX
  106: The maximum number of supplementary group IDs that one process can have.
  107: 
  108: The value of this macro is actually a lower bound for the maximum.  That
  109: is, you can count on being able to have that many supplementary group
  110: IDs, but a particular machine might let you have even more.  You can use
  111: @code{sysconf} to see whether a particular machine will let you have
  112: more (@pxref{Sysconf}).
  113: @end deftypevr
  114: 
  115: @comment limits.h
  116: @comment POSIX.1
  117: @deftypevr Macro int SSIZE_MAX
  118: The largest value that can fit in an object of type @code{ssize_t}.
  119: Effectively, this is the limit on the number of bytes that can be read
  120: or written in a single operation.
  121: 
  122: This macro is defined in all POSIX systems because this limit is never
  123: configurable.
  124: @end deftypevr
  125: 
  126: @comment limits.h
  127: @comment POSIX.2
  128: @deftypevr Macro int RE_DUP_MAX
  129: The largest number of repetitions you are guaranteed is allowed in the
  130: construct @samp{\@{@var{min},@var{max}\@}} in a regular expression.
  131: 
  132: The value of this macro is actually a lower bound for the maximum.  That
  133: is, you can count on being able to have that many repetitions, but a
  134: particular machine might let you have even more.  You can use
  135: @code{sysconf} to see whether a particular machine will let you have
  136: more (@pxref{Sysconf}).  And even the value that @code{sysconf} tells
  137: you is just a lower bound---larger values might work.
  138: 
  139: This macro is defined in all POSIX.2 systems, because POSIX.2 says it
  140: should always be defined even if there is no specific imposed limit.
  141: @end deftypevr
  142: 
  143: @node System Options
  144: @section Overall System Options
  145: @cindex POSIX optional features
  146: @cindex optional POSIX features
  147: 
  148: POSIX defines certain system-specific options that not all POSIX systems
  149: support.  Since these options are provided in the kernel, not in the
  150: library, simply using the GNU C library does not guarantee any of these
  151: features is supported; it depends on the system you are using.
  152: 
  153: @pindex unistd.h
  154: You can test for the availability of a given option using the macros in
  155: this section, together with the function @code{sysconf}.  The macros are
  156: defined only if you include @file{unistd.h}.
  157: 
  158: For the following macros, if the macro is defined in @file{unistd.h},
  159: then the option is supported.  Otherwise, the option may or may not be
  160: supported; use @code{sysconf} to find out.  @xref{Sysconf}.
  161: 
  162: @comment unistd.h
  163: @comment POSIX.1
  164: @deftypevr Macro int _POSIX_JOB_CONTROL
  165: If this symbol is defined, it indicates that the system supports job
  166: control.  Otherwise, the implementation behaves as if all processes
  167: within a session belong to a single process group.  @xref{Job Control}.
  168: @end deftypevr
  169: 
  170: @comment unistd.h
  171: @comment POSIX.1
  172: @deftypevr Macro int _POSIX_SAVED_IDS
  173: If this symbol is defined, it indicates that the system remembers the
  174: effective user and group IDs of a process before it executes an
  175: executable file with the set-user-ID or set-group-ID bits set, and that
  176: explicitly changing the effective user or group IDs back to these values
  177: is permitted.  If this option is not defined, then if a nonprivileged
  178: process changes its effective user or group ID to the real user or group
  179: ID of the process, it can't change it back again.  @xref{Enable/Disable
  180: Setuid}.
  181: @end deftypevr
  182: 
  183: For the following macros, if the macro is defined in @file{unistd.h},
  184: then its value indicates whether the option is supported.  A value of
  185: @code{-1} means no, and any other value means yes.  If the macro is not
  186: defined, then the option may or may not be supported; use @code{sysconf}
  187: to find out.  @xref{Sysconf}.
  188: 
  189: @comment unistd.h
  190: @comment POSIX.2
  191: @deftypevr Macro int _POSIX2_C_DEV
  192: If this symbol is defined, it indicates that the system has the POSIX.2
  193: C compiler command, @code{c89}.  The GNU C library always defines this
  194: as @code{1}, on the assumption that you would not have installed it if
  195: you didn't have a C compiler.
  196: @end deftypevr
  197: 
  198: @comment unistd.h
  199: @comment POSIX.2
  200: @deftypevr Macro int _POSIX2_FORT_DEV
  201: If this symbol is defined, it indicates that the system has the POSIX.2
  202: Fortran compiler command, @code{fort77}.  The GNU C library never
  203: defines this, because we don't know what the system has.
  204: @end deftypevr
  205: 
  206: @comment unistd.h
  207: @comment POSIX.2
  208: @deftypevr Macro int _POSIX2_FORT_RUN
  209: If this symbol is defined, it indicates that the system has the POSIX.2
  210: @code{asa} command to interpret Fortran carriage control.  The GNU C
  211: library never defines this, because we don't know what the system has.
  212: @end deftypevr
  213: 
  214: @comment unistd.h
  215: @comment POSIX.2
  216: @deftypevr Macro int _POSIX2_LOCALEDEF
  217: If this symbol is defined, it indicates that the system has the POSIX.2
  218: @code{localedef} command.  The GNU C library never defines this, because
  219: we don't know what the system has.
  220: @end deftypevr
  221: 
  222: @comment unistd.h
  223: @comment POSIX.2
  224: @deftypevr Macro int _POSIX2_SW_DEV
  225: If this symbol is defined, it indicates that the system has the POSIX.2
  226: commands @code{ar}, @code{make}, and @code{strip}.  The GNU C library
  227: always defines this as @code{1}, on the assumption that you had to have
  228: @code{ar} and @code{make} to install the library, and it's unlikely that
  229: @code{strip} would be absent when those are present.
  230: @end deftypevr
  231: 
  232: @node Version Supported
  233: @section Which Version of POSIX is Supported
  234: 
  235: @comment unistd.h
  236: @comment POSIX.1
  237: @deftypevr Macro {long int} _POSIX_VERSION
  238: This constant represents the version of the POSIX.1 standard to which
  239: the implementation conforms.  For an implementation conforming to the
  240: 1995 POSIX.1 standard, the value is the integer @code{199506L}.
  241: 
  242: @code{_POSIX_VERSION} is always defined (in @file{unistd.h}) in any
  243: POSIX system.
  244: 
  245: @strong{Usage Note:} Don't try to test whether the system supports POSIX
  246: by including @file{unistd.h} and then checking whether
  247: @code{_POSIX_VERSION} is defined.  On a non-POSIX system, this will
  248: probably fail because there is no @file{unistd.h}.  We do not know of
  249: @emph{any} way you can reliably test at compilation time whether your
  250: target system supports POSIX or whether @file{unistd.h} exists.
  251: 
  252: The GNU C compiler predefines the symbol @code{__POSIX__} if the target
  253: system is a POSIX system.  Provided you do not use any other compilers
  254: on POSIX systems, testing @code{defined (__POSIX__)} will reliably
  255: detect such systems.
  256: @end deftypevr
  257: 
  258: @comment unistd.h
  259: @comment POSIX.2
  260: @deftypevr Macro {long int} _POSIX2_C_VERSION
  261: This constant represents the version of the POSIX.2 standard which the
  262: library and system kernel support.  We don't know what value this will
  263: be for the first version of the POSIX.2 standard, because the value is
  264: based on the year and month in which the standard is officially adopted.
  265: 
  266: The value of this symbol says nothing about the utilities installed on
  267: the system.
  268: 
  269: @strong{Usage Note:} You can use this macro to tell whether a POSIX.1
  270: system library supports POSIX.2 as well.  Any POSIX.1 system contains
  271: @file{unistd.h}, so include that file and then test @code{defined
  272: (_POSIX2_C_VERSION)}.
  273: @end deftypevr
  274: 
  275: @node Sysconf
  276: @section Using @code{sysconf}
  277: 
  278: When your system has configurable system limits, you can use the
  279: @code{sysconf} function to find out the value that applies to any
  280: particular machine.  The function and the associated @var{parameter}
  281: constants are declared in the header file @file{unistd.h}.
  282: 
  283: @menu
  284: * Sysconf Definition::        Detailed specifications of @code{sysconf}.
  285: * Constants for Sysconf::     The list of parameters @code{sysconf} can read.
  286: * Examples of Sysconf::       How to use @code{sysconf} and the parameter
  287:                                  macros properly together.
  288: @end menu
  289: 
  290: @node Sysconf Definition
  291: @subsection Definition of @code{sysconf}
  292: 
  293: @comment unistd.h
  294: @comment POSIX.1
  295: @deftypefun {long int} sysconf (int @var{parameter})
  296: This function is used to inquire about runtime system parameters.  The
  297: @var{parameter} argument should be one of the @samp{_SC_} symbols listed
  298: below.
  299: 
  300: The normal return value from @code{sysconf} is the value you requested.
  301: A value of @code{-1} is returned both if the implementation does not
  302: impose a limit, and in case of an error.
  303: 
  304: The following @code{errno} error conditions are defined for this function:
  305: 
  306: @table @code
  307: @item EINVAL
  308: The value of the @var{parameter} is invalid.
  309: @end table
  310: @end deftypefun
  311: 
  312: @node Constants for Sysconf
  313: @subsection Constants for @code{sysconf} Parameters
  314: 
  315: Here are the symbolic constants for use as the @var{parameter} argument
  316: to @code{sysconf}.  The values are all integer constants (more
  317: specifically, enumeration type values).
  318: 
  319: @vtable @code
  320: @comment unistd.h
  321: @comment POSIX.1
  322: @item _SC_ARG_MAX
  323: Inquire about the parameter corresponding to @code{ARG_MAX}.
  324: 
  325: @comment unistd.h
  326: @comment POSIX.1
  327: @item _SC_CHILD_MAX
  328: Inquire about the parameter corresponding to @code{CHILD_MAX}.
  329: 
  330: @comment unistd.h
  331: @comment POSIX.1
  332: @item _SC_OPEN_MAX
  333: Inquire about the parameter corresponding to @code{OPEN_MAX}.
  334: 
  335: @comment unistd.h
  336: @comment POSIX.1
  337: @item _SC_STREAM_MAX
  338: Inquire about the parameter corresponding to @code{STREAM_MAX}.
  339: 
  340: @comment unistd.h
  341: @comment POSIX.1
  342: @item _SC_TZNAME_MAX
  343: Inquire about the parameter corresponding to @code{TZNAME_MAX}.
  344: 
  345: @comment unistd.h
  346: @comment POSIX.1
  347: @item _SC_NGROUPS_MAX
  348: Inquire about the parameter corresponding to @code{NGROUPS_MAX}.
  349: 
  350: @comment unistd.h
  351: @comment POSIX.1
  352: @item _SC_JOB_CONTROL
  353: Inquire about the parameter corresponding to @code{_POSIX_JOB_CONTROL}.
  354: 
  355: @comment unistd.h
  356: @comment POSIX.1
  357: @item _SC_SAVED_IDS
  358: Inquire about the parameter corresponding to @code{_POSIX_SAVED_IDS}.
  359: 
  360: @comment unistd.h
  361: @comment POSIX.1
  362: @item _SC_VERSION
  363: Inquire about the parameter corresponding to @code{_POSIX_VERSION}.
  364: 
  365: @comment unistd.h
  366: @comment POSIX.1
  367: @item _SC_CLK_TCK
  368: Inquire about the parameter corresponding to @code{CLOCKS_PER_SEC};
  369: @pxref{CPU Time}.
  370: 
  371: @comment unistd.h
  372: @comment GNU
  373: @item _SC_CHARCLASS_NAME_MAX
  374: Inquire about the parameter corresponding to maximal length allowed for
  375: a character class name in an extended locale specification.  These
  376: extensions are not yet standardized and so this option is not standardized
  377: as well.
  378: 
  379: @comment unistdh.h
  380: @comment POSIX.1
  381: @item _SC_REALTIME_SIGNALS
  382: Inquire about the parameter corresponding to @code{_POSIX_REALTIME_SIGNALS}.
  383: 
  384: @comment unistd.h
  385: @comment POSIX.1
  386: @item _SC_PRIORITY_SCHEDULING
  387: Inquire about the parameter corresponding to @code{_POSIX_PRIORITY_SCHEDULING}.
  388: 
  389: @comment unistd.h
  390: @comment POSIX.1
  391: @item _SC_TIMERS
  392: Inquire about the parameter corresponding to @code{_POSIX_TIMERS}.
  393: 
  394: @comment unistd.h
  395: @comment POSIX.1
  396: @item _SC_ASYNCHRONOUS_IO
  397: Inquire about the parameter corresponding to @code{_POSIX_ASYNCHRONOUS_IO}.
  398: 
  399: @comment unistd.h
  400: @comment POSIX.1
  401: @item _SC_PRIORITIZED_IO
  402: Inquire about the parameter corresponding to @code{_POSIX_PRIORITIZED_IO}.
  403: 
  404: @comment unistd.h
  405: @comment POSIX.1
  406: @item _SC_SYNCHRONIZED_IO
  407: Inquire about the parameter corresponding to @code{_POSIX_SYNCHRONIZED_IO}.
  408: 
  409: @comment unistd.h
  410: @comment POSIX.1
  411: @item _SC_FSYNC
  412: Inquire about the parameter corresponding to @code{_POSIX_FSYNC}.
  413: 
  414: @comment unistd.h
  415: @comment POSIX.1
  416: @item _SC_MAPPED_FILES
  417: Inquire about the parameter corresponding to @code{_POSIX_MAPPED_FILES}.
  418: 
  419: @comment unistd.h
  420: @comment POSIX.1
  421: @item _SC_MEMLOCK
  422: Inquire about the parameter corresponding to @code{_POSIX_MEMLOCK}.
  423: 
  424: @comment unistd.h
  425: @comment POSIX.1
  426: @item _SC_MEMLOCK_RANGE
  427: Inquire about the parameter corresponding to @code{_POSIX_MEMLOCK_RANGE}.
  428: 
  429: @comment unistd.h
  430: @comment POSIX.1
  431: @item _SC_MEMORY_PROTECTION
  432: Inquire about the parameter corresponding to @code{_POSIX_MEMORY_PROTECTION}.
  433: 
  434: @comment unistd.h
  435: @comment POSIX.1
  436: @item _SC_MESSAGE_PASSING
  437: Inquire about the parameter corresponding to @code{_POSIX_MESSAGE_PASSING}.
  438: 
  439: @comment unistd.h
  440: @comment POSIX.1
  441: @item _SC_SEMAPHORES
  442: Inquire about the parameter corresponding to @code{_POSIX_SEMAPHORES}.
  443: 
  444: @comment unistd.h
  445: @comment POSIX.1
  446: @item _SC_SHARED_MEMORY_OBJECTS
  447: Inquire about the parameter corresponding to@*
  448: @code{_POSIX_SHARED_MEMORY_OBJECTS}.
  449: 
  450: @comment unistd.h
  451: @comment POSIX.1
  452: @item _SC_AIO_LISTIO_MAX
  453: Inquire about the parameter corresponding to @code{_POSIX_AIO_LISTIO_MAX}.
  454: 
  455: @comment unistd.h
  456: @comment POSIX.1
  457: @item _SC_AIO_MAX
  458: Inquire about the parameter corresponding to @code{_POSIX_AIO_MAX}.
  459: 
  460: @comment unistd.h
  461: @comment POSIX.1
  462: @item _SC_AIO_PRIO_DELTA_MAX
  463: Inquire the value by which a process can decrease its asynchronous I/O
  464: priority level from its own scheduling priority.  This corresponds to the
  465: run-time invariant value @code{AIO_PRIO_DELTA_MAX}.
  466: 
  467: @comment unistd.h
  468: @comment POSIX.1
  469: @item _SC_DELAYTIMER_MAX
  470: Inquire about the parameter corresponding to @code{_POSIX_DELAYTIMER_MAX}.
  471: 
  472: @comment unistd.h
  473: @comment POSIX.1
  474: @item _SC_MQ_OPEN_MAX
  475: Inquire about the parameter corresponding to @code{_POSIX_MQ_OPEN_MAX}.
  476: 
  477: @comment unistd.h
  478: @comment POSIX.1
  479: @item _SC_MQ_PRIO_MAX
  480: Inquire about the parameter corresponding to @code{_POSIX_MQ_PRIO_MAX}.
  481: 
  482: @comment unistd.h
  483: @comment POSIX.1
  484: @item _SC_RTSIG_MAX
  485: Inquire about the parameter corresponding to @code{_POSIX_RTSIG_MAX}.
  486: 
  487: @comment unistd.h
  488: @comment POSIX.1
  489: @item _SC_SEM_NSEMS_MAX
  490: Inquire about the parameter corresponding to @code{_POSIX_SEM_NSEMS_MAX}.
  491: 
  492: @comment unistd.h
  493: @comment POSIX.1
  494: @item _SC_SEM_VALUE_MAX
  495: Inquire about the parameter corresponding to @code{_POSIX_SEM_VALUE_MAX}.
  496: 
  497: @comment unistd.h
  498: @comment POSIX.1
  499: @item _SC_SIGQUEUE_MAX
  500: Inquire about the parameter corresponding to @code{_POSIX_SIGQUEUE_MAX}.
  501: 
  502: @comment unistd.h
  503: @comment POSIX.1
  504: @item _SC_TIMER_MAX
  505: Inquire about the parameter corresponding to @code{_POSIX_TIMER_MAX}.
  506: 
  507: @comment unistd.h
  508: @comment POSIX.1g
  509: @item _SC_PII
  510: Inquire about the parameter corresponding to @code{_POSIX_PII}.
  511: 
  512: @comment unistd.h
  513: @comment POSIX.1g
  514: @item _SC_PII_XTI
  515: Inquire about the parameter corresponding to @code{_POSIX_PII_XTI}.
  516: 
  517: @comment unistd.h
  518: @comment POSIX.1g
  519: @item _SC_PII_SOCKET
  520: Inquire about the parameter corresponding to @code{_POSIX_PII_SOCKET}.
  521: 
  522: @comment unistd.h
  523: @comment POSIX.1g
  524: @item _SC_PII_INTERNET
  525: Inquire about the parameter corresponding to @code{_POSIX_PII_INTERNET}.
  526: 
  527: @comment unistd.h
  528: @comment POSIX.1g
  529: @item _SC_PII_OSI
  530: Inquire about the parameter corresponding to @code{_POSIX_PII_OSI}.
  531: 
  532: @comment unistd.h
  533: @comment POSIX.1g
  534: @item _SC_SELECT
  535: Inquire about the parameter corresponding to @code{_POSIX_SELECT}.
  536: 
  537: @comment unistd.h
  538: @comment POSIX.1g
  539: @item _SC_UIO_MAXIOV
  540: Inquire about the parameter corresponding to @code{_POSIX_UIO_MAXIOV}.
  541: 
  542: @comment unistd.h
  543: @comment POSIX.1g
  544: @item _SC_PII_INTERNET_STREAM
  545: Inquire about the parameter corresponding to @code{_POSIX_PII_INTERNET_STREAM}.
  546: 
  547: @comment unistd.h
  548: @comment POSIX.1g
  549: @item _SC_PII_INTERNET_DGRAM
  550: Inquire about the parameter corresponding to @code{_POSIX_PII_INTERNET_DGRAM}.
  551: 
  552: @comment unistd.h
  553: @comment POSIX.1g
  554: @item _SC_PII_OSI_COTS
  555: Inquire about the parameter corresponding to @code{_POSIX_PII_OSI_COTS}.
  556: 
  557: @comment unistd.h
  558: @comment POSIX.1g
  559: @item _SC_PII_OSI_CLTS
  560: Inquire about the parameter corresponding to @code{_POSIX_PII_OSI_CLTS}.
  561: 
  562: @comment unistd.h
  563: @comment POSIX.1g
  564: @item _SC_PII_OSI_M
  565: Inquire about the parameter corresponding to @code{_POSIX_PII_OSI_M}.
  566: 
  567: @comment unistd.h
  568: @comment POSIX.1g
  569: @item _SC_T_IOV_MAX
  570: Inquire the value of the value associated with the @code{T_IOV_MAX}
  571: variable.
  572: 
  573: @comment unistd.h
  574: @comment POSIX.1
  575: @item _SC_THREADS
  576: Inquire about the parameter corresponding to @code{_POSIX_THREADS}.
  577: 
  578: @comment unistd.h
  579: @comment POSIX.1
  580: @item _SC_THREAD_SAFE_FUNCTIONS
  581: Inquire about the parameter corresponding to@*
  582: @code{_POSIX_THREAD_SAFE_FUNCTIONS}.
  583: 
  584: @comment unistd.h
  585: @comment POSIX.1
  586: @item _SC_GETGR_R_SIZE_MAX
  587: Inquire about the parameter corresponding to @code{_POSIX_GETGR_R_SIZE_MAX}.
  588: 
  589: @comment unistd.h
  590: @comment POSIX.1
  591: @item _SC_GETPW_R_SIZE_MAX
  592: Inquire about the parameter corresponding to @code{_POSIX_GETPW_R_SIZE_MAX}.
  593: 
  594: @comment unistd.h
  595: @comment POSIX.1
  596: @item _SC_LOGIN_NAME_MAX
  597: Inquire about the parameter corresponding to @code{_POSIX_LOGIN_NAME_MAX}.
  598: 
  599: @comment unistd.h
  600: @comment POSIX.1
  601: @item _SC_TTY_NAME_MAX
  602: Inquire about the parameter corresponding to @code{_POSIX_TTY_NAME_MAX}.
  603: 
  604: @comment unistd.h
  605: @comment POSIX.1
  606: @item _SC_THREAD_DESTRUCTOR_ITERATIONS
  607: Inquire about the parameter corresponding to
  608: @code{_POSIX_THREAD_DESTRUCTOR_ITERATIONS}.
  609: 
  610: @comment unistd.h
  611: @comment POSIX.1
  612: @item _SC_THREAD_KEYS_MAX
  613: Inquire about the parameter corresponding to @code{_POSIX_THREAD_KEYS_MAX}.
  614: 
  615: @comment unistd.h
  616: @comment POSIX.1
  617: @item _SC_THREAD_STACK_MIN
  618: Inquire about the parameter corresponding to @code{_POSIX_THREAD_STACK_MIN}.
  619: 
  620: @comment unistd.h
  621: @comment POSIX.1
  622: @item _SC_THREAD_THREADS_MAX
  623: Inquire about the parameter corresponding to @code{_POSIX_THREAD_THREADS_MAX}.
  624: 
  625: @comment unistd.h
  626: @comment POSIX.1
  627: @item _SC_THREAD_ATTR_STACKADDR
  628: Inquire about the parameter corresponding to@*a
  629: @code{_POSIX_THREAD_ATTR_STACKADDR}.
  630: 
  631: @comment unistd.h
  632: @comment POSIX.1
  633: @item _SC_THREAD_ATTR_STACKSIZE
  634: Inquire about the parameter corresponding to@*
  635: @code{_POSIX_THREAD_ATTR_STACKSIZE}.
  636: 
  637: @comment unistd.h
  638: @comment POSIX.1
  639: @item _SC_THREAD_PRIORITY_SCHEDULING
  640: Inquire about the parameter corresponding to
  641: @code{_POSIX_THREAD_PRIORITY_SCHEDULING}.
  642: 
  643: @comment unistd.h
  644: @comment POSIX.1
  645: @item _SC_THREAD_PRIO_INHERIT
  646: Inquire about the parameter corresponding to @code{_POSIX_THREAD_PRIO_INHERIT}.
  647: 
  648: @comment unistd.h
  649: @comment POSIX.1
  650: @item _SC_THREAD_PRIO_PROTECT
  651: Inquire about the parameter corresponding to @code{_POSIX_THREAD_PRIO_PROTECT}.
  652: 
  653: @comment unistd.h
  654: @comment POSIX.1
  655: @item _SC_THREAD_PROCESS_SHARED
  656: Inquire about the parameter corresponding to
  657: @code{_POSIX_THREAD_PROCESS_SHARED}.
  658: 
  659: @comment unistd.h
  660: @comment POSIX.2
  661: @item _SC_2_C_DEV
  662: Inquire about whether the system has the POSIX.2 C compiler command,
  663: @code{c89}.
  664: 
  665: @comment unistd.h
  666: @comment POSIX.2
  667: @item _SC_2_FORT_DEV
  668: Inquire about whether the system has the POSIX.2 Fortran compiler
  669: command, @code{fort77}.
  670: 
  671: @comment unistd.h
  672: @comment POSIX.2
  673: @item _SC_2_FORT_RUN
  674: Inquire about whether the system has the POSIX.2 @code{asa} command to
  675: interpret Fortran carriage control.
  676: 
  677: @comment unistd.h
  678: @comment POSIX.2
  679: @item _SC_2_LOCALEDEF
  680: Inquire about whether the system has the POSIX.2 @code{localedef}
  681: command.
  682: 
  683: @comment unistd.h
  684: @comment POSIX.2
  685: @item _SC_2_SW_DEV
  686: Inquire about whether the system has the POSIX.2 commands @code{ar},
  687: @code{make}, and @code{strip}.
  688: 
  689: @comment unistd.h
  690: @comment POSIX.2
  691: @item _SC_BC_BASE_MAX
  692: Inquire about the maximum value of @code{obase} in the @code{bc}
  693: utility.
  694: 
  695: @comment unistd.h
  696: @comment POSIX.2
  697: @item _SC_BC_DIM_MAX
  698: Inquire about the maximum size of an array in the @code{bc}
  699: utility.
  700: 
  701: @comment unistd.h
  702: @comment POSIX.2
  703: @item _SC_BC_SCALE_MAX
  704: Inquire about the maximum value of @code{scale} in the @code{bc}
  705: utility.
  706: 
  707: @comment unistd.h
  708: @comment POSIX.2
  709: @item _SC_BC_STRING_MAX
  710: Inquire about the maximum size of a string constant in the
  711: @code{bc} utility.
  712: 
  713: @comment unistd.h
  714: @comment POSIX.2
  715: @item _SC_COLL_WEIGHTS_MAX
  716: Inquire about the maximum number of weights that can necessarily
  717: be used in defining the collating sequence for a locale.
  718: 
  719: @comment unistd.h
  720: @comment POSIX.2
  721: @item _SC_EXPR_NEST_MAX
  722: Inquire about the maximum number of expressions nested within
  723: parentheses when using the @code{expr} utility.
  724: 
  725: @comment unistd.h
  726: @comment POSIX.2
  727: @item _SC_LINE_MAX
  728: Inquire about the maximum size of a text line that the POSIX.2 text
  729: utilities can handle.
  730: 
  731: @comment unistd.h
  732: @comment POSIX.2
  733: @item _SC_EQUIV_CLASS_MAX
  734: Inquire about the maximum number of weights that can be assigned to an
  735: entry of the @code{LC_COLLATE} category @samp{order} keyword in a locale
  736: definition.  The GNU C library does not presently support locale
  737: definitions.
  738: 
  739: @comment unistd.h
  740: @comment POSIX.2
  741: @item _SC_VERSION
  742: Inquire about the version number of POSIX.1 that the library and kernel
  743: support.
  744: 
  745: @comment unistd.h
  746: @comment POSIX.2
  747: @item _SC_2_VERSION
  748: Inquire about the version number of POSIX.2 that the system utilities
  749: support.
  750: 
  751: @comment unistd.h
  752: @comment GNU
  753: @item _SC_PAGESIZE
  754: Inquire about the virtual memory page size of the machine.
  755: @code{getpagesize} returns the same value (@pxref{Query Memory Parameters}).
  756: 
  757: @comment unistd.h
  758: @comment GNU
  759: @item _SC_NPROCESSORS_CONF
  760: Inquire about the number of configured processors.
  761: 
  762: @comment unistd.h
  763: @comment GNU
  764: @item _SC_NPROCESSORS_ONLN
  765: Inquire about the number of processors online.
  766: 
  767: @comment unistd.h
  768: @comment GNU
  769: @item _SC_PHYS_PAGES
  770: Inquire about the number of physical pages in the system.
  771: 
  772: @comment unistd.h
  773: @comment GNU
  774: @item _SC_AVPHYS_PAGES
  775: Inquire about the number of available physical pages in the system.
  776: 
  777: @comment unistd.h
  778: @comment GNU
  779: @item _SC_ATEXIT_MAX
  780: Inquire about the number of functions which can be registered as termination
  781: functions for @code{atexit}; @pxref{Cleanups on Exit}.
  782: 
  783: @comment unistd.h
  784: @comment X/Open
  785: @item _SC_XOPEN_VERSION
  786: Inquire about the parameter corresponding to @code{_XOPEN_VERSION}.
  787: 
  788: @comment unistd.h
  789: @comment X/Open
  790: @item _SC_XOPEN_XCU_VERSION
  791: Inquire about the parameter corresponding to @code{_XOPEN_XCU_VERSION}.
  792: 
  793: @comment unistd.h
  794: @comment X/Open
  795: @item _SC_XOPEN_UNIX
  796: Inquire about the parameter corresponding to @code{_XOPEN_UNIX}.
  797: 
  798: @comment unistd.h
  799: @comment X/Open