Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / vax / mimlib / vaxdefs.mud
1 <USE "NEWSTRUC">
2
3 <GDECL (BUFLEN SBUFLEN) FIX>
4 <MSETG BYTES/WORD 4>
5
6 ; "ARGS TO INTERNAL TIMER CALLS"
7 <MSETG ITIMER-REAL 0>
8 <MSETG ITIMER-VIRTUAL 1>
9 <MSETG ITIMER-PROF 2>
10
11 <MSETG ITIMER-INTERVAL 1>
12 <MSETG ITIMER-VALUE 2>
13
14 <MSETG EINTR 4>
15 <MSETG EEXIST 17>
16
17 ; "SPECIAL FILE DESCRIPTORS"
18
19 <MSETG STDIN 0>
20 <MSETG STDOUT 1>
21 <MSETG ERRIN 2>
22 <MSETG ERROUT 3>
23
24 ; "OPEN MODES"
25 <MSETG O-RDONLY 0>      ; "Read, no write"
26 <MSETG O-WRONLY 1>      ; "Write, no read (never used)"
27 <MSETG O-RDWR 2>        ; "Read/write"
28 <MSETG O-NDELAY 4>      ; "Never block on open"
29 <MSETG O-APPEND *10*>   ; "Append on each write"
30 <MSETG O-CREAT *1000*>  ; "Create if file doesn't exist"
31 <MSETG O-TRUNC *2000*>  ; "Truncate size to 0"
32 <MSETG O-EXCL *4000*>   ; "Error if create and file exists"
33
34
35 ; "FILE MODES"
36
37 <MSETG FM-SET-UID *4000*>
38 <MSETG FM-SET-GID *2000*>
39 <MSETG FM-SAVE *1000*>
40 <MSETG FM-OWN-READ *400*>
41 <MSETG FM-OWN-WRITE *200*>
42 <MSETG FM-OWN-XCT *100*>
43 <MSETG FM-GRP-READ *40*>
44 <MSETG FM-GRP-WRITE *20*>
45 <MSETG FM-GRP-XCT *10*>
46 <MSETG FM-OTHER-READ *4*>
47 <MSETG FM-OTHER-WRITE *2*>
48 <MSETG FM-OTHER-XCT *1*>
49
50 <MSETG R-OK *4*>
51 <MSETG W-OK 2>
52 <MSETG X-OK 1>
53 <MSETG F-OK 0>
54
55 <MSETG FM-READ *4*>
56 <MSETG FM-WRITE *2*>
57 <MSETG FM-XCT *1*>
58 ; "LSH BY THIS AMOUNT TO GET TO OWNER FIELD"
59 <MSETG FM-OWN-OFFS 6>
60 <MSETG FM-GRP-OFFS 3>
61 <MSETG FM-OTHER-OFFS 0>
62
63 ; "MODES FOR ACCESS"
64 <MSETG ACC-READ 4>
65 <MSETG ACC-WRITE 2>
66 <MSETG ACC-XCT 1>
67
68 \f
69
70 <MSETG WHENCE-ABS 0>
71 <MSETG WHENCE-OFFSET 1>
72 <MSETG WHENCE-EOF 2>
73
74 ; "If STAT into a string, offsets of critical things"
75 <MSETG DEV-OFFS 1>
76 <MSETG DEV-SIZE 2>
77 <MSETG MAJOR-DEV-OFFS 2>
78 <MSETG MAJOR-DEV-SIZE 1>
79 <MSETG MINOR-DEV-OFFS 1>
80 <MSETG MINOR-DEV-SIZE 1>
81 <MSETG INODE-OFFS 5>    ; "2 bytes"
82 <MSETG INODE-SIZE 4>
83 <MSETG MODE-OFFS 9>     ; "2 bytes"
84 <MSETG MODE-SIZE 2>
85 <MSETG OWNER-OFFS 13>
86 <MSETG OWNER-SIZE 2>
87 <MSETG GROUP-OFFS 15>
88 <MSETG OWNER-SIZE 2>
89 <MSETG SIZE-OFFS 21>    ; "4 bytes long"
90 <MSETG SIZE-SIZE 4>
91 <MSETG ATIME-OFFS 25>   ; "4 bytes"
92 <MSETG ATIME-SIZE 4>
93 <MSETG MTIME-OFFS 33>
94 <MSETG MTIME-SIZE 4>
95 <MSETG CTIME-OFFS 41>
96 <MSETG CTIME-SIZE 4>
97 <MSETG STAT-LEN 68>     ; "Length of needed string"
98
99 ; "Interpretation of mode field"
100 <MSETG FMT-MASK *170000*>       ; "Andb with this to get file mode"
101 <MSETG FMT-IFDIR *40000*>       ; "Directory"
102 <MSETG FMT-IFCHR *20000*>       ; "Character special"
103 <MSETG FMT-IFBLK *10000*>       ; "block special"
104 <MSETG FMT-IFREG *100000*>      ; "regular"
105 <MSETG FMT-IFMPC *30000*>       ; "MPX char special"
106 <MSETG FMT-IFMPB *70000*>       ; "MPX block special"
107
108 ; "Rest of mode field goes by chmod bits"
109
110 ; "Device types.  Code is file-mode, or'ed with major device number."
111 <MSETG DEV-CONSOLE <CHTYPE <ORB ,FMT-IFCHR 0> FIX>>
112 <MSETG DEV-DRUM <CHTYPE <ORB ,FMT-IFCHR 7> FIX>>
113 <MSETG DEV-FLOPPY <CHTYPE <ORB ,FMT-IFCHR 8> FIX>>
114 <MSETG DEV-DISK <CHTYPE <ORB ,FMT-IFREG 3> FIX>> "???"
115 <MSETG DEV-OTHER-DISK <CHTYPE <ORB ,FMT-IFREG 9> FIX>>
116 <MSETG DEV-BDISK <CHTYPE <ORB ,FMT-IFREG 0> FIX>>
117 <MSETG DEV-VDISK <CHTYPE <ORB ,FMT-IFREG 7> FIX>>
118 <MSETG DEV-OVDISK <CHTYPE <ORB ,FMT-IFREG 15> FIX>>
119 <MSETG DEV-HK <CHTYPE <ORB ,FMT-IFBLK 3> FIX>>
120 <MSETG DEV-HP <CHTYPE <ORB ,FMT-IFBLK 3> FIX>>
121 <MSETG DEV-MEM <CHTYPE <ORB ,FMT-IFCHR 3> FIX>>
122 <MSETG DEV-MT <CHTYPE <ORB ,FMT-IFBLK 6> FIX>>
123 <MSETG DEV-RMT <CHTYPE <ORB ,FMT-IFCHR 16> FIX>>
124 <MSETG DEV-NULL <CHTYPE <ORB ,FMT-IFCHR 3> FIX>>
125 <MSETG DEV-PTY <CHTYPE <ORB ,FMT-IFCHR 21> FIX>>
126 <MSETG DEV-RHK <CHTYPE <ORB ,FMT-IFCHR 11> FIX>>
127 <MSETG DEV-RHP <CHTYPE <ORB ,FMT-IFCHR 4> FIX>>
128 <MSETG DEV-TTY <CHTYPE <ORB ,FMT-IFCHR 2> FIX>>
129 <MSETG DEV-TTYN <CHTYPE <ORB ,FMT-IFCHR 1> FIX>>
130 <MSETG DEV-DMFTTY <CHTYPE <ORB ,FMT-IFCHR 22> FIX>>
131 <MSETG DEV-NETTTY <CHTYPE <ORB ,FMT-IFCHR 20> FIX>>
132
133 ; "STATUS BITS"
134 <MSETG STATUS-NEW 1>
135 <MSETG STATUS-RENAME 2>
136 <MSETG STATUS-NO-FLUSH 4>
137 <MSETG STATUS-WRITE 8>
138 <MSETG STATUS-READ 16>
139 <MSETG STATUS-RACC 32>
140 ; "BYTE SIZE GOES IN LH"
141 <MSETG BS-ASCII 0>
142 <MSETG BS-8BIT 1>
143 <MSETG BS-BINARY 2>
144
145 <MSETG DIRBLKSIZ 512>
146 <MSETG MAXNAMLEN 255>
147
148 <MSETG INODE-START 1>
149 <MSETG INODE-LEN 4>
150 <MSETG RECLEN-START 5>
151 <MSETG RECLEN-LEN 2>
152 <MSETG NAMLEN-START 7>
153 <MSETG NAMLEN-LEN 2>
154 <MSETG NAME-START 8>