TYPES(5)	    UNIX Programmer's Manual		 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:

     /*
      * Copyright (c) 1986 Regents of the University of California.
      * All rights reserved.  The Berkeley software License Agreement
      * specifies the terms and conditions for redistribution.
      *
      *       @(#)types.h	1.4 (2.11BSD Berkeley) 1996/1/12
      */

     #ifndef _TYPES_
     #define  _TYPES_

     /*
      * Basic system types and major/minor device constructing/busting macros.
      */

     /* major part of a device */
     #define  major(x)	((int)(((int)(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;/* see this! unsigned longs at last! */
     typedef  unsigned short	ushort;/* sys III compat */

     #ifdef pdp11
     typedef  struct	_physadr { short r[1]; } *physadr;
     typedef  struct	label_t {
	      int	val[8]; /* regs 2-7, __ovno and super SP */
     } label_t;
     #endif
     typedef  struct	_quad { long val[2]; } quad;
     typedef  long	daddr_t;
     typedef  char *	caddr_t;
     typedef  u_short	ino_t;
     typedef  long	swblk_t;


Printed 11/26/99	  May 15, 1985				1


TYPES(5)	    UNIX Programmer's Manual		 TYPES(5)


     typedef  u_int	size_t;
     typedef  int	ssize_t;
     typedef  long	time_t;
     typedef  short	dev_t;
     typedef  long	off_t;
     typedef  u_short	uid_t;
     typedef  u_short	gid_t;
     typedef  int	pid_t;
     typedef  u_short	mode_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).
      */
     #ifndef  FD_SETSIZE
     #define  FD_SETSIZE	32
     #endif

     typedef long	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[1];
     } fd_set;

     #define  FD_SET(n, p)	((p)->fds_bits[(n)/NFDBITS] |= (1L << ((n) % NFDBITS)))
     #define  FD_CLR(n, p)	((p)->fds_bits[(n)/NFDBITS] &= ~(1L << ((n) % NFDBITS)))
     #define  FD_ISSET(n, p)	((p)->fds_bits[(n)/NFDBITS] & (1L << ((n) % NFDBITS)))
     #define FD_ZERO(p) bzero((char *)(p), sizeof(*(p)))

     typedef char	bool_t; /* boolean */
     typedef u_int	memaddr;/* core or swap address */
     typedef long	ubadr_t;/* unibus address */

     #endif

     The form daddr_t is used for disk addresses except in an i-
     node on disk, see fs(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.


Printed 11/26/99	  May 15, 1985				2


TYPES(5)	    UNIX Programmer's Manual		 TYPES(5)


SEE ALSO
     fs(5), time(3), lseek(2), adb(1)


Printed 11/26/99	  May 15, 1985				3


 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 1448
Valid CSS Valid XHTML 1.0 Strict