types man page on MirBSD

Man page or keyword search:  
man Server   6113 pages
apropos Keyword Search (all sections)
Output format
MirBSD logo
[printable version]

TYPES(5)		     BSD Reference Manual		      TYPES(5)

NAME
     types - system data types

SYNOPSIS
     #include <sys/types.h>

DESCRIPTION
     The <sys/types.h> file contains the defined data types used in the kernel
     (most are used throughout the system).

     #ifndef _SYS_TYPES_H_
     #define _SYS_TYPES_H_

     /* Machine type dependent parameters. */
     #include <machine/types.h>

     #include <machine/ansi.h>
     #include <machine/endian.h>

     #if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
     typedef unsigned char   u_char;
     typedef unsigned short  u_short;
     typedef unsigned int    u_int;
     typedef unsigned long   u_long;

     typedef unsigned char   unchar;	     /* Sys V compatibility */
     typedef unsigned short  ushort;	     /* Sys V compatibility */
     typedef unsigned int    uint;	     /* Sys V compatibility */
     typedef unsigned long   ulong;	     /* Sys V compatibility */
     #endif

     typedef u_int64_t	     u_quad_t;	     /* quads */
     typedef int64_t	     quad_t;
     typedef quad_t *	     qaddr_t;

     typedef char *	     caddr_t;	     /* core address */
     typedef int32_t	     daddr_t;	     /* disk address */
     typedef int32_t	     dev_t;	     /* device number */
     typedef u_int32_t	     fixpt_t;	     /* fixed point number */
     typedef u_int32_t	     gid_t;	     /* group id */
     typedef u_int32_t	     id_t;	     /* may contain pid, uid or gid */
     typedef u_int32_t	     ino_t;	     /* inode number */
     typedef long	     key_t;	     /* IPC key (for Sys V IPC) */
     typedef u_int16_t	     mode_t;	     /* permissions */
     typedef u_int16_t	     nlink_t;	     /* link count */
     typedef int32_t	     pid_t;	     /* process id */
     typedef u_quad_t	     rlim_t;	     /* resource limit */
     typedef int32_t	     segsz_t;	     /* segment size */
     typedef int32_t	     swblk_t;	     /* swap offset */
     typedef u_int32_t	     uid_t;	     /* user id */
     typedef u_int32_t	     useconds_t;     /* microseconds */
     typedef int32_t	     suseconds_t;    /* microseconds (signed) */

     #ifdef  _BSD_CLOCK_T_
     typedef _BSD_CLOCK_T_   clock_t;
     #undef  _BSD_CLOCK_T_
     #endif

     #ifdef  _BSD_SIZE_T_
     typedef _BSD_SIZE_T_    size_t;
     #undef  _BSD_SIZE_T_
     #endif

     #ifdef  _BSD_SSIZE_T_
     typedef _BSD_SSIZE_T_   ssize_t;
     #undef  _BSD_SSIZE_T_
     #endif

     #ifdef  _BSD_TIME_T_
     typedef _BSD_TIME_T_    time_t;
     #undef  _BSD_TIME_T_
     #endif

     #ifdef  _BSD_CLOCKID_T_
     typedef _BSD_CLOCKID_T_ clockid_t;
     #undef  _BSD_CLOCKID_T_
     #endif

     #ifdef  _BSD_TIMER_T_
     typedef _BSD_TIMER_T_   timer_t;
     #undef  _BSD_TIMER_T_
     #endif

     #ifdef  _BSD_OFF_T_
     typedef _BSD_OFF_T_     off_t;
     #undef  _BSD_OFF_T_
     #endif

     #if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
     /* Major, minor numbers, dev_t's. */
     #define major(x)	     ((int32_t)(((u_int32_t)(x) >> 8) & 0xff))
     #define minor(x)	     ((int32_t)((x) & 0xff) | (((x) & 0xffff0000) >> 8))
     #define makedev(x,y)    ((dev_t)((((x) & 0xff) << 8) | ((y) & 0xff) | (((y) & 0xffff00) << 8)))
     #endif

     #if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
     #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 enough for most uses.
      */
     #ifndef FD_SETSIZE
     #define FD_SETSIZE	     1024
     #endif

     typedef int32_t fd_mask;
     #define NFDBITS (sizeof(fd_mask) * NBBY)	     /* bits per mask */

     #ifndef howmany
     #define howmany(x, y)   (((x) + ((y) - 1)) / (y))
     #endif

     typedef struct fd_set {
	     fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
     } fd_set;

     #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_COPY(f, t)   memcpy(t, f, sizeof(*(f)))
     #define FD_ZERO(p)	     memset(p, 0, sizeof(*(p)))

     #endif /* !defined(_POSIX_SOURCE) ... */
     #endif /* !_SYS_TYPES_H_ */

SEE ALSO
     lseek(2), select(2), truncate(2), byteorder(3), time(3), fs(5)

HISTORY
     A types file appeared in Version 7 AT&T UNIX.

MirOS BSD #10-current		 June 5, 1993				     2
[top]

List of man pages available for MirBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net