.\" (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" This file can be distributed under the terms of the GNU General Public .\" License. .\" Modified Sat Jul 24 19:53:02 1993 by Rik Faith (faith@cs.unc.edu) .TH CONFSTR 3 "April 17, 1993" "GNU" "Linux Programmer's Manual" .SH NAME confstr \- get configuration dependent string variables .SH SYNOPSIS .nf .B #define __USE_POSIX_2 .nl .B #include .sp .BI "size_t confstr(int " "name" ", char *" buf ", size_t " len ");" .fi .SH DESCRIPTION .B confstr() gets the value of configuration \- dependent string variables. .PP The .I name argument is the system variable to be queried. The following variables are supported: .TP .B _CS_PATH A value for the .B PATH variable which indicates where all the POSIX.2 standard utilities can be found. .PP If .I buf is not .BR NULL , and .I len is not zero, .B confstr() copies the value of the string to .I buf truncuated to .I len \- 1 characters if necessary, with a null character as termination. This can be detected by comparing the return value of .B confstr() against .IR len . .PP If .I len is zero and .I buf is .BR NULL , .B confstr() just returns the value as defined below. .SH "RETURN VALUE" If .I name does not correspond to a valid configuration variable, .B confstr() returns 0. .SH EXAMPLES The following code fragment determines the path where to find the POSIX.2 system utilities: .br .nf .in 10 char *pathbuf; size_t n; n = confstr(_CS_PATH,NULL,(size_t)0); if ((pathbuf = malloc(n)) == NULL) abort(); confstr(_CS_PATH, pathbuf, n); .SH ERRORS If the value of .I name is invalid, .I errno is set to .BR EINVAL . .SH "CONFORMS TO" proposed POSIX.2 .SH "BUGS" POSIX.2 is not yet an approved standard; the information in this manpage is subject to change. .SH SEE ALSO .BR sh "(1), " exec "(2), " system (3)