confstr - get configuration dependent string variables


SYNOPSIS

       #define _POSIX_C_SOURCE 2
       or
       #define _XOPEN_SOURCE
       #include <unistd.h>

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


DESCRIPTION

       confstr()  gets  the  value  of  configuration - dependent
       string variables.

       The name argument is the system variable  to  be  queried.
       The following variables are supported:

       _CS_PATH
              A value for the PATH variable which indicates where
              all the POSIX.2 standard utilities can be found.

       If buf is not NULL, and len is not zero, confstr()  copies
       the  value of the string to buf truncated to len - 1 char­
       acters if necessary, with a null character as termination.
       This can be detected by comparing the return value of con­
       fstr() against len.

       If len is zero and buf is NULL, confstr() just returns the
       value as defined below.


RETURN VALUE

       If name does not correspond to a valid configuration vari­
       able, confstr() returns 0.


EXAMPLES

       The following code fragment determines the path  where  to
       find the POSIX.2 system utilities:

          char *pathbuf; size_t n;

          n = confstr(_CS_PATH,NULL,(size_t)0);
          if ((pathbuf = malloc(n)) == NULL) abort();
          confstr(_CS_PATH, pathbuf, n);


ERRORS

       If the value of name is invalid, errno is set to EINVAL.


CONFORMING TO

       proposed POSIX.2


BUGS

       POSIX.2  is  not yet an approved standard; the information
       sh(1), exec(3), system(3)