2
Unix SMB/CIFS implementation.
3
SMB torture tester - scanning functions
4
Copyright (C) Andrew Tridgell 2001
6
This program is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 3 of the License, or
9
(at your option) any later version.
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
16
You should have received a copy of the GNU General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
22
extern bool torture_showall;
24
enum deny_result {A_0=0, A_X=1, A_R=2, A_W=3, A_RW=5};
27
static const char *denystr(int denymode)
33
{DENY_DOS, "DENY_DOS"},
34
{DENY_ALL, "DENY_ALL"},
35
{DENY_WRITE, "DENY_WRITE"},
36
{DENY_READ, "DENY_READ"},
37
{DENY_NONE, "DENY_NONE"},
38
{DENY_FCB, "DENY_FCB"},
41
for (i=0;deny_modes[i].name;i++) {
42
if (deny_modes[i].v == denymode) return deny_modes[i].name;
47
static const char *openstr(int mode)
54
{O_RDONLY, "O_RDONLY"},
55
{O_WRONLY, "O_WRONLY"},
58
for (i=0;open_modes[i].name;i++) {
59
if (open_modes[i].v == mode) return open_modes[i].name;
64
static const char *resultstr(enum deny_result res)
76
for (i=0;ARRAY_SIZE(results);i++) {
77
if (results[i].res == res) return results[i].name;
86
enum deny_result result;
88
{1, O_RDWR, DENY_DOS, O_RDWR, DENY_DOS, A_RW},
89
{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
90
{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_DOS, A_W},
91
{1, O_RDWR, DENY_DOS, O_RDWR, DENY_ALL, A_0},
92
{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
93
{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
94
{1, O_RDWR, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
95
{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_WRITE, A_0},
96
{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
97
{1, O_RDWR, DENY_DOS, O_RDWR, DENY_READ, A_0},
98
{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_READ, A_0},
99
{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_READ, A_0},
100
{1, O_RDWR, DENY_DOS, O_RDWR, DENY_NONE, A_RW},
101
{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_NONE, A_R},
102
{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_NONE, A_W},
103
{1, O_RDWR, DENY_DOS, O_RDWR, DENY_FCB, A_0},
104
{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
105
{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
106
{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_DOS, A_RW},
107
{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
108
{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_DOS, A_W},
109
{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_ALL, A_0},
110
{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
111
{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
112
{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_WRITE, A_RW},
113
{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_WRITE, A_R},
114
{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_WRITE, A_W},
115
{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_READ, A_0},
116
{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_READ, A_0},
117
{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_READ, A_0},
118
{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_NONE, A_RW},
119
{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_NONE, A_R},
120
{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_NONE, A_W},
121
{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_FCB, A_0},
122
{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
123
{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
124
{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_DOS, A_RW},
125
{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
126
{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_DOS, A_W},
127
{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_ALL, A_0},
128
{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
129
{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
130
{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
131
{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_WRITE, A_0},
132
{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
133
{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_READ, A_RW},
134
{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_READ, A_R},
135
{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_READ, A_W},
136
{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_NONE, A_RW},
137
{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_NONE, A_R},
138
{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_NONE, A_W},
139
{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_FCB, A_0},
140
{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
141
{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
142
{1, O_RDWR, DENY_ALL, O_RDWR, DENY_DOS, A_0},
143
{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
144
{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
145
{1, O_RDWR, DENY_ALL, O_RDWR, DENY_ALL, A_0},
146
{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
147
{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
148
{1, O_RDWR, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
149
{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
150
{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
151
{1, O_RDWR, DENY_ALL, O_RDWR, DENY_READ, A_0},
152
{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_READ, A_0},
153
{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_READ, A_0},
154
{1, O_RDWR, DENY_ALL, O_RDWR, DENY_NONE, A_0},
155
{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
156
{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
157
{1, O_RDWR, DENY_ALL, O_RDWR, DENY_FCB, A_0},
158
{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
159
{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
160
{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_DOS, A_0},
161
{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
162
{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
163
{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_ALL, A_0},
164
{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
165
{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
166
{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
167
{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
168
{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
169
{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_READ, A_0},
170
{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_READ, A_0},
171
{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_READ, A_0},
172
{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_NONE, A_0},
173
{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
174
{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
175
{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_FCB, A_0},
176
{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
177
{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
178
{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_DOS, A_0},
179
{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
180
{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
181
{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_ALL, A_0},
182
{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
183
{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
184
{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
185
{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
186
{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
187
{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_READ, A_0},
188
{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_READ, A_0},
189
{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_READ, A_0},
190
{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_NONE, A_0},
191
{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
192
{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
193
{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_FCB, A_0},
194
{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
195
{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
196
{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
197
{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_DOS, A_R},
198
{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
199
{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
200
{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
201
{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
202
{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
203
{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_WRITE, A_0},
204
{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
205
{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_READ, A_0},
206
{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_READ, A_0},
207
{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
208
{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
209
{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
210
{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
211
{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
212
{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
213
{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
214
{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
215
{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_DOS, A_R},
216
{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
217
{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
218
{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
219
{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
220
{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
221
{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_WRITE, A_R},
222
{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
223
{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_READ, A_0},
224
{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_READ, A_0},
225
{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
226
{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
227
{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
228
{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
229
{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
230
{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
231
{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
232
{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
233
{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_DOS, A_R},
234
{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
235
{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
236
{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
237
{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
238
{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
239
{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_WRITE, A_0},
240
{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
241
{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_READ, A_0},
242
{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_READ, A_R},
243
{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
244
{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
245
{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
246
{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
247
{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
248
{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
249
{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
250
{1, O_RDWR, DENY_READ, O_RDWR, DENY_DOS, A_0},
251
{1, O_RDWR, DENY_READ, O_RDONLY, DENY_DOS, A_0},
252
{1, O_RDWR, DENY_READ, O_WRONLY, DENY_DOS, A_W},
253
{1, O_RDWR, DENY_READ, O_RDWR, DENY_ALL, A_0},
254
{1, O_RDWR, DENY_READ, O_RDONLY, DENY_ALL, A_0},
255
{1, O_RDWR, DENY_READ, O_WRONLY, DENY_ALL, A_0},
256
{1, O_RDWR, DENY_READ, O_RDWR, DENY_WRITE, A_0},
257
{1, O_RDWR, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
258
{1, O_RDWR, DENY_READ, O_WRONLY, DENY_WRITE, A_0},
259
{1, O_RDWR, DENY_READ, O_RDWR, DENY_READ, A_0},
260
{1, O_RDWR, DENY_READ, O_RDONLY, DENY_READ, A_0},
261
{1, O_RDWR, DENY_READ, O_WRONLY, DENY_READ, A_0},
262
{1, O_RDWR, DENY_READ, O_RDWR, DENY_NONE, A_0},
263
{1, O_RDWR, DENY_READ, O_RDONLY, DENY_NONE, A_0},
264
{1, O_RDWR, DENY_READ, O_WRONLY, DENY_NONE, A_W},
265
{1, O_RDWR, DENY_READ, O_RDWR, DENY_FCB, A_0},
266
{1, O_RDWR, DENY_READ, O_RDONLY, DENY_FCB, A_0},
267
{1, O_RDWR, DENY_READ, O_WRONLY, DENY_FCB, A_0},
268
{1, O_RDONLY, DENY_READ, O_RDWR, DENY_DOS, A_0},
269
{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_DOS, A_0},
270
{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_DOS, A_W},
271
{1, O_RDONLY, DENY_READ, O_RDWR, DENY_ALL, A_0},
272
{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_ALL, A_0},
273
{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_ALL, A_0},
274
{1, O_RDONLY, DENY_READ, O_RDWR, DENY_WRITE, A_0},
275
{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
276
{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_WRITE, A_W},
277
{1, O_RDONLY, DENY_READ, O_RDWR, DENY_READ, A_0},
278
{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_READ, A_0},
279
{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_READ, A_0},
280
{1, O_RDONLY, DENY_READ, O_RDWR, DENY_NONE, A_0},
281
{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_NONE, A_0},
282
{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_NONE, A_W},
283
{1, O_RDONLY, DENY_READ, O_RDWR, DENY_FCB, A_0},
284
{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_FCB, A_0},
285
{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_FCB, A_0},
286
{1, O_WRONLY, DENY_READ, O_RDWR, DENY_DOS, A_0},
287
{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_DOS, A_0},
288
{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_DOS, A_W},
289
{1, O_WRONLY, DENY_READ, O_RDWR, DENY_ALL, A_0},
290
{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_ALL, A_0},
291
{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_ALL, A_0},
292
{1, O_WRONLY, DENY_READ, O_RDWR, DENY_WRITE, A_0},
293
{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
294
{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_WRITE, A_0},
295
{1, O_WRONLY, DENY_READ, O_RDWR, DENY_READ, A_0},
296
{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_READ, A_0},
297
{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_READ, A_W},
298
{1, O_WRONLY, DENY_READ, O_RDWR, DENY_NONE, A_0},
299
{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_NONE, A_0},
300
{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_NONE, A_W},
301
{1, O_WRONLY, DENY_READ, O_RDWR, DENY_FCB, A_0},
302
{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_FCB, A_0},
303
{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_FCB, A_0},
304
{1, O_RDWR, DENY_NONE, O_RDWR, DENY_DOS, A_RW},
305
{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_DOS, A_R},
306
{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_DOS, A_W},
307
{1, O_RDWR, DENY_NONE, O_RDWR, DENY_ALL, A_0},
308
{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
309
{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
310
{1, O_RDWR, DENY_NONE, O_RDWR, DENY_WRITE, A_0},
311
{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_WRITE, A_0},
312
{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_WRITE, A_0},
313
{1, O_RDWR, DENY_NONE, O_RDWR, DENY_READ, A_0},
314
{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_READ, A_0},
315
{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_READ, A_0},
316
{1, O_RDWR, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
317
{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
318
{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
319
{1, O_RDWR, DENY_NONE, O_RDWR, DENY_FCB, A_0},
320
{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
321
{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
322
{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_DOS, A_RW},
323
{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_DOS, A_R},
324
{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_DOS, A_W},
325
{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_ALL, A_0},
326
{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
327
{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
328
{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_WRITE, A_RW},
329
{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_WRITE, A_R},
330
{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_WRITE, A_W},
331
{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_READ, A_0},
332
{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_READ, A_0},
333
{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_READ, A_0},
334
{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
335
{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
336
{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
337
{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_FCB, A_0},
338
{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
339
{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
340
{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_DOS, A_RW},
341
{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_DOS, A_R},
342
{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_DOS, A_W},
343
{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_ALL, A_0},
344
{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
345
{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
346
{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_WRITE, A_0},
347
{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_WRITE, A_0},
348
{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_WRITE, A_0},
349
{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_READ, A_RW},
350
{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_READ, A_R},
351
{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_READ, A_W},
352
{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
353
{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
354
{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
355
{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_FCB, A_0},
356
{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
357
{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
358
{1, O_RDWR, DENY_FCB, O_RDWR, DENY_DOS, A_0},
359
{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_DOS, A_0},
360
{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_DOS, A_0},
361
{1, O_RDWR, DENY_FCB, O_RDWR, DENY_ALL, A_0},
362
{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
363
{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
364
{1, O_RDWR, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
365
{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
366
{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
367
{1, O_RDWR, DENY_FCB, O_RDWR, DENY_READ, A_0},
368
{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_READ, A_0},
369
{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_READ, A_0},
370
{1, O_RDWR, DENY_FCB, O_RDWR, DENY_NONE, A_0},
371
{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
372
{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
373
{1, O_RDWR, DENY_FCB, O_RDWR, DENY_FCB, A_0},
374
{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_FCB, A_0},
375
{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_FCB, A_0},
376
{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_DOS, A_0},
377
{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_DOS, A_0},
378
{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_DOS, A_0},
379
{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_ALL, A_0},
380
{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
381
{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
382
{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
383
{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
384
{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
385
{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_READ, A_0},
386
{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_READ, A_0},
387
{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_READ, A_0},
388
{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_NONE, A_0},
389
{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
390
{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
391
{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_FCB, A_0},
392
{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_FCB, A_0},
393
{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_FCB, A_0},
394
{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_DOS, A_0},
395
{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_DOS, A_0},
396
{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_DOS, A_0},
397
{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_ALL, A_0},
398
{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
399
{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
400
{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
401
{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
402
{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
403
{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_READ, A_0},
404
{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_READ, A_0},
405
{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_READ, A_0},
406
{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_NONE, A_0},
407
{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
408
{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
409
{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_FCB, A_0},
410
{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_FCB, A_0},
411
{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_FCB, A_0},
412
{0, O_RDWR, DENY_DOS, O_RDWR, DENY_DOS, A_0},
413
{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_DOS, A_0},
414
{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_DOS, A_0},
415
{0, O_RDWR, DENY_DOS, O_RDWR, DENY_ALL, A_0},
416
{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
417
{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
418
{0, O_RDWR, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
419
{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_WRITE, A_0},
420
{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
421
{0, O_RDWR, DENY_DOS, O_RDWR, DENY_READ, A_0},
422
{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_READ, A_0},
423
{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_READ, A_0},
424
{0, O_RDWR, DENY_DOS, O_RDWR, DENY_NONE, A_0},
425
{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_NONE, A_0},
426
{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_NONE, A_0},
427
{0, O_RDWR, DENY_DOS, O_RDWR, DENY_FCB, A_0},
428
{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
429
{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
430
{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_DOS, A_0},
431
{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
432
{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_DOS, A_0},
433
{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_ALL, A_0},
434
{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
435
{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
436
{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
437
{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_WRITE, A_R},
438
{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
439
{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_READ, A_0},
440
{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_READ, A_0},
441
{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_READ, A_0},
442
{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_NONE, A_0},
443
{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_NONE, A_R},
444
{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_NONE, A_0},
445
{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_FCB, A_0},
446
{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
447
{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
448
{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_DOS, A_0},
449
{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_DOS, A_0},
450
{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_DOS, A_0},
451
{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_ALL, A_0},
452
{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
453
{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
454
{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
455
{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_WRITE, A_0},
456
{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
457
{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_READ, A_0},
458
{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_READ, A_0},
459
{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_READ, A_0},
460
{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_NONE, A_0},
461
{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_NONE, A_0},
462
{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_NONE, A_0},
463
{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_FCB, A_0},
464
{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
465
{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
466
{0, O_RDWR, DENY_ALL, O_RDWR, DENY_DOS, A_0},
467
{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
468
{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
469
{0, O_RDWR, DENY_ALL, O_RDWR, DENY_ALL, A_0},
470
{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
471
{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
472
{0, O_RDWR, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
473
{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
474
{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
475
{0, O_RDWR, DENY_ALL, O_RDWR, DENY_READ, A_0},
476
{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_READ, A_0},
477
{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_READ, A_0},
478
{0, O_RDWR, DENY_ALL, O_RDWR, DENY_NONE, A_0},
479
{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
480
{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
481
{0, O_RDWR, DENY_ALL, O_RDWR, DENY_FCB, A_0},
482
{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
483
{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
484
{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_DOS, A_0},
485
{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
486
{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
487
{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_ALL, A_0},
488
{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
489
{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
490
{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
491
{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
492
{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
493
{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_READ, A_0},
494
{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_READ, A_0},
495
{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_READ, A_0},
496
{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_NONE, A_0},
497
{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
498
{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
499
{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_FCB, A_0},
500
{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
501
{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
502
{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_DOS, A_0},
503
{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
504
{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
505
{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_ALL, A_0},
506
{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
507
{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
508
{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
509
{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
510
{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
511
{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_READ, A_0},
512
{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_READ, A_0},
513
{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_READ, A_0},
514
{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_NONE, A_0},
515
{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
516
{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
517
{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_FCB, A_0},
518
{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
519
{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
520
{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
521
{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_DOS, A_0},
522
{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
523
{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
524
{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
525
{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
526
{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
527
{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_WRITE, A_0},
528
{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
529
{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_READ, A_0},
530
{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_READ, A_0},
531
{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
532
{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
533
{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
534
{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
535
{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
536
{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
537
{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
538
{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
539
{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_DOS, A_R},
540
{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
541
{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
542
{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
543
{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
544
{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
545
{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_WRITE, A_R},
546
{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
547
{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_READ, A_0},
548
{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_READ, A_0},
549
{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
550
{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
551
{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
552
{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
553
{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
554
{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
555
{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
556
{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
557
{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_DOS, A_0},
558
{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
559
{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
560
{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
561
{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
562
{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
563
{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_WRITE, A_0},
564
{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
565
{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_READ, A_0},
566
{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_READ, A_R},
567
{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
568
{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
569
{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
570
{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
571
{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
572
{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
573
{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
574
{0, O_RDWR, DENY_READ, O_RDWR, DENY_DOS, A_0},
575
{0, O_RDWR, DENY_READ, O_RDONLY, DENY_DOS, A_0},
576
{0, O_RDWR, DENY_READ, O_WRONLY, DENY_DOS, A_0},
577
{0, O_RDWR, DENY_READ, O_RDWR, DENY_ALL, A_0},
578
{0, O_RDWR, DENY_READ, O_RDONLY, DENY_ALL, A_0},
579
{0, O_RDWR, DENY_READ, O_WRONLY, DENY_ALL, A_0},
580
{0, O_RDWR, DENY_READ, O_RDWR, DENY_WRITE, A_0},
581
{0, O_RDWR, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
582
{0, O_RDWR, DENY_READ, O_WRONLY, DENY_WRITE, A_0},
583
{0, O_RDWR, DENY_READ, O_RDWR, DENY_READ, A_0},
584
{0, O_RDWR, DENY_READ, O_RDONLY, DENY_READ, A_0},
585
{0, O_RDWR, DENY_READ, O_WRONLY, DENY_READ, A_0},
586
{0, O_RDWR, DENY_READ, O_RDWR, DENY_NONE, A_0},
587
{0, O_RDWR, DENY_READ, O_RDONLY, DENY_NONE, A_0},
588
{0, O_RDWR, DENY_READ, O_WRONLY, DENY_NONE, A_W},
589
{0, O_RDWR, DENY_READ, O_RDWR, DENY_FCB, A_0},
590
{0, O_RDWR, DENY_READ, O_RDONLY, DENY_FCB, A_0},
591
{0, O_RDWR, DENY_READ, O_WRONLY, DENY_FCB, A_0},
592
{0, O_RDONLY, DENY_READ, O_RDWR, DENY_DOS, A_0},
593
{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_DOS, A_0},
594
{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_DOS, A_0},
595
{0, O_RDONLY, DENY_READ, O_RDWR, DENY_ALL, A_0},
596
{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_ALL, A_0},
597
{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_ALL, A_0},
598
{0, O_RDONLY, DENY_READ, O_RDWR, DENY_WRITE, A_0},
599
{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
600
{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_WRITE, A_W},
601
{0, O_RDONLY, DENY_READ, O_RDWR, DENY_READ, A_0},
602
{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_READ, A_0},
603
{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_READ, A_0},
604
{0, O_RDONLY, DENY_READ, O_RDWR, DENY_NONE, A_0},
605
{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_NONE, A_0},
606
{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_NONE, A_W},
607
{0, O_RDONLY, DENY_READ, O_RDWR, DENY_FCB, A_0},
608
{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_FCB, A_0},
609
{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_FCB, A_0},
610
{0, O_WRONLY, DENY_READ, O_RDWR, DENY_DOS, A_0},
611
{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_DOS, A_0},
612
{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_DOS, A_0},
613
{0, O_WRONLY, DENY_READ, O_RDWR, DENY_ALL, A_0},
614
{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_ALL, A_0},
615
{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_ALL, A_0},
616
{0, O_WRONLY, DENY_READ, O_RDWR, DENY_WRITE, A_0},
617
{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
618
{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_WRITE, A_0},
619
{0, O_WRONLY, DENY_READ, O_RDWR, DENY_READ, A_0},
620
{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_READ, A_0},
621
{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_READ, A_W},
622
{0, O_WRONLY, DENY_READ, O_RDWR, DENY_NONE, A_0},
623
{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_NONE, A_0},
624
{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_NONE, A_W},
625
{0, O_WRONLY, DENY_READ, O_RDWR, DENY_FCB, A_0},
626
{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_FCB, A_0},
627
{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_FCB, A_0},
628
{0, O_RDWR, DENY_NONE, O_RDWR, DENY_DOS, A_0},
629
{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_DOS, A_0},
630
{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_DOS, A_0},
631
{0, O_RDWR, DENY_NONE, O_RDWR, DENY_ALL, A_0},
632
{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
633
{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
634
{0, O_RDWR, DENY_NONE, O_RDWR, DENY_WRITE, A_0},
635
{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_WRITE, A_0},
636
{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_WRITE, A_0},
637
{0, O_RDWR, DENY_NONE, O_RDWR, DENY_READ, A_0},
638
{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_READ, A_0},
639
{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_READ, A_0},
640
{0, O_RDWR, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
641
{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
642
{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
643
{0, O_RDWR, DENY_NONE, O_RDWR, DENY_FCB, A_0},
644
{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
645
{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
646
{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_DOS, A_0},
647
{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_DOS, A_R},
648
{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_DOS, A_0},
649
{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_ALL, A_0},
650
{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
651
{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
652
{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_WRITE, A_RW},
653
{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_WRITE, A_R},
654
{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_WRITE, A_W},
655
{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_READ, A_0},
656
{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_READ, A_0},
657
{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_READ, A_0},
658
{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
659
{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
660
{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
661
{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_FCB, A_0},
662
{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
663
{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
664
{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_DOS, A_0},
665
{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_DOS, A_0},
666
{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_DOS, A_0},
667
{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_ALL, A_0},
668
{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
669
{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
670
{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_WRITE, A_0},
671
{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_WRITE, A_0},
672
{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_WRITE, A_0},
673
{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_READ, A_RW},
674
{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_READ, A_R},
675
{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_READ, A_W},
676
{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
677
{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
678
{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
679
{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_FCB, A_0},
680
{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
681
{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
682
{0, O_RDWR, DENY_FCB, O_RDWR, DENY_DOS, A_0},
683
{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_DOS, A_0},
684
{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_DOS, A_0},
685
{0, O_RDWR, DENY_FCB, O_RDWR, DENY_ALL, A_0},
686
{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
687
{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
688
{0, O_RDWR, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
689
{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
690
{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
691
{0, O_RDWR, DENY_FCB, O_RDWR, DENY_READ, A_0},
692
{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_READ, A_0},
693
{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_READ, A_0},
694
{0, O_RDWR, DENY_FCB, O_RDWR, DENY_NONE, A_0},
695
{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
696
{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
697
{0, O_RDWR, DENY_FCB, O_RDWR, DENY_FCB, A_0},
698
{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_FCB, A_0},
699
{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_FCB, A_0},
700
{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_DOS, A_0},
701
{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_DOS, A_0},
702
{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_DOS, A_0},
703
{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_ALL, A_0},
704
{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
705
{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
706
{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
707
{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
708
{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
709
{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_READ, A_0},
710
{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_READ, A_0},
711
{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_READ, A_0},
712
{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_NONE, A_0},
713
{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
714
{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
715
{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_FCB, A_0},
716
{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_FCB, A_0},
717
{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_FCB, A_0},
718
{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_DOS, A_0},
719
{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_DOS, A_0},
720
{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_DOS, A_0},
721
{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_ALL, A_0},
722
{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
723
{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
724
{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
725
{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
726
{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
727
{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_READ, A_0},
728
{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_READ, A_0},
729
{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_READ, A_0},
730
{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_NONE, A_0},
731
{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
732
{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
733
{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_FCB, A_0},
734
{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_FCB, A_0},
735
{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_FCB, A_0}
743
enum deny_result result;
745
{1, O_RDWR, DENY_DOS, O_RDWR, DENY_DOS, A_RW},
746
{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
747
{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_DOS, A_W},
748
{1, O_RDWR, DENY_DOS, O_RDWR, DENY_ALL, A_0},
749
{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
750
{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
751
{1, O_RDWR, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
752
{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_WRITE, A_0},
753
{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
754
{1, O_RDWR, DENY_DOS, O_RDWR, DENY_READ, A_0},
755
{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_READ, A_0},
756
{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_READ, A_0},
757
{1, O_RDWR, DENY_DOS, O_RDWR, DENY_NONE, A_RW},
758
{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_NONE, A_R},
759
{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_NONE, A_W},
760
{1, O_RDWR, DENY_DOS, O_RDWR, DENY_FCB, A_0},
761
{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
762
{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
763
{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_DOS, A_RW},
764
{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
765
{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_DOS, A_W},
766
{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_ALL, A_0},
767
{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
768
{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
769
{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_WRITE, A_RW},
770
{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_WRITE, A_R},
771
{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_WRITE, A_W},
772
{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_READ, A_0},
773
{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_READ, A_0},
774
{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_READ, A_0},
775
{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_NONE, A_RW},
776
{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_NONE, A_R},
777
{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_NONE, A_W},
778
{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_FCB, A_0},
779
{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
780
{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
781
{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_DOS, A_RW},
782
{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
783
{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_DOS, A_W},
784
{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_ALL, A_0},
785
{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
786
{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
787
{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
788
{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_WRITE, A_0},
789
{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
790
{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_READ, A_RW},
791
{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_READ, A_R},
792
{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_READ, A_W},
793
{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_NONE, A_RW},
794
{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_NONE, A_R},
795
{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_NONE, A_W},
796
{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_FCB, A_0},
797
{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
798
{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
799
{1, O_RDWR, DENY_ALL, O_RDWR, DENY_DOS, A_0},
800
{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
801
{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
802
{1, O_RDWR, DENY_ALL, O_RDWR, DENY_ALL, A_0},
803
{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
804
{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
805
{1, O_RDWR, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
806
{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
807
{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
808
{1, O_RDWR, DENY_ALL, O_RDWR, DENY_READ, A_0},
809
{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_READ, A_0},
810
{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_READ, A_0},
811
{1, O_RDWR, DENY_ALL, O_RDWR, DENY_NONE, A_0},
812
{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
813
{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
814
{1, O_RDWR, DENY_ALL, O_RDWR, DENY_FCB, A_0},
815
{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
816
{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
817
{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_DOS, A_0},
818
{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
819
{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
820
{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_ALL, A_0},
821
{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
822
{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
823
{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
824
{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
825
{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
826
{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_READ, A_0},
827
{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_READ, A_0},
828
{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_READ, A_0},
829
{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_NONE, A_0},
830
{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
831
{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
832
{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_FCB, A_0},
833
{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
834
{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
835
{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_DOS, A_0},
836
{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
837
{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
838
{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_ALL, A_0},
839
{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
840
{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
841
{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
842
{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
843
{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
844
{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_READ, A_0},
845
{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_READ, A_0},
846
{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_READ, A_0},
847
{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_NONE, A_0},
848
{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
849
{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
850
{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_FCB, A_0},
851
{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
852
{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
853
{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
854
{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_DOS, A_R},
855
{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
856
{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
857
{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
858
{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
859
{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
860
{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_WRITE, A_0},
861
{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
862
{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_READ, A_0},
863
{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_READ, A_0},
864
{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
865
{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
866
{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
867
{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
868
{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
869
{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
870
{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
871
{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
872
{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_DOS, A_R},
873
{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
874
{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
875
{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
876
{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
877
{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
878
{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_WRITE, A_R},
879
{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
880
{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_READ, A_0},
881
{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_READ, A_0},
882
{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
883
{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
884
{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
885
{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
886
{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
887
{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
888
{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
889
{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
890
{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_DOS, A_R},
891
{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
892
{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
893
{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
894
{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
895
{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
896
{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_WRITE, A_0},
897
{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
898
{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_READ, A_0},
899
{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_READ, A_R},
900
{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
901
{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
902
{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
903
{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
904
{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
905
{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
906
{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
907
{1, O_RDWR, DENY_READ, O_RDWR, DENY_DOS, A_0},
908
{1, O_RDWR, DENY_READ, O_RDONLY, DENY_DOS, A_0},
909
{1, O_RDWR, DENY_READ, O_WRONLY, DENY_DOS, A_W},
910
{1, O_RDWR, DENY_READ, O_RDWR, DENY_ALL, A_0},
911
{1, O_RDWR, DENY_READ, O_RDONLY, DENY_ALL, A_0},
912
{1, O_RDWR, DENY_READ, O_WRONLY, DENY_ALL, A_0},
913
{1, O_RDWR, DENY_READ, O_RDWR, DENY_WRITE, A_0},
914
{1, O_RDWR, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
915
{1, O_RDWR, DENY_READ, O_WRONLY, DENY_WRITE, A_0},
916
{1, O_RDWR, DENY_READ, O_RDWR, DENY_READ, A_0},
917
{1, O_RDWR, DENY_READ, O_RDONLY, DENY_READ, A_0},
918
{1, O_RDWR, DENY_READ, O_WRONLY, DENY_READ, A_0},
919
{1, O_RDWR, DENY_READ, O_RDWR, DENY_NONE, A_0},
920
{1, O_RDWR, DENY_READ, O_RDONLY, DENY_NONE, A_0},
921
{1, O_RDWR, DENY_READ, O_WRONLY, DENY_NONE, A_W},
922
{1, O_RDWR, DENY_READ, O_RDWR, DENY_FCB, A_0},
923
{1, O_RDWR, DENY_READ, O_RDONLY, DENY_FCB, A_0},
924
{1, O_RDWR, DENY_READ, O_WRONLY, DENY_FCB, A_0},
925
{1, O_RDONLY, DENY_READ, O_RDWR, DENY_DOS, A_0},
926
{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_DOS, A_0},
927
{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_DOS, A_W},
928
{1, O_RDONLY, DENY_READ, O_RDWR, DENY_ALL, A_0},
929
{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_ALL, A_0},
930
{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_ALL, A_0},
931
{1, O_RDONLY, DENY_READ, O_RDWR, DENY_WRITE, A_0},
932
{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
933
{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_WRITE, A_W},
934
{1, O_RDONLY, DENY_READ, O_RDWR, DENY_READ, A_0},
935
{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_READ, A_0},
936
{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_READ, A_0},
937
{1, O_RDONLY, DENY_READ, O_RDWR, DENY_NONE, A_0},
938
{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_NONE, A_0},
939
{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_NONE, A_W},
940
{1, O_RDONLY, DENY_READ, O_RDWR, DENY_FCB, A_0},
941
{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_FCB, A_0},
942
{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_FCB, A_0},
943
{1, O_WRONLY, DENY_READ, O_RDWR, DENY_DOS, A_0},
944
{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_DOS, A_0},
945
{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_DOS, A_W},
946
{1, O_WRONLY, DENY_READ, O_RDWR, DENY_ALL, A_0},
947
{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_ALL, A_0},
948
{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_ALL, A_0},
949
{1, O_WRONLY, DENY_READ, O_RDWR, DENY_WRITE, A_0},
950
{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
951
{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_WRITE, A_0},
952
{1, O_WRONLY, DENY_READ, O_RDWR, DENY_READ, A_0},
953
{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_READ, A_0},
954
{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_READ, A_W},
955
{1, O_WRONLY, DENY_READ, O_RDWR, DENY_NONE, A_0},
956
{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_NONE, A_0},
957
{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_NONE, A_W},
958
{1, O_WRONLY, DENY_READ, O_RDWR, DENY_FCB, A_0},
959
{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_FCB, A_0},
960
{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_FCB, A_0},
961
{1, O_RDWR, DENY_NONE, O_RDWR, DENY_DOS, A_RW},
962
{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_DOS, A_R},
963
{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_DOS, A_W},
964
{1, O_RDWR, DENY_NONE, O_RDWR, DENY_ALL, A_0},
965
{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
966
{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
967
{1, O_RDWR, DENY_NONE, O_RDWR, DENY_WRITE, A_0},
968
{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_WRITE, A_0},
969
{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_WRITE, A_0},
970
{1, O_RDWR, DENY_NONE, O_RDWR, DENY_READ, A_0},
971
{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_READ, A_0},
972
{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_READ, A_0},
973
{1, O_RDWR, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
974
{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
975
{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
976
{1, O_RDWR, DENY_NONE, O_RDWR, DENY_FCB, A_0},
977
{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
978
{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
979
{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_DOS, A_RW},
980
{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_DOS, A_R},
981
{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_DOS, A_W},
982
{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_ALL, A_0},
983
{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
984
{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
985
{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_WRITE, A_RW},
986
{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_WRITE, A_R},
987
{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_WRITE, A_W},
988
{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_READ, A_0},
989
{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_READ, A_0},
990
{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_READ, A_0},
991
{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
992
{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
993
{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
994
{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_FCB, A_0},
995
{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
996
{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
997
{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_DOS, A_RW},
998
{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_DOS, A_R},
999
{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_DOS, A_W},
1000
{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_ALL, A_0},
1001
{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
1002
{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
1003
{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_WRITE, A_0},
1004
{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_WRITE, A_0},
1005
{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_WRITE, A_0},
1006
{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_READ, A_RW},
1007
{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_READ, A_R},
1008
{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_READ, A_W},
1009
{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
1010
{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
1011
{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
1012
{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_FCB, A_0},
1013
{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
1014
{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
1015
{1, O_RDWR, DENY_FCB, O_RDWR, DENY_DOS, A_RW},
1016
{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_DOS, A_R},
1017
{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_DOS, A_W},
1018
{1, O_RDWR, DENY_FCB, O_RDWR, DENY_ALL, A_0},
1019
{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
1020
{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
1021
{1, O_RDWR, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
1022
{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
1023
{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
1024
{1, O_RDWR, DENY_FCB, O_RDWR, DENY_READ, A_0},
1025
{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_READ, A_0},
1026
{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_READ, A_0},
1027
{1, O_RDWR, DENY_FCB, O_RDWR, DENY_NONE, A_0},
1028
{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
1029
{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
1030
{1, O_RDWR, DENY_FCB, O_RDWR, DENY_FCB, A_RW},
1031
{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_FCB, A_RW},
1032
{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_FCB, A_RW},
1033
{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_DOS, A_RW},
1034
{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_DOS, A_R},
1035
{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_DOS, A_W},
1036
{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_ALL, A_0},
1037
{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
1038
{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
1039
{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
1040
{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
1041
{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
1042
{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_READ, A_0},
1043
{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_READ, A_0},
1044
{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_READ, A_0},
1045
{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_NONE, A_0},
1046
{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
1047
{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
1048
{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_FCB, A_RW},
1049
{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_FCB, A_RW},
1050
{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_FCB, A_RW},
1051
{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_DOS, A_RW},
1052
{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_DOS, A_R},
1053
{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_DOS, A_W},
1054
{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_ALL, A_0},
1055
{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
1056
{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
1057
{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
1058
{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
1059
{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
1060
{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_READ, A_0},
1061
{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_READ, A_0},
1062
{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_READ, A_0},
1063
{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_NONE, A_0},
1064
{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
1065
{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
1066
{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_FCB, A_RW},
1067
{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_FCB, A_RW},
1068
{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_FCB, A_RW},
1069
{0, O_RDWR, DENY_DOS, O_RDWR, DENY_DOS, A_RW},
1070
{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
1071
{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_DOS, A_W},
1072
{0, O_RDWR, DENY_DOS, O_RDWR, DENY_ALL, A_0},
1073
{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
1074
{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
1075
{0, O_RDWR, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
1076
{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_WRITE, A_0},
1077
{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
1078
{0, O_RDWR, DENY_DOS, O_RDWR, DENY_READ, A_0},
1079
{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_READ, A_0},
1080
{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_READ, A_0},
1081
{0, O_RDWR, DENY_DOS, O_RDWR, DENY_NONE, A_0},
1082
{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_NONE, A_0},
1083
{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_NONE, A_0},
1084
{0, O_RDWR, DENY_DOS, O_RDWR, DENY_FCB, A_RW},
1085
{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_FCB, A_RW},
1086
{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_FCB, A_RW},
1087
{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_DOS, A_0},
1088
{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
1089
{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_DOS, A_0},
1090
{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_ALL, A_0},
1091
{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
1092
{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
1093
{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
1094
{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_WRITE, A_R},
1095
{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
1096
{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_READ, A_0},
1097
{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_READ, A_0},
1098
{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_READ, A_0},
1099
{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_NONE, A_0},
1100
{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_NONE, A_R},
1101
{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_NONE, A_0},
1102
{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_FCB, A_0},
1103
{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
1104
{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
1105
{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_DOS, A_RW},
1106
{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
1107
{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_DOS, A_W},
1108
{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_ALL, A_0},
1109
{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
1110
{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
1111
{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
1112
{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_WRITE, A_0},
1113
{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
1114
{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_READ, A_0},
1115
{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_READ, A_0},
1116
{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_READ, A_0},
1117
{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_NONE, A_0},
1118
{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_NONE, A_0},
1119
{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_NONE, A_0},
1120
{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_FCB, A_RW},
1121
{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_FCB, A_RW},
1122
{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_FCB, A_RW},
1123
{0, O_RDWR, DENY_ALL, O_RDWR, DENY_DOS, A_0},
1124
{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
1125
{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
1126
{0, O_RDWR, DENY_ALL, O_RDWR, DENY_ALL, A_0},
1127
{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
1128
{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
1129
{0, O_RDWR, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
1130
{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
1131
{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
1132
{0, O_RDWR, DENY_ALL, O_RDWR, DENY_READ, A_0},
1133
{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_READ, A_0},
1134
{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_READ, A_0},
1135
{0, O_RDWR, DENY_ALL, O_RDWR, DENY_NONE, A_0},
1136
{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
1137
{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
1138
{0, O_RDWR, DENY_ALL, O_RDWR, DENY_FCB, A_0},
1139
{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
1140
{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
1141
{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_DOS, A_0},
1142
{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
1143
{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
1144
{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_ALL, A_0},
1145
{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
1146
{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
1147
{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
1148
{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
1149
{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
1150
{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_READ, A_0},
1151
{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_READ, A_0},
1152
{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_READ, A_0},
1153
{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_NONE, A_0},
1154
{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
1155
{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
1156
{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_FCB, A_0},
1157
{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
1158
{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
1159
{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_DOS, A_0},
1160
{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
1161
{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
1162
{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_ALL, A_0},
1163
{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
1164
{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
1165
{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
1166
{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
1167
{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
1168
{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_READ, A_0},
1169
{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_READ, A_0},
1170
{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_READ, A_0},
1171
{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_NONE, A_0},
1172
{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
1173
{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
1174
{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_FCB, A_0},
1175
{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
1176
{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
1177
{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
1178
{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_DOS, A_0},
1179
{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
1180
{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
1181
{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
1182
{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
1183
{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
1184
{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_WRITE, A_0},
1185
{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
1186
{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_READ, A_0},
1187
{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_READ, A_0},
1188
{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
1189
{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
1190
{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
1191
{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
1192
{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
1193
{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
1194
{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
1195
{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
1196
{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_DOS, A_R},
1197
{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
1198
{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
1199
{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
1200
{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
1201
{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
1202
{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_WRITE, A_R},
1203
{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
1204
{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_READ, A_0},
1205
{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_READ, A_0},
1206
{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
1207
{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
1208
{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
1209
{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
1210
{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
1211
{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
1212
{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
1213
{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
1214
{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_DOS, A_0},
1215
{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
1216
{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
1217
{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
1218
{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
1219
{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
1220
{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_WRITE, A_0},
1221
{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
1222
{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_READ, A_0},
1223
{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_READ, A_R},
1224
{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
1225
{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
1226
{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
1227
{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
1228
{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
1229
{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
1230
{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
1231
{0, O_RDWR, DENY_READ, O_RDWR, DENY_DOS, A_0},
1232
{0, O_RDWR, DENY_READ, O_RDONLY, DENY_DOS, A_0},
1233
{0, O_RDWR, DENY_READ, O_WRONLY, DENY_DOS, A_0},
1234
{0, O_RDWR, DENY_READ, O_RDWR, DENY_ALL, A_0},
1235
{0, O_RDWR, DENY_READ, O_RDONLY, DENY_ALL, A_0},
1236
{0, O_RDWR, DENY_READ, O_WRONLY, DENY_ALL, A_0},
1237
{0, O_RDWR, DENY_READ, O_RDWR, DENY_WRITE, A_0},
1238
{0, O_RDWR, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
1239
{0, O_RDWR, DENY_READ, O_WRONLY, DENY_WRITE, A_0},
1240
{0, O_RDWR, DENY_READ, O_RDWR, DENY_READ, A_0},
1241
{0, O_RDWR, DENY_READ, O_RDONLY, DENY_READ, A_0},
1242
{0, O_RDWR, DENY_READ, O_WRONLY, DENY_READ, A_0},
1243
{0, O_RDWR, DENY_READ, O_RDWR, DENY_NONE, A_0},
1244
{0, O_RDWR, DENY_READ, O_RDONLY, DENY_NONE, A_0},
1245
{0, O_RDWR, DENY_READ, O_WRONLY, DENY_NONE, A_W},
1246
{0, O_RDWR, DENY_READ, O_RDWR, DENY_FCB, A_0},
1247
{0, O_RDWR, DENY_READ, O_RDONLY, DENY_FCB, A_0},
1248
{0, O_RDWR, DENY_READ, O_WRONLY, DENY_FCB, A_0},
1249
{0, O_RDONLY, DENY_READ, O_RDWR, DENY_DOS, A_0},
1250
{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_DOS, A_0},
1251
{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_DOS, A_0},
1252
{0, O_RDONLY, DENY_READ, O_RDWR, DENY_ALL, A_0},
1253
{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_ALL, A_0},
1254
{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_ALL, A_0},
1255
{0, O_RDONLY, DENY_READ, O_RDWR, DENY_WRITE, A_0},
1256
{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
1257
{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_WRITE, A_W},
1258
{0, O_RDONLY, DENY_READ, O_RDWR, DENY_READ, A_0},
1259
{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_READ, A_0},
1260
{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_READ, A_0},
1261
{0, O_RDONLY, DENY_READ, O_RDWR, DENY_NONE, A_0},
1262
{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_NONE, A_0},
1263
{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_NONE, A_W},
1264
{0, O_RDONLY, DENY_READ, O_RDWR, DENY_FCB, A_0},
1265
{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_FCB, A_0},
1266
{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_FCB, A_0},
1267
{0, O_WRONLY, DENY_READ, O_RDWR, DENY_DOS, A_0},
1268
{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_DOS, A_0},
1269
{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_DOS, A_0},
1270
{0, O_WRONLY, DENY_READ, O_RDWR, DENY_ALL, A_0},
1271
{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_ALL, A_0},
1272
{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_ALL, A_0},
1273
{0, O_WRONLY, DENY_READ, O_RDWR, DENY_WRITE, A_0},
1274
{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
1275
{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_WRITE, A_0},
1276
{0, O_WRONLY, DENY_READ, O_RDWR, DENY_READ, A_0},
1277
{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_READ, A_0},
1278
{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_READ, A_W},
1279
{0, O_WRONLY, DENY_READ, O_RDWR, DENY_NONE, A_0},
1280
{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_NONE, A_0},
1281
{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_NONE, A_W},
1282
{0, O_WRONLY, DENY_READ, O_RDWR, DENY_FCB, A_0},
1283
{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_FCB, A_0},
1284
{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_FCB, A_0},
1285
{0, O_RDWR, DENY_NONE, O_RDWR, DENY_DOS, A_0},
1286
{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_DOS, A_0},
1287
{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_DOS, A_0},
1288
{0, O_RDWR, DENY_NONE, O_RDWR, DENY_ALL, A_0},
1289
{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
1290
{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
1291
{0, O_RDWR, DENY_NONE, O_RDWR, DENY_WRITE, A_0},
1292
{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_WRITE, A_0},
1293
{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_WRITE, A_0},
1294
{0, O_RDWR, DENY_NONE, O_RDWR, DENY_READ, A_0},
1295
{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_READ, A_0},
1296
{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_READ, A_0},
1297
{0, O_RDWR, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
1298
{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
1299
{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
1300
{0, O_RDWR, DENY_NONE, O_RDWR, DENY_FCB, A_0},
1301
{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
1302
{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
1303
{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_DOS, A_0},
1304
{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_DOS, A_R},
1305
{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_DOS, A_0},
1306
{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_ALL, A_0},
1307
{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
1308
{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
1309
{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_WRITE, A_RW},
1310
{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_WRITE, A_R},
1311
{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_WRITE, A_W},
1312
{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_READ, A_0},
1313
{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_READ, A_0},
1314
{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_READ, A_0},
1315
{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
1316
{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
1317
{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
1318
{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_FCB, A_0},
1319
{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
1320
{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
1321
{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_DOS, A_0},
1322
{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_DOS, A_0},
1323
{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_DOS, A_0},
1324
{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_ALL, A_0},
1325
{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
1326
{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
1327
{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_WRITE, A_0},
1328
{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_WRITE, A_0},
1329
{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_WRITE, A_0},
1330
{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_READ, A_RW},
1331
{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_READ, A_R},
1332
{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_READ, A_W},
1333
{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
1334
{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
1335
{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
1336
{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_FCB, A_0},
1337
{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
1338
{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
1339
{0, O_RDWR, DENY_FCB, O_RDWR, DENY_DOS, A_RW},
1340
{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_DOS, A_R},
1341
{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_DOS, A_W},
1342
{0, O_RDWR, DENY_FCB, O_RDWR, DENY_ALL, A_0},
1343
{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
1344
{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
1345
{0, O_RDWR, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
1346
{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
1347
{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
1348
{0, O_RDWR, DENY_FCB, O_RDWR, DENY_READ, A_0},
1349
{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_READ, A_0},
1350
{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_READ, A_0},
1351
{0, O_RDWR, DENY_FCB, O_RDWR, DENY_NONE, A_0},
1352
{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
1353
{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
1354
{0, O_RDWR, DENY_FCB, O_RDWR, DENY_FCB, A_RW},
1355
{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_FCB, A_RW},
1356
{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_FCB, A_RW},
1357
{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_DOS, A_RW},
1358
{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_DOS, A_R},
1359
{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_DOS, A_W},
1360
{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_ALL, A_0},
1361
{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
1362
{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
1363
{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
1364
{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
1365
{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
1366
{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_READ, A_0},
1367
{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_READ, A_0},
1368
{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_READ, A_0},
1369
{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_NONE, A_0},
1370
{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
1371
{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
1372
{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_FCB, A_RW},
1373
{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_FCB, A_RW},
1374
{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_FCB, A_RW},
1375
{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_DOS, A_RW},
1376
{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_DOS, A_R},
1377
{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_DOS, A_W},
1378
{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_ALL, A_0},
1379
{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
1380
{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
1381
{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
1382
{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
1383
{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
1384
{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_READ, A_0},
1385
{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_READ, A_0},
1386
{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_READ, A_0},
1387
{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_NONE, A_0},
1388
{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
1389
{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
1390
{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_FCB, A_RW},
1391
{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_FCB, A_RW},
1392
{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_FCB, A_RW}
1396
static void progress_bar(unsigned i, unsigned total)
1398
if (i % 10 != 0) return;
1399
printf("%5d/%5d\r", i, total);
1404
this produces a matrix of deny mode behaviour for 1 connection
1406
bool torture_denytest1(int dummy)
1408
struct cli_state *cli1;
1411
bool correct = True;
1412
const char *fnames[2] = {"\\denytest1.dat", "\\denytest1.exe"};
1414
if (!torture_open_connection(&cli1, 0)) {
1418
printf("starting denytest1\n");
1421
cli_unlink(cli1, fnames[i]);
1422
fnum1 = cli_open(cli1, fnames[i], O_RDWR|O_CREAT, DENY_NONE);
1423
cli_write(cli1, fnum1, 0, fnames[i], 0, strlen(fnames[i]));
1424
cli_close(cli1, fnum1);
1427
printf("testing %ld entries\n", (unsigned long)ARRAY_SIZE(denytable1));
1429
for (i=0; i<ARRAY_SIZE(denytable1); i++) {
1430
enum deny_result res;
1431
const char *fname = fnames[denytable1[i].isexe];
1433
progress_bar(i, ARRAY_SIZE(denytable1));
1435
fnum1 = cli_open(cli1, fname,
1436
denytable1[i].mode1,
1437
denytable1[i].deny1);
1438
fnum2 = cli_open(cli1, fname,
1439
denytable1[i].mode2,
1440
denytable1[i].deny2);
1444
} else if (fnum2 == -1) {
1449
if (cli_read(cli1, fnum2, (char *)&x, 0, 1) == 1) {
1452
if (cli_write(cli1, fnum2, 0, (char *)&x, 0, 1) == 1) {
1457
if (res != denytable1[i].result) {
1461
if (torture_showall || res != denytable1[i].result) {
1462
printf("%s %8s %10s %8s %10s %s (correct=%s)\n",
1464
denystr(denytable1[i].deny1),
1465
openstr(denytable1[i].mode1),
1466
denystr(denytable1[i].deny2),
1467
openstr(denytable1[i].mode2),
1469
resultstr(denytable1[i].result));
1472
cli_close(cli1, fnum1);
1473
cli_close(cli1, fnum2);
1477
cli_unlink(cli1, fnames[i]);
1480
if (!torture_close_connection(cli1)) {
1484
printf("finshed denytest1\n");
1490
this produces a matrix of deny mode behaviour with 2 connections
1492
bool torture_denytest2(int dummy)
1494
static struct cli_state *cli1, *cli2;
1497
bool correct = True;
1498
const char *fnames[2] = {"\\denytest2.dat", "\\denytest2.exe"};
1500
if (!torture_open_connection(&cli1, 0) || !torture_open_connection(&cli2, 1)) {
1504
printf("starting denytest2\n");
1507
cli_unlink(cli1, fnames[i]);
1508
fnum1 = cli_open(cli1, fnames[i], O_RDWR|O_CREAT, DENY_NONE);
1509
cli_write(cli1, fnum1, 0, fnames[i], 0, strlen(fnames[i]));
1510
cli_close(cli1, fnum1);
1513
for (i=0; i<ARRAY_SIZE(denytable2); i++) {
1514
enum deny_result res;
1515
const char *fname = fnames[denytable2[i].isexe];
1517
progress_bar(i, ARRAY_SIZE(denytable2));
1519
fnum1 = cli_open(cli1, fname,
1520
denytable2[i].mode1,
1521
denytable2[i].deny1);
1522
fnum2 = cli_open(cli2, fname,
1523
denytable2[i].mode2,
1524
denytable2[i].deny2);
1528
} else if (fnum2 == -1) {
1533
if (cli_read(cli2, fnum2, (char *)&x, 0, 1) == 1) {
1536
if (cli_write(cli2, fnum2, 0, (char *)&x, 0, 1) == 1) {
1541
if (res != denytable2[i].result) {
1545
if (torture_showall || res != denytable2[i].result) {
1546
printf("%s %8s %10s %8s %10s %s (correct=%s)\n",
1548
denystr(denytable2[i].deny1),
1549
openstr(denytable2[i].mode1),
1550
denystr(denytable2[i].deny2),
1551
openstr(denytable2[i].mode2),
1553
resultstr(denytable2[i].result));
1556
if (fnum1 != -1) cli_close(cli1, fnum1);
1557
if (fnum2 != -1) cli_close(cli2, fnum2);
1561
cli_unlink(cli1, fnames[i]);
1564
if (!torture_close_connection(cli1)) {
1567
if (!torture_close_connection(cli2)) {
1571
printf("finshed denytest2\n");