TYPES(5)
NAME
types − primitive system data types
SYNOPSIS
#include <sys/types.h>
DESCRIPTION
The data types defined in the include file are used in UNIX system code; some data of these types are accessible to user code:
/*
* SCCSID: @(#)types.h1.28/13/84
*/
#ifndef__TYPES__
#define__TYPES__
typedeflong daddr_t; /* disk address */
typedefchar * caddr_t; /* core address */
typedefunsigned intino_t; /* i-node number */
typedeflong time_t; /* a time */
typedefint label_t[7]; /* program status */
typedefint dev_t; /* device code */
typedeflong off_t; /* offset in file */
typedefcharbool_t;/* Boolean */
typedefunsigned shortcomp_t;/* "floating tp":
3 bits base 8 exp,
13 bits fraction */
typedefunsignedmemaddr;/* core or swap address */
typedefstruct {short r[1];}*physadr;
typedefunsignedsize_t;/* size of process segments */
typedeflongubadr_t;/* UNIBUS address */
typedefunsigned shortu_short;
typedefshortvoid;/* So Ritchie C compiler
won’t die */
/* selectors and constructor for device code */
#definemajor(x) (int)(((unsigned)x>>8))
#defineminor(x) (int)(x&0377)
#definemakedev(x,y)(dev_t)((x)<<8|(y))
#endif
The form daddr_t is used for disk addresses except in an i-node on disk, see filsys(5). Times are encoded in seconds since 00:00:00 GMT, January 1, 1970. The major and minor parts of a device code specify kind and unit number of a device and are installation-dependent. 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.