TYPES(5) SysV TYPES(5)
NAME
types - primitive system data types
SYNOPSIS
#include <sys/types.h>
DESCRIPTION
Most of the following data types, defined in <sys/types.h>, are used in
Domain/OS SysV system code. Some of these data types are accessible to
user code as well.
The following types are defined if <sys/types.h> is included and the -A
ansi option to cc(1) is used:
typedef long dev_t; /* <old device number> type */
typedef unsigned long ino_t; /* <inode> type */
typedef unsigned long mode_t; /* file attributes */
typedef short nlink_t; /* link count */
typedef int __gid_t;
typedef long __off_t;
typedef int __pid_t;
typedef long ssize_t;
typedef unsigned long size_t;
typedef int __uid_t;
typedef __gid_t gid_t; /* group ID */
typedef __off_t off_t; /* <offset> type */
typedef __pid_t pid_t; /* process id/process group id*/
typedef __uid_t uid_t; /* user ID */
The following are defined, in addition to the above, if the -A nansi or
-A xansi option is used:
typedef long key_t; /* IPC key type */
typedef long clock_t;
typedef long time_t;
typedef struct { int r[1]; } * physadr;
typedef long daddr_t; /* <disk address> type */
typedef char * caddr_t; /* ?<core address> type */
typedef unsigned char unchar;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef unsigned long ulong;
typedef short cnt_t; /* ?<count> type */
typedef int label_t[10];
typedef long paddr_t; /* <physical address> type */
typedef unsigned char use_t; /* use count for swap. */
typedef short sysid_t;
typedef short index_t;
typedef short lock_t; /* lock work for busy wait */
/*
* Distributed UNIX hook
*/
typedef struct cookie {
long c_sysid;
long c_rcvd;
} *cookie_t;
typedef int oid_t; /* organization ID */
The form daddr_t is used for disk addresses. Times are encoded in
seconds since 00:00:00 GMT, January 1, 1970. Offsets are measured in
bytes from the beginning of a file. The label_t variables are used to
save the processor state while another process is running.