summaryrefslogtreecommitdiffstats
path: root/source/torture/denytest.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/torture/denytest.c')
-rw-r--r--source/torture/denytest.c1577
1 files changed, 0 insertions, 1577 deletions
diff --git a/source/torture/denytest.c b/source/torture/denytest.c
deleted file mode 100644
index 045246f1269..00000000000
--- a/source/torture/denytest.c
+++ /dev/null
@@ -1,1577 +0,0 @@
-/*
- Unix SMB/CIFS implementation.
- SMB torture tester - scanning functions
- Copyright (C) Andrew Tridgell 2001
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#define NO_SYSLOG
-
-#include "includes.h"
-
-extern BOOL torture_showall;
-
-enum deny_result {A_0=0, A_X=1, A_R=2, A_W=3, A_RW=5};
-
-
-static char *denystr(int denymode)
-{
- struct {
- int v;
- char *name;
- } deny_modes[] = {
- {DENY_DOS, "DENY_DOS"},
- {DENY_ALL, "DENY_ALL"},
- {DENY_WRITE, "DENY_WRITE"},
- {DENY_READ, "DENY_READ"},
- {DENY_NONE, "DENY_NONE"},
- {DENY_FCB, "DENY_FCB"},
- {-1, NULL}};
- int i;
- for (i=0;deny_modes[i].name;i++) {
- if (deny_modes[i].v == denymode) return deny_modes[i].name;
- }
- return "DENY_XXX";
-}
-
-static char *openstr(int mode)
-{
- struct {
- int v;
- char *name;
- } open_modes[] = {
- {O_RDWR, "O_RDWR"},
- {O_RDONLY, "O_RDONLY"},
- {O_WRONLY, "O_WRONLY"},
- {-1, NULL}};
- int i;
- for (i=0;open_modes[i].name;i++) {
- if (open_modes[i].v == mode) return open_modes[i].name;
- }
- return "O_XXX";
-}
-
-static char *resultstr(enum deny_result res)
-{
- struct {
- enum deny_result res;
- char *name;
- } results[] = {
- {A_X, "X"},
- {A_0, "-"},
- {A_R, "R"},
- {A_W, "W"},
- {A_RW,"RW"}};
- int i;
- for (i=0;ARRAY_SIZE(results);i++) {
- if (results[i].res == res) return results[i].name;
- }
- return "*";
-}
-
-static struct {
- int isexe;
- int mode1, deny1;
- int mode2, deny2;
- enum deny_result result;
-} denytable2[] = {
-{1, O_RDWR, DENY_DOS, O_RDWR, DENY_DOS, A_RW},
-{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
-{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_DOS, A_W},
-{1, O_RDWR, DENY_DOS, O_RDWR, DENY_ALL, A_0},
-{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_DOS, O_RDWR, DENY_READ, A_0},
-{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_DOS, O_RDWR, DENY_NONE, A_RW},
-{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_NONE, A_R},
-{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_NONE, A_W},
-{1, O_RDWR, DENY_DOS, O_RDWR, DENY_FCB, A_0},
-{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_DOS, A_RW},
-{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
-{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_DOS, A_W},
-{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_WRITE, A_RW},
-{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_WRITE, A_R},
-{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_WRITE, A_W},
-{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_READ, A_0},
-{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_NONE, A_RW},
-{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_NONE, A_R},
-{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_NONE, A_W},
-{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_DOS, A_RW},
-{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
-{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_DOS, A_W},
-{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_READ, A_RW},
-{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_READ, A_R},
-{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_READ, A_W},
-{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_NONE, A_RW},
-{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_NONE, A_R},
-{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_NONE, A_W},
-{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_ALL, O_RDWR, DENY_DOS, A_0},
-{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
-{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
-{1, O_RDWR, DENY_ALL, O_RDWR, DENY_ALL, A_0},
-{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_ALL, O_RDWR, DENY_READ, A_0},
-{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_ALL, O_RDWR, DENY_NONE, A_0},
-{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
-{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
-{1, O_RDWR, DENY_ALL, O_RDWR, DENY_FCB, A_0},
-{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_READ, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_READ, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_READ, A_0},
-{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_READ, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_DOS, A_R},
-{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_READ, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
-{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_DOS, A_R},
-{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_WRITE, A_R},
-{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_READ, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
-{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_DOS, A_R},
-{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_READ, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_READ, A_R},
-{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
-{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_READ, O_RDWR, DENY_DOS, A_0},
-{1, O_RDWR, DENY_READ, O_RDONLY, DENY_DOS, A_0},
-{1, O_RDWR, DENY_READ, O_WRONLY, DENY_DOS, A_W},
-{1, O_RDWR, DENY_READ, O_RDWR, DENY_ALL, A_0},
-{1, O_RDWR, DENY_READ, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_READ, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_READ, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_READ, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_READ, O_RDWR, DENY_READ, A_0},
-{1, O_RDWR, DENY_READ, O_RDONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_READ, O_WRONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_READ, O_RDWR, DENY_NONE, A_0},
-{1, O_RDWR, DENY_READ, O_RDONLY, DENY_NONE, A_0},
-{1, O_RDWR, DENY_READ, O_WRONLY, DENY_NONE, A_W},
-{1, O_RDWR, DENY_READ, O_RDWR, DENY_FCB, A_0},
-{1, O_RDWR, DENY_READ, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_READ, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_READ, O_RDWR, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_DOS, A_W},
-{1, O_RDONLY, DENY_READ, O_RDWR, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_READ, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_WRITE, A_W},
-{1, O_RDONLY, DENY_READ, O_RDWR, DENY_READ, A_0},
-{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_READ, O_RDWR, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_NONE, A_W},
-{1, O_RDONLY, DENY_READ, O_RDWR, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_READ, O_RDWR, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_DOS, A_W},
-{1, O_WRONLY, DENY_READ, O_RDWR, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_READ, O_RDWR, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_READ, O_RDWR, DENY_READ, A_0},
-{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_READ, A_0},
-{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_READ, A_W},
-{1, O_WRONLY, DENY_READ, O_RDWR, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_NONE, A_W},
-{1, O_WRONLY, DENY_READ, O_RDWR, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_NONE, O_RDWR, DENY_DOS, A_RW},
-{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_DOS, A_R},
-{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_DOS, A_W},
-{1, O_RDWR, DENY_NONE, O_RDWR, DENY_ALL, A_0},
-{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_NONE, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_NONE, O_RDWR, DENY_READ, A_0},
-{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
-{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
-{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
-{1, O_RDWR, DENY_NONE, O_RDWR, DENY_FCB, A_0},
-{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_DOS, A_RW},
-{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_DOS, A_R},
-{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_DOS, A_W},
-{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_WRITE, A_RW},
-{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_WRITE, A_R},
-{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_WRITE, A_W},
-{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_READ, A_0},
-{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
-{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
-{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
-{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_DOS, A_RW},
-{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_DOS, A_R},
-{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_DOS, A_W},
-{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_READ, A_RW},
-{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_READ, A_R},
-{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_READ, A_W},
-{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
-{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
-{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
-{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_FCB, O_RDWR, DENY_DOS, A_0},
-{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_DOS, A_0},
-{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_DOS, A_0},
-{1, O_RDWR, DENY_FCB, O_RDWR, DENY_ALL, A_0},
-{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_FCB, O_RDWR, DENY_READ, A_0},
-{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_FCB, O_RDWR, DENY_NONE, A_0},
-{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
-{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
-{1, O_RDWR, DENY_FCB, O_RDWR, DENY_FCB, A_0},
-{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_READ, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_READ, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_READ, A_0},
-{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_READ, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_DOS, O_RDWR, DENY_DOS, A_0},
-{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_DOS, O_RDWR, DENY_ALL, A_0},
-{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_DOS, O_RDWR, DENY_READ, A_0},
-{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_DOS, O_RDWR, DENY_NONE, A_0},
-{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_NONE, A_0},
-{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_NONE, A_0},
-{0, O_RDWR, DENY_DOS, O_RDWR, DENY_FCB, A_0},
-{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
-{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_WRITE, A_R},
-{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_READ, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_NONE, A_R},
-{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_READ, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_READ, A_0},
-{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_READ, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_ALL, O_RDWR, DENY_DOS, A_0},
-{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_ALL, O_RDWR, DENY_ALL, A_0},
-{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_ALL, O_RDWR, DENY_READ, A_0},
-{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_ALL, O_RDWR, DENY_NONE, A_0},
-{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
-{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
-{0, O_RDWR, DENY_ALL, O_RDWR, DENY_FCB, A_0},
-{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_READ, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_READ, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_READ, A_0},
-{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_READ, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_READ, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
-{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_DOS, A_R},
-{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_WRITE, A_R},
-{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_READ, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
-{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_READ, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_READ, A_R},
-{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
-{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_READ, O_RDWR, DENY_DOS, A_0},
-{0, O_RDWR, DENY_READ, O_RDONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_READ, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_READ, O_RDWR, DENY_ALL, A_0},
-{0, O_RDWR, DENY_READ, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_READ, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_READ, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_READ, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_READ, O_RDWR, DENY_READ, A_0},
-{0, O_RDWR, DENY_READ, O_RDONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_READ, O_WRONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_READ, O_RDWR, DENY_NONE, A_0},
-{0, O_RDWR, DENY_READ, O_RDONLY, DENY_NONE, A_0},
-{0, O_RDWR, DENY_READ, O_WRONLY, DENY_NONE, A_W},
-{0, O_RDWR, DENY_READ, O_RDWR, DENY_FCB, A_0},
-{0, O_RDWR, DENY_READ, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_READ, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_READ, O_RDWR, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_READ, O_RDWR, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_READ, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_WRITE, A_W},
-{0, O_RDONLY, DENY_READ, O_RDWR, DENY_READ, A_0},
-{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_READ, O_RDWR, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_NONE, A_W},
-{0, O_RDONLY, DENY_READ, O_RDWR, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_READ, O_RDWR, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_READ, O_RDWR, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_READ, O_RDWR, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_READ, O_RDWR, DENY_READ, A_0},
-{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_READ, A_0},
-{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_READ, A_W},
-{0, O_WRONLY, DENY_READ, O_RDWR, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_NONE, A_W},
-{0, O_WRONLY, DENY_READ, O_RDWR, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_NONE, O_RDWR, DENY_DOS, A_0},
-{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_NONE, O_RDWR, DENY_ALL, A_0},
-{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_NONE, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_NONE, O_RDWR, DENY_READ, A_0},
-{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
-{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
-{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
-{0, O_RDWR, DENY_NONE, O_RDWR, DENY_FCB, A_0},
-{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_DOS, A_R},
-{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_WRITE, A_RW},
-{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_WRITE, A_R},
-{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_WRITE, A_W},
-{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_READ, A_0},
-{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
-{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
-{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
-{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_READ, A_RW},
-{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_READ, A_R},
-{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_READ, A_W},
-{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
-{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
-{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
-{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_FCB, O_RDWR, DENY_DOS, A_0},
-{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_FCB, O_RDWR, DENY_ALL, A_0},
-{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_FCB, O_RDWR, DENY_READ, A_0},
-{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_FCB, O_RDWR, DENY_NONE, A_0},
-{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
-{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
-{0, O_RDWR, DENY_FCB, O_RDWR, DENY_FCB, A_0},
-{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_READ, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_READ, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_READ, A_0},
-{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_READ, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_FCB, A_0}
-};
-
-
-static struct {
- int isexe;
- int mode1, deny1;
- int mode2, deny2;
- enum deny_result result;
-} denytable1[] = {
-{1, O_RDWR, DENY_DOS, O_RDWR, DENY_DOS, A_RW},
-{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
-{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_DOS, A_W},
-{1, O_RDWR, DENY_DOS, O_RDWR, DENY_ALL, A_0},
-{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_DOS, O_RDWR, DENY_READ, A_0},
-{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_DOS, O_RDWR, DENY_NONE, A_RW},
-{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_NONE, A_R},
-{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_NONE, A_W},
-{1, O_RDWR, DENY_DOS, O_RDWR, DENY_FCB, A_0},
-{1, O_RDWR, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_DOS, A_RW},
-{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
-{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_DOS, A_W},
-{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_WRITE, A_RW},
-{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_WRITE, A_R},
-{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_WRITE, A_W},
-{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_READ, A_0},
-{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_NONE, A_RW},
-{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_NONE, A_R},
-{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_NONE, A_W},
-{1, O_RDONLY, DENY_DOS, O_RDWR, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_DOS, A_RW},
-{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
-{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_DOS, A_W},
-{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_READ, A_RW},
-{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_READ, A_R},
-{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_READ, A_W},
-{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_NONE, A_RW},
-{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_NONE, A_R},
-{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_NONE, A_W},
-{1, O_WRONLY, DENY_DOS, O_RDWR, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_ALL, O_RDWR, DENY_DOS, A_0},
-{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
-{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
-{1, O_RDWR, DENY_ALL, O_RDWR, DENY_ALL, A_0},
-{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_ALL, O_RDWR, DENY_READ, A_0},
-{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_ALL, O_RDWR, DENY_NONE, A_0},
-{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
-{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
-{1, O_RDWR, DENY_ALL, O_RDWR, DENY_FCB, A_0},
-{1, O_RDWR, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_READ, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDWR, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_READ, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_READ, A_0},
-{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_READ, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDWR, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_DOS, A_R},
-{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_READ, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
-{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
-{1, O_RDWR, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_DOS, A_R},
-{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_WRITE, A_R},
-{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_READ, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
-{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_DOS, A_R},
-{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_READ, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_READ, A_R},
-{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
-{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_READ, O_RDWR, DENY_DOS, A_0},
-{1, O_RDWR, DENY_READ, O_RDONLY, DENY_DOS, A_0},
-{1, O_RDWR, DENY_READ, O_WRONLY, DENY_DOS, A_W},
-{1, O_RDWR, DENY_READ, O_RDWR, DENY_ALL, A_0},
-{1, O_RDWR, DENY_READ, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_READ, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_READ, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_READ, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_READ, O_RDWR, DENY_READ, A_0},
-{1, O_RDWR, DENY_READ, O_RDONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_READ, O_WRONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_READ, O_RDWR, DENY_NONE, A_0},
-{1, O_RDWR, DENY_READ, O_RDONLY, DENY_NONE, A_0},
-{1, O_RDWR, DENY_READ, O_WRONLY, DENY_NONE, A_W},
-{1, O_RDWR, DENY_READ, O_RDWR, DENY_FCB, A_0},
-{1, O_RDWR, DENY_READ, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_READ, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_READ, O_RDWR, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_DOS, A_0},
-{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_DOS, A_W},
-{1, O_RDONLY, DENY_READ, O_RDWR, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_READ, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_WRITE, A_W},
-{1, O_RDONLY, DENY_READ, O_RDWR, DENY_READ, A_0},
-{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_READ, O_RDWR, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_NONE, A_W},
-{1, O_RDONLY, DENY_READ, O_RDWR, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_READ, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_READ, O_WRONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_READ, O_RDWR, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_DOS, A_0},
-{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_DOS, A_W},
-{1, O_WRONLY, DENY_READ, O_RDWR, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_READ, O_RDWR, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_READ, O_RDWR, DENY_READ, A_0},
-{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_READ, A_0},
-{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_READ, A_W},
-{1, O_WRONLY, DENY_READ, O_RDWR, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_NONE, A_W},
-{1, O_WRONLY, DENY_READ, O_RDWR, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_READ, O_RDONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_READ, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_NONE, O_RDWR, DENY_DOS, A_RW},
-{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_DOS, A_R},
-{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_DOS, A_W},
-{1, O_RDWR, DENY_NONE, O_RDWR, DENY_ALL, A_0},
-{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_NONE, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_NONE, O_RDWR, DENY_READ, A_0},
-{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
-{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
-{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
-{1, O_RDWR, DENY_NONE, O_RDWR, DENY_FCB, A_0},
-{1, O_RDWR, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_DOS, A_RW},
-{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_DOS, A_R},
-{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_DOS, A_W},
-{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_WRITE, A_RW},
-{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_WRITE, A_R},
-{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_WRITE, A_W},
-{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_READ, A_0},
-{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
-{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
-{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
-{1, O_RDONLY, DENY_NONE, O_RDWR, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
-{1, O_RDONLY, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_DOS, A_RW},
-{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_DOS, A_R},
-{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_DOS, A_W},
-{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_READ, A_RW},
-{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_READ, A_R},
-{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_READ, A_W},
-{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
-{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
-{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
-{1, O_WRONLY, DENY_NONE, O_RDWR, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
-{1, O_WRONLY, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
-{1, O_RDWR, DENY_FCB, O_RDWR, DENY_DOS, A_RW},
-{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_DOS, A_R},
-{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_DOS, A_W},
-{1, O_RDWR, DENY_FCB, O_RDWR, DENY_ALL, A_0},
-{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDWR, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDWR, DENY_FCB, O_RDWR, DENY_READ, A_0},
-{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_READ, A_0},
-{1, O_RDWR, DENY_FCB, O_RDWR, DENY_NONE, A_0},
-{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
-{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
-{1, O_RDWR, DENY_FCB, O_RDWR, DENY_FCB, A_RW},
-{1, O_RDWR, DENY_FCB, O_RDONLY, DENY_FCB, A_RW},
-{1, O_RDWR, DENY_FCB, O_WRONLY, DENY_FCB, A_RW},
-{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_DOS, A_RW},
-{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_DOS, A_R},
-{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_DOS, A_W},
-{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_READ, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_READ, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
-{1, O_RDONLY, DENY_FCB, O_RDWR, DENY_FCB, A_RW},
-{1, O_RDONLY, DENY_FCB, O_RDONLY, DENY_FCB, A_RW},
-{1, O_RDONLY, DENY_FCB, O_WRONLY, DENY_FCB, A_RW},
-{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_DOS, A_RW},
-{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_DOS, A_R},
-{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_DOS, A_W},
-{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_READ, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_READ, A_0},
-{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_READ, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
-{1, O_WRONLY, DENY_FCB, O_RDWR, DENY_FCB, A_RW},
-{1, O_WRONLY, DENY_FCB, O_RDONLY, DENY_FCB, A_RW},
-{1, O_WRONLY, DENY_FCB, O_WRONLY, DENY_FCB, A_RW},
-{0, O_RDWR, DENY_DOS, O_RDWR, DENY_DOS, A_RW},
-{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
-{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_DOS, A_W},
-{0, O_RDWR, DENY_DOS, O_RDWR, DENY_ALL, A_0},
-{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_DOS, O_RDWR, DENY_READ, A_0},
-{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_DOS, O_RDWR, DENY_NONE, A_0},
-{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_NONE, A_0},
-{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_NONE, A_0},
-{0, O_RDWR, DENY_DOS, O_RDWR, DENY_FCB, A_RW},
-{0, O_RDWR, DENY_DOS, O_RDONLY, DENY_FCB, A_RW},
-{0, O_RDWR, DENY_DOS, O_WRONLY, DENY_FCB, A_RW},
-{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
-{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_WRITE, A_R},
-{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_READ, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_NONE, A_R},
-{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDWR, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_DOS, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_DOS, O_WRONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_DOS, A_RW},
-{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_DOS, A_R},
-{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_DOS, A_W},
-{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_READ, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_READ, A_0},
-{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_READ, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_DOS, O_RDWR, DENY_FCB, A_RW},
-{0, O_WRONLY, DENY_DOS, O_RDONLY, DENY_FCB, A_RW},
-{0, O_WRONLY, DENY_DOS, O_WRONLY, DENY_FCB, A_RW},
-{0, O_RDWR, DENY_ALL, O_RDWR, DENY_DOS, A_0},
-{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_ALL, O_RDWR, DENY_ALL, A_0},
-{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_ALL, O_RDWR, DENY_READ, A_0},
-{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_ALL, O_RDWR, DENY_NONE, A_0},
-{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
-{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
-{0, O_RDWR, DENY_ALL, O_RDWR, DENY_FCB, A_0},
-{0, O_RDWR, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_READ, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDWR, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_READ, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_READ, A_0},
-{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_READ, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDWR, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_ALL, O_RDONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_ALL, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_READ, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
-{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
-{0, O_RDWR, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_DOS, A_R},
-{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_WRITE, A_R},
-{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_READ, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
-{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_READ, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_READ, A_R},
-{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_READ, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_NONE, A_R},
-{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDWR, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_WRITE, O_RDONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_WRITE, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_READ, O_RDWR, DENY_DOS, A_0},
-{0, O_RDWR, DENY_READ, O_RDONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_READ, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_READ, O_RDWR, DENY_ALL, A_0},
-{0, O_RDWR, DENY_READ, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_READ, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_READ, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_READ, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_READ, O_RDWR, DENY_READ, A_0},
-{0, O_RDWR, DENY_READ, O_RDONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_READ, O_WRONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_READ, O_RDWR, DENY_NONE, A_0},
-{0, O_RDWR, DENY_READ, O_RDONLY, DENY_NONE, A_0},
-{0, O_RDWR, DENY_READ, O_WRONLY, DENY_NONE, A_W},
-{0, O_RDWR, DENY_READ, O_RDWR, DENY_FCB, A_0},
-{0, O_RDWR, DENY_READ, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_READ, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_READ, O_RDWR, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_READ, O_RDWR, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_READ, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_WRITE, A_W},
-{0, O_RDONLY, DENY_READ, O_RDWR, DENY_READ, A_0},
-{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_READ, O_RDWR, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_NONE, A_W},
-{0, O_RDONLY, DENY_READ, O_RDWR, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_READ, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_READ, O_WRONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_READ, O_RDWR, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_READ, O_RDWR, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_READ, O_RDWR, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_READ, O_RDWR, DENY_READ, A_0},
-{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_READ, A_0},
-{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_READ, A_W},
-{0, O_WRONLY, DENY_READ, O_RDWR, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_NONE, A_W},
-{0, O_WRONLY, DENY_READ, O_RDWR, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_READ, O_RDONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_READ, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_NONE, O_RDWR, DENY_DOS, A_0},
-{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDWR, DENY_NONE, O_RDWR, DENY_ALL, A_0},
-{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_NONE, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_NONE, O_RDWR, DENY_READ, A_0},
-{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
-{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
-{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
-{0, O_RDWR, DENY_NONE, O_RDWR, DENY_FCB, A_0},
-{0, O_RDWR, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_DOS, A_R},
-{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_DOS, A_0},
-{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_WRITE, A_RW},
-{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_WRITE, A_R},
-{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_WRITE, A_W},
-{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_READ, A_0},
-{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
-{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
-{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
-{0, O_RDONLY, DENY_NONE, O_RDWR, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
-{0, O_RDONLY, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_DOS, A_0},
-{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_READ, A_RW},
-{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_READ, A_R},
-{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_READ, A_W},
-{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_NONE, A_RW},
-{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_NONE, A_R},
-{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_NONE, A_W},
-{0, O_WRONLY, DENY_NONE, O_RDWR, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_NONE, O_RDONLY, DENY_FCB, A_0},
-{0, O_WRONLY, DENY_NONE, O_WRONLY, DENY_FCB, A_0},
-{0, O_RDWR, DENY_FCB, O_RDWR, DENY_DOS, A_RW},
-{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_DOS, A_R},
-{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_DOS, A_W},
-{0, O_RDWR, DENY_FCB, O_RDWR, DENY_ALL, A_0},
-{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDWR, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDWR, DENY_FCB, O_RDWR, DENY_READ, A_0},
-{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_READ, A_0},
-{0, O_RDWR, DENY_FCB, O_RDWR, DENY_NONE, A_0},
-{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
-{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
-{0, O_RDWR, DENY_FCB, O_RDWR, DENY_FCB, A_RW},
-{0, O_RDWR, DENY_FCB, O_RDONLY, DENY_FCB, A_RW},
-{0, O_RDWR, DENY_FCB, O_WRONLY, DENY_FCB, A_RW},
-{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_DOS, A_RW},
-{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_DOS, A_R},
-{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_DOS, A_W},
-{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_READ, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_READ, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
-{0, O_RDONLY, DENY_FCB, O_RDWR, DENY_FCB, A_RW},
-{0, O_RDONLY, DENY_FCB, O_RDONLY, DENY_FCB, A_RW},
-{0, O_RDONLY, DENY_FCB, O_WRONLY, DENY_FCB, A_RW},
-{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_DOS, A_RW},
-{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_DOS, A_R},
-{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_DOS, A_W},
-{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_ALL, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_WRITE, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_READ, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_READ, A_0},
-{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_READ, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_NONE, A_0},
-{0, O_WRONLY, DENY_FCB, O_RDWR, DENY_FCB, A_RW},
-{0, O_WRONLY, DENY_FCB, O_RDONLY, DENY_FCB, A_RW},
-{0, O_WRONLY, DENY_FCB, O_WRONLY, DENY_FCB, A_RW}
-};
-
-
-static void progress_bar(unsigned i, unsigned total)
-{
- if (i % 10 != 0) return;
- printf("%5d/%5d\r", i, total);
- fflush(stdout);
-}
-
-/*
- this produces a matrix of deny mode behaviour for 1 connection
- */
-BOOL torture_denytest1(int dummy)
-{
- static struct cli_state cli1;
- int fnum1, fnum2;
- int i;
- BOOL correct = True;
- char *fnames[2] = {"\\denytest1.dat", "\\denytest1.exe"};
-
- if (!torture_open_connection(&cli1)) {
- return False;
- }
-
- printf("starting denytest1\n");
-
- for (i=0;i<2;i++) {
- cli_unlink(&cli1, fnames[i]);
- fnum1 = cli_open(&cli1, fnames[i], O_RDWR|O_CREAT, DENY_NONE);
- cli_write(&cli1, fnum1, 0, fnames[i], 0, strlen(fnames[i]));
- cli_close(&cli1, fnum1);
- }
-
- printf("testing %d entries\n", ARRAY_SIZE(denytable1));
-
- for (i=0; i<ARRAY_SIZE(denytable1); i++) {
- enum deny_result res;
- char *fname = fnames[denytable1[i].isexe];
-
- progress_bar(i, ARRAY_SIZE(denytable1));
-
- fnum1 = cli_open(&cli1, fname,
- denytable1[i].mode1,
- denytable1[i].deny1);
- fnum2 = cli_open(&cli1, fname,
- denytable1[i].mode2,
- denytable1[i].deny2);
-
- if (fnum1 == -1) {
- res = A_X;
- } else if (fnum2 == -1) {
- res = A_0;
- } else {
- char x = 1;
- res = A_0;
- if (cli_read(&cli1, fnum2, (void *)&x, 0, 1) == 1) {
- res += A_R;
- }
- if (cli_write(&cli1, fnum2, 0, (void *)&x, 0, 1) == 1) {
- res += A_W;
- }
- }
-
- if (res != denytable1[i].result) {
- correct = False;
- }
-
- if (torture_showall || res != denytable1[i].result) {
- printf("%s %8s %10s %8s %10s %s (correct=%s)\n",
- fname,
- denystr(denytable1[i].deny1),
- openstr(denytable1[i].mode1),
- denystr(denytable1[i].deny2),
- openstr(denytable1[i].mode2),
- resultstr(res),
- resultstr(denytable1[i].result));
- }
-
- cli_close(&cli1, fnum1);
- cli_close(&cli1, fnum2);
- }
-
- for (i=0;i<2;i++) {
- cli_unlink(&cli1, fnames[i]);
- }
-
- if (!torture_close_connection(&cli1)) {
- correct = False;
- }
-
- printf("finshed denytest1\n");
- return correct;
-}
-
-
-/*
- this produces a matrix of deny mode behaviour with 2 connections
- */
-BOOL torture_denytest2(int dummy)
-{
- static struct cli_state cli1, cli2;
- int fnum1, fnum2;
- int i;
- BOOL correct = True;
- char *fnames[2] = {"\\denytest2.dat", "\\denytest2.exe"};
-
- if (!torture_open_connection(&cli1) || !torture_open_connection(&cli2)) {
- return False;
- }
-
- printf("starting denytest2\n");
-
- for (i=0;i<2;i++) {
- cli_unlink(&cli1, fnames[i]);
- fnum1 = cli_open(&cli1, fnames[i], O_RDWR|O_CREAT, DENY_NONE);
- cli_write(&cli1, fnum1, 0, fnames[i], 0, strlen(fnames[i]));
- cli_close(&cli1, fnum1);
- }
-
- for (i=0; i<ARRAY_SIZE(denytable2); i++) {
- enum deny_result res;
- char *fname = fnames[denytable2[i].isexe];
-
- progress_bar(i, ARRAY_SIZE(denytable1));
-
- fnum1 = cli_open(&cli1, fname,
- denytable2[i].mode1,
- denytable2[i].deny1);
- fnum2 = cli_open(&cli2, fname,
- denytable2[i].mode2,
- denytable2[i].deny2);
-
- if (fnum1 == -1) {
- res = A_X;
- } else if (fnum2 == -1) {
- res = A_0;
- } else {
- char x = 1;
- res = A_0;
- if (cli_read(&cli2, fnum2, (void *)&x, 0, 1) == 1) {
- res += A_R;
- }
- if (cli_write(&cli2, fnum2, 0, (void *)&x, 0, 1) == 1) {
- res += A_W;
- }
- }
-
- if (res != denytable2[i].result) {
- correct = False;
- }
-
- if (torture_showall || res != denytable2[i].result) {
- printf("%s %8s %10s %8s %10s %s (correct=%s)\n",
- fname,
- denystr(denytable2[i].deny1),
- openstr(denytable2[i].mode1),
- denystr(denytable2[i].deny2),
- openstr(denytable2[i].mode2),
- resultstr(res),
- resultstr(denytable2[i].result));
- }
-
- cli_close(&cli1, fnum1);
- cli_close(&cli2, fnum2);
- }
-
- for (i=0;i<2;i++) {
- cli_unlink(&cli1, fnames[i]);
- }
-
- if (!torture_close_connection(&cli1)) {
- correct = False;
- }
- if (!torture_close_connection(&cli2)) {
- correct = False;
- }
-
- printf("finshed denytest2\n");
- return correct;
-}
-