|
» |
|
|
|
NAMEconfstr() — get string-valued configuration values SYNOPSIS#include <unistd.h> size_t confstr(int name, char *buf, size_t len); DESCRIPTIONconfstr()
provides a method for applications
to get configuration-defined string values.
Its use and purpose are similar to
sysconf()
(see
sysconf(2)),
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. - _CS_HW_CPU_SUPP_BITS
Which kernel is supported on the hardware. Current values returned include
"32", "32/64" or "64". - _CS_KERNEL_BITS
Whether the kernel is 32-bit or 64-bit. Current values returned include
"32" or "64". - _CS_MACHINE_MODEL
The hardware model string. - _CS_MACHINE_IDENT
Identifier for each physical machine. Returned as an opaque string of
printable ASCII characters. This string has the same value for all partitions
in a physical machine. For hardware classes first released with HP-UX 11i
or later, this ID is unique across all hardware classes. For earlier hardware
classes, the ID number is unique only within the hardware class. A null string
is returned if no ID number is available; this is expected to be the case
only for prototype machines or other systems improperly configured in
manufacturing. Comparisons of this value must be made using the string compare
functions, see
string(3C). - _CS_PARTITION_IDENT
Identifier for each partition existing on a machine. Returned as an opaque
string of printable ASCII characters. For any machine not supporting
partitions this value will be the same as
_CS_MACHINE_IDENT.
Comparisons of this value must be made using the string compare
functions, see
string(3C). - _CS_MACHINE_SERIAL
Machine serial number as found labeled on the external machine chassis. The
value will be a printable ASCII string. This string is not available on all
classes of machines; if unavailable, the string will be empty. This string is
not a unique identifier of the machine, since machines of different classes
can have the same serial number. If a unique identifier is needed, use
_CS_MACHINE_IDENT
or
_CS_PARTITION_IDENT. - _CS_XBS5_ILP32_OFF32_CFLAGS
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
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
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
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
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
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
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
The set of options to be given to the
lint
utility to check application source using a programming model with 32-bit int,
long, and pointer types, and an
off_t
type using at least 64-bits. - _CS_XBS5_LP64_OFF64_CFLAGS
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,
and 64-bit long, pointer, and
off_t
types. - _CS_XBS5_LP64_OFF64_LDFLAGS
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,
and 64-bit long, pointer, and
off_t
types. - _CS_XBS5_LP64_OFF64_LIBS
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,
and 64-bit long, pointer, and
off_t
types. - _CS_XBS5_LP64_OFF64_LINTFLAGS
The set of options to be given to the
lint
utility to check application source using a programming model with 32-bit int,
and 64-bit long, pointer, and
off_t
types. - _CS_XBS5_LPBIG_OFFBIG_CFLAGS
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 32 bits and long, pointer, and
off_t
types using at least 64-bits. - _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
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 32 bits and long, pointer, and
off_t
types using at least 64-bits. - _CS_XBS5_LPBIG_OFFBIG_LIBS
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 32 bits and long, pointer, and
off_t
types using at least 64-bits. - _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
The set of options to be given to the
lint
utility to check application source using a programming model with an int
type using 32 bits and long, pointer, and
off_t
types using at least 64-bits. - _CS_POSIX_V6_ILP32_OFF32_CFLAGS
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
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
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
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
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
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. - .CR_CS_POSIX_V6_LP64_OFF64_CFLAGS
The set of initial options to be given to the
c99
utility to build an application using a programming model with 32-bit int and 64-bit long, pointer, and
off_t
types. - _CS_POSIX_V6_LP64_OFF64_LDFLAGS
The set of final options to be given to the
c99
utility to build an application using a programming model with 32-bit int and 64-bit long, pointer, and
off_t
types. - _CS_POSIX_V6_LP64_OFF64_LIBS
The set of libraries to be given to the
c99
utility to build an application using a programming model with
32-bit int and 64-bit long, pointer, and
off_t
types. - _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
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
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
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.
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 VALUEIf
name
is invalid,
confstr()
returns zero and sets
errno
to
EINVAL. If
name
does not have a configuration-defined value,
confstr()
returns 0 (zero) and leaves
errno
unchanged. 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. EXAMPLESThe 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); AUTHORconfstr()
was developed by HP. FILES- /usr/include/unistd.h
symbolic contants and structures used for support
of the /usr/group standard
STANDARDS CONFORMANCEconfstr(): XPG4, POSIX.2
|