xref: /original-bsd/old/dbx/defs.h (revision d14ae743)
1 /*
2  * Copyright (c) 1983 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  *
7  *	@(#)defs.h	5.4 (Berkeley) 06/01/90
8  */
9 
10 /*
11  * Public definitions, common to all.
12  */
13 
14 #include <stdio.h>
15 
16 #ifdef sgi
17 #   define double long float
18 #   define atof _latof
19 #   define IRIS
20 #   define mc68000
21 #endif
22 
23 #define new(type)           ((type) malloc(sizeof(struct type)))
24 #define newarr(type, n)     ((type *) malloc((unsigned) (n) * sizeof(type)))
25 #define dispose(ptr)        { free((char *) ptr); ptr = 0; }
26 
27 #define public
28 #define private static
29 
30 #define ord(enumcon) ((unsigned int) enumcon)
31 #define nil 0
32 #define and &&
33 #define or ||
34 #define not !
35 #define div /
36 #define mod %
37 #define max(a, b)    ((a) > (b) ? (a) : (b))
38 #define min(a, b)    ((a) < (b) ? (a) : (b))
39 
40 #define assert(b) { \
41     if (not(b)) { \
42 	panic("assertion failed at line %d in file %s", __LINE__, __FILE__); \
43     } \
44 }
45 
46 #define badcaseval(v) { \
47     panic("unexpected value %d at line %d in file %s", v, __LINE__, __FILE__); \
48 }
49 
50 #define checkref(p) { \
51     if (p == nil) { \
52 	panic("reference through nil pointer at line %d in file %s", \
53 	    __LINE__, __FILE__); \
54     } \
55 }
56 
57 typedef int Integer;
58 typedef int integer;
59 typedef char Char;
60 typedef double Real;
61 typedef double real;
62 typedef enum { false, true } Boolean;
63 typedef Boolean boolean;
64 typedef char *String;
65 
66 #define strdup(s)       strcpy(malloc((unsigned) strlen(s) + 1), s)
67 #define streq(s1, s2)   (strcmp(s1, s2) == 0)
68 
69 typedef FILE *File;
70 typedef int Fileid;
71 typedef String Filename;
72 
73 #define get(f, var) fread((char *) &(var), sizeof(var), 1, f)
74 #define put(f, var) fwrite((char *) &(var), sizeof(var), 1, f)
75 
76 #undef FILE
77 
78 extern long atol();
79 extern double atof();
80 extern char *malloc();
81 extern String strcpy(), index(), rindex();
82 extern int strlen();
83 
84 extern String cmdname;
85 extern String errfilename;
86 extern short errlineno;
87 extern int debug_flag[];
88