10.3. Data Definitions for libc

This section defines global identifiers and their values that are associated with interfaces contained in libc. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect.

This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications.

This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.

10.3.1. argz.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.2. assert.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.3. cpio.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.4. ctype.h


enum {
    _ISupper = 256,
    _ISlower = 512,
    _ISalpha = 1024,
    _ISdigit = 2048,
    _ISxdigit = 4096,
    _ISspace = 8192,
    _ISprint = 16384,
    _ISgraph = 32768,
    _ISblank = 1,
    _IScntrl = 2,
    _ISpunct = 4,
    _ISalnum = 8
};

10.3.5. dirent.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.6. elf.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.7. endian.h


#define __BYTE_ORDER	__LITTLE_ENDIAN

10.3.8. errno.h


#define EDEADLOCK	EDEADLK

10.3.9. fcntl.h


#define O_LARGEFILE	0
#define O_DIRECTORY	0200000
#define O_NOFOLLOW	0400000
#define POSIX_FADV_DONTNEED	4
#define POSIX_FADV_NOREUSE	5

#define F_GETLK64	5
#define F_SETLK64	6
#define F_SETLKW64	7

10.3.10. fmtmsg.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.11. fnmatch.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.12. ftw.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.13. getopt.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.14. glob.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.15. iconv.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.16. ifaddrs.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.17. inttypes.h


#define __PRI64_PREFIX	"l"
#define __PRIPTR_PREFIX	"l"

typedef ldiv_t imaxdiv_t;

10.3.18. langinfo.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.19. limits.h


#define LONG_MAX	0x7FFFFFFFFFFFFFFFL
#define ULONG_MAX	0xFFFFFFFFFFFFFFFFUL
#define LONG_BIT	64

#define CHAR_MAX	SCHAR_MAX
#define CHAR_MIN	SCHAR_MIN

#define PTHREAD_STACK_MIN	196608

10.3.20. link.h


struct dl_phdr_info {
    Elf64_Addr dlpi_addr;
    const char *dlpi_name;
    const Elf64_Phdr *dlpi_phdr;
    Elf64_Half dlpi_phnum;
    unsigned long long int dlpi_adds;
    unsigned long long int dlpi_subs;
    size_t dlpi_tls_modid;
    void *dlpi_tls_data;
};

10.3.21. locale.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.22. lsb/time.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.23. lsb/types.h


typedef int64_t ssize_t;

10.3.24. lsb/wchar.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.25. net/if.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.26. netdb.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.27. netinet/icmp6.h


#define ND_NA_FLAG_OVERRIDE	0x00000020
#define ND_NA_FLAG_SOLICITED	0x00000040
#define ND_NA_FLAG_ROUTER	0x00000080
#define ICMP6_RR_RESULT_FLAGS_FORBIDDEN	0x0010
#define ICMP6_RR_RESULT_FLAGS_OOB	0x0020

10.3.28. netinet/igmp.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.29. netinet/in.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.30. netinet/in_systm.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.31. netinet/ip.h


struct timestamp {
    u_int8_t len;
    u_int8_t ptr;
    unsigned int flags:4;
    unsigned int overflow:4;
    u_int32_t data[9];
};
struct iphdr {
    unsigned int ihl:4;
    unsigned int version:4;
    u_int8_t tos;
    u_int16_t tot_len;
    u_int16_t id;
    u_int16_t frag_off;
    u_int8_t ttl;
    u_int8_t protocol;
    u_int16_t check;
    u_int32_t saddr;
    u_int32_t daddr;
};
struct ip {
    unsigned int ip_hl:4;
    unsigned int ip_v:4;
    u_int8_t ip_tos;
    u_short ip_len;
    u_short ip_id;
    u_short ip_off;
    u_int8_t ip_ttl;
    u_int8_t ip_p;
    u_short ip_sum;
    struct in_addr ip_src;
    struct in_addr ip_dst;
};
struct ip_timestamp {
    u_int8_t ipt_code;
    u_int8_t ipt_len;
    u_int8_t ipt_ptr;
    unsigned int ipt_flg:4;
    unsigned int ipt_oflw:4;
    u_int32_t data[9];
};

10.3.32. netinet/ip6.h


#define IP6_ALERT_MLD	0x0000
#define IP6F_MORE_FRAG	0x0100
#define IP6_ALERT_RSVP	0x0100
#define IP6_ALERT_AN	0x0200
#define IP6F_RESERVED_MASK	0x0600
#define IP6F_OFF_MASK	0xf8ff

