Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

fs(4)



  types(0)                            CLIX                            types(0)



  NAME

    types - Primitive system data types

  SYNOPSIS

    #include <sys/types.h>

  DESCRIPTION

    The data types defined in the #include file are used in CLIX system code.
    Some data of these types are accessible to user code, as follows:

    typedef struct { int r[1]; } *physadr;
    typedef long           daddr_t; /* <disk address> type */
    typedef char *         caddr_t; /* <core address> type */
    typedef unsigned char  unchar;
    typedef unsigned short ushort;
    typedef unsigned int   uint;
    typedef unsigned long  ulong;
    typedef ushort         ino_t;   /* <inode> type */
    typedef short          cnt_t;   /* <count> type */
    typedef long           time_t;  /* <time> type */
    typedef int            label_t[44];
    typedef short          dev_t;   /* <old device number> type */
    typedef long           off_t;   /* <offset> type */
    typedef long           paddr_t; /* <physical address> type */
    typedef int            key_t;   /* IPC key type */
    typedef unsignedchar   use_t;   /* use count for swap.  */
    typedef short          sysid_t;
    typedef short          index_t;
    typedef short          lock_t;  /* lock work for busy wait */
    typedef unsigned int   size_t;  /* len param for string funcs */
    typedef unsigned char  u_char;
    typedef unsigned short u_short;
    typedef unsigned int   _int;
    typedef unsigned long  u_long;
    typedef u_short        uid_t;
    typedef u_short        gid_t;
    typedef struct _quad { long val[2]; } quad;
    typedef long           swblk_t;

    #define NBBY       8    /* number of bits per byte */
    #define FD_SETSIZE 256
    #define NFDBITS    (sizeof(long) * NBBY) /* bits per mask */

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

    typedef struct fd_set {



  2/94 - Intergraph Corporation                                              1






  types(0)                            CLIX                            types(0)



         long 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] &= (ap(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)))

    The form daddr_t is used for disk addresses except in an inode on disk
    (see fs(4)).  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.  A variable of type label_t saves
    the processor state while another process is running.

  RELATED INFORMATION

    Files:  fs(4)




































  2                                              Intergraph Corporation - 2/94




Typewritten Software • bear@typewritten.org • Edmonds, WA 98026