Annotation of 43BSD/ucb/dbx/defs.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.