1*f3455753Sbostic /*- 2*f3455753Sbostic * Copyright (c) 1980 The Regents of the University of California. 3*f3455753Sbostic * All rights reserved. 4cd0e51ecSdlw * 5*f3455753Sbostic * %sccs.include.proprietary.c% 6*f3455753Sbostic * 7*f3455753Sbostic * @(#)lio.h 5.4 (Berkeley) 04/12/91 8c1fa6d7aSkre */ 9c1fa6d7aSkre 10c1fa6d7aSkre /* 11cd0e51ecSdlw * copy of ftypes from the compiler 12cd0e51ecSdlw * variable types numeric assumptions: 13cd0e51ecSdlw * int < reals < complexes 14cd0e51ecSdlw * TYDREAL-TYREAL = TYDCOMPLEX-TYCOMPLEX 15cd0e51ecSdlw */ 16cd0e51ecSdlw 17cd0e51ecSdlw #define TYUNKNOWN 0 18cd0e51ecSdlw #define TYADDR 1 19cd0e51ecSdlw #define TYSHORT 2 20cd0e51ecSdlw #define TYLONG 3 21cd0e51ecSdlw #define TYREAL 4 22cd0e51ecSdlw #define TYDREAL 5 23cd0e51ecSdlw #define TYCOMPLEX 6 24cd0e51ecSdlw #define TYDCOMPLEX 7 25cd0e51ecSdlw #define TYLOGICAL 8 26cd0e51ecSdlw #define TYCHAR 9 27cd0e51ecSdlw #define TYSUBR 10 28cd0e51ecSdlw #define TYERROR 11 29cd0e51ecSdlw 30cd0e51ecSdlw #define NTYPES (TYERROR+1) 31cd0e51ecSdlw 32cd0e51ecSdlw #define LINE 80 33cd0e51ecSdlw #define LINTW (strlen(buf)) 34cd0e51ecSdlw #define LLOGW 3 35cd0e51ecSdlw #define LSTRW (len+2) 36cd0e51ecSdlw #define LLOW 1.0e-1 37ad7d85c6Sbostic #define LHIGH 1.0e+6 /* 1.0e+LFD */ 38ad7d85c6Sbostic #define LDHIGH 1.0e+14 /* 1.0e+LDFD */ 39cd0e51ecSdlw #define LFD 6 40cd0e51ecSdlw #define LFW (LFD+4) 41cd0e51ecSdlw #define LDFD 14 42cd0e51ecSdlw #define LDFW (LDFD+4) 43cd0e51ecSdlw #define LED LFD 44cd0e51ecSdlw #define LEW LFW+4 45cd0e51ecSdlw #define LEE 2 46cd0e51ecSdlw #define LDED LDFD 47cd0e51ecSdlw #define LDEW LDFW+4 48cd0e51ecSdlw #define LDEE 2 49cd0e51ecSdlw #define LCW (width(a)+width(b)+5) 50cd0e51ecSdlw #define LDCW (dwidth(a)+dwidth(b)+5) 51cd0e51ecSdlw 52cd0e51ecSdlw #define abs(z) (z<0?-z:z) 53cd0e51ecSdlw #define width(z) ((z!=0.0 && (abs(z)>=LHIGH || abs(z)<LLOW))?LEW:LFW) 54cd0e51ecSdlw #define dwidth(z) ((z!=0.0 && (abs(z)>=LDHIGH || abs(z)<LLOW))?LDEW:LDFW) 55cd0e51ecSdlw #define ERR(x) if(n=(x)) err(n>0?errflag:endflag,n,"list io") 56fd4d433aSjerry #define ERRCHK(x) if(n=(x)) goto got_err; 57fd4d433aSjerry #define chk_len(w) if(recpos+w > line_len) PUT('\n'); 58cd0e51ecSdlw 59cd0e51ecSdlw typedef union 60cd0e51ecSdlw { short flshort; 61cd0e51ecSdlw ftnint flint; 62cd0e51ecSdlw float flreal; 63cd0e51ecSdlw double fldouble; 64cd0e51ecSdlw } flex; 65cd0e51ecSdlw 66cd0e51ecSdlw extern int (*lioproc)(); 67cd0e51ecSdlw extern flag leof; 68cd0e51ecSdlw extern ioflag lquit,l_first; 69cd0e51ecSdlw extern int lcount,line_len; 70