confstr(3C)




NAME

     confstr - get configurable variables


SYNOPSIS

     #include <unistd.h>

     size_t confstr(int name, char *buf, size_t len);


DESCRIPTION

     The confstr() function provides a method for applications to
     get  configuration-defined  string values.  Its use and pur-
     pose are similar to the sysconf(3C) function, but it is used
     where string values rather than numeric values are returned.

     The name argument  represents  the  system  variable  to  be
     queried.

     If len is not 0, and if  name  has  a  configuration-defined
     value, confstr() copies that value into the  len-byte buffer
     pointed to by buf. If the string to be  returned  is  longer
     than   len  bytes,  including  the  terminating  null,  then
     confstr() truncates the string to   len-1  bytes  and  null-
     terminates  the  result. The application can detect that the
     string was truncated by  comparing  the  value  returned  by
     confstr() with len.

     If len is 0, and buf is a null pointer, then confstr() still
     returns  the  integer  value  as defined below, but does not
     return the string.  If len is  0  but  buf  is  not  a  null
     pointer, the result is unspecified.

     The confstr() function supports  the  following  values  for
     name, defined in <unistd.h>, for both SPARC and x86:

     _CS_LFS64_CFLAGS
           If _LFS64_LARGEFILE is  defined  in  <unistd.h>,  this
           value is the set of initial options to be given to the
           cc and c89 utilities to build an application using the
           Large File Summit transitional compilation environment
           (see lfcompile64(5)).

     _CS_LFS64_LDFLAGS
           If _LFS64_LARGEFILE is  defined  in  <unistd.h>,  this
           value  is  the set of final options to be given to the
           cc and c89 utilities to build an application using the
           Large File Summit transitional compilation environment
           (see lfcompile64(5)).

     _CS_LFS64_LIBS
           If _LFS64_LARGEFILE is  defined  in  <unistd.h>,  this
           value  is  the  set of libraries to be given to the cc
           and c89 utilities to build an  application  using  the
           Large File Summit transitional compilation environment
           (see lfcompile64(5)).

     _CS_LFS64_LINTFLAGS
           If _LFS64_LARGEFILE is  defined  in  <unistd.h>,  this
           value  is  the  set of options to be given to the lint
           utility to check application source  using  the  Large
           File  Summit transitional compilation environment (see
           lfcompile64(5)).

     _CS_LFS_CFLAGS
           If _LFS_LARGEFILE is defined in <unistd.h>, this value
           is  the  set  of initial options to be given to the cc
           and c89 utilities to build an  application  using  the
           Large  File  Summit large file compilation environment
           for 32-bit applications (see lfcompile(5)).

     _CS_LFS_LDFLAGS
           If _LFS_LARGEFILE is defined in <unistd.h>, this value
           is  the set of final options to be given to the cc and
           c89 utilities to build an application using the  Large
           File  Summit  large  file  compilation environment for
           32-bit applications (see lfcompile(5)).

     _CS_LFS_LIBS
           If _LFS_LARGEFILE is defined in <unistd.h>, this value
           is  the set of libraries to be given to the cc and c89
           utilities to build an application using the Large File
           Summit  large  file compilation environment for 32-bit
           applications (see lfcompile(5)).

     _CS_LFS_LINTFLAGS
           If _LFS_LARGEFILE is defined in <unistd.h>, this value
           is  the set of options to be given to the lint utility
           to check application source using the Large File  Sum-
           mit  large  file  compilation  environment  for 32-bit
           applications (see lfcompile(5)).

     _CS_PATH
           If the ISO POSIX.2 standard is supported, this is  the
           value for the PATH environment variable that finds all
           standard utilities.  Otherwise  the  meaning  of  this
           value is unspecified.

     _CS_XBS5_ILP32_OFF32_CFLAGS
           If sysconf(_SC_XBS5_ILP32_OFF32) returns -1 the  mean-
           ing  of  this  value  is unspecified.  Otherwise, this
           value is the set of initial options to be given to the
           cc  and  c89 utilities to build an application using a
           programming model with 32-bit int, long, pointer,  and
           off_t types.

     _CS_XBS5_ILP32_OFF32_LDFLAGS
           If sysconf(_SC_XBS5_ILP32_OFF32) returns -1 the  mean-
           ing  of  this  value  is unspecified.  Otherwise, this
           value is the set of final options to be given  to  the
           cc  and  c89 utilities to build an application using a
           programming model with 32-bit int, long, pointer,  and
           off_t types.

     _CS_XBS5_ILP32_OFF32_LIBS
           If sysconf(_SC_XBS5_ILP32_OFF32) returns -1 the  mean-
           ing  of  this  value  is unspecified.  Otherwise, this
           value is the set of libraries to be given  to  the  cc
           and c89 utilities to build an application using a pro-
           gramming model with 32-bit  int,  long,  pointer,  and
           off_t types.

     _CS_XBS5_ILP32_OFF32_LINTFLAGS
           If sysconf(_SC_XBS5_ILP32_OFF32) returns -1 the  mean-
           ing  of  this  value  is unspecified.  Otherwise, this
           value is the set of options to be given  to  the  lint
           utility  to  check application source using a program-
           ming model with 32-bit int, long, pointer,  and  off_t
           types.

     _CS_XBS5_ILP32_OFFBIG_CFLAGS
           If sysconf(_SC_XBS5_ILP32_OFFBIG) returns -1 the mean-
           ing  of  this  value  is unspecified.  Otherwise, this
           value is the set of initial options to be given to the
           cc  and  c89 utilities to build an application using a
           programming model with 32-bit int, long,  and  pointer
           types, and an off_t type using at least 64 bits.

     _CS_XBS5_ILP32_OFFBIG_LDFLAGS
           If sysconf(SC_XBS5_ILP32_OFFBIG) returns -1 the  mean-
           ing  of  this  value  is unspecified.  Otherwise, this
           value is the set of final options to be given  to  the
           cc  and  c89 utilities to build an application using a
           programming model with 32-bit int, long,  and  pointer
           types, and an off_t type using at least 64 bits.

     _CS_XBS5_ILP32_OFFBIG_LIBS
           If sysconf(_SC_XBS5_ILP32_OFFBIG) returns -1 the mean-
           ing  of  this  value  is unspecified.  Otherwise, this
           value is the set of libraries to be given  to  the  cc
           and c89 utilities to build an application using a pro-
           gramming model with  32-bit  int,  long,  and  pointer
           types, and an off_t type using at least 64 bits.

     _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
           If sysconf(_SC_XBS5_ILP32_OFFBIG) returns -1 the mean-
           ing  of  this  value  is unspecified.  Otherwise, this
           value is the set of options to be given  to  the  lint
           utility  to  check  an application using a programming
           model with 32-bit int, long, and pointer types, and an
           off_t type using at least 64 bits.

     The confstr() function supports  the  following  values  for
     name, defined in <unistd.h>, for SPARC only:

     _CS_XBS5_LP64_OFF64_CFLAGS
           If sysconf(_SC_XBS5_LP64_OFF64) returns -1 the meaning
           of  this  value is unspecified.  Otherwise, this value
           is the set of initial options to be given  to  the  cc
           and c89 utilities to build an application using a pro-
           gramming model with 64-bit  int,  long,  pointer,  and
           off_t types.

     _CS_XBS5_LP64_OFF64_LDFLAGS
           If sysconf(_SC_XBS5_LP64_OFF64) returns -1 the meaning
           of  this  value is unspecified.  Otherwise, this value
           is the set of final options to be given to the cc  and
           c89 utilities to build an application using a program-
           ming model with 64-bit int, long, pointer,  and  off_t
           types.

     _CS_XBS5_LP64_OFF64_LIBS
           If sysconf(_SC_XBS5_LP64_OFF64) returns -1 the meaning
           of  this  value is unspecified.  Otherwise, this value
           is the set of libraries to be given to the cc and  c89
           utilities  to build an application using a programming
           model with 64-bit int, long, pointer, and off_t types.

     _CS_XBS5_LP64_OFF64_LINTFLAGS
           If sysconf(_SC_XBS5_LP64_OFF64) returns -1 the meaning
           of  this  value is unspecified.  Otherwise, this value
           is the set of options to be given to the lint  utility
           to  check application source using a programming model
           with 64-bit int, long, pointer, and off_t types.

     _CS_XBS5_LPBIG_OFFBIG_CFLAGS
           If sysconf(_SC_XBS5_LPBIG_OFFBIG) returns -1 the mean-
           ing  of  this  value  is unspecified.  Otherwise, this
           value is the set of initial options to be given to the
           cc  and  c89 utilities to build an application using a
           programming model with an int type using at  least  32
           bits and long, pointer, and off_t types using at least
           64 bits.

     _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
           If sysconf(_SC_XBS5_LPBIG_OFFBIG) returns -1 the mean-
           ing  of  this  value  is unspecified.  Otherwise, this
           value is the set of final options to be given  to  the
           cc  and  c89 utilities to build an application using a
           programming model with an int type using at  least  32
           bits and long, pointer, and off_t types using at least
           64 bits.

     _CS_XBS5_LPBIG_OFFBIG_LIBS
           If sysconf(_SC_XBS5_LPBIG_OFFBIG) returns -1 the mean-
           ing  of  this  value  is unspecified.  Otherwise, this
           value is the set of libraries to be given  to  the  cc
           and c89 utilities to build an application using a pro-
           gramming model with an int type using at least 32 bits
           and  long,  pointer, and off_t types using at least 64
           bits.

     _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
           If sysconf(_SC_XBS5_LPBIG_OFFBIG) returns -1 the mean-
           ing  of  this  value  is unspecified.  Otherwise, this
           value is the set of options to be given  to  the  lint
           utility  to  check application source using a program-
           ming model with an int type using at least 32 bits and
           long, pointer, and off_t types using at least 64 bits.


RETURN VALUES

     If name has a  configuration-defined  value,  the  confstr()
     function  returns the size of buffer that would be needed to
     hold the entire configuration-defined value.  If this return
     value  is  greater  than  len, the string returned in buf is
     truncated.

     If name is invalid, confstr() returns 0 and sets   errno  to
     indicate the error.

     If  name  does  not  have  a  configuration-defined   value,
     confstr() returns  0 and leaves errno unchanged.


ERRORS

     The confstr() function will fail if:

     EINVAL
           The value of the name argument is invalid.


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | MT-Level                    | Mt-Safe                     |
    |_____________________________|_____________________________|


SEE ALSO


     pathconf(2),   sysconf(3C),   attributes(5),   lfcompile(5),
     lfcompile64(5)


Man(1) output converted with man2html