2.8. Primitive System Data Types
Historically, certain C data types have been associated with certain UNIX system variables. For example, the major and minor device numbers have historically been stored in a 16-bit short integer, with 8 bits for the major device number and 8 bits for the minor device number. But many larger systems need more than 256 values for these device numbers, so a different technique is needed. (Indeed, Solaris uses 32 bits for the device number: 14 bits for the major and 18 bits for the minor.)The header <sys/types.h> defines some implementation-dependent data types, called the primitive system data types . More of these data types are defined in other headers also. These data types are defined in the headers with the C typedef facility. Most end in _t. Section 14.9)
clock_t | counter of clock ticks (process time) (Section 1.10) |
comp_t | compressed clock ticks (Section 8.14) |
dev_t | device numbers (major and minor) (Section 4.23) |
fd_set | file descriptor sets (Section 14.5.1) |
fpos_t | file position (Section 5.10) |
gid_t | numeric group IDs |
ino_t | i-node numbers (Section 4.14) |
mode_t | file type, file creation mode (Section 4.5) |
nlink_t | link counts for directory entries (Section 4.14) |
off_t | file sizes and offsets (signed) (lseek, Section 3.6) |
pid_t | process IDs and process group IDs (signed) (Sections 8.2 and 9.4) |
ptrdiff_t | result of subtracting two pointers (signed) |
rlim_t | resource limits (Section 7.11) |
sig_atomic_t | data type that can be accessed atomically (Section 10.15) |
sigset_t | signal set (Section 10.11) |
size_t | sizes of objects (such as strings) (unsigned) (Section 3.7) |
ssize_t | functions that return a count of bytes (signed) (read, write, Section 3.7) |
time_t | counter of seconds of calendar time (Section 1.10) |
uid_t | numeric user IDs |
wchar_t | can represent all distinct character codes |
