confstr - get configuration dependent string variables
#include <unistd.h> size_t confstr(int name, char *buf, size_t len);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
confstr(): _POSIX_C_SOURCE >= 2 || _XOPEN_SOURCE
confstr() gets the value of configuration-dependent string variables.
name argument is the system variable to be queried. The
following variables are supported:
A string which identifies the GNU C library version on this system (e.g., "glibc 2.3.4").
A string which identifies the POSIX implementation supplied by this C library (e.g., "NPTL 2.3.4" or "linuxthreads-0.10").
A value for the PATH variable which indicates where all the POSIX.2 standard utilities can be found.
buf is not NULL and
len is not zero,
confstr() copies the value of the string to
buf truncated to
len - 1 bytes if necessary, with a
null byte ('\0') as terminator. This can be detected by comparing the
return value of confstr() against
len is zero and
buf is NULL,
confstr() just returns the value as defined below.
name is a valid configuration variable,
confstr() returns the number of bytes (including the
terminating null byte) that would be required to hold the entire value
of that variable. This value may be greater than
means that the value in
buf is truncated.
name is a valid configuration variable, but that variable
does not have a value, then confstr() returns 0. If
name does not correspond to a valid configuration variable,
confstr() returns 0, and
errno is set to
The value of
name is invalid.
For an explanation of the terms used in this section, see attributes(7).
This page is part of release 5.10 of the Linux
project. A description of the project, information about reporting bugs,
and the latest version of this page, can be found at