10.3.33. netinet/ip_icmp.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.34. netinet/tcp.h


struct tcphdr {
    uint16_t source;
    uint16_t dest;
    uint32_t seq;
    uint32_t ack_seq;
    uint16_t res1:4;
    uint16_t doff:4;
    uint16_t fin:1;
    uint16_t syn:1;
    uint16_t rst:1;
    uint16_t psh:1;
    uint16_t ack:1;
    uint16_t urg:1;
    uint16_t res2:2;
    uint16_t window;
    uint16_t check;
    uint16_t urg_ptr;
};

10.3.35. netinet/udp.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.36. nl_types.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.37. pwd.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.38. regex.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.39. rpc/auth.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.40. rpc/clnt.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.41. rpc/rpc_msg.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.42. rpc/svc.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.43. rpc/types.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.44. rpc/xdr.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.45. sched.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.46. search.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.47. setjmp.h


typedef long int __jmp_buf[70] __attribute__ ((aligned(16)));

10.3.48. signal.h


#define SIGEV_PAD_SIZE	((SIGEV_MAX_SIZE/sizeof(int))-4)

#define SI_PAD_SIZE	((SI_MAX_SIZE/sizeof(int))-4)

struct sigaction {
    union {
	sighandler_t _sa_handler;
	void (*_sa_sigaction) (int, siginfo_t *, void *);
    } __sigaction_handler;
    unsigned long int sa_flags;
    sigset_t sa_mask;		/* mask last for extensibility */
};

#define MINSIGSTKSZ	131027	/* Minimum stack size for a signal handler. */
#define SIGSTKSZ	262144	/* System default stack size. */

struct ia64_fpreg {
    union {
	unsigned long int bits[2];
	long double __dummy;	/* force 16-byte alignment */
    } u;
};

struct sigcontext {
    unsigned long int sc_flags;
    unsigned long int sc_nat;
    stack_t sc_stack;
    unsigned long int sc_ip;
    unsigned long int sc_cfm;
    unsigned long int sc_um;
    unsigned long int sc_ar_rsc;
    unsigned long int sc_ar_bsp;
    unsigned long int sc_ar_rnat;
    unsigned long int sc_ar_ccv;
    unsigned long int sc_ar_unat;
    unsigned long int sc_ar_fpsr;
    unsigned long int sc_ar_pfs;
    unsigned long int sc_ar_lc;
    unsigned long int sc_pr;
    unsigned long int sc_br[8];
    unsigned long int sc_gr[32];
    struct ia64_fpreg sc_fr[128];
    unsigned long int sc_rbs_base;	/* NULL or new base of sighandler's rbs */
    unsigned long int sc_loadrs;	/* see description above */
    unsigned long int sc_ar25;	/* cmp8xchg16 uses this */
    unsigned long int sc_ar26;	/*  rsvd for scratch use */
    unsigned long int sc_rsvd[12];
    unsigned long int sc_mask;	/* really sigset_t, but unsigned long for convenience at the us */
};

10.3.49. spawn.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.50. stddef.h


typedef int wchar_t;
typedef unsigned long int size_t;
typedef long int ptrdiff_t;

10.3.51. stdint.h


#define INT64_C(c)	c ## L
#define INTMAX_C(c)	c ## L
#define __INT64_C(c)	c ## L
#define UINT64_C(c)	c ## UL
#define UINTMAX_C(c)	c ## UL
#define __UINT64_C(c)	c ## UL

#define INTPTR_MIN	(-9223372036854775807L-1)
#define INT_FAST16_MIN	(-9223372036854775807L-1)
#define INT_FAST32_MIN	(-9223372036854775807L-1)
#define PTRDIFF_MIN	(-9223372036854775807L-1)
#define SIZE_MAX	(18446744073709551615UL)
#define UINTPTR_MAX	(18446744073709551615UL)
#define UINT_FAST16_MAX	(18446744073709551615UL)
#define UINT_FAST32_MAX	(18446744073709551615UL)
#define INTPTR_MAX	(9223372036854775807L)
#define INT_FAST16_MAX	(9223372036854775807L)
#define INT_FAST32_MAX	(9223372036854775807L)
#define PTRDIFF_MAX	(9223372036854775807L)

