UNISTD(4) UNISTD(4)
NAME
unistd - file header for symbolic constants
SYNOPSIS
#include <unistd.h>
DESCRIPTION
The header file <unistd.h> lists the symbolic constants and
structures not already defined or declared in some other
header file.
/* Symbolic constants for the "access" routine: */
#define R_OK 4 /* Test for Read permission */
#define W_OK 2 /* Test for Write permission */
#define X_OK 1 /* Test for eXecute permission */
#define F_OK 0 /* Test for existence of File */
#define F_ULOCK 0 /* Unlock a previously locked region */
#define F_LOCK 1 /* Lock a region for exclusive use */
#define F_TLOCK 2 /* Test and lock a region for exclusive use */
#define F_TEST 3 /* Test a region for other processes locks */
/* Symbolic constants for the "lseek" routine: */
#define SEEK_SET 0 /* Set file pointer to "offset" */
#define SEEK_CUR 1 /* Set file pointer to current plus "offset" */
#define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
/* Path names */
#define GF_PATH "/etc/group" /* Path name of the "group" file */
#define PF_PATH "/etc/passwd" /* Path name of the "passwd" file */
/*
* Following values are POSIX requirements
*/
/* POSIX option flags */
#define _POSIX_JOB_CONTROL 1
#undef _POSIX_CHOWN_RESTRICTED
#define _POSIX_SAVED_IDS 1
Page 1 May 1989
UNISTD(4) UNISTD(4)
#define _POSIX_NO_TRUNC 1
#define _POSIX_VDISABLE 0
#define _POSIX_VERSION 198808L
/* The following defines are specified in POSIX draft 12.0 and are therefore
* necessary to compile the NBS-PCTS
*/
#define _POSIX_GROUP_PARENT 0
#define _POSIX_CHOWN_SUP_GRP 0
#define _POSIX_DIR_DOTS 0
#define _POSIX_UTIME_OWNER 0
/* sysconf() names (POSIX and BCS) */
#define _SC_ARG_MAX 1 /* Bytes allowed for exec arguments */
#define _SC_CHILD_MAX 2 /* Max child processes */
#define _SC_CLK_TCK 3 /* Clock tick rate (HZ) */
#define _SC_NGROUPS_MAX 4 /* Max multiple groups */
#define _SC_OPEN_MAX 5 /* Max open files */
#define _SC_JOB_CONTROL 6 /* Job control support */
#define _SC_SAVED_IDS 7 /* saved-set-uid/gid support */
#define _SC_VERSION 8 /* Posix version stamp */
#define _SC_BCS_VERSION 9 /* BCS version stamp */
#define _SC_BCS_VENDOR_STAMP 10 /* Vendor stamp of system */
#define _SC_BCS_SYS_ID 11 /* unique machine id */
#define _SC_MAXUMEMV 12 /* Max user process size 1-KB pages */
#define _SC_MAXUPROC 13 /* Max number of processes/user */
#define _SC_MAXMSGSZ 14 /* Max size of a message */
#define _SC_NMSGHDRS 15 /* Total number of msg headers/system */
#define _SC_SHMMAXSZ 16 /* Maximum size of shared segment */
#define _SC_SHMMINSZ 17 /* Minimum size of shared segment */
#define _SC_SHMSEGS 18 /* Max attached segs/process */
#define _SC_NMSYSSEM 19 /* Total number semaphores/system */
#define _SC_MAXSEMVL 20 /* Max semaphore value */
#define _SC_NSEMMAP 21 /* Number of semaphore sets */
#define _SC_NSEMMSL 22 /* Number of semaphores/set */
#define _SC_NSHMMNI 23 /* Number of shared segments/system */
#define _SC_ITIMER_VIRT 24 /* System supports virtual timer */
#define _SC_ITIMER_PROF 25 /* System supports profiling timer */
#define _SC_TIMER_GRAN 26 /* Granularity of timers in usec */
#define _SC_PHYSMEM 27 /* Total physical memory/system (kb) */
Page 2 May 1989
UNISTD(4) UNISTD(4)
#define _SC_AVAILMEM 28 /* Total physmem avail to user (kb) */
#define _SC_NICE 29 /* nice prioritization is supported */
#define _SC_MEMCTL_UNIT 30 /* bytes in a memory unit */
/* in memctl system call */
#define _SC_SHMLBA 31 /* Memory address rounding used by */
/* shmsys in bytes */
#define _SC_SVSTREAMS 32 /* System V streams are supported */
#define _SC_CPUID 33 /* return Processor Identification Register */
/* pathconf() names (POSIX and BCS) */
#define _PC_LINK_MAX 1
#define _PC_MAX_CANON 2
#define _PC_MAX_INPUT 3
#define _PC_NAME_MAX 4
#define _PC_PATH_MAX 5
#define _PC_PIPE_BUF 6
#define _PC_CHOWN_RESTRICTED 7
#define _PC_NO_TRUNC 8
#define _PC_VDISABLE 9
#define _PC_BLKSIZE 10
/* The following values are specified in POSIX 12.0 and
* are therefore necessary in order to compile the NBS-PCTS
*/
#define _PC_CHOWN_SUP_GRP 11
#define _PC_DIR_DOTS 12
#define _PC_GROUP_PARENT 13
#define _PC_UTIME_OWNER 14
/* Symbolic support for BCS requirements */
#define _BCS_VERSION 198902L /* _SC_BCS_VERSION number */
#define _BCS_ITIMER_VIRT 1 /* Virtual timer support */
#define _BCS_ITIMER_PROF 1 /* Profiling timer support */
#define _BCS_NICE 1 /* Nice priorization support */
#define _BCS_SVSTREAMS 1 /* System V streams support */
#define _BCS_PTRACE_MAGIC 0x00088000 /* Ptrace_user magic number */
#define _BCS_PTRACE_REV 0x00000001 /* Ptrace_user version number */
Page 3 May 1989
UNISTD(4) UNISTD(4)
/* ulimit symbolic constants (BCS) */
#define GET_ULIMIT 1
#define SET_ULIMIT 2
#define GET_BREAK 3
#define GET_MAX_OPEN 4
Page 4 May 1989