NAME

     confstr - get configuration dependent string variables


SYNOPSIS

     #define __USE_POSIX_2
     #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 charac-
     ters if necessary, with a  null  character  as  termination.
     This  can  be  detected  by  comparing  the  return value of
     confstr() 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  in
     this manpage is subject to change.


SEE ALSO

     sh(1), exec(3), system(3)