|
|
1.1 ! root 1: # ! 2: ! 3: /* ! 4: ** OPSYS.H -- operating system dependent definitions. ! 5: ** ! 6: ** This header file contains everything that we at Berkeley ! 7: ** think might vary from system to system. Before ! 8: ** compiling INGRES you should eyeball this file to see ! 9: ** if your system is consistant with us. ! 10: ** ! 11: ** Version: ! 12: ** @(#)opsys.h 8.1 12/31/84 ! 13: */ ! 14: ! 15: # ifndef USERINGRES ! 16: ! 17: /* ! 18: ** UNIX version flags. ! 19: ** The following flags define what version of UNIX is being run. ! 20: ** They should be set as follows: ! 21: ** ! 22: ** Bell-style version six UNIX, with 8-bit user id's and 8-bit ! 23: ** group id's, fetched with calls to getuid() and getgid() ! 24: ** respectively, and stored in the passwd file as two separate ! 25: ** eight-bit fields: ! 26: ** Set the xV6_UNIX flag only. ! 27: ** ! 28: ** Berkeley-style version 6/7x-05a UNIX, with a single 16-bit ! 29: ** user id and no group id (and no getgid() or setgid() calls), ! 30: ** and stored in the passwd file as two separate eight-bit fields, ! 31: ** combined to make a single 16-bit field: ! 32: ** Set the xB_UNIX flag only. ! 33: ** ! 34: ** Bell-style version seven UNIX, with 16-bit user id's and ! 35: ** 16-bit group id's, fetched with calls to getuid() and ! 36: ** getgid() respectively, and stored in the passwd file as ! 37: ** two separate 16-bit fields: ! 38: ** Set the xV7_UNIX flag only. ! 39: */ ! 40: ! 41: /* set for version six */ ! 42: /* # define xV6_UNIX /* Bell v6 UNIX flag */ ! 43: # define xV7_UNIX /* Bell v7 UNIX flag */ ! 44: /* # define xB_UNIX /* Berkeley UNIX flag */ ! 45: ! 46: ! 47: /* ! 48: ** Maximum number of open files per process. ! 49: ** Must match 'NOFILE' entry in /usr/sys/param.h ! 50: */ ! 51: ! 52: /* ! 53: ** if xV7_UNIX is defined, we include <sys/param.h>, which will ! 54: ** define NOFILE, so we avoid defining it here. ! 55: */ ! 56: # ifndef xV7_UNIX ! 57: # define NOFILE 20 ! 58: # endif xV7_UNIX ! 59: ! 60: ! 61: /* ! 62: ** USERINGRES is the UNIX login name of the INGRES superuser, ! 63: ** normally "ingres" of course. The root of this persons ! 64: ** subtree as listed in /etc/passwd becomes the root of ! 65: ** the INGRES subtree. ! 66: */ ! 67: ! 68: # define USERINGRES "ingres" ! 69: ! 70: ! 71: /* ! 72: ** Structure for 'gtty' and 'stty' ! 73: */ ! 74: ! 75: # ifndef xV7_UNIX ! 76: struct sgttyb ! 77: { ! 78: char sg_ispeed; ! 79: char sg_ospeed; ! 80: char sg_erase; ! 81: char sg_kill; ! 82: int sg_flags; ! 83: }; ! 84: # else ! 85: # include <sgtty.h> ! 86: # endif xV7_UNIX ! 87: ! 88: ! 89: /* ! 90: ** Structure for 'fstat' and 'stat' system calls. ! 91: */ ! 92: ! 93: # ifndef xV7_UNIX ! 94: struct stat { ! 95: short st_dev; /* +0: device of i-node */ ! 96: short st_ino; /* +2 */ ! 97: short st_mode; /* +4: see below */ ! 98: char st_nlink; /* +6: number of links to file */ ! 99: char st_uid; /* +7: user ID of owner */ ! 100: char st_gid; /* +8: group ID of owner */ ! 101: char st_sz0; /* +9: high byte of 24-bit size */ ! 102: int st_sz1; /* +10: low word of 24-bit size */ ! 103: int st_addr[8]; /* +12: block numbers or device number */ ! 104: int st_atime[2]; /* +28: time of last access */ ! 105: int st_mtime[2]; /* +32: time of last modification */ ! 106: }; ! 107: ! 108: #define IALLOC 0100000 ! 109: #define S_IFMT 060000 ! 110: #define S_IFDIR 040000 ! 111: #define IFCHR 020000 ! 112: #define IFBLK 060000 ! 113: # endif ! 114: # ifdef xV7_UNIX ! 115: ! 116: # ifdef bitset ! 117: # undef bitset ! 118: # undef setbit ! 119: # undef clrbit ! 120: # include <sys/param.h> ! 121: # include <sys/stat.h> ! 122: # undef bitset ! 123: # undef setbit ! 124: # undef clrbit ! 125: # define bitset(bit, word) ((bit) & (word)) ! 126: # define setbit(bit, word) word |= bit ! 127: # define clrbit(bit, word) word &= ~bit ! 128: # else bitset ! 129: # include <sys/param.h> ! 130: # include <sys/stat.h> ! 131: # undef bitset ! 132: # undef setbit ! 133: # undef clrbit ! 134: # endif bitset ! 135: ! 136: # endif xV7_UNIX ! 137: ! 138: ! 139: # endif USERINGRES
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.