typedef long int int64_t;
typedef long int intmax_t;
typedef unsigned long int uintmax_t;
typedef long int intptr_t;
typedef unsigned long int uintptr_t;
typedef unsigned long int uint64_t;
typedef long int int_least64_t;
typedef unsigned long int uint_least64_t;
typedef long int int_fast16_t;
typedef long int int_fast32_t;
typedef long int int_fast64_t;
typedef unsigned long int uint_fast16_t;
typedef unsigned long int uint_fast32_t;
typedef unsigned long int uint_fast64_t;

10.3.52. stdio.h


#define __IO_FILE_SIZE	216

10.3.53. stdlib.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.54. string.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.55. sys/epoll.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.56. sys/file.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.57. sys/inotify.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.58. sys/io.h


extern int ioperm(unsigned long int from, unsigned long int num,
		  int turn_on);
extern int iopl(int level);

10.3.59. sys/ioctl.h


#define TIOCGWINSZ	0x5413
#define TIOCSWINSZ	0x5414
#define FIONREAD	0x541B
#define TIOCNOTTY	0x5422

10.3.60. sys/ipc.h


struct ipc_perm {
    key_t __key;		/* Key. */
    uid_t uid;			/* Owner's user ID. */
    gid_t gid;			/* Owner's group ID. */
    uid_t cuid;			/* Creator's user ID. */
    uid_t cgid;			/* Creator's group ID. */
    mode_t mode;		/* Read/write permission. */
    unsigned short __seq;	/* Sequence number. */
    unsigned short __pad1;
    unsigned long int __unused1;
    unsigned long int __unused2;
};

10.3.61. sys/mman.h


#define MCL_CURRENT	1
#define MCL_FUTURE	2

10.3.62. sys/msg.h


struct msqid_ds {
    struct ipc_perm msg_perm;	/* structure describing operation permission */
    time_t msg_stime;		/* time of last msgsnd command */
    time_t msg_rtime;		/* time of last msgrcv command */
    time_t msg_ctime;		/* time of last change */
    unsigned long int __msg_cbytes;	/* current number of bytes on queue */
    unsigned long int msg_qnum;	/* number of messages currently on queue */
    unsigned long int msg_qbytes;	/* max number of bytes allowed on queue */
    pid_t msg_lspid;		/* pid of last msgsnd() */
    pid_t msg_lrpid;		/* pid of last msgrcv() */
    unsigned long int __unused1;
    unsigned long int __unused2;
};

10.3.63. sys/param.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.64. sys/poll.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.65. sys/ptrace.h


enum __ptrace_request {
    PTRACE_TRACEME = 0,
    PTRACE_PEEKTEXT = 1,
    PTRACE_PEEKDATA = 2,
    PTRACE_PEEKUSER = 3,
    PTRACE_POKETEXT = 4,
    PTRACE_POKEDATA = 5,
    PTRACE_POKEUSER = 6,
    PTRACE_CONT = 7,
    PTRACE_KILL = 8,
    PTRACE_SINGLESTEP = 9,
    PTRACE_ATTACH = 16,
    PTRACE_DETACH = 17,
    PTRACE_SYSCALL = 24,
    PTRACE_SETOPTIONS = 0x4200,
    PTRACE_GETEVENTMSG = 0x4201,
    PTRACE_GETSIGINFO = 0x4202,
    PTRACE_SETSIGINFO = 0x4203
};

10.3.66. sys/resource.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.67. sys/select.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.68. sys/sem.h


struct semid_ds {
    struct ipc_perm sem_perm;	/* operation permission struct */
    time_t sem_otime;		/* last semop() time */
    time_t sem_ctime;		/* last time changed by semctl() */
    unsigned long int sem_nsems;	/* number of semaphores in set */
    unsigned long int __unused1;
    unsigned long int __unused2;
};

10.3.69. sys/shm.h


#define SHMLBA	(1024*1024)

struct shmid_ds {
    struct ipc_perm shm_perm;	/* operation permission struct */
    size_t shm_segsz;		/* size of segment in bytes */
    time_t shm_atime;		/* time of last shmat() */
    time_t shm_dtime;		/* time of last shmdt() */
    time_t shm_ctime;		/* time of last change by shmctl() */
    pid_t shm_cpid;		/* pid of creator */
    pid_t shm_lpid;		/* pid of last shmop */
    unsigned long int shm_nattch;	/* number of current attaches */
    unsigned long int __unused1;
    unsigned long int __unused2;
};

