confstr(3C)
NAME
confstr() − get string-valued configuration values
SYNOPSIS
#include <unistd.h>
size_t confstr(int name, char *buf, size_t len);
DESCRIPTION
confstr() provides a method for applications to get configuration-defined string values. Its use and purpose are similar to sysconf() (see sysconf(2)) function, except that it is used where string values rather than numeric values are returned.
The name parameter can take on the following name values, which are defined in <unistd.h>.
_CS_PATH A default value for the PATH environment variable which can be used to locate commands in Section 1 of the HP-UX Reference and utilities defined in the POSIX.2 standard that are currently implemented in the HP-UX operating system.
If len is not zero, and if name is known and has a configuration-defined value, confstr() copies that value into the len-byte buffer pointed to by buf. If the string to be returned is longer than len bytes, including the terminating null, confstr() truncates the string to len−1 bytes and null-terminates the result. The application can detect that the string was truncated by comparing the value returned by confstr() with len.
If len is zero and buf is NULL, confstr() returns the integer value as defined below, but does not return a string. If len is zero but buf is not NULL, the result is unspecified.
RETURN VALUE
If name is invalid, confstr() returns zero and sets errno to EINVAL.
If name does not have a configuration-defined value, confstr() returns 1 and returns a null string in buf.
If name has a configuration-defined value, confstr() returns the size of buffer that would be needed to hold the entire configuration-defined value. If this return value is less than len, the string returned in buf has been truncated.
FILES
/usr/include/unistd.h
EXAMPLES
The following code fragment calls confstr() to determine the correct buffer size for _CS_PATH, allocates space for this buffer, then gets the configuration value for _CS_PATH.
#include <unistd.h>
#include <stddef.h>
size_t bufsize;
char *buffer;
bufsize=confstr(_CS_PATH,NULL,(size_t)0);
buffer=(char *)malloc(bufsize);
confstr(_CS_PATH,buffer,bufsize);
AUTHOR
confstr() was developed by HP.
SEE ALSO
getconf(1), errno(2), sysconf(2), pathconf(2), fpathconf(2), malloc(3C).
STANDARDS CONFORMANCE
confstr(): XPG4, POSIX.2
Hewlett-Packard Company — HP-UX Release 9.0: August 1992