unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (HP-UX-11.11)
Page:
Section:
Apropos / Subsearch:
optional field



 sysconf(2)							  sysconf(2)




 NAME
      sysconf() - get configurable system variables

 SYNOPSIS
      #include <&lt&lt&lt;unistd.h>&gt&gt&gt;

      long sysconf(int name);

      int CPU_IS_PA_RISC(long cpuvers);

 DESCRIPTION
      The sysconf() system call provides a way for applications to determine
      the current value of a configurable limit or variable.

      The name argument represents the system variable being queried.

      The following table lists the configuration variables whose values can
      be determined by calling sysconf(), and for each variable, the
      associated value of the name argument and the value returned:

	Variable	      Value for name			Value Returned
 ___________________________________________________________________________________________
 AES_OS_VERSION		  _SC_AES_OS_VERSION	   Version number of
						   OSF/AES OSC supported

 AIO_LISTIO_MAX		  _SC_AIO_LISTIO_MAX	   Maximum number of aio
						   operations that can be
						   specified in a
						   lio_listio() call (see
						   lio_listio(2))

 AIO_MAX		  _SC_AIO_MAX		   Maximum number of aio
						   operations that can be
						   queued at any time (see
						   aio(5))

 AIO_PRIO_DELTA_MAX	  _SC_AIO_PRIO_DELTA_MAX   Maximum slowdown factor
						   that can be specified
						   in the aio_reqprio
						   field of a aiocb
						   structure (see aio(5))

 ARG_MAX		  _SC_ARG_MAX		   Maximum total length of
						   the arguments for
						   exec() in bytes,
						   including environment
						   data (see exec(2))







 Hewlett-Packard Company	    - 1 -   HP-UX Release 11i: November 2000






 sysconf(2)							  sysconf(2)




 ATEXIT_MAX		  _SC_ATEXIT_MAX	   Maximum number of
						   functions that can be
						   registered with
						   atexit() (see
						   atexit(3))

 BC_BASE_MAX		  _SC_BC_BASE_MAX	   Maximum ibase (input
						   number radix) and obase
						   (output number radix)
						   allowed by bc (see
						   bc(1))

 BC_DIM_MAX		  _SC_BC_DIM_MAX	   Maximum number of
						   elements in an array
						   permitted by bc (see
						   bc(1))

 BC_SCALE_MAX		  _SC_BC_SCALE_MAX	   Maximum scale factor
						   (number of digits to
						   the right of the
						   decimal point) allowed
						   by bc (see bc(1))

 BC_STRING_MAX		  _SC_BC_STRING_MAX	   Maximum length of
						   strings allowed by bc
						   (see bc(1))

 CHILD_MAX		  _SC_CHILD_MAX		   Maximum number of
						   simultaneous processes
						   per user ID (see
						   fork(2))

 CLK_TCK		  _SC_CLK_TCK		   Number of clock
						   intervals per second
						   for times() (see
						   times(2))

 CLOCKS_PER_SEC		  _SC_CLOCKS_PER_SEC	   Number of clock ticks
						   per second for clock()
						   (see clock(3C))

 COLL_WEIGHTS_MAX	  _SC_COLL_WEIGHTS_MAX	   Maximum number of
						   weights that can be
						   assigned to an entry of
						   the LC_COLLATE order
						   keyword in a localedef
						   input file (see
						   localedef(1M))






 Hewlett-Packard Company	    - 2 -   HP-UX Release 11i: November 2000






 sysconf(2)							  sysconf(2)




 CPU_KEYBITS1		  _SC_CPU_KEYBITS1	   Processor Extensions
						   (see below)

 CPU_VERSION		  _SC_CPU_VERSION	   Version of CPU
						   architecture (see
						   below)

 EXPR_NEST_MAX		  _SC_EXPR_NEST_MAX	   Maximum parenthesis
						   nesting level for expr
						   expressions (see
						   expr(1))

 HW_32_64_CAPABLE	  _SC_HW_32_64_CAPABLE	   Returns which kernel is
						   supported on the
						   hardware.  The value
						   returned is an encoding
						   which may be
						   interpreted using the
						   _SYSTEM_SUPPORTS_ILP32OS()
						   and
						   _SYSTEM_SUPPORTS_LP64OS()
						   macros defined in
						   unistd.h.  Example:

						   long ret = sysconf(_SC_HW_32_64_CAPABLE);

						   if (_SYSTEM_SUPPORTS_ILP32OS(ret) != 0) {
						       /* system supports 32-bit OS */
						   }

						   if (_SYSTEM_SUPPORTS_LP64OS(ret) != 0) {
						       /* system supports 64-bit OS */
						   }

 IO_TYPE		  _SC_IO_TYPE		   Type of I/O drivers the
						   kernel supports,
						   currently, only the
						   value IO_TYPE_CDIO

 KERNEL_BITS		  _SC_KERNEL_BITS	   Returns the number of
						   bits used by the kernel
						   for pointer and long
						   data types.	Current
						   values include 32 and
						   64.









 Hewlett-Packard Company	    - 3 -   HP-UX Release 11i: November 2000






 sysconf(2)							  sysconf(2)




 LIBC_VERSION		  _SC_LIBC_VERSION	   The version of libc
						   that is in use by the
						   application that is
						   requesting this
						   information.	 See below
						   for details.

 LINE_MAX		  _SC_LINE_MAX		   Maximum number of bytes
						   in an input line
						   (including the newline)
						   for POSIX.2 utilities

 NGROUPS_MAX		  _SC_NGROUPS_MAX	   Maximum number of
						   simultaneous
						   supplementary group IDs
						   per process

 OPEN_MAX		  _SC_OPEN_MAX		   Maximum number of files
						   that one process can
						   have open at one time

 PAGE_SIZE		  _SC_PAGE_SIZE		   Kernel memory page size

 PASS_MAX		  _SC_PASS_MAX		   Maximum number of
						   significant bytes in a
						   password

 POSIX_FSYNC		  _SC_FSYNC		   Positive if the File
						   Synchronization option
						   is supported (see
						   fsync(2))

 POSIX_JOB_CONTROL	  _SC_JOB_CONTROL	   Positive if the system
						   supports POSIX job
						   control; -1 otherwise

 POSIX_PRIORITY_	  _SC_PRIORITY_		   Positive if the system
  SCHEDULING		   SCHEDULING		   supports POSIX.4
						   priority scheduling; -1
						   otherwise

 POSIX_REALTIME_SIGNALS	  _SC_REALTIME_SIGNALS	   Positive if the system
						   supports POSIX.4
						   realtime signal
						   extensions; -1
						   otherwise








 Hewlett-Packard Company	    - 4 -   HP-UX Release 11i: November 2000






 sysconf(2)							  sysconf(2)




 POSIX_SAVED_IDS	  _SC_SAVED_IDS		   Positive if each
						   process has a saved
						   set-user-ID and a saved
						   set-group-ID; -1
						   otherwise

 POSIX_SYNCHRONIZED_IO	  _SC_SYNCHRONIZED_IO	   Positive if the
						   Synchronized IO option
						   is supported (see
						   open(2))

 POSIX_TIMERS		  _SC_TIMERS		   Positive if the system
						   supports POSIX.4 clocks
						   and timers; -1
						   otherwise

 POSIX_VERSION		  _SC_VERSION		   Approval date of the
						   POSIX.1 Standard (such
						   as 199009 for POSIX.1-
						   1990) to which the
						   system conforms.  This
						   value indicates the
						   year (first four
						   digits) and month (next
						   two digits) that the
						   standard was approved
						   by the IEEE Standards
						   Board.

 POSIX2_C_BIND		  _SC_2_C_BIND		   Equal to 1 if the
						   POSIX.2 C Language
						   Bindings Option is
						   available through the
						   c89 utility; -1
						   otherwise

 POSIX2_C_DEV		  _SC_2_C_DEV		   Equal to 1 if the
						   POSIX.2 C Language
						   Development Utilities
						   Option is supported; -1
						   otherwise

 POSIX2_C_VERSION	  _SC_2_C_VERSION	   Current version of the
						   POSIX.2 C Language
						   Binding Option
						   supported (same format
						   as _POSIX_VERSION); -1
						   otherwise.






 Hewlett-Packard Company	    - 5 -   HP-UX Release 11i: November 2000






 sysconf(2)							  sysconf(2)




 POSIX2_FORT_DEV	  _SC_2_FORT_DEV	   Equal to 1 if the
						   POSIX.2 FORTRAN
						   Development Utilities
						   Option is supported; -1
						   otherwise

 POSIX2_FORT_RUN	  _SC_2_FORT_RUN	   Equal to 1 if the
						   POSIX.2 Fortran Runtime
						   Utilities Option is
						   supported; -1 otherwise

 POSIX2_LOCALEDEF	  _SC_2_LOCALEDEF	   Equal to 1 if locales
						   can be created with the
						   POSIX.2 localedef
						   utility; -1 otherwise

 POSIX2_SW_DEV		  _SC_2_SW_DEV		   Equal to 1 if the
						   POSIX.2 Software
						   Development Utilities
						   Option is supported; -1
						   otherwise

 POSIX2_UPE		  _SC_2_UPE		   Equal to 1 if the
						   POSIX.2 User
						   Portability Utilities
						   Option is supported; -1
						   otherwise

 POSIX2_VERSION		  _SC_2_VERSION		   Current version of
						   POSIX.2 (same format as
						   _POSIX_VERSION)

 POSIX_THREADS		  _SC_THREADS		   Positive if the
						   implementation supports
						   POSIX threads; -1
						   otherwise.


 POSIX_THREAD_		  _SC_THREAD_		   Positive if the
  ATTR_STACKADDR	   ATTR_STACKADDR	   implementation supports
						   the POSIX Thread Stack
						   Address Attribute
						   option; -1 otherwise.

 POSIX_THREAD_		  _SC_THREAD_		   Positive if the
  ATTR_STACKSIZE	   ATTR_STACKSIZE	   implementation supports
						   the POSIX Thread Stack
						   Size Attribute option;
						   -1 otherwise.





 Hewlett-Packard Company	    - 6 -   HP-UX Release 11i: November 2000






 sysconf(2)							  sysconf(2)




 POSIX_THREAD_		_SC_THREAD_	       Positive if the
  PRIORITY_SCHEDULING	 PRIORITY_SCHEDULING   implementation supports
					       the POSIX Thread
					       Priority Scheduling
					       option; -l otherwise.

 POSIX_THREAD_		_SC_THREAD_	       Positive if the
  PRIO_INHERIT		 PRIO_INHERIT	       implementation supports
					       the POSIX Thread
					       Priority Inheritance
					       option; -l otherwise.

 POSIX_THREAD_		_SC_THREAD_	       Positive if the
  PRIO_PROTECT		 PRIO_PROTECT	       implementation supports
					       the POSIX Thread
					       Priority Protection
					       option; -l otherwise.

 POSIX_THREAD_		_SC_THREAD_PROCESS_    Positive if the
  PROCESS_SHARED	 SHARED		       implementation supports
					       the POSIX Thread
					       Process-Shared
					       Synchronization option;
					       -l otherwise.

 POSIX_THREAD_		_SC_THREAD_SAFE_       Positive if the
  SAFE_FUNCTIONS	 FUNCTIONS	       implementation supports
					       the POSIX Thread
					       Thread-Safe Functions
					       option; -l otherwise.

 PROCESSOR_SET		_SC_PSET_SUPPORT       Positive if the
					       implementation supports
					       the Processor Set
					       Functions; -l
					       otherwise.

 PTHREAD_		_SC_THREAD_	       The number of attempts
  DESTRUCTOR_		 DESTRUCTOR_	       made to destroy a
  ITERATIONS		 ITERATIONS	       pthread's thread-
					       specific data values on
					       thread exit.

 PTHREAD_KEYS_MAX	_SC_THREAD_	       The number of pthread
			 KEYS_MAX	       data keys per process.

 PTHREAD_STACK_MIN	_SC_THREAD_	       Minimum size in bytes
			 STACK_MIN	       of pthread stack
					       storage.





 Hewlett-Packard Company	    - 7 -   HP-UX Release 11i: November 2000






 sysconf(2)							  sysconf(2)




 PTHREAD_THREADS_MAX	_SC_THREAD_	       Maximum number of
			 THREADS_MAX	       pthreads that can be
					       created per process.

 PROC_RSRC_MGR		_SC_PROC_RSRC_MGR      Equal to 1 if the
					       optional HP Process
					       Resource Management
					       (PRM) software is
					       installed and
					       configured; 0 otherwise
					       (see prmconfig(1))

 RE_DUP_MAX		_SC_RE_DUP_MAX	       Maximum number of
					       repeated occurrences of
					       a regular expression
					       permitted when using
					       the interval notation
					       \{m,n\} (see
					       regcomp(3C))

 RTSIG_MAX		_SC_RTSIG_MAX	       Maximum number of
					       realtime signals
					       reserved for
					       application use.

 SECURITY_CLASS		_SC_SECURITY_CLASS     SEC_CLASS-NONE (No DoD
					       security level
					       supported)

 SIGQUEUE_MAX		_SC_SIGQUEUE_MAX       Maximum number of
					       queued signals that a
					       process may send and
					       have pending at the
					       receiver(s) at any
					       time.

 STREAM_MAX		_SC_STREAM_MAX	       Maximum number of stdio
					       streams that one
					       process can have open
					       at one time

 TIMER_MAX		_SC_TIMER_MAX	       Maximum number of
					       POSIX.4 timers per
					       process, if POSIX.4
					       timers are supported;
					       -1 otherwise








 Hewlett-Packard Company	    - 8 -   HP-UX Release 11i: November 2000






 sysconf(2)							  sysconf(2)




 TZNAME_MAX		_SC_TZNAME_MAX	       Maximum number of bytes
					       in a time zone name for
					       the TZ environment
					       variable

 XOPEN_CRYPT		_SC_XOPEN_CRYPT	       Equal to 1 if the
					       X/Open Encryption
					       Feature Group is
					       supported; -1 otherwise

 XOPEN_ENH_I18N		_SC_XOPEN_ENH_I18N     Equal to 1 if the
					       X/Open Enhanced
					       Internationalization
					       Feature Group is
					       supported; -1 otherwise

 XOPEN_SHM		_SC_XOPEN_SHM	       Equal to 1 if the
					       X/Open Shared Memory
					       Feature Group is
					       supported; -1 otherwise

 XOPEN_VERSION		_SC_XOPEN_VERSION      Issue number of X/Open
					       Portability Guide
					       supported

 XBS5_ILP32_		_SC_XBS5_ILP32_	       A flag which denotes
  OFF32			 OFF32		       whether
					       _CS_XBS5_ILP32_OFF32_CFLAGS,
					       _CS_XBS5_ILP32_OFF32_LDFLAGS,
					       _CS_XBS5_ILP32_OFF32_LIBS
					       and
					       _CS_XBS5_ILP32_OFF32_LINTFLAGS
					       are supported by
					       confstr(3C).  A return
					       value of -1 indicates
					       they are not supported.

 XBS5_ILP32_		_SC_XBS5_ILP32_	       A flag which denotes
  OFFBIG		 OFFBIG		       whether
					       _CS_XBS5_ILP32_OFFBIG_CFLAGS,
					       _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
					       _CS_XBS5_ILP32_OFFBIG_LIBS
					       and
					       _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
					       are supported by
					       confstr(3C).  A return
					       value of -1 indicates
					       they are not supported.






 Hewlett-Packard Company	    - 9 -   HP-UX Release 11i: November 2000






 sysconf(2)							  sysconf(2)




 XBS5_LP64_		_SC_XBS5_LP64_	       A flag which denotes
  OFF64			 OFF64		       whether
					       _CS_XBS5_LP64_OFF64_CFLAGS,
					       _CS_XBS5_LP64_OFF64_LDFLAGS,
					       _CS_XBS5_LP64_OFF64_LIBS
					       and
					       _CS_XBS5_LP64_OFF64_LINTFLAGS
					       are supported by
					       confstr(3C).  A return
					       value of -1 indicates
					       they are not supported.

 XBS5_LPBIG_		_SC_XBS5_LPBIG_	       A flag which denotes
  OFFBIG		 OFFBIG		       whether
					       _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
					       _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
					       _CS_XBS5_LPBIG_OFFBIG_LIBS
					       and
					       _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
					       are supported by
					       confstr(3C).  A return
					       value of -1 indicates
					       they are not supported.
 _____________________________________________________________________________

      Some of the variables in the table are defined as constants in
      <&lt&lt&lt;limits.h>&gt&gt&gt; (see limits(5)).  The associated values of the name
      argument are defined in <&lt&lt&lt;unistd.h>&gt&gt&gt;.

      The possible values of the CPU_VERSION variable returned by
      sysconf(_SC_CPU_VERSION) and their meanings are:

		Value			      Meaning
	   ____________________________________________________________
	   CPU_PA_RISC1_0    HP Precision Architecture RISC Version 1.0
	   CPU_PA_RISC1_1    HP Precision Architecture RISC Version 1.1

      The CPU_IS_PA_RISC() function classifies cpuvers, a value of the
      CPU_VERSION variable, as to its processor family.

      The availability of architecture specific instructions is indicated by
      the key bit data returned by sysconf(_SC_CPU_KEYBITS1).  Upon
      successful completion, the data returned will be the logical OR of the
      defined values for the features supported.

      The possible values returned by sysconf(_SC_CPU_KEYBITS1) and their
      meanings are shown in the following table.

	   Return Value		       Instruction Supported
	  ______________________________________________________________
	  HARITH	    Halfword parallel add, subtract, and average



 Hewlett-Packard Company	   - 10 -   HP-UX Release 11i: November 2000






 sysconf(2)							  sysconf(2)




	  HSHIFT	    Halfword parallel shift-and-add

      The format of the value returned by sysconf(_SC_LIBC_VERSION) is as
      follows:

      XXyyZZZZqN

      where

      XX     HP-UX major release number

      yy     HP-UX minor release number

      ZZZZ   Library specific number

      q	     0=32PA  1=64PA  2=32EM  3=64EM  4-9=Reserved

      N	     0	 = archive library

	     1-9 = System V version of shared library

 RETURN VALUE
      Upon successful completion, sysconf() returns the value of the named
      variable.	 If the value of name is not valid, sysconf() returns -1 and
      sets errno to indicate the error.	 If the variable corresponding to
      name is not defined, sysconf() returns -1, but does not change errno.

      CPU_IS_PA_RISC() returns positive nonzero if cpuvers is an HP PA-RISC
      processor; zero if not.

 ERRORS
      If sysconf() fails, the value of errno (see errno(2)) is set to:

	   [EINVAL]	  The value of name is not valid.

 EXAMPLES
      The following example determines the number of times the system clock
      ticks each second:

	   #include <&lt&lt&lt;unistd.h>&gt&gt&gt;

	   long ticks;
	     ...

	   ticks = sysconf(_SC_CLK_TCK);

      The following example determines if the current processor is an HP
      PA-RISC machine:

	   #include <&lt&lt&lt;unistd.h>&gt&gt&gt;




 Hewlett-Packard Company	   - 11 -   HP-UX Release 11i: November 2000






 sysconf(2)							  sysconf(2)




	   if (CPU_IS_PA_RISC(sysconf(_SC_CPU_VERSION)))
	     ...

 WARNINGS
      CPU_IS_PA_RISC() is implemented as a macro.

      Normally, the values returned from sysconf() do not change during the
      lifetime of the calling process.	However, the value of the symbolic
      constant _POSIX_VERSION and thus the value of sysconf(_SC_VERSION) can
      vary under certain circumstances.	 If either of the feature test
      macros _POSIX1_1988 or _XPG3 is defined by the programmer prior to
      including <&lt&lt&lt;unistd.h>&gt&gt&gt;, the value of _POSIX_VERSION is defined as
      198808, in conformance with POSIX.1-1988, FIPS 151-1, and XPG3.
      Otherwise, the value of _POSIX_VERSION is defined as 199009, in
      conformance with POSIX.1-1990.

      Similarly, the value of the symbolic constant _XOPEN_VERSION and thus
      the value of sysconf(_SC_XOPEN_VERSION) can vary under certain
      circumstances.  If the feature test macro _XPG3 is defined by the
      programmer prior to including <&lt&lt&lt;unistd.h>&gt&gt&gt;, the value of _XOPEN_VERSION
      is defined as 3, in conformance with XPG3.  Otherwise, the value of
      _XOPEN_VERSION is defined as 4, in conformance with XPG4.

      See stdsyms(5) for more information about these feature test macros.

      Any application that has a dependency on libdld.sl is a potential user
      of both archived and shared libc.	 Applications that comprise both
      archived and shared components where sysconf(_SC_LIBC_VERSION) may be
      invoked from both the archived and shared components may get
      inconsistent return values from sysconf().

 AUTHOR
      sysconf() was developed by HP and POSIX.

      CPU_IS_PA_RISC() was developed by HP.

 SEE ALSO
      atexit(3), exec(2), fork(2), getrlimit(2), pathconf(2), times(2),
      clock(3C), regcomp(3C), limits(5), stdsyms(5), unistd(5), x_open(5).

      HP Process Resource Manager: prmconfig(1) in HP Process Resource
      Manager User's Guide.

 STANDARDS CONFORMANCE
      sysconf(): AES, SVID3, XPG3, XPG4, FIPS 151-2, POSIX.1, POSIX.2,
      POSIX.4








 Hewlett-Packard Company	   - 12 -   HP-UX Release 11i: November 2000