implement $unsafecall (4.3BSD-reno/pgrm/3)
[unix-history] / usr / src / old / dbx / defs.h
CommitLineData
442fe3bf 1/*
8a90f3aa
KB
2 * Copyright (c) 1983 The Regents of the University of California.
3 * All rights reserved.
442fe3bf 4 *
6ecf3d85 5 * %sccs.include.redist.c%
8a90f3aa 6 *
6ecf3d85 7 * @(#)defs.h 5.4 (Berkeley) %G%
442fe3bf 8 */
e1f4dbca 9
cbb6f020
SL
10/*
11 * Public definitions, common to all.
12 */
13
14#include <stdio.h>
15
34d5a416
DS
16#ifdef sgi
17# define double long float
18# define atof _latof
19# define IRIS
20# define mc68000
21#endif
22
cbb6f020
SL
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
57typedef int Integer;
2fd0f574 58typedef int integer;
cbb6f020
SL
59typedef char Char;
60typedef double Real;
2fd0f574 61typedef double real;
cbb6f020 62typedef enum { false, true } Boolean;
2fd0f574 63typedef Boolean boolean;
cbb6f020
SL
64typedef char *String;
65
66#define strdup(s) strcpy(malloc((unsigned) strlen(s) + 1), s)
67#define streq(s1, s2) (strcmp(s1, s2) == 0)
68
69typedef FILE *File;
70typedef int Fileid;
71typedef 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
78extern long atol();
79extern double atof();
80extern char *malloc();
81extern String strcpy(), index(), rindex();
82extern int strlen();
83
84extern String cmdname;
85extern String errfilename;
86extern short errlineno;
87extern int debug_flag[];