10.3.70. sys/socket.h


typedef uint64_t __ss_aligntype;

#define SO_RCVLOWAT	18
#define SO_SNDLOWAT	19
#define SO_RCVTIMEO	20
#define SO_SNDTIMEO	21

10.3.71. sys/stat.h


#define _MKNOD_VER	0
#define _STAT_VER	1

struct stat {
    dev_t st_dev;
    ino_t st_ino;
    nlink_t st_nlink;
    mode_t st_mode;
    uid_t st_uid;
    gid_t st_gid;
    unsigned int pad0;
    dev_t st_rdev;
    off_t st_size;
    struct timespec st_atim;	/* Time of last access. */
    struct timespec st_mtim;	/* Time of last modification. */
    struct timespec st_ctim;	/* Time of last status change. */
    blksize_t st_blksize;
    blkcnt_t st_blocks;
    unsigned long int __unused[3];
};
struct stat64 {
    dev_t st_dev;
    ino64_t st_ino;
    nlink_t st_nlink;
    mode_t st_mode;
    uid_t st_uid;
    gid_t st_gid;
    unsigned int pad0;
    dev_t st_rdev;
    off_t st_size;
    struct timespec st_atim;	/* Time of last access. */
    struct timespec st_mtim;	/* Time of last modification. */
    struct timespec st_ctim;	/* Time of last status change. */
    blksize_t st_blksize;
    blkcnt64_t st_blocks;
    unsigned long int __unused[3];
};

10.3.72. sys/statfs.h


struct statfs {
    long int f_type;		/* type of filesystem */
    long int f_bsize;		/* optimal transfer block size */
    fsblkcnt_t f_blocks;	/* total data blocks in file system */
    fsblkcnt_t f_bfree;		/* free blocks in fs */
    fsblkcnt_t f_bavail;	/* free blocks avail to non-superuser */
    fsfilcnt_t f_files;		/* total file nodes in file system */
    fsfilcnt_t f_ffree;		/* free file nodes in file system */
    fsid_t f_fsid;		/* file system id */
    long int f_namelen;		/* maximum length of filenames */
    long int f_frsize;		/* fragment size */
    long int f_spare[5];	/* spare for later */
};
struct statfs64 {
    long int f_type;		/* type of filesystem */
    long int f_bsize;		/* optimal transfer block size */
    fsblkcnt64_t f_blocks;	/* total data blocks in file system */
    fsblkcnt64_t f_bfree;	/* free blocks in fs */
    fsblkcnt64_t f_bavail;	/* free blocks avail to non-superuser */
    fsfilcnt64_t f_files;	/* total file nodes in file system */
    fsfilcnt64_t f_ffree;	/* free file nodes in file system */
    fsid_t f_fsid;		/* file system id */
    long int f_namelen;		/* maximum length of filenames */
    long int f_frsize;		/* fragment size */
    long int f_spare[5];	/* spare for later */
};

10.3.73. sys/statvfs.h


struct statvfs {
    unsigned long int f_bsize;
    unsigned long int f_frsize;
    fsblkcnt64_t f_blocks;
    fsblkcnt64_t f_bfree;
    fsblkcnt64_t f_bavail;
    fsfilcnt64_t f_files;
    fsfilcnt64_t f_ffree;
    fsfilcnt64_t f_favail;
    unsigned long int f_fsid;
    unsigned long int f_flag;
    unsigned long int f_namemax;
    unsigned int __f_spare[6];
};
struct statvfs64 {
    unsigned long int f_bsize;
    unsigned long int f_frsize;
    fsblkcnt64_t f_blocks;
    fsblkcnt64_t f_bfree;
    fsblkcnt64_t f_bavail;
    fsfilcnt64_t f_files;
    fsfilcnt64_t f_ffree;
    fsfilcnt64_t f_favail;
    unsigned long int f_fsid;
    unsigned long int f_flag;
    unsigned long int f_namemax;
    unsigned int __f_spare[6];
};

10.3.74. sys/sysinfo.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.75. sys/time.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.76. sys/timeb.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.77. sys/times.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.78. sys/un.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.79. sys/utsname.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.80. sys/wait.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.81. sysexits.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.82. syslog.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.83. tar.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.84. termios.h


