CONFSTR(3C) Standard C Library Functions CONFSTR(3C)
NAME
confstr - get configurable variables
SYNOPSIS
#include <unistd.h>
size_t confstr(
int name,
char *buf,
size_t len);
DESCRIPTION
The
confstr() function provides a method for applications to get
configuration-defined string values. Its use and purpose are similar to
the
sysconf(3C) function, but it is used where string values rather than
numeric values are returned.
The
name argument represents the system variable to be queried.
If
len is not
0, and if
name 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, then
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
0,
confstr() still returns the integer value as defined below,
but does not return the string.
The
confstr() function supports the following values for
name, defined in
<unistd.h>, for both SPARC and x86:
_CS_LFS64_CFLAGS If
_LFS64_LARGEFILE is defined in
<unistd.h>, this value is the set
of initial options to be given to the
cc and
c89 utilities to build
an application using the Large File Summit transitional compilation
environment (see
lfcompile64(7)).
_CS_LFS64_LDFLAGS If
_LFS64_LARGEFILE is defined in
<unistd.h>, this value is the set
of final options to be given to the
cc and
c89 utilities to build an
application using the Large File Summit transitional compilation
environment (see
lfcompile64(7)).
_CS_LFS64_LIBS If
_LFS64_LARGEFILE is defined in
<unistd.h>, this value is the set
of libraries to be given to the
cc and
c89 utilities to build an
application using the Large File Summit transitional compilation
environment (see
lfcompile64(7)).
_CS_LFS64_LINTFLAGS If
_LFS64_LARGEFILE is defined in
<unistd.h>, this value is the set
of options to be given to the
lint utility to check application
source using the Large File Summit transitional compilation
environment (see
lfcompile64(7)).
_CS_LFS_CFLAGS If
_LFS_LARGEFILE is defined in
<unistd.h>, this value is the set of
initial options to be given to the
cc and
c89 utilities to build an
application using the Large File Summit large file compilation
environment for 32-bit applications (see
lfcompile(7)).
_CS_LFS_LDFLAGS If
_LFS_LARGEFILE is defined in
<unistd.h>, this value is the set of
final options to be given to the
cc and
c89 utilities to build an
application using the Large File Summit large file compilation
environment for 32-bit applications (see
lfcompile(7)).
_CS_LFS_LIBS If
_LFS_LARGEFILE is defined in
<unistd.h>, this value is the set of
libraries to be given to the
cc and
c89 utilities to build an
application using the Large File Summit large file compilation
environment for 32-bit applications (see
lfcompile(7)).
_CS_LFS_LINTFLAGS If
_LFS_LARGEFILE is defined in
<unistd.h>, this value is the set of
options to be given to the
lint utility to check application source
using the Large File Summit large file compilation environment for
32-bit applications (see
lfcompile(7)).
_CS_PATH If the ISO POSIX.2 standard is supported, this is the value for the
PATH environment variable that finds all standard utilities.
Otherwise the meaning of this value is unspecified.
_CS_POSIX_V6_ILP32_OFF32_CFLAGS If
sysconf(
_SC_V6_ILP32_OFF32) returns -1, the meaning of this value
is unspecified. Otherwise, this value is the set of initial options
to be given to the
c99 utility to build an application using a
programming model with 32-bit
int,
long,
pointer, and
off_t types.
_CS_POSIX_V6_ILP32_OFF32_LDFLAGS If
sysconf(
_SC_V6_ILP32_OFF32) returns -1, the meaning of this value
is unspecified. Otherwise, this value is the set of final options to
be given to the
c99 utility to build an application using a
programming model with 32-bit
int,
long,
pointer, and
off_t types.
_CS_POSIX_V6_ILP32_OFF32_LIBS If
sysconf(
_SC_V6_ILP32_OFF32) returns -1, the meaning of this value
is unspecified. Otherwise, this value is the set of libraries to be
given to the
c99 utility to build an application using a programming
model with 32-bit
int,
long,
pointer, and
off_t types.
_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS If
sysconf(
_SC_V6_ILP32_OFFBIG) returns -1, the meaning of this
value is unspecified. Otherwise, this value is the set of initial
options to be given to the
c99 utility to build an application using
a programming model with 32-bit
int,
long, and
pointer types, and an
off_t type using at least 64 bits.
_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS If
sysconf(
_SC_V6_ILP32_OFFBIG) returns -1, the meaning of this value
is unspecified. Otherwise, this value is the set of final options to
be given to the
c99 utility to build an application using a
programming model with 32-bit
int,
long, and
pointer types, and an
off_t type using at least 64 bits.
_CS_POSIX_V6_ILP32_OFFBIG_LIBS If
sysconf(
_SC_V6_ILP32_OFFBIG) returns -1, the meaning of this value
is unspecified. Otherwise, this value is the set of libraries to be
given to the
c99 utility to build an application using a programming
model with 32-bit
int,
long, and
pointer types, and an
off_t type
using at least 64 bits.
_CS_POSIX_V6_LP64_OFF64_CFLAGS If
sysconf(
_SC_V6_LP64_OFF64) returns -1, the meaning of this value
is unspecified. Otherwise, this value is the set of initial options
to be given to the
c99 utility to build an application using a
programming model with 64-bit
int,
long,
pointer, and
off_t types.
_CS_POSIX_V6_LP64_OFF64_LDFLAGS If
sysconf(
_SC_V6_LP64_OFF64) returns -1, the meaning of this value
is unspecified. Otherwise, this value is the set of final options to
be given to the
c99 utility to build an application using a
programming model with 64-bit
int,
long,
pointer, and
off_t types.
_CS_POSIX_V6_LP64_OFF64_LIBS If
sysconf(
_SC_V6_LP64_OFF64) returns -1, the meaning of this value
is unspecified. Otherwise, this value is the set of libraries to be
given to the
c99 utility to build an application using a programming
model with 64-bit
int,
long,
pointer, and
off_t types.
_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS If
sysconf(
_SC_V6_LPBIG_OFFBIG) returns -1, the meaning of this value
is unspecified. Otherwise, this value is the set of initial options
to be given to the
c99 utility to build an application using a
programming model with an
int type using at least 32 bits and
long,
pointer, and
off_t types using at least 64 bits.
_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS If
sysconf(
_SC_V6_LPBIG_OFFBIG) returns -1, the meaning of this value
is unspecified. Otherwise, this value is the set of final options to
be given to the
c99 utility to build an application using a
programming model with an
int type using at least 32 bits and
long,
pointer, and
off_t types using at least 64 bits.
_CS_POSIX_V6_LPBIG_OFFBIG_LIBS If
sysconf(
_SC_V6_LPBIG_OFFBIG) returns -1, the meaning of this value
is unspecified. Otherwise, this value is the set of libraries to be
given to the
c99 utility to build an application using a programming
model with an
int type using at least 32 bits and
long,
pointer, and
off_t types using at least 64 bits.
_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS This value is a <newline>-separated list of names of programming
environments supported by the implementation in which the widths of
the
blksize_t,
cc_t,
mode_t,
nfds_t,
pid_t,
ptrdiff_t,
size_t,
speed_t,
ssize_t,
suseconds_t,
tcflag_t,
useconds_t,
wchar_t, and
wint_t types are no greater than the width of type
long.
_CS_XBS5_ILP32_OFF32_CFLAGS If
sysconf(_SC_XBS5_ILP32_OFF32) returns -1 the meaning of this value
is unspecified. Otherwise, this value is the set of initial options
to be given to the
cc and
c89 utilities to build an application using
a programming model with 32-bit
int,
long,
pointer, and
off_t types.
_CS_XBS5_ILP32_OFF32_LDFLAGS If
sysconf(_SC_XBS5_ILP32_OFF32) returns -1 the meaning of this value
is unspecified. Otherwise, this value is the set of final options to
be given to the
cc and
c89 utilities to build an application using a
programming model with 32-bit
int,
long,
pointer, and
off_t types.
_CS_XBS5_ILP32_OFF32_LIBS If
sysconf(_SC_XBS5_ILP32_OFF32) returns -1 the meaning of this value
is unspecified. Otherwise, this value is the set of libraries to be
given to the
cc and
c89 utilities to build an application using a
programming model with 32-bit
int,
long,
pointer, and
off_t types.
_CS_XBS5_ILP32_OFF32_LINTFLAGS If
sysconf(_SC_XBS5_ILP32_OFF32) returns -1 the meaning of this value
is unspecified. Otherwise, this value is the set of options to be
given to the
lint utility to check application source using a
programming model with 32-bit
int,
long,
pointer, and
off_t types.
_CS_XBS5_ILP32_OFFBIG_CFLAGS If
sysconf(_SC_XBS5_ILP32_OFFBIG) returns -1 the meaning of this
value is unspecified. Otherwise, this value is the set of initial
options to be given to the
cc and
c89 utilities to build an
application using a programming model with 32-bit
int,
long, and
pointer types, and an
off_t type using at least 64 bits.
_CS_XBS5_ILP32_OFFBIG_LDFLAGS If
sysconf(SC_XBS5_ILP32_OFFBIG) returns -1 the meaning of this value
is unspecified. Otherwise, this value is the set of final options to
be given to the
cc and
c89 utilities to build an application using a
programming model with 32-bit
int,
long, and
pointer types, and an
off_t type using at least 64 bits.
_CS_XBS5_ILP32_OFFBIG_LIBS If
sysconf(_SC_XBS5_ILP32_OFFBIG) returns -1 the meaning of this
value is unspecified. Otherwise, this value is the set of libraries
to be given to the
cc and
c89 utilities to build an application using
a programming model with 32-bit
int,
long, and
pointer types, and an
off_t type using at least 64 bits.
_CS_XBS5_ILP32_OFFBIG_LINTFLAGS If
sysconf(_SC_XBS5_ILP32_OFFBIG) returns -1 the meaning of this
value is unspecified. Otherwise, this value is the set of options to
be given to the
lint utility to check an application using a
programming model with 32-bit
int,
long, and
pointer types, and an
off_t type using at least 64 bits.
The
confstr() function supports the following values for
name, defined in
<unistd.h>, for SPARC only:
_CS_XBS5_LP64_OFF64_CFLAGS If
sysconf(_SC_XBS5_LP64_OFF64) returns -1 the meaning of this value
is unspecified. Otherwise, this value is the set of initial options
to be given to the
cc and
c89 utilities to build an application using
a programming model with 64-bit
int,
long,
pointer, and
off_t types.
_CS_XBS5_LP64_OFF64_LDFLAGS If
sysconf(_SC_XBS5_LP64_OFF64) returns -1 the meaning of this value
is unspecified. Otherwise, this value is the set of final options to
be given to the
cc and
c89 utilities to build an application using a
programming model with 64-bit
int,
long,
pointer, and
off_t types.
_CS_XBS5_LP64_OFF64_LIBS If
sysconf(_SC_XBS5_LP64_OFF64) returns -1 the meaning of this value
is unspecified. Otherwise, this value is the set of libraries to be
given to the
cc and
c89 utilities to build an application using a
programming model with 64-bit
int,
long,
pointer, and
off_t types.
_CS_XBS5_LP64_OFF64_LINTFLAGS If
sysconf(_SC_XBS5_LP64_OFF64) returns -1 the meaning of this value
is unspecified. Otherwise, this value is the set of options to be
given to the
lint utility to check application source using a
programming model with 64-bit
int,
long,
pointer, and
off_t types.
_CS_XBS5_LPBIG_OFFBIG_CFLAGS If
sysconf(_SC_XBS5_LPBIG_OFFBIG) returns -1 the meaning of this
value is unspecified. Otherwise, this value is the set of initial
options to be given to the
cc and
c89 utilities to build an
application using a programming model with an
int type using at least
32 bits and
long,
pointer, and
off_t types using at least 64 bits.
_CS_XBS5_LPBIG_OFFBIG_LDFLAGS If
sysconf(_SC_XBS5_LPBIG_OFFBIG) returns -1 the meaning of this
value is unspecified. Otherwise, this value is the set of final
options to be given to the
cc and
c89 utilities to build an
application using a programming model with an
int type using at least
32 bits and
long,
pointer, and
off_t types using at least 64 bits.
_CS_XBS5_LPBIG_OFFBIG_LIBS If
sysconf(_SC_XBS5_LPBIG_OFFBIG) returns -1 the meaning of this
value is unspecified. Otherwise, this value is the set of libraries
to be given to the
cc and
c89 utilities to build an application using
a programming model with an
int type using at least 32 bits and
long,
pointer, and
off_t types using at least 64 bits.
_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS If
sysconf(_SC_XBS5_LPBIG_OFFBIG) returns -1 the meaning of this
value is unspecified. Otherwise, this value is the set of options to
be given to the
lint utility to check application source using a
programming model with an
int type using at least 32 bits and
long,
pointer, and
off_t types using at least 64 bits.
RETURN VALUES
If
name has a configuration-defined value, the
confstr() function returns
the size of buffer that would be needed to hold the entire configuration-
defined value. If this return value is greater than
len, the string
returned in
buf is truncated.
If
name is invalid,
confstr() returns
0 and sets
errno to indicate the
error.
If
name does not have a configuration-defined value,
confstr() returns
0 and leaves
errno unchanged.
ERRORS
The
confstr() function will fail if:
EINVAL The value of the
name argument is invalid.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Standard |
+--------------------+-----------------+
|MT-Level | Mt-Safe |
+--------------------+-----------------+
SEE ALSO
pathconf(2),
sysconf(3C),
attributes(7),
lfcompile(7),
lfcompile64(7),
standards(7) December 15, 2003
CONFSTR(3C)