|
|
1.1 ! root 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: * ! 6: * @(#)defs.h 5.2 (Berkeley) 1/12/88 ! 7: */ ! 8: ! 9: /* ! 10: * Public definitions, common to all. ! 11: */ ! 12: ! 13: #include <stdio.h> ! 14: ! 15: #ifdef sgi ! 16: # define double long float ! 17: # define atof _latof ! 18: # define IRIS ! 19: # define mc68000 ! 20: #endif ! 21: ! 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: ! 56: typedef int Integer; ! 57: typedef int integer; ! 58: typedef char Char; ! 59: typedef double Real; ! 60: typedef double real; ! 61: typedef enum { false, true } Boolean; ! 62: typedef Boolean boolean; ! 63: typedef char *String; ! 64: ! 65: #define strdup(s) strcpy(malloc((unsigned) strlen(s) + 1), s) ! 66: #define streq(s1, s2) (strcmp(s1, s2) == 0) ! 67: ! 68: typedef FILE *File; ! 69: typedef int Fileid; ! 70: typedef 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: ! 77: extern long atol(); ! 78: extern double atof(); ! 79: extern char *malloc(); ! 80: extern String strcpy(), index(), rindex(); ! 81: extern int strlen(); ! 82: ! 83: extern String cmdname; ! 84: extern String errfilename; ! 85: extern short errlineno; ! 86: extern int debug_flag[];
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.