Manpages

NAME

unistd − standard symbolic constants and types

SYNOPSIS

#include <unistd.h>

DESCRIPTION

The <unistd.h> header defines the symbolic constants and structures which are not already defined or declared in some other header. The contents of this header are shown below.

Version Test Macros
The following symbolic constants are defined (with fixed values):
_POSIX_VERSION

Integer value indicating version of the POSIX standard (C language binding). See standards(5).

_POSIX2_VERSION

Integer value indicating version of the POSIX.2 standard (Commands). _POSIX2_C_VERSION Integer value indicating version of the POSIX.2 standard (C language binding).

_XOPEN_VERSION

Integer value indicating version of the XPG to which system conforms.

_XOPEN_XCU_VERSION

Integer value indicating the version of the XCU specification to which the implementation conforms. If this constant is not defined, use the sysconf(3C) function to determine which features are supported.

Mandatory Symbolic Constants
The following symbolic constants are either undefined or defined with a value other than −1. If a constant is undefined, an application should use the sysconf(3C), pathconf(2), or fpathconf(2) functions to determine which features are present on the system at that time or for the particular pathname in question.
_POSIX_JOB_CONTROL

Implementation supports job control.

_POSIX_SAVED_IDS

The exec functions (see exec(2)) save the effective user and group.

_POSIX_THREADS

The implementation supports the threads option.

_POSIX_THREAD_ATTR_STACKADDR

The implementation supports the thread stack address attribute option.

_POSIX_THREAD_ATTR_STACKSIZE

The implementation supports the thread stack size attribute option.

_POSIX_THREAD_PROCESS_SHARED

The implementation supports the process-shared synchronization option.

_POSIX_THREAD_SAFE_FUNCTIONS

The implementation supports the thread-safe functions option.

_XOPEN_XPG3

X/Open Specification, February 1992, System Interfaces and Headers, Issue 3 (ISBN: 1-872630-37-5, C212); this specification was formerly X/Open Portability Guide, Issue 3, Volume 2, January 1989, XSI System Interface and Headers (ISBN: 0-13-685843-0, XO/XPG/89/003).

_XOPEN_XPG4

X/Open CAE Specification, July 1992, System Interfaces and Headers, Issue 4 (ISBN: 1-872630-47-2, C202).

_XOPEN_UNIX

X/Open CAE Specification, January 1997, System Interfaces and Headers, Issue 5 (ISBN: 1-85912-181-0, C606).

Constants for Options and Feature Groups
The following symbolic constants are defined to have the value −1 if the implementation will never provide the feature, and to have a value other than −1 if the implementation always provides the feature. If these are undefined, the sysconf() function can be used to determine whether the feature is provided for a particular invocation of the application.
_POSIX2_C_BIND

Implementation supports the C Language Binding option.

_POSIX2_C_DEV

Implementation supports the C Language Development Utilities option.

_POSIX2_CHAR_TERM

Implementation supports at least one terminal type.

_POSIX2_LOCALEDEF

Implementation supports the creation of locales by the localedef(1) utility.

_POSIX2_SW_DEV

Implementation supports the Software Development Utilities option.

_POSIX2_UPE

The implementation supports the User Portability Utilities option.

_XOPEN_ENH_I18N

The implementation supports the Issue 4, Version 2 Enhanced Internationalization Feature Group.

_XOPEN_LEGACY

The implementation supports the Legacy Feature Group.

_XOPEN_REALTIME

The implementation supports the X/Open Realtime Feature Group.

_XOPEN_SHM

The implementation supports the Issue 4, Version 2 Shared Memory Feature Group.

_XBS5_ILP32_OFF32

Implementation provides a C-language compilation environment with 32-bit int, long, pointer and off_t types.

_XBS5_ILP32_OFFBIG

Implementation provides a C-language compilation environment with 32-bit int, long and pointer types and an off_t type using at least 64 bits.

_XBS5_LP64_OFF64

Implementation provides a C-language compilation environment with 32-bit int and 64-bit long, pointer and off_t types.

_XBS5_LPBIG_OFFBIG

Implementation provides a C-language compilation environment with an int type using at least 32 bits and long, pointer and off_t types using at least 64 bits.

