CONFSTR(3) BSD Programmer's Manual CONFSTR(3)
confstr - get string-valued configurable variables
#include <unistd.h> size_t confstr(int name, char *buf, size_t len);
This interface is obsoleted by sysctl(3). The confstr() function provides a method for applications to get confi- guration defined string values. The name argument specifies the system variable to be queried. Symbolic constants for each name value are found in the include file <unistd.h>. The len argument specifies the size of the buffer referenced by the argu- ment buf. If len is non-zero, buf is a non-null pointer, and name has a value; up to len - 1 bytes of the value are copied into the buffer buf. The copied value is always NUL terminated. The available values are as follows: _CS_PATH Return a value for the PATH environment variable that finds all the standard utilities.
If the call to confstr is not successful, -1 is returned and errno is set appropriately. Otherwise, if the variable does not have a configuration defined value, 0 is returned and errno is not modified. Otherwise, the buffer size needed to hold the entire configuration-defined value is re- turned. If this size is greater than the argument len, the string in buf was truncated.
The confstr function may fail and set errno for any of the errors speci- fied for the library functions malloc(3) and sysctl(3). In addition, the following errors may be reported: [EINVAL] The value of the name argument is invalid.
sysctl(3)
The confstr function conforms to IEEE Std 1003.2-1992 ("POSIX.2").
The confstr function first appeared in 4.4BSD. MirBSD #10-current June 4, 1993 1