|
|
1.1 root 1: # define TNULL PTR /* pointer to UNDEF */
2: # define FARG 1
3: # define CHAR 2
4: # define SHORT 3
5: # define INT 4
6: # define LONG 5
7: # define FLOAT 6
8: # define DOUBLE 7
9: # define STRTY 8
10: # define UNIONTY 9
11: # define ENUMTY 10
12: # define MOETY 11
13: # define UCHAR 12
14: # define USHORT 13
15: # define UNSIGNED 14
16: # define ULONG 15
17: # define VOID FTN /* function returning UNDEF (for void) */
18: # define UNDEF 17
19: # define BITS 18
20: # define UBITS 19
21:
22: # define PTR 0100
23: # define FTN 0200
24: # define ARY 0300
25:
26: # define BTMASK 077
27: # define BTSHIFT 6
28: # define TSHIFT 2
29: # define TMASK 0300
30:
31: # define BTYPE(x) (x&BTMASK) /* basic type of x */
32: # define ISPTR(x) ((x&TMASK)==PTR)
33: # define ISFTN(x) ((x&TMASK)==FTN) /* is x a function type */
34: # define ISARY(x) ((x&TMASK)==ARY) /* is x an array type */
35: # define INCREF(x) (((x&~BTMASK)<<TSHIFT)|PTR|(x&BTMASK))
36: # define DECREF(x) (((x>>TSHIFT)&~BTMASK)|(x&BTMASK))
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.