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
Defined struct's
stat
defined in line
94;
never used
Defined macros