NAME
confstr - get configuration dependent string variables
SYNOPSIS
#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
DESCRIPTION
confstr() gets the value of configuration-dependent string variables. The name argument is the system variable to be queried. The following variables are supported: _CS_GNU_LIBC_VERSION (GNU C library only; since glibc 2.3.2) A string which identifies the GNU C library version on this system (e.g., "glibc 2.3.4"). _CS_GNU_LIBPTHREAD_VERSION (GNU C library only; since glibc 2.3.2) A string which identifies the POSIX implementation supplied by this C library (e.g., "NPTL 2.3.4" or "linuxthreads-0.10"). _CS_PATH A value for the PATH variable which indicates where all the POSIX.2 standard utilities can be found. If 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. If len is zero and buf is NULL, confstr() just returns the value as defined below.
RETURN VALUE
If 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 len, which means that the value in buf is truncated. If 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 EINVAL.
ERRORS
EINVAL The value of name is invalid.
ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7). Interface Attribute Value confstr() Thread safety MT-Safe
CONFORMING TO
POSIX.1-2001, POSIX.1-2008.
EXAMPLE
The following code fragment determines the path where to find the POSIX.2 system utilities: char *pathbuf; size_t n; n = confstr(_CS_PATH, NULL, (size_t) 0); pathbuf = malloc(n); if (pathbuf == NULL) abort(); confstr(_CS_PATH, pathbuf, n);
SEE ALSO
getconf(1), sh(1), exec(3), fpathconf(3), pathconf(3), sysconf(3), system(3)
COLOPHON
This page is part of release 4.09 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.
More Linux Commands
manpages/Net::Server::Multiplex.3pm.html
Net::Server::Multiplex(3pm) - Multiplex several connections
This personality is designed to handle multiple connections all within one process. It should only be used with protocols that are guaranteed to be able to resp
manpages/pstoedit.1.html
pstoedit(1) - a tool converting PostScript and PDF files int
RELEASE LEVEL This manpage documents release 3.50 of pstoedit. USE pstoedit converts PostScript and PDF files to various vector graphic formats. The resulting f
manpages/unlzma.1.html
unlzma(1) - Compress or decompress .xz and .lzma files......
xz is a general-purpose data compression tool with command line syntax similar to gzip(1) and bzip2(1). The native file format is the .xz format, but the legacy
manpages/samba.7.html
samba(7) - A Windows SMB/CIFS fileserver for UNIX (ManPage)
The Samba software suite is a collection of programs that implements the Server Message Block (commonly abbreviated as SMB) protocol for UNIX systems and provid
manpages/XtOverrideTranslations.3.html
XtOverrideTranslations(3) - manage translation tables.......
The XtParseTranslationTable function compiles the translation table into the opaque internal representation of type XtTranslations. Note that if an empty transl
manpages/is_term_resized.3ncurses.html
is_term_resized(3ncurses) - change the curses terminal size
This is an extension to the curses library. It provides callers with a hook into the ncurses data to resize windows, primarily for use by programs running in an
manpages/Tcl_FindHashEntry.3.html
Tcl_FindHashEntry(3) - procedures to manage hash tables.....
A hash table consists of zero or more entries, each consisting of a key and a value. Given the key for an entry, the hashing routines can very quickly locate th
manpages/getitimer.2.html
getitimer(2) - get or set value of an interval timer........
The system provides each process with three interval timers, each decrementing in a distinct time domain. When any timer expires, a signal is sent to the proces
manpages/XML::LibXML::Boolean.3pm.html
XML::LibXML::Boolean(3pm) - Boolean true/false values.......
XML::LibXML::Boolean objects implement simple boolean true/false objects. API XML::LibXML::Boolean->True Creates a new Boolean object with a true value. XML::Li
manpages/getdomainname.2.html
getdomainname(2) - get/set domain name - Linux manual page
These functions are used to access or to change the NIS domain name of the host system. setdomainname() sets the domain name to the value given in the character
manpages/sched_setparam.2.html
sched_setparam(2) - set and get scheduling parameters.......
sched_setparam() sets the scheduling parameters associated with the scheduling policy for the process identified by pid. If pid is zero, then the parameters of
manpages/execlp.3.html
execlp(3) - execute a file (Library - Linux man page).......
The exec() family of functions replaces the current process image with a new process image. The functions described in this manual page are front-ends for execv
