#include <unistd.h>
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.
The following symbolic constants are defined (with fixed values):
Integer value indicating version of the POSIX standard (C language binding). See standards(5).
Integer value indicating version of the POSIX.2 standard (Commands).
Integer value indicating version of the POSIX.2 standard (C language binding).
Integer value indicating version of the XPG to which system conforms.
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. This constant is not defined for the SUSv3 environment.
The following symbolic constants, if defined in <unistd.h>, have a value of -1, 0, or greater, unless otherwise specified below. If these are undefined, the fpathconf (2), pathconf(2), or sysconf (3C) functions can be used to determine whether the option is provided for a particular invocation of the application.
If a symbolic constant is defined with the value -1, the option is not supported. Headers, data types, and function interfaces required only for the option need not be supplied. An application that attempts to use anything associated only with the option is considered to be requiring an extension.
If a symbolic constant is defined with a value greater than zero, the option is always supported when the application is executed. All headers, data types, and functions are present and operate as specified.
If a symbolic constant is defined with the value zero, all headers, data types, and functions are present. The application can check at runtime to see whether the option is supported by calling fpathconf(), pathconf(), or sysconf() with the indicated name parameter.
Unless explicitly specified otherwise, the behavior of functions associated with an unsupported option is unspecified, and an application that uses such functions without first checking fpathconf(), pathconf(), or sysconf() is considered to be requiring an extension.
Implementation supports the Advisory Information option.
Implementation supports the Asynchronous Input and Output option.
Implementation supports the Barriers option.
Implementation supports the Clock Selection option.
Implementation supports the Process CPU-Time Clocks option.
Implementation supports the File Synchronisation option.
Implementation supports the IPv6 option.
Implementation supports job control.
Implementation supports the Memory Mapped Files option.
Implementation supports the Process Memory Locking option.
Implementation supports the Range Memory Locking option.
Implementation supports the Memory Protection option.
Implementation supports the Message Passing option.
Implementation supports the Monotonic Clock option.
Implementation supports the Process Scheduling option.
Implementation supports the Raw Sockets option.
Implementation supports the Read-Write Locks option.
Implementation supports the Realtime Signals Extension option.
Implementation supports the Regular Expression Handling option.
The exec functions (see exec(2)) save the effective user and group.
Implementation supports the Semaphores option.
Implementation supports the Shared Memory Objects option.
Implementation supports the POSIX shell.
Implementation supports the Spawn option.
Implementation supports the Spin Locks option.
Implementation supports the Process Sporadic Server option.
Implementation supports the Synchronized Input and Output option.
Implementation supports the thread stack address attribute option.
Implementation supports the thread stack size attribute option.
Implementation supports the Thread CPU-Time Clocks option.
Implementation supports the process-shared synchronization option.
Implementation supports the thread-safe functions option.
Implementation supports the Thread Sporadic Server option.
Implementation supports the threads option.
Implementation supports the Timers option.
Implementation supports the Timeouts option.
Implementation supports the Trace option.
Implementation supports the Trace Event Filter option.
Implementation supports the Trace Inherit option.
Implementation supports the Trace Log option.
Implementation supports the Typed Memory Objects option.
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.
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.
Implementation provides a C-language compilation environment with 32-bit int and 64-bit long, pointer, and off_t types.
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.
Implementation supports the XSI STREAMS Option Group.
Implementation supports the C Language Binding option.
Implementation supports the C Language Development Utilities option.
Implementation supports at least one terminal type.
Implementation supports the creation of locales by the localedef(1) utility.
Implementation supports the Batch Environment Services and Utilities option.
Implementation supports the Batch Accounting option.
Implementation supports the Batch Checkpoint/Restart option.
Implementation supports the Locate Batch Job Request option.
Implementation supports the Batch Job Message Request option.
Implementation supports the Track Batch Job Request option.
Implementation supports the Software Development Utilities option.
Implementation supports the User Portability Utilities option.
Implementation provides a C-language compilation environment with 32-bit int, long, pointer and off_t types.
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.
Implementation provides a C-language compilation environment with 32-bit int and 64-bit long, pointer and off_t types.
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.
Implementation supports the Issue 4, Version 2 Enhanced Internationalization Feature Group.
Implementation supports the Legacy Feature Group.
Implementation supports the X/Open Realtime Feature Group.
Implementation supports the Issue 4, Version 2 Shared Memory Feature Group.
X/Open CAE Specification, January 1997, System Interfaces and Headers, Issue 5 (ISBN: 1-85912-181-0, C606).
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).
X/Open CAE Specification, July 1992, System Interfaces and Headers, Issue 4 (ISBN: 1-872630-47-2, C202).
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, can be queried with respect to a specific file using the pathconf() or fpathconf() functions.
Asynchronous input or output operations can be performed for the associated file.
Prioritized input or output operations can be performed for the associated file.
Synchronized input or output operations can be performed for the associated file.
The following constant is defined:
Null pointer.
The following symbolic constants are defined for the access(2) function:
Test for read permission.
Test for write permission.
Test for execute (search) permission.
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:
Unlock a previously locked region.
Lock a region for exclusive use.
Test and lock a region for exclusive use.
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):
Set file offset to offset.
Set file offset to current plus offset.
Set file offset to EOF plus offset.
The following symbolic constants are defined for the confstr(3C) function for both SPARC and x86:
|
The following symbolic constants are defined for the confstr() function for SPARC only:
|
The following symbolic constants are defined for the sysconf(3C) function:
|
The constants _SC_PAGESIZE and _SC_PAGE_SIZE can be defined to have the same value.
The following symbolic constants are defined for the fpathconf(2) function:
|
The following symbolic constants are defined for file streams:
File number (0) of stdin.
File number (1) of stout.
File number (2) of stderr.
The following pathnames are defined:
Pathname of the group file.
Pathname of the passwd file.
See attributes(5) for descriptions of the following attributes:
|
access(2), exec(2), fcntl(2), fpathconf(2), lseek(2), confstr(3C), lockf(3C), sysconf(3C), termios(3C), group(4), passwd(4), attributes(5), standards(5), termio(7I)