If _XOPEN_REALTIME is defined to have a value other than −1 then the following symbolic constants will be defined to an unspecified value to indicate that the features are supported.
_POSIX_ASYNCHRONOUS_IO

Implementation supports the Asynchronous Input and Output option.

_POSIX_MEMLOCK

Implementation supports the Process Memory Locking option.

_POSIX_MEMLOCK_RANGE

Implementation supports the Range Memory Locking option.

_POSIX_MESSAGE_PASSING

Implementation supports the Message Passing option.

_POSIX_PRIORITY_SCHEDULING

Implementation supports the Process Scheduling option.

_POSIX_REALTIME_SIGNALS

Implementation supports the Realtime Signals Extension option.

_POSIX_SEMAPHORES

Implementation supports the Semaphores option.

_POSIX_SHARED_MEMORY_OBJECTS

Implementation supports the Shared Memory Objects option.

_POSIX_SYNCHRONIZED_IO

Implementation supports the Synchronized Input and Output option.

_POSIX_TIMERS

Implementation supports the Timers option.

The following symbolic constants are always defined to unspecified values to indicate that the functionality is always present on XSI-conformant systems.
_POSIX_FSYNC

Implementation supports the File Synchronisation option.

_POSIX_MAPPED_FILES

Implementation supports the Memory Mapped Files option.

_POSIX_MEMORY_PROTECTION

Implementation supports the Memory Protection option.

Execution-time Symbolic Constants
If any of the following constants are not defined in the header <unistd.h>, the value varies depending on the file to which it is applied.

If any of the following constants are defined to have value −1 in the header <unistd.h>, the implementation will not provide the option on any file; if any are defined to have a value other than −1 in the header <unistd.h>, the implementation will provide the option on all applicable files.

All of the following constants, whether defined in <unistd.h> or not, may be queried with respect to a specific file using the pathconf() or fpathconf() functions.
_POSIX_ASYNC_IO

Asynchronous input or output operations may be performed for the associated file.

_POSIX_PRIO_IO

Prioritized input or output operations may be performed for the associated file.

_POSIX_SYNC_IO

Synchronized input or output operations may be performed for the associated file.

Constants for Functions
The following constant is defined:

NULL

Null pointer.

The following symbolic constants are defined for the access(2) function:

R_OK

Test for read permission.

W_OK

Test for write permission.

X_OK

Test for execute (search) permission.

F_OK

Test for existence of file. The constants F_OK, R_OK, W_OK, and X_OK, and the expressions R_OK|W_OK, R_OK|X_OK, and R_OK|W_OK|X_OK all have distinct values.

The following symbolic constants are defined for the lockf(3C) function:
F_ULOCK

Unlock a previously locked region.

F_LOCK

Lock a region for exclusive use.

F_TLOCK

Test and lock a region for exclusive use.

F_TEST

Test a region for other processes locks.

The following symbolic constants are defined for the lseek(2) and fcntl(2) functions (they have distinct values):
SEEK_SET

Set file offset to offset.

SEEK_CUR

Set file offset to current plus offset.

SEEK_END

Set file offset to EOF plus offset.

The following symbolic constants are defined for the confstr(3C) function for both SPARC and IA:

Image /var/www/mancx/application/src/../www/___/img/man3/man3/unistd1.png

The followwing symbolic constants are defined for the confstr() function for SPARC only:

Image /var/www/mancx/application/src/../www/___/img/man3/man3/unistd2.png

The following symbolic constants are defined for the sysconf(3C) function:

Image /var/www/mancx/application/src/../www/___/img/man3/man3/unistd3.png

The two constants _SC_PAGESIZE and _SC_PAGE_SIZE may be defined to have the same value.

The following symbolic constants are defined for the fpathconf(2) function:

Image /var/www/mancx/application/src/../www/___/img/man3/man3/unistd4.png

The following symbolic constants are defined for file streams:
STDIN_FILENO

File number (0) of stdin.

STDOUT_FILENO

File number (1) of stout.

STDERR_FILENO

File number (2) of stderr. The following pathnames are defined:

GF_PATH

Pathname of the group file.

PF_PATH

Pathname of the passwd file.

SEE ALSO

access(2), exec(2), fcntl(2), fpathconf(2), lseek(2), confstr(3C), lockf(3C), sysconf(3C), termios(3C), group(4), passwd(4), standards(5), termio(7I)