Annotation of 42BSD/old/sdb/cdefs.h, revision 1.1

1.1     ! root        1: /* "@(#)cdefs.h 4.2 8/17/82" */
        !             2: /* type modifiers */
        !             3: 
        !             4: # define PTR  020
        !             5: # define FTN  040
        !             6: # define ARY  060
        !             7: 
        !             8: /* type packing constants */
        !             9: 
        !            10: # define TMASK 060
        !            11: # define TMASK1 0300
        !            12: # define TMASK2  0360
        !            13: # define BTMASK 017
        !            14: # define BTSHIFT 4
        !            15: # define TSHIFT 2
        !            16: 
        !            17: /*     macros  */
        !            18: 
        !            19: # define BTYPE(x)  (x&BTMASK)   /* basic type of x */
        !            20: # define ISUNSIGNED(x) ((x)<=ULONG&&(x)>=UCHAR)
        !            21: # define UNSIGNABLE(x) ((x)<=LONG&&(x)>=CHAR)
        !            22: # define ENUNSIGN(x) ((x)+(UNSIGNED-INT))
        !            23: # define DEUNSIGN(x) ((x)+(INT-UNSIGNED))
        !            24: # define ISPTR(x) ((x&TMASK)==PTR)
        !            25: # define ISFTN(x)  ((x&TMASK)==FTN)  /* is x a function type */
        !            26: # define ISARY(x)   ((x&TMASK)==ARY)   /* is x an array type */
        !            27: # define INCREF(x) (((x&~BTMASK)<<TSHIFT)|PTR|(x&BTMASK))
        !            28: # define DECREF(x) (((x>>TSHIFT)&~BTMASK&0x3fff)|(x&BTMASK))
        !            29:        /* pack and unpack field descriptors (size and offset) */
        !            30: # define PKFIELD(s,o) ((o<<6)|s)
        !            31: # define UPKFSZ(v)  (v&077)
        !            32: # define UPKFOFF(v) (v>>6)
        !            33: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.