diff options
Diffstat (limited to 'source/torture/denytest.c')
-rw-r--r-- | source/torture/denytest.c | 1577 |
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; -} - |