TYPES(5) BSD Programmer's Manual TYPES(5)
t
\bty
\byp
\bpe
\bes
\bs - system data types
S
\bSY
\bYN
\bNO
\bOP
\bPS
\bSI
\bIS
\bS
#
\b#i
\bin
\bnc
\bcl
\blu
\bud
\bde
\be <
\b<s
\bsy
\bys
\bs/
\b/t
\bty
\byp
\bpe
\bes
\bs.
\b.h
\bh>
\b>
D
\bDE
\bES
\bSC
\bCR
\bRI
\bIP
\bPT
\bTI
\bIO
\bON
\bN
The file _
\bs_
\by_
\bs_
\b/_
\bt_
\by_
\bp_
\be_
\bs_
\b._
\bh contains the defined data types used in the kernel
(most are used through out the system).
/* major part of a device */
#define major(x) ((int)(((unsigned)(x)>>8)&0377))
/* minor part of a device */
#define minor(x) ((int)((x)&0377))
/* make a device number */
#define makedev(x,y) ((dev_t)(((x)<<8) | (y)))
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef unsigned short ushort; /* Sys V compatibility */
#include <machine/ansi.h>
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
#include <machine/types.h>
typedef _CLOCK_T_ clock_t;
typedef struct _uquad { unsigned long val[2]; } u_quad;
typedef struct _quad { long val[2]; } quad;
typedef long * qaddr_t; /* should be typedef quad * qaddr_t; */
#define NBBY 8 /* number of bits in a byte */
* Select uses bit masks of file descriptors in longs. These macros
* manipulate such bit fields (the filesystem macros use chars).
* FD_SETSIZE may be defined by the user, but the default here should
* be >= NOFILE (param.h).
#define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */
#define howmany(x, y) (((x)+((y)-1))/(y))
fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
#define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
#define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
#define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
#define FD_ZERO(p) bzero((char *)(p), sizeof(*(p)))
#endif /* !_POSIX_SOURCE */
S
\bSE
\bEE
\bE A
\bAL
\bLS
\bSO
\bO
fs(5), time(3), lseek(2), adb(1)
H
\bHI
\bIS
\bST
\bTO
\bOR
\bRY
\bY
A t
\bty
\byp
\bpe
\bes
\bs file appeared in Version 7 AT&T UNIX.
4th Berkeley Distribution June 5, 1993 2