Annotation of 3BSD/cmd/sdb/cdefs.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

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