BSD 3 development
[unix-history] / usr / src / cmd / dc / dc.h
CommitLineData
42d6e430
BJ
1#define FATAL 0
2#define NFATAL 1
3#define BLK sizeof(struct blk)
4#define PTRSZ sizeof(int *)
5#define HEADSZ 1024
6#define STKSZ 100
7#define RDSKSZ 100
8#define TBLSZ 256
9#define ARRAYST 0241
10#define MAXIND 2048
11#define NL 1
12#define NG 2
13#define NE 3
14#define length(p) ((p)->wt-(p)->beg)
15#define rewind(p) (p)->rd=(p)->beg
16#define create(p) (p)->rd = (p)->wt = (p)->beg
17#define fsfile(p) (p)->rd = (p)->wt
18#define truncate(p) (p)->wt = (p)->rd
19#define sfeof(p) (((p)->rd==(p)->wt)?1:0)
20#define sfbeg(p) (((p)->rd==(p)->beg)?1:0)
21#define sungetc(p,c) *(--(p)->rd)=c
22#ifdef interdata
23#define NEGBYTE 0200
24#define MASK (-1 & ~0377)
25#define sgetc(p) ( ((p)->rd==(p)->wt) ? EOF :( ((*(p)->rd & NEGBYTE) != 0) ? ( *(p)->rd++ | MASK): *(p)->rd++ ))
26#define slookc(p) ( ((p)->rd==(p)->wt) ? EOF :( ((*(p)->rd & NEGBYTE) != 0) ? (*(p)->rd | MASK) : *(p)->rd ))
27#define sbackc(p) ( ((p)->rd==(p)->beg) ? EOF :( ((*(--(p)->rd) & NEGBYTE) != 0) ? (*(p)->rd | MASK): *(p)->rd ))
28#endif
29#ifndef interdata
30#define sgetc(p) (((p)->rd==(p)->wt)?EOF:*(p)->rd++)
31#define slookc(p) (((p)->rd==(p)->wt)?EOF:*(p)->rd)
32#define sbackc(p) (((p)->rd==(p)->beg)?EOF:*(--(p)->rd))
33#endif
34#define sputc(p,c) {if((p)->wt==(p)->last)more(p); *(p)->wt++ = c; }
35#define salterc(p,c) {if((p)->rd==(p)->last)more(p); *(p)->rd++ = c; if((p)->rd>(p)->wt)(p)->wt=(p)->rd;}
36#define sunputc(p) (*( (p)->rd = --(p)->wt))
37#define zero(p) for(pp=(p)->beg;pp<(p)->last;)*pp++='\0'
38#define OUTC(x) {printf("%c",x); if(--count == 0){printf("\\\n"); count=ll;} }
39#define TEST2 {if((count -= 2) <=0){printf("\\\n");count=ll;}}
40#define EMPTY if(stkerr != 0){printf("stack empty\n"); continue; }
41#define EMPTYR(x) if(stkerr!=0){pushp(x);printf("stack empty\n");continue;}
42#define EMPTYS if(stkerr != 0){printf("stack empty\n"); return(1);}
43#define EMPTYSR(x) if(stkerr !=0){printf("stack empty\n");pushp(x);return(1);}
44#define error(p) {printf(p); continue; }
45#define errorrt(p) {printf(p); return(1); }
46struct blk {
47 char *rd;
48 char *wt;
49 char *beg;
50 char *last;
51};
52struct blk *hfree;
53struct blk *getwd();
54struct blk *lookwd();
55struct blk *getdec();
56struct blk *morehd();
57
58struct blk *arg1, *arg2;
59int svargc;
60char savk;
61char **svargv;
62int dbg;
63int ifile;
64FILE *curfile;
65struct blk *scalptr, *basptr, *tenptr, *inbas;
66struct blk *sqtemp, *chptr, *strptr, *divxyz;
67struct blk *stack[STKSZ];
68struct blk **stkptr,**stkbeg;
69struct blk **stkend;
70int stkerr;
71int lastchar;
72struct blk *readstk[RDSKSZ];
73struct blk **readptr;
74struct blk *rem;
75int k;
76struct blk *irem;
77int skd,skr;
78struct blk *pop(),*readin(),*add0(),*mult();
79struct blk *scalint();
80struct blk *removc();
81struct blk *add(),*div(),*removr();
82struct blk *exp();
83struct blk *sqrt();
84struct blk *salloc(),*copy();
85struct blk *scale();
86int neg;
87struct sym {
88 struct sym *next;
89 struct blk *val;
90} symlst[TBLSZ];
91struct sym *stable[TBLSZ];
92struct sym *sptr,*sfree;
93struct wblk {
94 struct blk **rdw;
95 struct blk **wtw;
96 struct blk **begw;
97 struct blk **lastw;
98};
99FILE *fsave;
100long rel;
101long nbytes;
102long all;
103long headmor;
104long obase;
105int fw,fw1,ll;
106int (*outdit)();
107int bigot(),hexot();
108int logo;
109int log10;
110int count;
111char *pp;
112int (*signal())();
113int onintr();
114char *malloc();
115char *nalloc();
116char *realloc();
117char *dummy;