HPlogo HP-UX Reference Volume 4 of 5 > c

confstr(3C)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

NAME

confstr() — get string-valued configuration values

SYNOPSIS

#include <unistd.h>

size_t confstr(int name, char *buf, size_t len);

DESCRIPTION

confstr() 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_XBS5_ILP32_OFF32_CFLAGS

The set of initial options to be given to the cc(1) and c89(1) 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(1) and c89(1) 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(1) and c89(1) 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(1) 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(1) and c89(1) 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(1) and c89(1) 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(1) and c89(1) 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(1) 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(1) and c89(1) 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(1) and c89(1) 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(1) and c89(1) 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(1) 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(1) and c89(1) 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(1) and c89(1) 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(1) and c89(1) 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(1) 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.

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.

Application Usage

confstr() is thread-safe. A cancellation point may occur when a thread is executing confstr().

RETURN VALUE

If 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.

EXAMPLES

The 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+1); confstr(_CS_PATH,buffer,bufsize+1);

AUTHOR

confstr() was developed by HP.

FILES

/usr/include/unistd.h

STANDARDS CONFORMANCE

confstr(): XPG4, POSIX.2

© Hewlett-Packard Development Company, L.P.