aboutsummaryrefslogtreecommitdiffstats
path: root/man3/confstr.3
diff options
context:
space:
mode:
authorMichael Kerrisk <mtk.manpages@gmail.com>2004-11-03 13:51:07 +0000
committerMichael Kerrisk <mtk.manpages@gmail.com>2004-11-03 13:51:07 +0000
commitfea681dafb1363a154b7fc6d59baa83d2a9ebc5c (patch)
tree8ea275c0f242af739617d0afc3e1b16c4eff3dc2 /man3/confstr.3
downloadman-pages-fea681dafb1363a154b7fc6d59baa83d2a9ebc5c.tar.gz
Import of man-pages 1.70man-pages-1.70
Diffstat (limited to 'man3/confstr.3')
-rw-r--r--man3/confstr.3111
1 files changed, 111 insertions, 0 deletions
diff --git a/man3/confstr.3 b/man3/confstr.3
new file mode 100644
index 0000000000..93c8ef6b26
--- /dev/null
+++ b/man3/confstr.3
@@ -0,0 +1,111 @@
+.\" (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" License.
+.\" Modified Sat Jul 24 19:53:02 1993 by Rik Faith (faith@cs.unc.edu)
+.TH CONFSTR 3 1993-04-17 "GNU" "Linux Programmer's Manual"
+.SH NAME
+confstr \- get configuration dependent string variables
+.SH SYNOPSIS
+.nf
+.B #define _POSIX_C_SOURCE 2
+or
+.B #define _XOPEN_SOURCE
+.nl
+.B #include <unistd.h>
+.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
+truncated 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 "CONFORMING 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),
+.BR exec (3),
+.BR system (3)