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