Computer Science


CONFSTR(3)          Linux Programmer's Manual          CONFSTR(3)

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 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
       in this manpage is subject to change.

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

GNU                       April 17, 1993                        1

Back to the index


Apply now!


Handbook

Postgraduate study options

Computer Science Blog



Please give us your feedback or ask us a question

This message is...


My feedback or question is...


My email address is...

(Only if you need a reply)

A to Z Directory | Site map | Accessibility | Copyright | Privacy | Disclaimer | Feedback on this page