#define OLCUC	0000002
#define ONLCR	0000004
#define XCASE	0000004
#define NLDLY	0000400
#define CR1	0001000
#define IUCLC	0001000
#define CR2	0002000
#define CR3	0003000
#define CRDLY	0003000
#define TAB1	0004000
#define TAB2	0010000
#define TAB3	0014000
#define TABDLY	0014000
#define BS1	0020000
#define BSDLY	0020000
#define VT1	0040000
#define VTDLY	0040000
#define FF1	0100000
#define FFDLY	0100000

#define VSUSP	10
#define VEOL	11
#define VREPRINT	12
#define VDISCARD	13
#define VWERASE	14
#define VEOL2	16
#define VMIN	6
#define VSWTC	7
#define VSTART	8
#define VSTOP	9

#define IXON	0002000
#define IXOFF	0010000

#define CS6	0000020
#define CS7	0000040
#define CS8	0000060
#define CSIZE	0000060
#define CSTOPB	0000100
#define CREAD	0000200
#define PARENB	0000400
#define PARODD	0001000
#define HUPCL	0002000
#define CLOCAL	0004000
#define VTIME	5

#define ISIG	0000001
#define ICANON	0000002
#define ECHOE	0000020
#define ECHOK	0000040
#define ECHONL	0000100
#define NOFLSH	0000200
#define TOSTOP	0000400
#define ECHOCTL	0001000
#define ECHOPRT	0002000
#define ECHOKE	0004000
#define FLUSHO	0010000
#define PENDIN	0040000
#define IEXTEN	0100000

10.3.85. time.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.86. ucontext.h


#define rPOS	r16
#define rTMP	r16
#define rCPOS	r17
#define rB5	r18
#define rNAT	r18
#define rB4	r19
#define rB3	r20
#define rB2	r21
#define rB1	r22
#define rB0	r23
#define rRSC	r24
#define rBSP	r25
#define rRNAT	r26
#define rUNAT	r27
#define rFPSR	r28
#define rPFS	r29
#define rLC	r30
#define rPR	r31
#define _SC_GR0_OFFSET	\
	(((char *) &((struct sigcontext *) 0)->sc_gr[0]) - (char *) 0)

typedef struct sigcontext mcontext_t;

#define uc_mcontext	_u._mc
#define uc_sigmask	_u._mc.sc_mask
#define uc_stack	_u._mc.sc_stack
#define uc_link	_u._uc._link

typedef struct ucontext {
    union {
	mcontext_t _mc;
	struct {
	    unsigned long int _pad[_SC_GR0_OFFSET / 8];
	    struct ucontext *_link;
	} _uc;
    } _u;
} ucontext_t;

10.3.87. ulimit.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.88. unistd.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.89. utime.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */

10.3.90. utmp.h


struct lastlog {
    time_t ll_time;
    char ll_line[UT_LINESIZE];
    char ll_host[UT_HOSTSIZE];
};

struct utmp {
    short ut_type;		/* Type of login. */
    pid_t ut_pid;		/* Process ID of login process. */
    char ut_line[UT_LINESIZE];	/* Devicename. */
    char ut_id[4];		/* Inittab ID. */
    char ut_user[UT_NAMESIZE];	/* Username. */
    char ut_host[UT_HOSTSIZE];	/* Hostname for remote login. */
    struct exit_status ut_exit;	/* Exit status of a process marked as DEAD_PROCESS. */
    long int ut_session;	/* Session ID, used for windowing. */
    struct timeval ut_tv;	/* Time entry was made. */
    int32_t ut_addr_v6[4];	/* Internet address of remote host. */
    char __unused[20];		/* Reserved for future use. */
};

10.3.91. utmpx.h


struct utmpx {
    short ut_type;		/* Type of login. */
    pid_t ut_pid;		/* Process ID of login process. */
    char ut_line[UT_LINESIZE];	/* Devicename. */
    char ut_id[4];		/* Inittab ID. */
    char ut_user[UT_NAMESIZE];	/* Username. */
    char ut_host[UT_HOSTSIZE];	/* Hostname for remote login. */
    struct exit_status ut_exit;	/* Exit status of a process marked as DEAD_PROCESS. */
    long int ut_session;	/* Session ID, used for windowing. */
    struct timeval ut_tv;	/* Time entry was made. */
    int32_t ut_addr_v6[4];	/* Internet address of remote host. */
    char __unused[20];		/* Reserved for future use. */
};

10.3.92. wordexp.h


/*
 * This header is architecture neutral
 * Please refer to the generic specification for details
 */