torture/denytest.c

説明を見る。
00001 /* 
00002    Unix SMB/CIFS implementation.
00003    SMB torture tester - scanning functions
00004    Copyright (C) Andrew Tridgell 2001
00005    
00006    This program is free software; you can redistribute it and/or modify
00007    it under the terms of the GNU General Public License as published by
00008    the Free Software Foundation; either version 2 of the License, or
00009    (at your option) any later version.
00010    
00011    This program is distributed in the hope that it will be useful,
00012    but WITHOUT ANY WARRANTY; without even the implied warranty of
00013    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014    GNU General Public License for more details.
00015    
00016    You should have received a copy of the GNU General Public License
00017    along with this program; if not, write to the Free Software
00018    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00019 */
00020 
00021 #include "includes.h"
00022 
00023 extern BOOL torture_showall;
00024 
00025 enum deny_result {A_0=0, A_X=1, A_R=2, A_W=3, A_RW=5};
00026 
00027 
00028 static const char *denystr(int denymode)
00029 {
00030         struct {
00031                 int v;
00032                 const char *name; 
00033         } deny_modes[] = {
00034                 {DENY_DOS, "DENY_DOS"},
00035                 {DENY_ALL, "DENY_ALL"},
00036                 {DENY_WRITE, "DENY_WRITE"},
00037                 {DENY_READ, "DENY_READ"},
00038                 {DENY_NONE, "DENY_NONE"},
00039                 {DENY_FCB, "DENY_FCB"},
00040                 {-1, NULL}};
00041         int i;
00042         for (i=0;deny_modes[i].name;i++) {
00043                 if (deny_modes[i].v == denymode) return deny_modes[i].name;
00044         }
00045         return "DENY_XXX";
00046 }
00047 
00048 static const char *openstr(int mode)
00049 {
00050         struct {
00051                 int v;
00052                 const char *name; 
00053         } open_modes[] = {
00054                 {O_RDWR, "O_RDWR"},
00055                 {O_RDONLY, "O_RDONLY"},
00056                 {O_WRONLY, "O_WRONLY"},
00057                 {-1, NULL}};
00058         int i;
00059         for (i=0;open_modes[i].name;i++) {
00060                 if (open_modes[i].v == mode) return open_modes[i].name;
00061         }
00062         return "O_XXX";
00063 }
00064 
00065 static const char *resultstr(enum deny_result res)
00066 {
00067         struct {
00068                 enum deny_result res;
00069                 const char *name; 
00070         } results[] = {
00071                 {A_X, "X"},
00072                 {A_0, "-"},
00073                 {A_R, "R"},
00074                 {A_W, "W"},
00075                 {A_RW,"RW"}};
00076         int i;
00077         for (i=0;ARRAY_SIZE(results);i++) {
00078                 if (results[i].res == res) return results[i].name;
00079         }
00080         return "*";
00081 }
00082 
00083 static struct {
00084         int isexe;
00085         int mode1, deny1;
00086         int mode2, deny2;
00087         enum deny_result result;
00088 } denytable2[] = {
00089 {1,   O_RDWR,   DENY_DOS,      O_RDWR,   DENY_DOS,     A_RW},
00090 {1,   O_RDWR,   DENY_DOS,    O_RDONLY,   DENY_DOS,     A_R},
00091 {1,   O_RDWR,   DENY_DOS,    O_WRONLY,   DENY_DOS,     A_W},
00092 {1,   O_RDWR,   DENY_DOS,      O_RDWR,   DENY_ALL,     A_0},
00093 {1,   O_RDWR,   DENY_DOS,    O_RDONLY,   DENY_ALL,     A_0},
00094 {1,   O_RDWR,   DENY_DOS,    O_WRONLY,   DENY_ALL,     A_0},
00095 {1,   O_RDWR,   DENY_DOS,      O_RDWR, DENY_WRITE,     A_0},
00096 {1,   O_RDWR,   DENY_DOS,    O_RDONLY, DENY_WRITE,     A_0},
00097 {1,   O_RDWR,   DENY_DOS,    O_WRONLY, DENY_WRITE,     A_0},
00098 {1,   O_RDWR,   DENY_DOS,      O_RDWR,  DENY_READ,     A_0},
00099 {1,   O_RDWR,   DENY_DOS,    O_RDONLY,  DENY_READ,     A_0},
00100 {1,   O_RDWR,   DENY_DOS,    O_WRONLY,  DENY_READ,     A_0},
00101 {1,   O_RDWR,   DENY_DOS,      O_RDWR,  DENY_NONE,     A_RW},
00102 {1,   O_RDWR,   DENY_DOS,    O_RDONLY,  DENY_NONE,     A_R},
00103 {1,   O_RDWR,   DENY_DOS,    O_WRONLY,  DENY_NONE,     A_W},
00104 {1,   O_RDWR,   DENY_DOS,      O_RDWR,   DENY_FCB,     A_0},
00105 {1,   O_RDWR,   DENY_DOS,    O_RDONLY,   DENY_FCB,     A_0},
00106 {1,   O_RDWR,   DENY_DOS,    O_WRONLY,   DENY_FCB,     A_0},
00107 {1, O_RDONLY,   DENY_DOS,      O_RDWR,   DENY_DOS,     A_RW},
00108 {1, O_RDONLY,   DENY_DOS,    O_RDONLY,   DENY_DOS,     A_R},
00109 {1, O_RDONLY,   DENY_DOS,    O_WRONLY,   DENY_DOS,     A_W},
00110 {1, O_RDONLY,   DENY_DOS,      O_RDWR,   DENY_ALL,     A_0},
00111 {1, O_RDONLY,   DENY_DOS,    O_RDONLY,   DENY_ALL,     A_0},
00112 {1, O_RDONLY,   DENY_DOS,    O_WRONLY,   DENY_ALL,     A_0},
00113 {1, O_RDONLY,   DENY_DOS,      O_RDWR, DENY_WRITE,     A_RW},
00114 {1, O_RDONLY,   DENY_DOS,    O_RDONLY, DENY_WRITE,     A_R},
00115 {1, O_RDONLY,   DENY_DOS,    O_WRONLY, DENY_WRITE,     A_W},
00116 {1, O_RDONLY,   DENY_DOS,      O_RDWR,  DENY_READ,     A_0},
00117 {1, O_RDONLY,   DENY_DOS,    O_RDONLY,  DENY_READ,     A_0},
00118 {1, O_RDONLY,   DENY_DOS,    O_WRONLY,  DENY_READ,     A_0},
00119 {1, O_RDONLY,   DENY_DOS,      O_RDWR,  DENY_NONE,     A_RW},
00120 {1, O_RDONLY,   DENY_DOS,    O_RDONLY,  DENY_NONE,     A_R},
00121 {1, O_RDONLY,   DENY_DOS,    O_WRONLY,  DENY_NONE,     A_W},
00122 {1, O_RDONLY,   DENY_DOS,      O_RDWR,   DENY_FCB,     A_0},
00123 {1, O_RDONLY,   DENY_DOS,    O_RDONLY,   DENY_FCB,     A_0},
00124 {1, O_RDONLY,   DENY_DOS,    O_WRONLY,   DENY_FCB,     A_0},
00125 {1, O_WRONLY,   DENY_DOS,      O_RDWR,   DENY_DOS,     A_RW},
00126 {1, O_WRONLY,   DENY_DOS,    O_RDONLY,   DENY_DOS,     A_R},
00127 {1, O_WRONLY,   DENY_DOS,    O_WRONLY,   DENY_DOS,     A_W},
00128 {1, O_WRONLY,   DENY_DOS,      O_RDWR,   DENY_ALL,     A_0},
00129 {1, O_WRONLY,   DENY_DOS,    O_RDONLY,   DENY_ALL,     A_0},
00130 {1, O_WRONLY,   DENY_DOS,    O_WRONLY,   DENY_ALL,     A_0},
00131 {1, O_WRONLY,   DENY_DOS,      O_RDWR, DENY_WRITE,     A_0},
00132 {1, O_WRONLY,   DENY_DOS,    O_RDONLY, DENY_WRITE,     A_0},
00133 {1, O_WRONLY,   DENY_DOS,    O_WRONLY, DENY_WRITE,     A_0},
00134 {1, O_WRONLY,   DENY_DOS,      O_RDWR,  DENY_READ,     A_RW},
00135 {1, O_WRONLY,   DENY_DOS,    O_RDONLY,  DENY_READ,     A_R},
00136 {1, O_WRONLY,   DENY_DOS,    O_WRONLY,  DENY_READ,     A_W},
00137 {1, O_WRONLY,   DENY_DOS,      O_RDWR,  DENY_NONE,     A_RW},
00138 {1, O_WRONLY,   DENY_DOS,    O_RDONLY,  DENY_NONE,     A_R},
00139 {1, O_WRONLY,   DENY_DOS,    O_WRONLY,  DENY_NONE,     A_W},
00140 {1, O_WRONLY,   DENY_DOS,      O_RDWR,   DENY_FCB,     A_0},
00141 {1, O_WRONLY,   DENY_DOS,    O_RDONLY,   DENY_FCB,     A_0},
00142 {1, O_WRONLY,   DENY_DOS,    O_WRONLY,   DENY_FCB,     A_0},
00143 {1,   O_RDWR,   DENY_ALL,      O_RDWR,   DENY_DOS,     A_0},
00144 {1,   O_RDWR,   DENY_ALL,    O_RDONLY,   DENY_DOS,     A_0},
00145 {1,   O_RDWR,   DENY_ALL,    O_WRONLY,   DENY_DOS,     A_0},
00146 {1,   O_RDWR,   DENY_ALL,      O_RDWR,   DENY_ALL,     A_0},
00147 {1,   O_RDWR,   DENY_ALL,    O_RDONLY,   DENY_ALL,     A_0},
00148 {1,   O_RDWR,   DENY_ALL,    O_WRONLY,   DENY_ALL,     A_0},
00149 {1,   O_RDWR,   DENY_ALL,      O_RDWR, DENY_WRITE,     A_0},
00150 {1,   O_RDWR,   DENY_ALL,    O_RDONLY, DENY_WRITE,     A_0},
00151 {1,   O_RDWR,   DENY_ALL,    O_WRONLY, DENY_WRITE,     A_0},
00152 {1,   O_RDWR,   DENY_ALL,      O_RDWR,  DENY_READ,     A_0},
00153 {1,   O_RDWR,   DENY_ALL,    O_RDONLY,  DENY_READ,     A_0},
00154 {1,   O_RDWR,   DENY_ALL,    O_WRONLY,  DENY_READ,     A_0},
00155 {1,   O_RDWR,   DENY_ALL,      O_RDWR,  DENY_NONE,     A_0},
00156 {1,   O_RDWR,   DENY_ALL,    O_RDONLY,  DENY_NONE,     A_0},
00157 {1,   O_RDWR,   DENY_ALL,    O_WRONLY,  DENY_NONE,     A_0},
00158 {1,   O_RDWR,   DENY_ALL,      O_RDWR,   DENY_FCB,     A_0},
00159 {1,   O_RDWR,   DENY_ALL,    O_RDONLY,   DENY_FCB,     A_0},
00160 {1,   O_RDWR,   DENY_ALL,    O_WRONLY,   DENY_FCB,     A_0},
00161 {1, O_RDONLY,   DENY_ALL,      O_RDWR,   DENY_DOS,     A_0},
00162 {1, O_RDONLY,   DENY_ALL,    O_RDONLY,   DENY_DOS,     A_0},
00163 {1, O_RDONLY,   DENY_ALL,    O_WRONLY,   DENY_DOS,     A_0},
00164 {1, O_RDONLY,   DENY_ALL,      O_RDWR,   DENY_ALL,     A_0},
00165 {1, O_RDONLY,   DENY_ALL,    O_RDONLY,   DENY_ALL,     A_0},
00166 {1, O_RDONLY,   DENY_ALL,    O_WRONLY,   DENY_ALL,     A_0},
00167 {1, O_RDONLY,   DENY_ALL,      O_RDWR, DENY_WRITE,     A_0},
00168 {1, O_RDONLY,   DENY_ALL,    O_RDONLY, DENY_WRITE,     A_0},
00169 {1, O_RDONLY,   DENY_ALL,    O_WRONLY, DENY_WRITE,     A_0},
00170 {1, O_RDONLY,   DENY_ALL,      O_RDWR,  DENY_READ,     A_0},
00171 {1, O_RDONLY,   DENY_ALL,    O_RDONLY,  DENY_READ,     A_0},
00172 {1, O_RDONLY,   DENY_ALL,    O_WRONLY,  DENY_READ,     A_0},
00173 {1, O_RDONLY,   DENY_ALL,      O_RDWR,  DENY_NONE,     A_0},
00174 {1, O_RDONLY,   DENY_ALL,    O_RDONLY,  DENY_NONE,     A_0},
00175 {1, O_RDONLY,   DENY_ALL,    O_WRONLY,  DENY_NONE,     A_0},
00176 {1, O_RDONLY,   DENY_ALL,      O_RDWR,   DENY_FCB,     A_0},
00177 {1, O_RDONLY,   DENY_ALL,    O_RDONLY,   DENY_FCB,     A_0},
00178 {1, O_RDONLY,   DENY_ALL,    O_WRONLY,   DENY_FCB,     A_0},
00179 {1, O_WRONLY,   DENY_ALL,      O_RDWR,   DENY_DOS,     A_0},
00180 {1, O_WRONLY,   DENY_ALL,    O_RDONLY,   DENY_DOS,     A_0},
00181 {1, O_WRONLY,   DENY_ALL,    O_WRONLY,   DENY_DOS,     A_0},
00182 {1, O_WRONLY,   DENY_ALL,      O_RDWR,   DENY_ALL,     A_0},
00183 {1, O_WRONLY,   DENY_ALL,    O_RDONLY,   DENY_ALL,     A_0},
00184 {1, O_WRONLY,   DENY_ALL,    O_WRONLY,   DENY_ALL,     A_0},
00185 {1, O_WRONLY,   DENY_ALL,      O_RDWR, DENY_WRITE,     A_0},
00186 {1, O_WRONLY,   DENY_ALL,    O_RDONLY, DENY_WRITE,     A_0},
00187 {1, O_WRONLY,   DENY_ALL,    O_WRONLY, DENY_WRITE,     A_0},
00188 {1, O_WRONLY,   DENY_ALL,      O_RDWR,  DENY_READ,     A_0},
00189 {1, O_WRONLY,   DENY_ALL,    O_RDONLY,  DENY_READ,     A_0},
00190 {1, O_WRONLY,   DENY_ALL,    O_WRONLY,  DENY_READ,     A_0},
00191 {1, O_WRONLY,   DENY_ALL,      O_RDWR,  DENY_NONE,     A_0},
00192 {1, O_WRONLY,   DENY_ALL,    O_RDONLY,  DENY_NONE,     A_0},
00193 {1, O_WRONLY,   DENY_ALL,    O_WRONLY,  DENY_NONE,     A_0},
00194 {1, O_WRONLY,   DENY_ALL,      O_RDWR,   DENY_FCB,     A_0},
00195 {1, O_WRONLY,   DENY_ALL,    O_RDONLY,   DENY_FCB,     A_0},
00196 {1, O_WRONLY,   DENY_ALL,    O_WRONLY,   DENY_FCB,     A_0},
00197 {1,   O_RDWR, DENY_WRITE,      O_RDWR,   DENY_DOS,     A_0},
00198 {1,   O_RDWR, DENY_WRITE,    O_RDONLY,   DENY_DOS,     A_R},
00199 {1,   O_RDWR, DENY_WRITE,    O_WRONLY,   DENY_DOS,     A_0},
00200 {1,   O_RDWR, DENY_WRITE,      O_RDWR,   DENY_ALL,     A_0},
00201 {1,   O_RDWR, DENY_WRITE,    O_RDONLY,   DENY_ALL,     A_0},
00202 {1,   O_RDWR, DENY_WRITE,    O_WRONLY,   DENY_ALL,     A_0},
00203 {1,   O_RDWR, DENY_WRITE,      O_RDWR, DENY_WRITE,     A_0},
00204 {1,   O_RDWR, DENY_WRITE,    O_RDONLY, DENY_WRITE,     A_0},
00205 {1,   O_RDWR, DENY_WRITE,    O_WRONLY, DENY_WRITE,     A_0},
00206 {1,   O_RDWR, DENY_WRITE,      O_RDWR,  DENY_READ,     A_0},
00207 {1,   O_RDWR, DENY_WRITE,    O_RDONLY,  DENY_READ,     A_0},
00208 {1,   O_RDWR, DENY_WRITE,    O_WRONLY,  DENY_READ,     A_0},
00209 {1,   O_RDWR, DENY_WRITE,      O_RDWR,  DENY_NONE,     A_0},
00210 {1,   O_RDWR, DENY_WRITE,    O_RDONLY,  DENY_NONE,     A_R},
00211 {1,   O_RDWR, DENY_WRITE,    O_WRONLY,  DENY_NONE,     A_0},
00212 {1,   O_RDWR, DENY_WRITE,      O_RDWR,   DENY_FCB,     A_0},
00213 {1,   O_RDWR, DENY_WRITE,    O_RDONLY,   DENY_FCB,     A_0},
00214 {1,   O_RDWR, DENY_WRITE,    O_WRONLY,   DENY_FCB,     A_0},
00215 {1, O_RDONLY, DENY_WRITE,      O_RDWR,   DENY_DOS,     A_0},
00216 {1, O_RDONLY, DENY_WRITE,    O_RDONLY,   DENY_DOS,     A_R},
00217 {1, O_RDONLY, DENY_WRITE,    O_WRONLY,   DENY_DOS,     A_0},
00218 {1, O_RDONLY, DENY_WRITE,      O_RDWR,   DENY_ALL,     A_0},
00219 {1, O_RDONLY, DENY_WRITE,    O_RDONLY,   DENY_ALL,     A_0},
00220 {1, O_RDONLY, DENY_WRITE,    O_WRONLY,   DENY_ALL,     A_0},
00221 {1, O_RDONLY, DENY_WRITE,      O_RDWR, DENY_WRITE,     A_0},
00222 {1, O_RDONLY, DENY_WRITE,    O_RDONLY, DENY_WRITE,     A_R},
00223 {1, O_RDONLY, DENY_WRITE,    O_WRONLY, DENY_WRITE,     A_0},
00224 {1, O_RDONLY, DENY_WRITE,      O_RDWR,  DENY_READ,     A_0},
00225 {1, O_RDONLY, DENY_WRITE,    O_RDONLY,  DENY_READ,     A_0},
00226 {1, O_RDONLY, DENY_WRITE,    O_WRONLY,  DENY_READ,     A_0},
00227 {1, O_RDONLY, DENY_WRITE,      O_RDWR,  DENY_NONE,     A_0},
00228 {1, O_RDONLY, DENY_WRITE,    O_RDONLY,  DENY_NONE,     A_R},
00229 {1, O_RDONLY, DENY_WRITE,    O_WRONLY,  DENY_NONE,     A_0},
00230 {1, O_RDONLY, DENY_WRITE,      O_RDWR,   DENY_FCB,     A_0},
00231 {1, O_RDONLY, DENY_WRITE,    O_RDONLY,   DENY_FCB,     A_0},
00232 {1, O_RDONLY, DENY_WRITE,    O_WRONLY,   DENY_FCB,     A_0},
00233 {1, O_WRONLY, DENY_WRITE,      O_RDWR,   DENY_DOS,     A_0},
00234 {1, O_WRONLY, DENY_WRITE,    O_RDONLY,   DENY_DOS,     A_R},
00235 {1, O_WRONLY, DENY_WRITE,    O_WRONLY,   DENY_DOS,     A_0},
00236 {1, O_WRONLY, DENY_WRITE,      O_RDWR,   DENY_ALL,     A_0},
00237 {1, O_WRONLY, DENY_WRITE,    O_RDONLY,   DENY_ALL,     A_0},
00238 {1, O_WRONLY, DENY_WRITE,    O_WRONLY,   DENY_ALL,     A_0},
00239 {1, O_WRONLY, DENY_WRITE,      O_RDWR, DENY_WRITE,     A_0},
00240 {1, O_WRONLY, DENY_WRITE,    O_RDONLY, DENY_WRITE,     A_0},
00241 {1, O_WRONLY, DENY_WRITE,    O_WRONLY, DENY_WRITE,     A_0},
00242 {1, O_WRONLY, DENY_WRITE,      O_RDWR,  DENY_READ,     A_0},
00243 {1, O_WRONLY, DENY_WRITE,    O_RDONLY,  DENY_READ,     A_R},
00244 {1, O_WRONLY, DENY_WRITE,    O_WRONLY,  DENY_READ,     A_0},
00245 {1, O_WRONLY, DENY_WRITE,      O_RDWR,  DENY_NONE,     A_0},
00246 {1, O_WRONLY, DENY_WRITE,    O_RDONLY,  DENY_NONE,     A_R},
00247 {1, O_WRONLY, DENY_WRITE,    O_WRONLY,  DENY_NONE,     A_0},
00248 {1, O_WRONLY, DENY_WRITE,      O_RDWR,   DENY_FCB,     A_0},
00249 {1, O_WRONLY, DENY_WRITE,    O_RDONLY,   DENY_FCB,     A_0},
00250 {1, O_WRONLY, DENY_WRITE,    O_WRONLY,   DENY_FCB,     A_0},
00251 {1,   O_RDWR,  DENY_READ,      O_RDWR,   DENY_DOS,     A_0},
00252 {1,   O_RDWR,  DENY_READ,    O_RDONLY,   DENY_DOS,     A_0},
00253 {1,   O_RDWR,  DENY_READ,    O_WRONLY,   DENY_DOS,     A_W},
00254 {1,   O_RDWR,  DENY_READ,      O_RDWR,   DENY_ALL,     A_0},
00255 {1,   O_RDWR,  DENY_READ,    O_RDONLY,   DENY_ALL,     A_0},
00256 {1,   O_RDWR,  DENY_READ,    O_WRONLY,   DENY_ALL,     A_0},
00257 {1,   O_RDWR,  DENY_READ,      O_RDWR, DENY_WRITE,     A_0},
00258 {1,   O_RDWR,  DENY_READ,    O_RDONLY, DENY_WRITE,     A_0},
00259 {1,   O_RDWR,  DENY_READ,    O_WRONLY, DENY_WRITE,     A_0},
00260 {1,   O_RDWR,  DENY_READ,      O_RDWR,  DENY_READ,     A_0},
00261 {1,   O_RDWR,  DENY_READ,    O_RDONLY,  DENY_READ,     A_0},
00262 {1,   O_RDWR,  DENY_READ,    O_WRONLY,  DENY_READ,     A_0},
00263 {1,   O_RDWR,  DENY_READ,      O_RDWR,  DENY_NONE,     A_0},
00264 {1,   O_RDWR,  DENY_READ,    O_RDONLY,  DENY_NONE,     A_0},
00265 {1,   O_RDWR,  DENY_READ,    O_WRONLY,  DENY_NONE,     A_W},
00266 {1,   O_RDWR,  DENY_READ,      O_RDWR,   DENY_FCB,     A_0},
00267 {1,   O_RDWR,  DENY_READ,    O_RDONLY,   DENY_FCB,     A_0},
00268 {1,   O_RDWR,  DENY_READ,    O_WRONLY,   DENY_FCB,     A_0},
00269 {1, O_RDONLY,  DENY_READ,      O_RDWR,   DENY_DOS,     A_0},
00270 {1, O_RDONLY,  DENY_READ,    O_RDONLY,   DENY_DOS,     A_0},
00271 {1, O_RDONLY,  DENY_READ,    O_WRONLY,   DENY_DOS,     A_W},
00272 {1, O_RDONLY,  DENY_READ,      O_RDWR,   DENY_ALL,     A_0},
00273 {1, O_RDONLY,  DENY_READ,    O_RDONLY,   DENY_ALL,     A_0},
00274 {1, O_RDONLY,  DENY_READ,    O_WRONLY,   DENY_ALL,     A_0},
00275 {1, O_RDONLY,  DENY_READ,      O_RDWR, DENY_WRITE,     A_0},
00276 {1, O_RDONLY,  DENY_READ,    O_RDONLY, DENY_WRITE,     A_0},
00277 {1, O_RDONLY,  DENY_READ,    O_WRONLY, DENY_WRITE,     A_W},
00278 {1, O_RDONLY,  DENY_READ,      O_RDWR,  DENY_READ,     A_0},
00279 {1, O_RDONLY,  DENY_READ,    O_RDONLY,  DENY_READ,     A_0},
00280 {1, O_RDONLY,  DENY_READ,    O_WRONLY,  DENY_READ,     A_0},
00281 {1, O_RDONLY,  DENY_READ,      O_RDWR,  DENY_NONE,     A_0},
00282 {1, O_RDONLY,  DENY_READ,    O_RDONLY,  DENY_NONE,     A_0},
00283 {1, O_RDONLY,  DENY_READ,    O_WRONLY,  DENY_NONE,     A_W},
00284 {1, O_RDONLY,  DENY_READ,      O_RDWR,   DENY_FCB,     A_0},
00285 {1, O_RDONLY,  DENY_READ,    O_RDONLY,   DENY_FCB,     A_0},
00286 {1, O_RDONLY,  DENY_READ,    O_WRONLY,   DENY_FCB,     A_0},
00287 {1, O_WRONLY,  DENY_READ,      O_RDWR,   DENY_DOS,     A_0},
00288 {1, O_WRONLY,  DENY_READ,    O_RDONLY,   DENY_DOS,     A_0},
00289 {1, O_WRONLY,  DENY_READ,    O_WRONLY,   DENY_DOS,     A_W},
00290 {1, O_WRONLY,  DENY_READ,      O_RDWR,   DENY_ALL,     A_0},
00291 {1, O_WRONLY,  DENY_READ,    O_RDONLY,   DENY_ALL,     A_0},
00292 {1, O_WRONLY,  DENY_READ,    O_WRONLY,   DENY_ALL,     A_0},
00293 {1, O_WRONLY,  DENY_READ,      O_RDWR, DENY_WRITE,     A_0},
00294 {1, O_WRONLY,  DENY_READ,    O_RDONLY, DENY_WRITE,     A_0},
00295 {1, O_WRONLY,  DENY_READ,    O_WRONLY, DENY_WRITE,     A_0},
00296 {1, O_WRONLY,  DENY_READ,      O_RDWR,  DENY_READ,     A_0},
00297 {1, O_WRONLY,  DENY_READ,    O_RDONLY,  DENY_READ,     A_0},
00298 {1, O_WRONLY,  DENY_READ,    O_WRONLY,  DENY_READ,     A_W},
00299 {1, O_WRONLY,  DENY_READ,      O_RDWR,  DENY_NONE,     A_0},
00300 {1, O_WRONLY,  DENY_READ,    O_RDONLY,  DENY_NONE,     A_0},
00301 {1, O_WRONLY,  DENY_READ,    O_WRONLY,  DENY_NONE,     A_W},
00302 {1, O_WRONLY,  DENY_READ,      O_RDWR,   DENY_FCB,     A_0},
00303 {1, O_WRONLY,  DENY_READ,    O_RDONLY,   DENY_FCB,     A_0},
00304 {1, O_WRONLY,  DENY_READ,    O_WRONLY,   DENY_FCB,     A_0},
00305 {1,   O_RDWR,  DENY_NONE,      O_RDWR,   DENY_DOS,     A_RW},
00306 {1,   O_RDWR,  DENY_NONE,    O_RDONLY,   DENY_DOS,     A_R},
00307 {1,   O_RDWR,  DENY_NONE,    O_WRONLY,   DENY_DOS,     A_W},
00308 {1,   O_RDWR,  DENY_NONE,      O_RDWR,   DENY_ALL,     A_0},
00309 {1,   O_RDWR,  DENY_NONE,    O_RDONLY,   DENY_ALL,     A_0},
00310 {1,   O_RDWR,  DENY_NONE,    O_WRONLY,   DENY_ALL,     A_0},
00311 {1,   O_RDWR,  DENY_NONE,      O_RDWR, DENY_WRITE,     A_0},
00312 {1,   O_RDWR,  DENY_NONE,    O_RDONLY, DENY_WRITE,     A_0},
00313 {1,   O_RDWR,  DENY_NONE,    O_WRONLY, DENY_WRITE,     A_0},
00314 {1,   O_RDWR,  DENY_NONE,      O_RDWR,  DENY_READ,     A_0},
00315 {1,   O_RDWR,  DENY_NONE,    O_RDONLY,  DENY_READ,     A_0},
00316 {1,   O_RDWR,  DENY_NONE,    O_WRONLY,  DENY_READ,     A_0},
00317 {1,   O_RDWR,  DENY_NONE,      O_RDWR,  DENY_NONE,     A_RW},
00318 {1,   O_RDWR,  DENY_NONE,    O_RDONLY,  DENY_NONE,     A_R},
00319 {1,   O_RDWR,  DENY_NONE,    O_WRONLY,  DENY_NONE,     A_W},
00320 {1,   O_RDWR,  DENY_NONE,      O_RDWR,   DENY_FCB,     A_0},
00321 {1,   O_RDWR,  DENY_NONE,    O_RDONLY,   DENY_FCB,     A_0},
00322 {1,   O_RDWR,  DENY_NONE,    O_WRONLY,   DENY_FCB,     A_0},
00323 {1, O_RDONLY,  DENY_NONE,      O_RDWR,   DENY_DOS,     A_RW},
00324 {1, O_RDONLY,  DENY_NONE,    O_RDONLY,   DENY_DOS,     A_R},
00325 {1, O_RDONLY,  DENY_NONE,    O_WRONLY,   DENY_DOS,     A_W},
00326 {1, O_RDONLY,  DENY_NONE,      O_RDWR,   DENY_ALL,     A_0},
00327 {1, O_RDONLY,  DENY_NONE,    O_RDONLY,   DENY_ALL,     A_0},
00328 {1, O_RDONLY,  DENY_NONE,    O_WRONLY,   DENY_ALL,     A_0},
00329 {1, O_RDONLY,  DENY_NONE,      O_RDWR, DENY_WRITE,     A_RW},
00330 {1, O_RDONLY,  DENY_NONE,    O_RDONLY, DENY_WRITE,     A_R},
00331 {1, O_RDONLY,  DENY_NONE,    O_WRONLY, DENY_WRITE,     A_W},
00332 {1, O_RDONLY,  DENY_NONE,      O_RDWR,  DENY_READ,     A_0},
00333 {1, O_RDONLY,  DENY_NONE,    O_RDONLY,  DENY_READ,     A_0},
00334 {1, O_RDONLY,  DENY_NONE,    O_WRONLY,  DENY_READ,     A_0},
00335 {1, O_RDONLY,  DENY_NONE,      O_RDWR,  DENY_NONE,     A_RW},
00336 {1, O_RDONLY,  DENY_NONE,    O_RDONLY,  DENY_NONE,     A_R},
00337 {1, O_RDONLY,  DENY_NONE,    O_WRONLY,  DENY_NONE,     A_W},
00338 {1, O_RDONLY,  DENY_NONE,      O_RDWR,   DENY_FCB,     A_0},
00339 {1, O_RDONLY,  DENY_NONE,    O_RDONLY,   DENY_FCB,     A_0},
00340 {1, O_RDONLY,  DENY_NONE,    O_WRONLY,   DENY_FCB,     A_0},
00341 {1, O_WRONLY,  DENY_NONE,      O_RDWR,   DENY_DOS,     A_RW},
00342 {1, O_WRONLY,  DENY_NONE,    O_RDONLY,   DENY_DOS,     A_R},
00343 {1, O_WRONLY,  DENY_NONE,    O_WRONLY,   DENY_DOS,     A_W},
00344 {1, O_WRONLY,  DENY_NONE,      O_RDWR,   DENY_ALL,     A_0},
00345 {1, O_WRONLY,  DENY_NONE,    O_RDONLY,   DENY_ALL,     A_0},
00346 {1, O_WRONLY,  DENY_NONE,    O_WRONLY,   DENY_ALL,     A_0},
00347 {1, O_WRONLY,  DENY_NONE,      O_RDWR, DENY_WRITE,     A_0},
00348 {1, O_WRONLY,  DENY_NONE,    O_RDONLY, DENY_WRITE,     A_0},
00349 {1, O_WRONLY,  DENY_NONE,    O_WRONLY, DENY_WRITE,     A_0},
00350 {1, O_WRONLY,  DENY_NONE,      O_RDWR,  DENY_READ,     A_RW},
00351 {1, O_WRONLY,  DENY_NONE,    O_RDONLY,  DENY_READ,     A_R},
00352 {1, O_WRONLY,  DENY_NONE,    O_WRONLY,  DENY_READ,     A_W},
00353 {1, O_WRONLY,  DENY_NONE,      O_RDWR,  DENY_NONE,     A_RW},
00354 {1, O_WRONLY,  DENY_NONE,    O_RDONLY,  DENY_NONE,     A_R},
00355 {1, O_WRONLY,  DENY_NONE,    O_WRONLY,  DENY_NONE,     A_W},
00356 {1, O_WRONLY,  DENY_NONE,      O_RDWR,   DENY_FCB,     A_0},
00357 {1, O_WRONLY,  DENY_NONE,    O_RDONLY,   DENY_FCB,     A_0},
00358 {1, O_WRONLY,  DENY_NONE,    O_WRONLY,   DENY_FCB,     A_0},
00359 {1,   O_RDWR,   DENY_FCB,      O_RDWR,   DENY_DOS,     A_0},
00360 {1,   O_RDWR,   DENY_FCB,    O_RDONLY,   DENY_DOS,     A_0},
00361 {1,   O_RDWR,   DENY_FCB,    O_WRONLY,   DENY_DOS,     A_0},
00362 {1,   O_RDWR,   DENY_FCB,      O_RDWR,   DENY_ALL,     A_0},
00363 {1,   O_RDWR,   DENY_FCB,    O_RDONLY,   DENY_ALL,     A_0},
00364 {1,   O_RDWR,   DENY_FCB,    O_WRONLY,   DENY_ALL,     A_0},
00365 {1,   O_RDWR,   DENY_FCB,      O_RDWR, DENY_WRITE,     A_0},
00366 {1,   O_RDWR,   DENY_FCB,    O_RDONLY, DENY_WRITE,     A_0},
00367 {1,   O_RDWR,   DENY_FCB,    O_WRONLY, DENY_WRITE,     A_0},
00368 {1,   O_RDWR,   DENY_FCB,      O_RDWR,  DENY_READ,     A_0},
00369 {1,   O_RDWR,   DENY_FCB,    O_RDONLY,  DENY_READ,     A_0},
00370 {1,   O_RDWR,   DENY_FCB,    O_WRONLY,  DENY_READ,     A_0},
00371 {1,   O_RDWR,   DENY_FCB,      O_RDWR,  DENY_NONE,     A_0},
00372 {1,   O_RDWR,   DENY_FCB,    O_RDONLY,  DENY_NONE,     A_0},
00373 {1,   O_RDWR,   DENY_FCB,    O_WRONLY,  DENY_NONE,     A_0},
00374 {1,   O_RDWR,   DENY_FCB,      O_RDWR,   DENY_FCB,     A_0},
00375 {1,   O_RDWR,   DENY_FCB,    O_RDONLY,   DENY_FCB,     A_0},
00376 {1,   O_RDWR,   DENY_FCB,    O_WRONLY,   DENY_FCB,     A_0},
00377 {1, O_RDONLY,   DENY_FCB,      O_RDWR,   DENY_DOS,     A_0},
00378 {1, O_RDONLY,   DENY_FCB,    O_RDONLY,   DENY_DOS,     A_0},
00379 {1, O_RDONLY,   DENY_FCB,    O_WRONLY,   DENY_DOS,     A_0},
00380 {1, O_RDONLY,   DENY_FCB,      O_RDWR,   DENY_ALL,     A_0},
00381 {1, O_RDONLY,   DENY_FCB,    O_RDONLY,   DENY_ALL,     A_0},
00382 {1, O_RDONLY,   DENY_FCB,    O_WRONLY,   DENY_ALL,     A_0},
00383 {1, O_RDONLY,   DENY_FCB,      O_RDWR, DENY_WRITE,     A_0},
00384 {1, O_RDONLY,   DENY_FCB,    O_RDONLY, DENY_WRITE,     A_0},
00385 {1, O_RDONLY,   DENY_FCB,    O_WRONLY, DENY_WRITE,     A_0},
00386 {1, O_RDONLY,   DENY_FCB,      O_RDWR,  DENY_READ,     A_0},
00387 {1, O_RDONLY,   DENY_FCB,    O_RDONLY,  DENY_READ,     A_0},
00388 {1, O_RDONLY,   DENY_FCB,    O_WRONLY,  DENY_READ,     A_0},
00389 {1, O_RDONLY,   DENY_FCB,      O_RDWR,  DENY_NONE,     A_0},
00390 {1, O_RDONLY,   DENY_FCB,    O_RDONLY,  DENY_NONE,     A_0},
00391 {1, O_RDONLY,   DENY_FCB,    O_WRONLY,  DENY_NONE,     A_0},
00392 {1, O_RDONLY,   DENY_FCB,      O_RDWR,   DENY_FCB,     A_0},
00393 {1, O_RDONLY,   DENY_FCB,    O_RDONLY,   DENY_FCB,     A_0},
00394 {1, O_RDONLY,   DENY_FCB,    O_WRONLY,   DENY_FCB,     A_0},
00395 {1, O_WRONLY,   DENY_FCB,      O_RDWR,   DENY_DOS,     A_0},
00396 {1, O_WRONLY,   DENY_FCB,    O_RDONLY,   DENY_DOS,     A_0},
00397 {1, O_WRONLY,   DENY_FCB,    O_WRONLY,   DENY_DOS,     A_0},
00398 {1, O_WRONLY,   DENY_FCB,      O_RDWR,   DENY_ALL,     A_0},
00399 {1, O_WRONLY,   DENY_FCB,    O_RDONLY,   DENY_ALL,     A_0},
00400 {1, O_WRONLY,   DENY_FCB,    O_WRONLY,   DENY_ALL,     A_0},
00401 {1, O_WRONLY,   DENY_FCB,      O_RDWR, DENY_WRITE,     A_0},
00402 {1, O_WRONLY,   DENY_FCB,    O_RDONLY, DENY_WRITE,     A_0},
00403 {1, O_WRONLY,   DENY_FCB,    O_WRONLY, DENY_WRITE,     A_0},
00404 {1, O_WRONLY,   DENY_FCB,      O_RDWR,  DENY_READ,     A_0},
00405 {1, O_WRONLY,   DENY_FCB,    O_RDONLY,  DENY_READ,     A_0},
00406 {1, O_WRONLY,   DENY_FCB,    O_WRONLY,  DENY_READ,     A_0},
00407 {1, O_WRONLY,   DENY_FCB,      O_RDWR,  DENY_NONE,     A_0},
00408 {1, O_WRONLY,   DENY_FCB,    O_RDONLY,  DENY_NONE,     A_0},
00409 {1, O_WRONLY,   DENY_FCB,    O_WRONLY,  DENY_NONE,     A_0},
00410 {1, O_WRONLY,   DENY_FCB,      O_RDWR,   DENY_FCB,     A_0},
00411 {1, O_WRONLY,   DENY_FCB,    O_RDONLY,   DENY_FCB,     A_0},
00412 {1, O_WRONLY,   DENY_FCB,    O_WRONLY,   DENY_FCB,     A_0},
00413 {0,   O_RDWR,   DENY_DOS,      O_RDWR,   DENY_DOS,     A_0},
00414 {0,   O_RDWR,   DENY_DOS,    O_RDONLY,   DENY_DOS,     A_0},
00415 {0,   O_RDWR,   DENY_DOS,    O_WRONLY,   DENY_DOS,     A_0},
00416 {0,   O_RDWR,   DENY_DOS,      O_RDWR,   DENY_ALL,     A_0},
00417 {0,   O_RDWR,   DENY_DOS,    O_RDONLY,   DENY_ALL,     A_0},
00418 {0,   O_RDWR,   DENY_DOS,    O_WRONLY,   DENY_ALL,     A_0},
00419 {0,   O_RDWR,   DENY_DOS,      O_RDWR, DENY_WRITE,     A_0},
00420 {0,   O_RDWR,   DENY_DOS,    O_RDONLY, DENY_WRITE,     A_0},
00421 {0,   O_RDWR,   DENY_DOS,    O_WRONLY, DENY_WRITE,     A_0},
00422 {0,   O_RDWR,   DENY_DOS,      O_RDWR,  DENY_READ,     A_0},
00423 {0,   O_RDWR,   DENY_DOS,    O_RDONLY,  DENY_READ,     A_0},
00424 {0,   O_RDWR,   DENY_DOS,    O_WRONLY,  DENY_READ,     A_0},
00425 {0,   O_RDWR,   DENY_DOS,      O_RDWR,  DENY_NONE,     A_0},
00426 {0,   O_RDWR,   DENY_DOS,    O_RDONLY,  DENY_NONE,     A_0},
00427 {0,   O_RDWR,   DENY_DOS,    O_WRONLY,  DENY_NONE,     A_0},
00428 {0,   O_RDWR,   DENY_DOS,      O_RDWR,   DENY_FCB,     A_0},
00429 {0,   O_RDWR,   DENY_DOS,    O_RDONLY,   DENY_FCB,     A_0},
00430 {0,   O_RDWR,   DENY_DOS,    O_WRONLY,   DENY_FCB,     A_0},
00431 {0, O_RDONLY,   DENY_DOS,      O_RDWR,   DENY_DOS,     A_0},
00432 {0, O_RDONLY,   DENY_DOS,    O_RDONLY,   DENY_DOS,     A_R},
00433 {0, O_RDONLY,   DENY_DOS,    O_WRONLY,   DENY_DOS,     A_0},
00434 {0, O_RDONLY,   DENY_DOS,      O_RDWR,   DENY_ALL,     A_0},
00435 {0, O_RDONLY,   DENY_DOS,    O_RDONLY,   DENY_ALL,     A_0},
00436 {0, O_RDONLY,   DENY_DOS,    O_WRONLY,   DENY_ALL,     A_0},
00437 {0, O_RDONLY,   DENY_DOS,      O_RDWR, DENY_WRITE,     A_0},
00438 {0, O_RDONLY,   DENY_DOS,    O_RDONLY, DENY_WRITE,     A_R},
00439 {0, O_RDONLY,   DENY_DOS,    O_WRONLY, DENY_WRITE,     A_0},
00440 {0, O_RDONLY,   DENY_DOS,      O_RDWR,  DENY_READ,     A_0},
00441 {0, O_RDONLY,   DENY_DOS,    O_RDONLY,  DENY_READ,     A_0},
00442 {0, O_RDONLY,   DENY_DOS,    O_WRONLY,  DENY_READ,     A_0},
00443 {0, O_RDONLY,   DENY_DOS,      O_RDWR,  DENY_NONE,     A_0},
00444 {0, O_RDONLY,   DENY_DOS,    O_RDONLY,  DENY_NONE,     A_R},
00445 {0, O_RDONLY,   DENY_DOS,    O_WRONLY,  DENY_NONE,     A_0},
00446 {0, O_RDONLY,   DENY_DOS,      O_RDWR,   DENY_FCB,     A_0},
00447 {0, O_RDONLY,   DENY_DOS,    O_RDONLY,   DENY_FCB,     A_0},
00448 {0, O_RDONLY,   DENY_DOS,    O_WRONLY,   DENY_FCB,     A_0},
00449 {0, O_WRONLY,   DENY_DOS,      O_RDWR,   DENY_DOS,     A_0},
00450 {0, O_WRONLY,   DENY_DOS,    O_RDONLY,   DENY_DOS,     A_0},
00451 {0, O_WRONLY,   DENY_DOS,    O_WRONLY,   DENY_DOS,     A_0},
00452 {0, O_WRONLY,   DENY_DOS,      O_RDWR,   DENY_ALL,     A_0},
00453 {0, O_WRONLY,   DENY_DOS,    O_RDONLY,   DENY_ALL,     A_0},
00454 {0, O_WRONLY,   DENY_DOS,    O_WRONLY,   DENY_ALL,     A_0},
00455 {0, O_WRONLY,   DENY_DOS,      O_RDWR, DENY_WRITE,     A_0},
00456 {0, O_WRONLY,   DENY_DOS,    O_RDONLY, DENY_WRITE,     A_0},
00457 {0, O_WRONLY,   DENY_DOS,    O_WRONLY, DENY_WRITE,     A_0},
00458 {0, O_WRONLY,   DENY_DOS,      O_RDWR,  DENY_READ,     A_0},
00459 {0, O_WRONLY,   DENY_DOS,    O_RDONLY,  DENY_READ,     A_0},
00460 {0, O_WRONLY,   DENY_DOS,    O_WRONLY,  DENY_READ,     A_0},
00461 {0, O_WRONLY,   DENY_DOS,      O_RDWR,  DENY_NONE,     A_0},
00462 {0, O_WRONLY,   DENY_DOS,    O_RDONLY,  DENY_NONE,     A_0},
00463 {0, O_WRONLY,   DENY_DOS,    O_WRONLY,  DENY_NONE,     A_0},
00464 {0, O_WRONLY,   DENY_DOS,      O_RDWR,   DENY_FCB,     A_0},
00465 {0, O_WRONLY,   DENY_DOS,    O_RDONLY,   DENY_FCB,     A_0},
00466 {0, O_WRONLY,   DENY_DOS,    O_WRONLY,   DENY_FCB,     A_0},
00467 {0,   O_RDWR,   DENY_ALL,      O_RDWR,   DENY_DOS,     A_0},
00468 {0,   O_RDWR,   DENY_ALL,    O_RDONLY,   DENY_DOS,     A_0},
00469 {0,   O_RDWR,   DENY_ALL,    O_WRONLY,   DENY_DOS,     A_0},
00470 {0,   O_RDWR,   DENY_ALL,      O_RDWR,   DENY_ALL,     A_0},
00471 {0,   O_RDWR,   DENY_ALL,    O_RDONLY,   DENY_ALL,     A_0},
00472 {0,   O_RDWR,   DENY_ALL,    O_WRONLY,   DENY_ALL,     A_0},
00473 {0,   O_RDWR,   DENY_ALL,      O_RDWR, DENY_WRITE,     A_0},
00474 {0,   O_RDWR,   DENY_ALL,    O_RDONLY, DENY_WRITE,     A_0},
00475 {0,   O_RDWR,   DENY_ALL,    O_WRONLY, DENY_WRITE,     A_0},
00476 {0,   O_RDWR,   DENY_ALL,      O_RDWR,  DENY_READ,     A_0},
00477 {0,   O_RDWR,   DENY_ALL,    O_RDONLY,  DENY_READ,     A_0},
00478 {0,   O_RDWR,   DENY_ALL,    O_WRONLY,  DENY_READ,     A_0},
00479 {0,   O_RDWR,   DENY_ALL,      O_RDWR,  DENY_NONE,     A_0},
00480 {0,   O_RDWR,   DENY_ALL,    O_RDONLY,  DENY_NONE,     A_0},
00481 {0,   O_RDWR,   DENY_ALL,    O_WRONLY,  DENY_NONE,     A_0},
00482 {0,   O_RDWR,   DENY_ALL,      O_RDWR,   DENY_FCB,     A_0},
00483 {0,   O_RDWR,   DENY_ALL,    O_RDONLY,   DENY_FCB,     A_0},
00484 {0,   O_RDWR,   DENY_ALL,    O_WRONLY,   DENY_FCB,     A_0},
00485 {0, O_RDONLY,   DENY_ALL,      O_RDWR,   DENY_DOS,     A_0},
00486 {0, O_RDONLY,   DENY_ALL,    O_RDONLY,   DENY_DOS,     A_0},
00487 {0, O_RDONLY,   DENY_ALL,    O_WRONLY,   DENY_DOS,     A_0},
00488 {0, O_RDONLY,   DENY_ALL,      O_RDWR,   DENY_ALL,     A_0},
00489 {0, O_RDONLY,   DENY_ALL,    O_RDONLY,   DENY_ALL,     A_0},
00490 {0, O_RDONLY,   DENY_ALL,    O_WRONLY,   DENY_ALL,     A_0},
00491 {0, O_RDONLY,   DENY_ALL,      O_RDWR, DENY_WRITE,     A_0},
00492 {0, O_RDONLY,   DENY_ALL,    O_RDONLY, DENY_WRITE,     A_0},
00493 {0, O_RDONLY,   DENY_ALL,    O_WRONLY, DENY_WRITE,     A_0},
00494 {0, O_RDONLY,   DENY_ALL,      O_RDWR,  DENY_READ,     A_0},
00495 {0, O_RDONLY,   DENY_ALL,    O_RDONLY,  DENY_READ,     A_0},
00496 {0, O_RDONLY,   DENY_ALL,    O_WRONLY,  DENY_READ,     A_0},
00497 {0, O_RDONLY,   DENY_ALL,      O_RDWR,  DENY_NONE,     A_0},
00498 {0, O_RDONLY,   DENY_ALL,    O_RDONLY,  DENY_NONE,     A_0},
00499 {0, O_RDONLY,   DENY_ALL,    O_WRONLY,  DENY_NONE,     A_0},
00500 {0, O_RDONLY,   DENY_ALL,      O_RDWR,   DENY_FCB,     A_0},
00501 {0, O_RDONLY,   DENY_ALL,    O_RDONLY,   DENY_FCB,     A_0},
00502 {0, O_RDONLY,   DENY_ALL,    O_WRONLY,   DENY_FCB,     A_0},
00503 {0, O_WRONLY,   DENY_ALL,      O_RDWR,   DENY_DOS,     A_0},
00504 {0, O_WRONLY,   DENY_ALL,    O_RDONLY,   DENY_DOS,     A_0},
00505 {0, O_WRONLY,   DENY_ALL,    O_WRONLY,   DENY_DOS,     A_0},
00506 {0, O_WRONLY,   DENY_ALL,      O_RDWR,   DENY_ALL,     A_0},
00507 {0, O_WRONLY,   DENY_ALL,    O_RDONLY,   DENY_ALL,     A_0},
00508 {0, O_WRONLY,   DENY_ALL,    O_WRONLY,   DENY_ALL,     A_0},
00509 {0, O_WRONLY,   DENY_ALL,      O_RDWR, DENY_WRITE,     A_0},
00510 {0, O_WRONLY,   DENY_ALL,    O_RDONLY, DENY_WRITE,     A_0},
00511 {0, O_WRONLY,   DENY_ALL,    O_WRONLY, DENY_WRITE,     A_0},
00512 {0, O_WRONLY,   DENY_ALL,      O_RDWR,  DENY_READ,     A_0},
00513 {0, O_WRONLY,   DENY_ALL,    O_RDONLY,  DENY_READ,     A_0},
00514 {0, O_WRONLY,   DENY_ALL,    O_WRONLY,  DENY_READ,     A_0},
00515 {0, O_WRONLY,   DENY_ALL,      O_RDWR,  DENY_NONE,     A_0},
00516 {0, O_WRONLY,   DENY_ALL,    O_RDONLY,  DENY_NONE,     A_0},
00517 {0, O_WRONLY,   DENY_ALL,    O_WRONLY,  DENY_NONE,     A_0},
00518 {0, O_WRONLY,   DENY_ALL,      O_RDWR,   DENY_FCB,     A_0},
00519 {0, O_WRONLY,   DENY_ALL,    O_RDONLY,   DENY_FCB,     A_0},
00520 {0, O_WRONLY,   DENY_ALL,    O_WRONLY,   DENY_FCB,     A_0},
00521 {0,   O_RDWR, DENY_WRITE,      O_RDWR,   DENY_DOS,     A_0},
00522 {0,   O_RDWR, DENY_WRITE,    O_RDONLY,   DENY_DOS,     A_0},
00523 {0,   O_RDWR, DENY_WRITE,    O_WRONLY,   DENY_DOS,     A_0},
00524 {0,   O_RDWR, DENY_WRITE,      O_RDWR,   DENY_ALL,     A_0},
00525 {0,   O_RDWR, DENY_WRITE,    O_RDONLY,   DENY_ALL,     A_0},
00526 {0,   O_RDWR, DENY_WRITE,    O_WRONLY,   DENY_ALL,     A_0},
00527 {0,   O_RDWR, DENY_WRITE,      O_RDWR, DENY_WRITE,     A_0},
00528 {0,   O_RDWR, DENY_WRITE,    O_RDONLY, DENY_WRITE,     A_0},
00529 {0,   O_RDWR, DENY_WRITE,    O_WRONLY, DENY_WRITE,     A_0},
00530 {0,   O_RDWR, DENY_WRITE,      O_RDWR,  DENY_READ,     A_0},
00531 {0,   O_RDWR, DENY_WRITE,    O_RDONLY,  DENY_READ,     A_0},
00532 {0,   O_RDWR, DENY_WRITE,    O_WRONLY,  DENY_READ,     A_0},
00533 {0,   O_RDWR, DENY_WRITE,      O_RDWR,  DENY_NONE,     A_0},
00534 {0,   O_RDWR, DENY_WRITE,    O_RDONLY,  DENY_NONE,     A_R},
00535 {0,   O_RDWR, DENY_WRITE,    O_WRONLY,  DENY_NONE,     A_0},
00536 {0,   O_RDWR, DENY_WRITE,      O_RDWR,   DENY_FCB,     A_0},
00537 {0,   O_RDWR, DENY_WRITE,    O_RDONLY,   DENY_FCB,     A_0},
00538 {0,   O_RDWR, DENY_WRITE,    O_WRONLY,   DENY_FCB,     A_0},
00539 {0, O_RDONLY, DENY_WRITE,      O_RDWR,   DENY_DOS,     A_0},
00540 {0, O_RDONLY, DENY_WRITE,    O_RDONLY,   DENY_DOS,     A_R},
00541 {0, O_RDONLY, DENY_WRITE,    O_WRONLY,   DENY_DOS,     A_0},
00542 {0, O_RDONLY, DENY_WRITE,      O_RDWR,   DENY_ALL,     A_0},
00543 {0, O_RDONLY, DENY_WRITE,    O_RDONLY,   DENY_ALL,     A_0},
00544 {0, O_RDONLY, DENY_WRITE,    O_WRONLY,   DENY_ALL,     A_0},
00545 {0, O_RDONLY, DENY_WRITE,      O_RDWR, DENY_WRITE,     A_0},
00546 {0, O_RDONLY, DENY_WRITE,    O_RDONLY, DENY_WRITE,     A_R},
00547 {0, O_RDONLY, DENY_WRITE,    O_WRONLY, DENY_WRITE,     A_0},
00548 {0, O_RDONLY, DENY_WRITE,      O_RDWR,  DENY_READ,     A_0},
00549 {0, O_RDONLY, DENY_WRITE,    O_RDONLY,  DENY_READ,     A_0},
00550 {0, O_RDONLY, DENY_WRITE,    O_WRONLY,  DENY_READ,     A_0},
00551 {0, O_RDONLY, DENY_WRITE,      O_RDWR,  DENY_NONE,     A_0},
00552 {0, O_RDONLY, DENY_WRITE,    O_RDONLY,  DENY_NONE,     A_R},
00553 {0, O_RDONLY, DENY_WRITE,    O_WRONLY,  DENY_NONE,     A_0},
00554 {0, O_RDONLY, DENY_WRITE,      O_RDWR,   DENY_FCB,     A_0},
00555 {0, O_RDONLY, DENY_WRITE,    O_RDONLY,   DENY_FCB,     A_0},
00556 {0, O_RDONLY, DENY_WRITE,    O_WRONLY,   DENY_FCB,     A_0},
00557 {0, O_WRONLY, DENY_WRITE,      O_RDWR,   DENY_DOS,     A_0},
00558 {0, O_WRONLY, DENY_WRITE,    O_RDONLY,   DENY_DOS,     A_0},
00559 {0, O_WRONLY, DENY_WRITE,    O_WRONLY,   DENY_DOS,     A_0},
00560 {0, O_WRONLY, DENY_WRITE,      O_RDWR,   DENY_ALL,     A_0},
00561 {0, O_WRONLY, DENY_WRITE,    O_RDONLY,   DENY_ALL,     A_0},
00562 {0, O_WRONLY, DENY_WRITE,    O_WRONLY,   DENY_ALL,     A_0},
00563 {0, O_WRONLY, DENY_WRITE,      O_RDWR, DENY_WRITE,     A_0},
00564 {0, O_WRONLY, DENY_WRITE,    O_RDONLY, DENY_WRITE,     A_0},
00565 {0, O_WRONLY, DENY_WRITE,    O_WRONLY, DENY_WRITE,     A_0},
00566 {0, O_WRONLY, DENY_WRITE,      O_RDWR,  DENY_READ,     A_0},
00567 {0, O_WRONLY, DENY_WRITE,    O_RDONLY,  DENY_READ,     A_R},
00568 {0, O_WRONLY, DENY_WRITE,    O_WRONLY,  DENY_READ,     A_0},
00569 {0, O_WRONLY, DENY_WRITE,      O_RDWR,  DENY_NONE,     A_0},
00570 {0, O_WRONLY, DENY_WRITE,    O_RDONLY,  DENY_NONE,     A_R},
00571 {0, O_WRONLY, DENY_WRITE,    O_WRONLY,  DENY_NONE,     A_0},
00572 {0, O_WRONLY, DENY_WRITE,      O_RDWR,   DENY_FCB,     A_0},
00573 {0, O_WRONLY, DENY_WRITE,    O_RDONLY,   DENY_FCB,     A_0},
00574 {0, O_WRONLY, DENY_WRITE,    O_WRONLY,   DENY_FCB,     A_0},
00575 {0,   O_RDWR,  DENY_READ,      O_RDWR,   DENY_DOS,     A_0},
00576 {0,   O_RDWR,  DENY_READ,    O_RDONLY,   DENY_DOS,     A_0},
00577 {0,   O_RDWR,  DENY_READ,    O_WRONLY,   DENY_DOS,     A_0},
00578 {0,   O_RDWR,  DENY_READ,      O_RDWR,   DENY_ALL,     A_0},
00579 {0,   O_RDWR,  DENY_READ,    O_RDONLY,   DENY_ALL,     A_0},
00580 {0,   O_RDWR,  DENY_READ,    O_WRONLY,   DENY_ALL,     A_0},
00581 {0,   O_RDWR,  DENY_READ,      O_RDWR, DENY_WRITE,     A_0},
00582 {0,   O_RDWR,  DENY_READ,    O_RDONLY, DENY_WRITE,     A_0},
00583 {0,   O_RDWR,  DENY_READ,    O_WRONLY, DENY_WRITE,     A_0},
00584 {0,   O_RDWR,  DENY_READ,      O_RDWR,  DENY_READ,     A_0},
00585 {0,   O_RDWR,  DENY_READ,    O_RDONLY,  DENY_READ,     A_0},
00586 {0,   O_RDWR,  DENY_READ,    O_WRONLY,  DENY_READ,     A_0},
00587 {0,   O_RDWR,  DENY_READ,      O_RDWR,  DENY_NONE,     A_0},
00588 {0,   O_RDWR,  DENY_READ,    O_RDONLY,  DENY_NONE,     A_0},
00589 {0,   O_RDWR,  DENY_READ,    O_WRONLY,  DENY_NONE,     A_W},
00590 {0,   O_RDWR,  DENY_READ,      O_RDWR,   DENY_FCB,     A_0},
00591 {0,   O_RDWR,  DENY_READ,    O_RDONLY,   DENY_FCB,     A_0},
00592 {0,   O_RDWR,  DENY_READ,    O_WRONLY,   DENY_FCB,     A_0},
00593 {0, O_RDONLY,  DENY_READ,      O_RDWR,   DENY_DOS,     A_0},
00594 {0, O_RDONLY,  DENY_READ,    O_RDONLY,   DENY_DOS,     A_0},
00595 {0, O_RDONLY,  DENY_READ,    O_WRONLY,   DENY_DOS,     A_0},
00596 {0, O_RDONLY,  DENY_READ,      O_RDWR,   DENY_ALL,     A_0},
00597 {0, O_RDONLY,  DENY_READ,    O_RDONLY,   DENY_ALL,     A_0},
00598 {0, O_RDONLY,  DENY_READ,    O_WRONLY,   DENY_ALL,     A_0},
00599 {0, O_RDONLY,  DENY_READ,      O_RDWR, DENY_WRITE,     A_0},
00600 {0, O_RDONLY,  DENY_READ,    O_RDONLY, DENY_WRITE,     A_0},
00601 {0, O_RDONLY,  DENY_READ,    O_WRONLY, DENY_WRITE,     A_W},
00602 {0, O_RDONLY,  DENY_READ,      O_RDWR,  DENY_READ,     A_0},
00603 {0, O_RDONLY,  DENY_READ,    O_RDONLY,  DENY_READ,     A_0},
00604 {0, O_RDONLY,  DENY_READ,    O_WRONLY,  DENY_READ,     A_0},
00605 {0, O_RDONLY,  DENY_READ,      O_RDWR,  DENY_NONE,     A_0},
00606 {0, O_RDONLY,  DENY_READ,    O_RDONLY,  DENY_NONE,     A_0},
00607 {0, O_RDONLY,  DENY_READ,    O_WRONLY,  DENY_NONE,     A_W},
00608 {0, O_RDONLY,  DENY_READ,      O_RDWR,   DENY_FCB,     A_0},
00609 {0, O_RDONLY,  DENY_READ,    O_RDONLY,   DENY_FCB,     A_0},
00610 {0, O_RDONLY,  DENY_READ,    O_WRONLY,   DENY_FCB,     A_0},
00611 {0, O_WRONLY,  DENY_READ,      O_RDWR,   DENY_DOS,     A_0},
00612 {0, O_WRONLY,  DENY_READ,    O_RDONLY,   DENY_DOS,     A_0},
00613 {0, O_WRONLY,  DENY_READ,    O_WRONLY,   DENY_DOS,     A_0},
00614 {0, O_WRONLY,  DENY_READ,      O_RDWR,   DENY_ALL,     A_0},
00615 {0, O_WRONLY,  DENY_READ,    O_RDONLY,   DENY_ALL,     A_0},
00616 {0, O_WRONLY,  DENY_READ,    O_WRONLY,   DENY_ALL,     A_0},
00617 {0, O_WRONLY,  DENY_READ,      O_RDWR, DENY_WRITE,     A_0},
00618 {0, O_WRONLY,  DENY_READ,    O_RDONLY, DENY_WRITE,     A_0},
00619 {0, O_WRONLY,  DENY_READ,    O_WRONLY, DENY_WRITE,     A_0},
00620 {0, O_WRONLY,  DENY_READ,      O_RDWR,  DENY_READ,     A_0},
00621 {0, O_WRONLY,  DENY_READ,    O_RDONLY,  DENY_READ,     A_0},
00622 {0, O_WRONLY,  DENY_READ,    O_WRONLY,  DENY_READ,     A_W},
00623 {0, O_WRONLY,  DENY_READ,      O_RDWR,  DENY_NONE,     A_0},
00624 {0, O_WRONLY,  DENY_READ,    O_RDONLY,  DENY_NONE,     A_0},
00625 {0, O_WRONLY,  DENY_READ,    O_WRONLY,  DENY_NONE,     A_W},
00626 {0, O_WRONLY,  DENY_READ,      O_RDWR,   DENY_FCB,     A_0},
00627 {0, O_WRONLY,  DENY_READ,    O_RDONLY,   DENY_FCB,     A_0},
00628 {0, O_WRONLY,  DENY_READ,    O_WRONLY,   DENY_FCB,     A_0},
00629 {0,   O_RDWR,  DENY_NONE,      O_RDWR,   DENY_DOS,     A_0},
00630 {0,   O_RDWR,  DENY_NONE,    O_RDONLY,   DENY_DOS,     A_0},
00631 {0,   O_RDWR,  DENY_NONE,    O_WRONLY,   DENY_DOS,     A_0},
00632 {0,   O_RDWR,  DENY_NONE,      O_RDWR,   DENY_ALL,     A_0},
00633 {0,   O_RDWR,  DENY_NONE,    O_RDONLY,   DENY_ALL,     A_0},
00634 {0,   O_RDWR,  DENY_NONE,    O_WRONLY,   DENY_ALL,     A_0},
00635 {0,   O_RDWR,  DENY_NONE,      O_RDWR, DENY_WRITE,     A_0},
00636 {0,   O_RDWR,  DENY_NONE,    O_RDONLY, DENY_WRITE,     A_0},
00637 {0,   O_RDWR,  DENY_NONE,    O_WRONLY, DENY_WRITE,     A_0},
00638 {0,   O_RDWR,  DENY_NONE,      O_RDWR,  DENY_READ,     A_0},
00639 {0,   O_RDWR,  DENY_NONE,    O_RDONLY,  DENY_READ,     A_0},
00640 {0,   O_RDWR,  DENY_NONE,    O_WRONLY,  DENY_READ,     A_0},
00641 {0,   O_RDWR,  DENY_NONE,      O_RDWR,  DENY_NONE,     A_RW},
00642 {0,   O_RDWR,  DENY_NONE,    O_RDONLY,  DENY_NONE,     A_R},
00643 {0,   O_RDWR,  DENY_NONE,    O_WRONLY,  DENY_NONE,     A_W},
00644 {0,   O_RDWR,  DENY_NONE,      O_RDWR,   DENY_FCB,     A_0},
00645 {0,   O_RDWR,  DENY_NONE,    O_RDONLY,   DENY_FCB,     A_0},
00646 {0,   O_RDWR,  DENY_NONE,    O_WRONLY,   DENY_FCB,     A_0},
00647 {0, O_RDONLY,  DENY_NONE,      O_RDWR,   DENY_DOS,     A_0},
00648 {0, O_RDONLY,  DENY_NONE,    O_RDONLY,   DENY_DOS,     A_R},
00649 {0, O_RDONLY,  DENY_NONE,    O_WRONLY,   DENY_DOS,     A_0},
00650 {0, O_RDONLY,  DENY_NONE,      O_RDWR,   DENY_ALL,     A_0},
00651 {0, O_RDONLY,  DENY_NONE,    O_RDONLY,   DENY_ALL,     A_0},
00652 {0, O_RDONLY,  DENY_NONE,    O_WRONLY,   DENY_ALL,     A_0},
00653 {0, O_RDONLY,  DENY_NONE,      O_RDWR, DENY_WRITE,     A_RW},
00654 {0, O_RDONLY,  DENY_NONE,    O_RDONLY, DENY_WRITE,     A_R},
00655 {0, O_RDONLY,  DENY_NONE,    O_WRONLY, DENY_WRITE,     A_W},
00656 {0, O_RDONLY,  DENY_NONE,      O_RDWR,  DENY_READ,     A_0},
00657 {0, O_RDONLY,  DENY_NONE,    O_RDONLY,  DENY_READ,     A_0},
00658 {0, O_RDONLY,  DENY_NONE,    O_WRONLY,  DENY_READ,     A_0},
00659 {0, O_RDONLY,  DENY_NONE,      O_RDWR,  DENY_NONE,     A_RW},
00660 {0, O_RDONLY,  DENY_NONE,    O_RDONLY,  DENY_NONE,     A_R},
00661 {0, O_RDONLY,  DENY_NONE,    O_WRONLY,  DENY_NONE,     A_W},
00662 {0, O_RDONLY,  DENY_NONE,      O_RDWR,   DENY_FCB,     A_0},
00663 {0, O_RDONLY,  DENY_NONE,    O_RDONLY,   DENY_FCB,     A_0},
00664 {0, O_RDONLY,  DENY_NONE,    O_WRONLY,   DENY_FCB,     A_0},
00665 {0, O_WRONLY,  DENY_NONE,      O_RDWR,   DENY_DOS,     A_0},
00666 {0, O_WRONLY,  DENY_NONE,    O_RDONLY,   DENY_DOS,     A_0},
00667 {0, O_WRONLY,  DENY_NONE,    O_WRONLY,   DENY_DOS,     A_0},
00668 {0, O_WRONLY,  DENY_NONE,      O_RDWR,   DENY_ALL,     A_0},
00669 {0, O_WRONLY,  DENY_NONE,    O_RDONLY,   DENY_ALL,     A_0},
00670 {0, O_WRONLY,  DENY_NONE,    O_WRONLY,   DENY_ALL,     A_0},
00671 {0, O_WRONLY,  DENY_NONE,      O_RDWR, DENY_WRITE,     A_0},
00672 {0, O_WRONLY,  DENY_NONE,    O_RDONLY, DENY_WRITE,     A_0},
00673 {0, O_WRONLY,  DENY_NONE,    O_WRONLY, DENY_WRITE,     A_0},
00674 {0, O_WRONLY,  DENY_NONE,      O_RDWR,  DENY_READ,     A_RW},
00675 {0, O_WRONLY,  DENY_NONE,    O_RDONLY,  DENY_READ,     A_R},
00676 {0, O_WRONLY,  DENY_NONE,    O_WRONLY,  DENY_READ,     A_W},
00677 {0, O_WRONLY,  DENY_NONE,      O_RDWR,  DENY_NONE,     A_RW},
00678 {0, O_WRONLY,  DENY_NONE,    O_RDONLY,  DENY_NONE,     A_R},
00679 {0, O_WRONLY,  DENY_NONE,    O_WRONLY,  DENY_NONE,     A_W},
00680 {0, O_WRONLY,  DENY_NONE,      O_RDWR,   DENY_FCB,     A_0},
00681 {0, O_WRONLY,  DENY_NONE,    O_RDONLY,   DENY_FCB,     A_0},
00682 {0, O_WRONLY,  DENY_NONE,    O_WRONLY,   DENY_FCB,     A_0},
00683 {0,   O_RDWR,   DENY_FCB,      O_RDWR,   DENY_DOS,     A_0},
00684 {0,   O_RDWR,   DENY_FCB,    O_RDONLY,   DENY_DOS,     A_0},
00685 {0,   O_RDWR,   DENY_FCB,    O_WRONLY,   DENY_DOS,     A_0},
00686 {0,   O_RDWR,   DENY_FCB,      O_RDWR,   DENY_ALL,     A_0},
00687 {0,   O_RDWR,   DENY_FCB,    O_RDONLY,   DENY_ALL,     A_0},
00688 {0,   O_RDWR,   DENY_FCB,    O_WRONLY,   DENY_ALL,     A_0},
00689 {0,   O_RDWR,   DENY_FCB,      O_RDWR, DENY_WRITE,     A_0},
00690 {0,   O_RDWR,   DENY_FCB,    O_RDONLY, DENY_WRITE,     A_0},
00691 {0,   O_RDWR,   DENY_FCB,    O_WRONLY, DENY_WRITE,     A_0},
00692 {0,   O_RDWR,   DENY_FCB,      O_RDWR,  DENY_READ,     A_0},
00693 {0,   O_RDWR,   DENY_FCB,    O_RDONLY,  DENY_READ,     A_0},
00694 {0,   O_RDWR,   DENY_FCB,    O_WRONLY,  DENY_READ,     A_0},
00695 {0,   O_RDWR,   DENY_FCB,      O_RDWR,  DENY_NONE,     A_0},
00696 {0,   O_RDWR,   DENY_FCB,    O_RDONLY,  DENY_NONE,     A_0},
00697 {0,   O_RDWR,   DENY_FCB,    O_WRONLY,  DENY_NONE,     A_0},
00698 {0,   O_RDWR,   DENY_FCB,      O_RDWR,   DENY_FCB,     A_0},
00699 {0,   O_RDWR,   DENY_FCB,    O_RDONLY,   DENY_FCB,     A_0},
00700 {0,   O_RDWR,   DENY_FCB,    O_WRONLY,   DENY_FCB,     A_0},
00701 {0, O_RDONLY,   DENY_FCB,      O_RDWR,   DENY_DOS,     A_0},
00702 {0, O_RDONLY,   DENY_FCB,    O_RDONLY,   DENY_DOS,     A_0},
00703 {0, O_RDONLY,   DENY_FCB,    O_WRONLY,   DENY_DOS,     A_0},
00704 {0, O_RDONLY,   DENY_FCB,      O_RDWR,   DENY_ALL,     A_0},
00705 {0, O_RDONLY,   DENY_FCB,    O_RDONLY,   DENY_ALL,     A_0},
00706 {0, O_RDONLY,   DENY_FCB,    O_WRONLY,   DENY_ALL,     A_0},
00707 {0, O_RDONLY,   DENY_FCB,      O_RDWR, DENY_WRITE,     A_0},
00708 {0, O_RDONLY,   DENY_FCB,    O_RDONLY, DENY_WRITE,     A_0},
00709 {0, O_RDONLY,   DENY_FCB,    O_WRONLY, DENY_WRITE,     A_0},
00710 {0, O_RDONLY,   DENY_FCB,      O_RDWR,  DENY_READ,     A_0},
00711 {0, O_RDONLY,   DENY_FCB,    O_RDONLY,  DENY_READ,     A_0},
00712 {0, O_RDONLY,   DENY_FCB,    O_WRONLY,  DENY_READ,     A_0},
00713 {0, O_RDONLY,   DENY_FCB,      O_RDWR,  DENY_NONE,     A_0},
00714 {0, O_RDONLY,   DENY_FCB,    O_RDONLY,  DENY_NONE,     A_0},
00715 {0, O_RDONLY,   DENY_FCB,    O_WRONLY,  DENY_NONE,     A_0},
00716 {0, O_RDONLY,   DENY_FCB,      O_RDWR,   DENY_FCB,     A_0},
00717 {0, O_RDONLY,   DENY_FCB,    O_RDONLY,   DENY_FCB,     A_0},
00718 {0, O_RDONLY,   DENY_FCB,    O_WRONLY,   DENY_FCB,     A_0},
00719 {0, O_WRONLY,   DENY_FCB,      O_RDWR,   DENY_DOS,     A_0},
00720 {0, O_WRONLY,   DENY_FCB,    O_RDONLY,   DENY_DOS,     A_0},
00721 {0, O_WRONLY,   DENY_FCB,    O_WRONLY,   DENY_DOS,     A_0},
00722 {0, O_WRONLY,   DENY_FCB,      O_RDWR,   DENY_ALL,     A_0},
00723 {0, O_WRONLY,   DENY_FCB,    O_RDONLY,   DENY_ALL,     A_0},
00724 {0, O_WRONLY,   DENY_FCB,    O_WRONLY,   DENY_ALL,     A_0},
00725 {0, O_WRONLY,   DENY_FCB,      O_RDWR, DENY_WRITE,     A_0},
00726 {0, O_WRONLY,   DENY_FCB,    O_RDONLY, DENY_WRITE,     A_0},
00727 {0, O_WRONLY,   DENY_FCB,    O_WRONLY, DENY_WRITE,     A_0},
00728 {0, O_WRONLY,   DENY_FCB,      O_RDWR,  DENY_READ,     A_0},
00729 {0, O_WRONLY,   DENY_FCB,    O_RDONLY,  DENY_READ,     A_0},
00730 {0, O_WRONLY,   DENY_FCB,    O_WRONLY,  DENY_READ,     A_0},
00731 {0, O_WRONLY,   DENY_FCB,      O_RDWR,  DENY_NONE,     A_0},
00732 {0, O_WRONLY,   DENY_FCB,    O_RDONLY,  DENY_NONE,     A_0},
00733 {0, O_WRONLY,   DENY_FCB,    O_WRONLY,  DENY_NONE,     A_0},
00734 {0, O_WRONLY,   DENY_FCB,      O_RDWR,   DENY_FCB,     A_0},
00735 {0, O_WRONLY,   DENY_FCB,    O_RDONLY,   DENY_FCB,     A_0},
00736 {0, O_WRONLY,   DENY_FCB,    O_WRONLY,   DENY_FCB,     A_0}
00737 };
00738 
00739 
00740 static struct {
00741         int isexe;
00742         int mode1, deny1;
00743         int mode2, deny2;
00744         enum deny_result result;
00745 } denytable1[] = {
00746 {1,   O_RDWR,   DENY_DOS,      O_RDWR,   DENY_DOS,     A_RW},
00747 {1,   O_RDWR,   DENY_DOS,    O_RDONLY,   DENY_DOS,     A_R},
00748 {1,   O_RDWR,   DENY_DOS,    O_WRONLY,   DENY_DOS,     A_W},
00749 {1,   O_RDWR,   DENY_DOS,      O_RDWR,   DENY_ALL,     A_0},
00750 {1,   O_RDWR,   DENY_DOS,    O_RDONLY,   DENY_ALL,     A_0},
00751 {1,   O_RDWR,   DENY_DOS,    O_WRONLY,   DENY_ALL,     A_0},
00752 {1,   O_RDWR,   DENY_DOS,      O_RDWR, DENY_WRITE,     A_0},
00753 {1,   O_RDWR,   DENY_DOS,    O_RDONLY, DENY_WRITE,     A_0},
00754 {1,   O_RDWR,   DENY_DOS,    O_WRONLY, DENY_WRITE,     A_0},
00755 {1,   O_RDWR,   DENY_DOS,      O_RDWR,  DENY_READ,     A_0},
00756 {1,   O_RDWR,   DENY_DOS,    O_RDONLY,  DENY_READ,     A_0},
00757 {1,   O_RDWR,   DENY_DOS,    O_WRONLY,  DENY_READ,     A_0},
00758 {1,   O_RDWR,   DENY_DOS,      O_RDWR,  DENY_NONE,     A_RW},
00759 {1,   O_RDWR,   DENY_DOS,    O_RDONLY,  DENY_NONE,     A_R},
00760 {1,   O_RDWR,   DENY_DOS,    O_WRONLY,  DENY_NONE,     A_W},
00761 {1,   O_RDWR,   DENY_DOS,      O_RDWR,   DENY_FCB,     A_0},
00762 {1,   O_RDWR,   DENY_DOS,    O_RDONLY,   DENY_FCB,     A_0},
00763 {1,   O_RDWR,   DENY_DOS,    O_WRONLY,   DENY_FCB,     A_0},
00764 {1, O_RDONLY,   DENY_DOS,      O_RDWR,   DENY_DOS,     A_RW},
00765 {1, O_RDONLY,   DENY_DOS,    O_RDONLY,   DENY_DOS,     A_R},
00766 {1, O_RDONLY,   DENY_DOS,    O_WRONLY,   DENY_DOS,     A_W},
00767 {1, O_RDONLY,   DENY_DOS,      O_RDWR,   DENY_ALL,     A_0},
00768 {1, O_RDONLY,   DENY_DOS,    O_RDONLY,   DENY_ALL,     A_0},
00769 {1, O_RDONLY,   DENY_DOS,    O_WRONLY,   DENY_ALL,     A_0},
00770 {1, O_RDONLY,   DENY_DOS,      O_RDWR, DENY_WRITE,     A_RW},
00771 {1, O_RDONLY,   DENY_DOS,    O_RDONLY, DENY_WRITE,     A_R},
00772 {1, O_RDONLY,   DENY_DOS,    O_WRONLY, DENY_WRITE,     A_W},
00773 {1, O_RDONLY,   DENY_DOS,      O_RDWR,  DENY_READ,     A_0},
00774 {1, O_RDONLY,   DENY_DOS,    O_RDONLY,  DENY_READ,     A_0},
00775 {1, O_RDONLY,   DENY_DOS,    O_WRONLY,  DENY_READ,     A_0},
00776 {1, O_RDONLY,   DENY_DOS,      O_RDWR,  DENY_NONE,     A_RW},
00777 {1, O_RDONLY,   DENY_DOS,    O_RDONLY,  DENY_NONE,     A_R},
00778 {1, O_RDONLY,   DENY_DOS,    O_WRONLY,  DENY_NONE,     A_W},
00779 {1, O_RDONLY,   DENY_DOS,      O_RDWR,   DENY_FCB,     A_0},
00780 {1, O_RDONLY,   DENY_DOS,    O_RDONLY,   DENY_FCB,     A_0},
00781 {1, O_RDONLY,   DENY_DOS,    O_WRONLY,   DENY_FCB,     A_0},
00782 {1, O_WRONLY,   DENY_DOS,      O_RDWR,   DENY_DOS,     A_RW},
00783 {1, O_WRONLY,   DENY_DOS,    O_RDONLY,   DENY_DOS,     A_R},
00784 {1, O_WRONLY,   DENY_DOS,    O_WRONLY,   DENY_DOS,     A_W},
00785 {1, O_WRONLY,   DENY_DOS,      O_RDWR,   DENY_ALL,     A_0},
00786 {1, O_WRONLY,   DENY_DOS,    O_RDONLY,   DENY_ALL,     A_0},
00787 {1, O_WRONLY,   DENY_DOS,    O_WRONLY,   DENY_ALL,     A_0},
00788 {1, O_WRONLY,   DENY_DOS,      O_RDWR, DENY_WRITE,     A_0},
00789 {1, O_WRONLY,   DENY_DOS,    O_RDONLY, DENY_WRITE,     A_0},
00790 {1, O_WRONLY,   DENY_DOS,    O_WRONLY, DENY_WRITE,     A_0},
00791 {1, O_WRONLY,   DENY_DOS,      O_RDWR,  DENY_READ,     A_RW},
00792 {1, O_WRONLY,   DENY_DOS,    O_RDONLY,  DENY_READ,     A_R},
00793 {1, O_WRONLY,   DENY_DOS,    O_WRONLY,  DENY_READ,     A_W},
00794 {1, O_WRONLY,   DENY_DOS,      O_RDWR,  DENY_NONE,     A_RW},
00795 {1, O_WRONLY,   DENY_DOS,    O_RDONLY,  DENY_NONE,     A_R},
00796 {1, O_WRONLY,   DENY_DOS,    O_WRONLY,  DENY_NONE,     A_W},
00797 {1, O_WRONLY,   DENY_DOS,      O_RDWR,   DENY_FCB,     A_0},
00798 {1, O_WRONLY,   DENY_DOS,    O_RDONLY,   DENY_FCB,     A_0},
00799 {1, O_WRONLY,   DENY_DOS,    O_WRONLY,   DENY_FCB,     A_0},
00800 {1,   O_RDWR,   DENY_ALL,      O_RDWR,   DENY_DOS,     A_0},
00801 {1,   O_RDWR,   DENY_ALL,    O_RDONLY,   DENY_DOS,     A_0},
00802 {1,   O_RDWR,   DENY_ALL,    O_WRONLY,   DENY_DOS,     A_0},
00803 {1,   O_RDWR,   DENY_ALL,      O_RDWR,   DENY_ALL,     A_0},
00804 {1,   O_RDWR,   DENY_ALL,    O_RDONLY,   DENY_ALL,     A_0},
00805 {1,   O_RDWR,   DENY_ALL,    O_WRONLY,   DENY_ALL,     A_0},
00806 {1,   O_RDWR,   DENY_ALL,      O_RDWR, DENY_WRITE,     A_0},
00807 {1,   O_RDWR,   DENY_ALL,    O_RDONLY, DENY_WRITE,     A_0},
00808 {1,   O_RDWR,   DENY_ALL,    O_WRONLY, DENY_WRITE,     A_0},
00809 {1,   O_RDWR,   DENY_ALL,      O_RDWR,  DENY_READ,     A_0},
00810 {1,   O_RDWR,   DENY_ALL,    O_RDONLY,  DENY_READ,     A_0},
00811 {1,   O_RDWR,   DENY_ALL,    O_WRONLY,  DENY_READ,     A_0},
00812 {1,   O_RDWR,   DENY_ALL,      O_RDWR,  DENY_NONE,     A_0},
00813 {1,   O_RDWR,   DENY_ALL,    O_RDONLY,  DENY_NONE,     A_0},
00814 {1,   O_RDWR,   DENY_ALL,    O_WRONLY,  DENY_NONE,     A_0},
00815 {1,   O_RDWR,   DENY_ALL,      O_RDWR,   DENY_FCB,     A_0},
00816 {1,   O_RDWR,   DENY_ALL,    O_RDONLY,   DENY_FCB,     A_0},
00817 {1,   O_RDWR,   DENY_ALL,    O_WRONLY,   DENY_FCB,     A_0},
00818 {1, O_RDONLY,   DENY_ALL,      O_RDWR,   DENY_DOS,     A_0},
00819 {1, O_RDONLY,   DENY_ALL,    O_RDONLY,   DENY_DOS,     A_0},
00820 {1, O_RDONLY,   DENY_ALL,    O_WRONLY,   DENY_DOS,     A_0},
00821 {1, O_RDONLY,   DENY_ALL,      O_RDWR,   DENY_ALL,     A_0},
00822 {1, O_RDONLY,   DENY_ALL,    O_RDONLY,   DENY_ALL,     A_0},
00823 {1, O_RDONLY,   DENY_ALL,    O_WRONLY,   DENY_ALL,     A_0},
00824 {1, O_RDONLY,   DENY_ALL,      O_RDWR, DENY_WRITE,     A_0},
00825 {1, O_RDONLY,   DENY_ALL,    O_RDONLY, DENY_WRITE,     A_0},
00826 {1, O_RDONLY,   DENY_ALL,    O_WRONLY, DENY_WRITE,     A_0},
00827 {1, O_RDONLY,   DENY_ALL,      O_RDWR,  DENY_READ,     A_0},
00828 {1, O_RDONLY,   DENY_ALL,    O_RDONLY,  DENY_READ,     A_0},
00829 {1, O_RDONLY,   DENY_ALL,    O_WRONLY,  DENY_READ,     A_0},
00830 {1, O_RDONLY,   DENY_ALL,      O_RDWR,  DENY_NONE,     A_0},
00831 {1, O_RDONLY,   DENY_ALL,    O_RDONLY,  DENY_NONE,     A_0},
00832 {1, O_RDONLY,   DENY_ALL,    O_WRONLY,  DENY_NONE,     A_0},
00833 {1, O_RDONLY,   DENY_ALL,      O_RDWR,   DENY_FCB,     A_0},
00834 {1, O_RDONLY,   DENY_ALL,    O_RDONLY,   DENY_FCB,     A_0},
00835 {1, O_RDONLY,   DENY_ALL,    O_WRONLY,   DENY_FCB,     A_0},
00836 {1, O_WRONLY,   DENY_ALL,      O_RDWR,   DENY_DOS,     A_0},
00837 {1, O_WRONLY,   DENY_ALL,    O_RDONLY,   DENY_DOS,     A_0},
00838 {1, O_WRONLY,   DENY_ALL,    O_WRONLY,   DENY_DOS,     A_0},
00839 {1, O_WRONLY,   DENY_ALL,      O_RDWR,   DENY_ALL,     A_0},
00840 {1, O_WRONLY,   DENY_ALL,    O_RDONLY,   DENY_ALL,     A_0},
00841 {1, O_WRONLY,   DENY_ALL,    O_WRONLY,   DENY_ALL,     A_0},
00842 {1, O_WRONLY,   DENY_ALL,      O_RDWR, DENY_WRITE,     A_0},
00843 {1, O_WRONLY,   DENY_ALL,    O_RDONLY, DENY_WRITE,     A_0},
00844 {1, O_WRONLY,   DENY_ALL,    O_WRONLY, DENY_WRITE,     A_0},
00845 {1, O_WRONLY,   DENY_ALL,      O_RDWR,  DENY_READ,     A_0},
00846 {1, O_WRONLY,   DENY_ALL,    O_RDONLY,  DENY_READ,     A_0},
00847 {1, O_WRONLY,   DENY_ALL,    O_WRONLY,  DENY_READ,     A_0},
00848 {1, O_WRONLY,   DENY_ALL,      O_RDWR,  DENY_NONE,     A_0},
00849 {1, O_WRONLY,   DENY_ALL,    O_RDONLY,  DENY_NONE,     A_0},
00850 {1, O_WRONLY,   DENY_ALL,    O_WRONLY,  DENY_NONE,     A_0},
00851 {1, O_WRONLY,   DENY_ALL,      O_RDWR,   DENY_FCB,     A_0},
00852 {1, O_WRONLY,   DENY_ALL,    O_RDONLY,   DENY_FCB,     A_0},
00853 {1, O_WRONLY,   DENY_ALL,    O_WRONLY,   DENY_FCB,     A_0},
00854 {1,   O_RDWR, DENY_WRITE,      O_RDWR,   DENY_DOS,     A_0},
00855 {1,   O_RDWR, DENY_WRITE,    O_RDONLY,   DENY_DOS,     A_R},
00856 {1,   O_RDWR, DENY_WRITE,    O_WRONLY,   DENY_DOS,     A_0},
00857 {1,   O_RDWR, DENY_WRITE,      O_RDWR,   DENY_ALL,     A_0},
00858 {1,   O_RDWR, DENY_WRITE,    O_RDONLY,   DENY_ALL,     A_0},
00859 {1,   O_RDWR, DENY_WRITE,    O_WRONLY,   DENY_ALL,     A_0},
00860 {1,   O_RDWR, DENY_WRITE,      O_RDWR, DENY_WRITE,     A_0},
00861 {1,   O_RDWR, DENY_WRITE,    O_RDONLY, DENY_WRITE,     A_0},
00862 {1,   O_RDWR, DENY_WRITE,    O_WRONLY, DENY_WRITE,     A_0},
00863 {1,   O_RDWR, DENY_WRITE,      O_RDWR,  DENY_READ,     A_0},
00864 {1,   O_RDWR, DENY_WRITE,    O_RDONLY,  DENY_READ,     A_0},
00865 {1,   O_RDWR, DENY_WRITE,    O_WRONLY,  DENY_READ,     A_0},
00866 {1,   O_RDWR, DENY_WRITE,      O_RDWR,  DENY_NONE,     A_0},
00867 {1,   O_RDWR, DENY_WRITE,    O_RDONLY,  DENY_NONE,     A_R},
00868 {1,   O_RDWR, DENY_WRITE,    O_WRONLY,  DENY_NONE,     A_0},
00869 {1,   O_RDWR, DENY_WRITE,      O_RDWR,   DENY_FCB,     A_0},
00870 {1,   O_RDWR, DENY_WRITE,    O_RDONLY,   DENY_FCB,     A_0},
00871 {1,   O_RDWR, DENY_WRITE,    O_WRONLY,   DENY_FCB,     A_0},
00872 {1, O_RDONLY, DENY_WRITE,      O_RDWR,   DENY_DOS,     A_0},
00873 {1, O_RDONLY, DENY_WRITE,    O_RDONLY,   DENY_DOS,     A_R},
00874 {1, O_RDONLY, DENY_WRITE,    O_WRONLY,   DENY_DOS,     A_0},
00875 {1, O_RDONLY, DENY_WRITE,      O_RDWR,   DENY_ALL,     A_0},
00876 {1, O_RDONLY, DENY_WRITE,    O_RDONLY,   DENY_ALL,     A_0},
00877 {1, O_RDONLY, DENY_WRITE,    O_WRONLY,   DENY_ALL,     A_0},
00878 {1, O_RDONLY, DENY_WRITE,      O_RDWR, DENY_WRITE,     A_0},
00879 {1, O_RDONLY, DENY_WRITE,    O_RDONLY, DENY_WRITE,     A_R},
00880 {1, O_RDONLY, DENY_WRITE,    O_WRONLY, DENY_WRITE,     A_0},
00881 {1, O_RDONLY, DENY_WRITE,      O_RDWR,  DENY_READ,     A_0},
00882 {1, O_RDONLY, DENY_WRITE,    O_RDONLY,  DENY_READ,     A_0},
00883 {1, O_RDONLY, DENY_WRITE,    O_WRONLY,  DENY_READ,     A_0},
00884 {1, O_RDONLY, DENY_WRITE,      O_RDWR,  DENY_NONE,     A_0},
00885 {1, O_RDONLY, DENY_WRITE,    O_RDONLY,  DENY_NONE,     A_R},
00886 {1, O_RDONLY, DENY_WRITE,    O_WRONLY,  DENY_NONE,     A_0},
00887 {1, O_RDONLY, DENY_WRITE,      O_RDWR,   DENY_FCB,     A_0},
00888 {1, O_RDONLY, DENY_WRITE,    O_RDONLY,   DENY_FCB,     A_0},
00889 {1, O_RDONLY, DENY_WRITE,    O_WRONLY,   DENY_FCB,     A_0},
00890 {1, O_WRONLY, DENY_WRITE,      O_RDWR,   DENY_DOS,     A_0},
00891 {1, O_WRONLY, DENY_WRITE,    O_RDONLY,   DENY_DOS,     A_R},
00892 {1, O_WRONLY, DENY_WRITE,    O_WRONLY,   DENY_DOS,     A_0},
00893 {1, O_WRONLY, DENY_WRITE,      O_RDWR,   DENY_ALL,     A_0},
00894 {1, O_WRONLY, DENY_WRITE,    O_RDONLY,   DENY_ALL,     A_0},
00895 {1, O_WRONLY, DENY_WRITE,    O_WRONLY,   DENY_ALL,     A_0},
00896 {1, O_WRONLY, DENY_WRITE,      O_RDWR, DENY_WRITE,     A_0},
00897 {1, O_WRONLY, DENY_WRITE,    O_RDONLY, DENY_WRITE,     A_0},
00898 {1, O_WRONLY, DENY_WRITE,    O_WRONLY, DENY_WRITE,     A_0},
00899 {1, O_WRONLY, DENY_WRITE,      O_RDWR,  DENY_READ,     A_0},
00900 {1, O_WRONLY, DENY_WRITE,    O_RDONLY,  DENY_READ,     A_R},
00901 {1, O_WRONLY, DENY_WRITE,    O_WRONLY,  DENY_READ,     A_0},
00902 {1, O_WRONLY, DENY_WRITE,      O_RDWR,  DENY_NONE,     A_0},
00903 {1, O_WRONLY, DENY_WRITE,    O_RDONLY,  DENY_NONE,     A_R},
00904 {1, O_WRONLY, DENY_WRITE,    O_WRONLY,  DENY_NONE,     A_0},
00905 {1, O_WRONLY, DENY_WRITE,      O_RDWR,   DENY_FCB,     A_0},
00906 {1, O_WRONLY, DENY_WRITE,    O_RDONLY,   DENY_FCB,     A_0},
00907 {1, O_WRONLY, DENY_WRITE,    O_WRONLY,   DENY_FCB,     A_0},
00908 {1,   O_RDWR,  DENY_READ,      O_RDWR,   DENY_DOS,     A_0},
00909 {1,   O_RDWR,  DENY_READ,    O_RDONLY,   DENY_DOS,     A_0},
00910 {1,   O_RDWR,  DENY_READ,    O_WRONLY,   DENY_DOS,     A_W},
00911 {1,   O_RDWR,  DENY_READ,      O_RDWR,   DENY_ALL,     A_0},
00912 {1,   O_RDWR,  DENY_READ,    O_RDONLY,   DENY_ALL,     A_0},
00913 {1,   O_RDWR,  DENY_READ,    O_WRONLY,   DENY_ALL,     A_0},
00914 {1,   O_RDWR,  DENY_READ,      O_RDWR, DENY_WRITE,     A_0},
00915 {1,   O_RDWR,  DENY_READ,    O_RDONLY, DENY_WRITE,     A_0},
00916 {1,   O_RDWR,  DENY_READ,    O_WRONLY, DENY_WRITE,     A_0},
00917 {1,   O_RDWR,  DENY_READ,      O_RDWR,  DENY_READ,     A_0},
00918 {1,   O_RDWR,  DENY_READ,    O_RDONLY,  DENY_READ,     A_0},
00919 {1,   O_RDWR,  DENY_READ,    O_WRONLY,  DENY_READ,     A_0},
00920 {1,   O_RDWR,  DENY_READ,      O_RDWR,  DENY_NONE,     A_0},
00921 {1,   O_RDWR,  DENY_READ,    O_RDONLY,  DENY_NONE,     A_0},
00922 {1,   O_RDWR,  DENY_READ,    O_WRONLY,  DENY_NONE,     A_W},
00923 {1,   O_RDWR,  DENY_READ,      O_RDWR,   DENY_FCB,     A_0},
00924 {1,   O_RDWR,  DENY_READ,    O_RDONLY,   DENY_FCB,     A_0},
00925 {1,   O_RDWR,  DENY_READ,    O_WRONLY,   DENY_FCB,     A_0},
00926 {1, O_RDONLY,  DENY_READ,      O_RDWR,   DENY_DOS,     A_0},
00927 {1, O_RDONLY,  DENY_READ,    O_RDONLY,   DENY_DOS,     A_0},
00928 {1, O_RDONLY,  DENY_READ,    O_WRONLY,   DENY_DOS,     A_W},
00929 {1, O_RDONLY,  DENY_READ,      O_RDWR,   DENY_ALL,     A_0},
00930 {1, O_RDONLY,  DENY_READ,    O_RDONLY,   DENY_ALL,     A_0},
00931 {1, O_RDONLY,  DENY_READ,    O_WRONLY,   DENY_ALL,     A_0},
00932 {1, O_RDONLY,  DENY_READ,      O_RDWR, DENY_WRITE,     A_0},
00933 {1, O_RDONLY,  DENY_READ,    O_RDONLY, DENY_WRITE,     A_0},
00934 {1, O_RDONLY,  DENY_READ,    O_WRONLY, DENY_WRITE,     A_W},
00935 {1, O_RDONLY,  DENY_READ,      O_RDWR,  DENY_READ,     A_0},
00936 {1, O_RDONLY,  DENY_READ,    O_RDONLY,  DENY_READ,     A_0},
00937 {1, O_RDONLY,  DENY_READ,    O_WRONLY,  DENY_READ,     A_0},
00938 {1, O_RDONLY,  DENY_READ,      O_RDWR,  DENY_NONE,     A_0},
00939 {1, O_RDONLY,  DENY_READ,    O_RDONLY,  DENY_NONE,     A_0},
00940 {1, O_RDONLY,  DENY_READ,    O_WRONLY,  DENY_NONE,     A_W},
00941 {1, O_RDONLY,  DENY_READ,      O_RDWR,   DENY_FCB,     A_0},
00942 {1, O_RDONLY,  DENY_READ,    O_RDONLY,   DENY_FCB,     A_0},
00943 {1, O_RDONLY,  DENY_READ,    O_WRONLY,   DENY_FCB,     A_0},
00944 {1, O_WRONLY,  DENY_READ,      O_RDWR,   DENY_DOS,     A_0},
00945 {1, O_WRONLY,  DENY_READ,    O_RDONLY,   DENY_DOS,     A_0},
00946 {1, O_WRONLY,  DENY_READ,    O_WRONLY,   DENY_DOS,     A_W},
00947 {1, O_WRONLY,  DENY_READ,      O_RDWR,   DENY_ALL,     A_0},
00948 {1, O_WRONLY,  DENY_READ,    O_RDONLY,   DENY_ALL,     A_0},
00949 {1, O_WRONLY,  DENY_READ,    O_WRONLY,   DENY_ALL,     A_0},
00950 {1, O_WRONLY,  DENY_READ,      O_RDWR, DENY_WRITE,     A_0},
00951 {1, O_WRONLY,  DENY_READ,    O_RDONLY, DENY_WRITE,     A_0},
00952 {1, O_WRONLY,  DENY_READ,    O_WRONLY, DENY_WRITE,     A_0},
00953 {1, O_WRONLY,  DENY_READ,      O_RDWR,  DENY_READ,     A_0},
00954 {1, O_WRONLY,  DENY_READ,    O_RDONLY,  DENY_READ,     A_0},
00955 {1, O_WRONLY,  DENY_READ,    O_WRONLY,  DENY_READ,     A_W},
00956 {1, O_WRONLY,  DENY_READ,      O_RDWR,  DENY_NONE,     A_0},
00957 {1, O_WRONLY,  DENY_READ,    O_RDONLY,  DENY_NONE,     A_0},
00958 {1, O_WRONLY,  DENY_READ,    O_WRONLY,  DENY_NONE,     A_W},
00959 {1, O_WRONLY,  DENY_READ,      O_RDWR,   DENY_FCB,     A_0},
00960 {1, O_WRONLY,  DENY_READ,    O_RDONLY,   DENY_FCB,     A_0},
00961 {1, O_WRONLY,  DENY_READ,    O_WRONLY,   DENY_FCB,     A_0},
00962 {1,   O_RDWR,  DENY_NONE,      O_RDWR,   DENY_DOS,     A_RW},
00963 {1,   O_RDWR,  DENY_NONE,    O_RDONLY,   DENY_DOS,     A_R},
00964 {1,   O_RDWR,  DENY_NONE,    O_WRONLY,   DENY_DOS,     A_W},
00965 {1,   O_RDWR,  DENY_NONE,      O_RDWR,   DENY_ALL,     A_0},
00966 {1,   O_RDWR,  DENY_NONE,    O_RDONLY,   DENY_ALL,     A_0},
00967 {1,   O_RDWR,  DENY_NONE,    O_WRONLY,   DENY_ALL,     A_0},
00968 {1,   O_RDWR,  DENY_NONE,      O_RDWR, DENY_WRITE,     A_0},
00969 {1,   O_RDWR,  DENY_NONE,    O_RDONLY, DENY_WRITE,     A_0},
00970 {1,   O_RDWR,  DENY_NONE,    O_WRONLY, DENY_WRITE,     A_0},
00971 {1,   O_RDWR,  DENY_NONE,      O_RDWR,  DENY_READ,     A_0},
00972 {1,   O_RDWR,  DENY_NONE,    O_RDONLY,  DENY_READ,     A_0},
00973 {1,   O_RDWR,  DENY_NONE,    O_WRONLY,  DENY_READ,     A_0},
00974 {1,   O_RDWR,  DENY_NONE,      O_RDWR,  DENY_NONE,     A_RW},
00975 {1,   O_RDWR,  DENY_NONE,    O_RDONLY,  DENY_NONE,     A_R},
00976 {1,   O_RDWR,  DENY_NONE,    O_WRONLY,  DENY_NONE,     A_W},
00977 {1,   O_RDWR,  DENY_NONE,      O_RDWR,   DENY_FCB,     A_0},
00978 {1,   O_RDWR,  DENY_NONE,    O_RDONLY,   DENY_FCB,     A_0},
00979 {1,   O_RDWR,  DENY_NONE,    O_WRONLY,   DENY_FCB,     A_0},
00980 {1, O_RDONLY,  DENY_NONE,      O_RDWR,   DENY_DOS,     A_RW},
00981 {1, O_RDONLY,  DENY_NONE,    O_RDONLY,   DENY_DOS,     A_R},
00982 {1, O_RDONLY,  DENY_NONE,    O_WRONLY,   DENY_DOS,     A_W},
00983 {1, O_RDONLY,  DENY_NONE,      O_RDWR,   DENY_ALL,     A_0},
00984 {1, O_RDONLY,  DENY_NONE,    O_RDONLY,   DENY_ALL,     A_0},
00985 {1, O_RDONLY,  DENY_NONE,    O_WRONLY,   DENY_ALL,     A_0},
00986 {1, O_RDONLY,  DENY_NONE,      O_RDWR, DENY_WRITE,     A_RW},
00987 {1, O_RDONLY,  DENY_NONE,    O_RDONLY, DENY_WRITE,     A_R},
00988 {1, O_RDONLY,  DENY_NONE,    O_WRONLY, DENY_WRITE,     A_W},
00989 {1, O_RDONLY,  DENY_NONE,      O_RDWR,  DENY_READ,     A_0},
00990 {1, O_RDONLY,  DENY_NONE,    O_RDONLY,  DENY_READ,     A_0},
00991 {1, O_RDONLY,  DENY_NONE,    O_WRONLY,  DENY_READ,     A_0},
00992 {1, O_RDONLY,  DENY_NONE,      O_RDWR,  DENY_NONE,     A_RW},
00993 {1, O_RDONLY,  DENY_NONE,    O_RDONLY,  DENY_NONE,     A_R},
00994 {1, O_RDONLY,  DENY_NONE,    O_WRONLY,  DENY_NONE,     A_W},
00995 {1, O_RDONLY,  DENY_NONE,      O_RDWR,   DENY_FCB,     A_0},
00996 {1, O_RDONLY,  DENY_NONE,    O_RDONLY,   DENY_FCB,     A_0},
00997 {1, O_RDONLY,  DENY_NONE,    O_WRONLY,   DENY_FCB,     A_0},
00998 {1, O_WRONLY,  DENY_NONE,      O_RDWR,   DENY_DOS,     A_RW},
00999 {1, O_WRONLY,  DENY_NONE,    O_RDONLY,   DENY_DOS,     A_R},
01000 {1, O_WRONLY,  DENY_NONE,    O_WRONLY,   DENY_DOS,     A_W},
01001 {1, O_WRONLY,  DENY_NONE,      O_RDWR,   DENY_ALL,     A_0},
01002 {1, O_WRONLY,  DENY_NONE,    O_RDONLY,   DENY_ALL,     A_0},
01003 {1, O_WRONLY,  DENY_NONE,    O_WRONLY,   DENY_ALL,     A_0},
01004 {1, O_WRONLY,  DENY_NONE,      O_RDWR, DENY_WRITE,     A_0},
01005 {1, O_WRONLY,  DENY_NONE,    O_RDONLY, DENY_WRITE,     A_0},
01006 {1, O_WRONLY,  DENY_NONE,    O_WRONLY, DENY_WRITE,     A_0},
01007 {1, O_WRONLY,  DENY_NONE,      O_RDWR,  DENY_READ,     A_RW},
01008 {1, O_WRONLY,  DENY_NONE,    O_RDONLY,  DENY_READ,     A_R},
01009 {1, O_WRONLY,  DENY_NONE,    O_WRONLY,  DENY_READ,     A_W},
01010 {1, O_WRONLY,  DENY_NONE,      O_RDWR,  DENY_NONE,     A_RW},
01011 {1, O_WRONLY,  DENY_NONE,    O_RDONLY,  DENY_NONE,     A_R},
01012 {1, O_WRONLY,  DENY_NONE,    O_WRONLY,  DENY_NONE,     A_W},
01013 {1, O_WRONLY,  DENY_NONE,      O_RDWR,   DENY_FCB,     A_0},
01014 {1, O_WRONLY,  DENY_NONE,    O_RDONLY,   DENY_FCB,     A_0},
01015 {1, O_WRONLY,  DENY_NONE,    O_WRONLY,   DENY_FCB,     A_0},
01016 {1,   O_RDWR,   DENY_FCB,      O_RDWR,   DENY_DOS,     A_RW},
01017 {1,   O_RDWR,   DENY_FCB,    O_RDONLY,   DENY_DOS,     A_R},
01018 {1,   O_RDWR,   DENY_FCB,    O_WRONLY,   DENY_DOS,     A_W},
01019 {1,   O_RDWR,   DENY_FCB,      O_RDWR,   DENY_ALL,     A_0},
01020 {1,   O_RDWR,   DENY_FCB,    O_RDONLY,   DENY_ALL,     A_0},
01021 {1,   O_RDWR,   DENY_FCB,    O_WRONLY,   DENY_ALL,     A_0},
01022 {1,   O_RDWR,   DENY_FCB,      O_RDWR, DENY_WRITE,     A_0},
01023 {1,   O_RDWR,   DENY_FCB,    O_RDONLY, DENY_WRITE,     A_0},
01024 {1,   O_RDWR,   DENY_FCB,    O_WRONLY, DENY_WRITE,     A_0},
01025 {1,   O_RDWR,   DENY_FCB,      O_RDWR,  DENY_READ,     A_0},
01026 {1,   O_RDWR,   DENY_FCB,    O_RDONLY,  DENY_READ,     A_0},
01027 {1,   O_RDWR,   DENY_FCB,    O_WRONLY,  DENY_READ,     A_0},
01028 {1,   O_RDWR,   DENY_FCB,      O_RDWR,  DENY_NONE,     A_0},
01029 {1,   O_RDWR,   DENY_FCB,    O_RDONLY,  DENY_NONE,     A_0},
01030 {1,   O_RDWR,   DENY_FCB,    O_WRONLY,  DENY_NONE,     A_0},
01031 {1,   O_RDWR,   DENY_FCB,      O_RDWR,   DENY_FCB,     A_RW},
01032 {1,   O_RDWR,   DENY_FCB,    O_RDONLY,   DENY_FCB,     A_RW},
01033 {1,   O_RDWR,   DENY_FCB,    O_WRONLY,   DENY_FCB,     A_RW},
01034 {1, O_RDONLY,   DENY_FCB,      O_RDWR,   DENY_DOS,     A_RW},
01035 {1, O_RDONLY,   DENY_FCB,    O_RDONLY,   DENY_DOS,     A_R},
01036 {1, O_RDONLY,   DENY_FCB,    O_WRONLY,   DENY_DOS,     A_W},
01037 {1, O_RDONLY,   DENY_FCB,      O_RDWR,   DENY_ALL,     A_0},
01038 {1, O_RDONLY,   DENY_FCB,    O_RDONLY,   DENY_ALL,     A_0},
01039 {1, O_RDONLY,   DENY_FCB,    O_WRONLY,   DENY_ALL,     A_0},
01040 {1, O_RDONLY,   DENY_FCB,      O_RDWR, DENY_WRITE,     A_0},
01041 {1, O_RDONLY,   DENY_FCB,    O_RDONLY, DENY_WRITE,     A_0},
01042 {1, O_RDONLY,   DENY_FCB,    O_WRONLY, DENY_WRITE,     A_0},
01043 {1, O_RDONLY,   DENY_FCB,      O_RDWR,  DENY_READ,     A_0},
01044 {1, O_RDONLY,   DENY_FCB,    O_RDONLY,  DENY_READ,     A_0},
01045 {1, O_RDONLY,   DENY_FCB,    O_WRONLY,  DENY_READ,     A_0},
01046 {1, O_RDONLY,   DENY_FCB,      O_RDWR,  DENY_NONE,     A_0},
01047 {1, O_RDONLY,   DENY_FCB,    O_RDONLY,  DENY_NONE,     A_0},
01048 {1, O_RDONLY,   DENY_FCB,    O_WRONLY,  DENY_NONE,     A_0},
01049 {1, O_RDONLY,   DENY_FCB,      O_RDWR,   DENY_FCB,     A_RW},
01050 {1, O_RDONLY,   DENY_FCB,    O_RDONLY,   DENY_FCB,     A_RW},
01051 {1, O_RDONLY,   DENY_FCB,    O_WRONLY,   DENY_FCB,     A_RW},
01052 {1, O_WRONLY,   DENY_FCB,      O_RDWR,   DENY_DOS,     A_RW},
01053 {1, O_WRONLY,   DENY_FCB,    O_RDONLY,   DENY_DOS,     A_R},
01054 {1, O_WRONLY,   DENY_FCB,    O_WRONLY,   DENY_DOS,     A_W},
01055 {1, O_WRONLY,   DENY_FCB,      O_RDWR,   DENY_ALL,     A_0},
01056 {1, O_WRONLY,   DENY_FCB,    O_RDONLY,   DENY_ALL,     A_0},
01057 {1, O_WRONLY,   DENY_FCB,    O_WRONLY,   DENY_ALL,     A_0},
01058 {1, O_WRONLY,   DENY_FCB,      O_RDWR, DENY_WRITE,     A_0},
01059 {1, O_WRONLY,   DENY_FCB,    O_RDONLY, DENY_WRITE,     A_0},
01060 {1, O_WRONLY,   DENY_FCB,    O_WRONLY, DENY_WRITE,     A_0},
01061 {1, O_WRONLY,   DENY_FCB,      O_RDWR,  DENY_READ,     A_0},
01062 {1, O_WRONLY,   DENY_FCB,    O_RDONLY,  DENY_READ,     A_0},
01063 {1, O_WRONLY,   DENY_FCB,    O_WRONLY,  DENY_READ,     A_0},
01064 {1, O_WRONLY,   DENY_FCB,      O_RDWR,  DENY_NONE,     A_0},
01065 {1, O_WRONLY,   DENY_FCB,    O_RDONLY,  DENY_NONE,     A_0},
01066 {1, O_WRONLY,   DENY_FCB,    O_WRONLY,  DENY_NONE,     A_0},
01067 {1, O_WRONLY,   DENY_FCB,      O_RDWR,   DENY_FCB,     A_RW},
01068 {1, O_WRONLY,   DENY_FCB,    O_RDONLY,   DENY_FCB,     A_RW},
01069 {1, O_WRONLY,   DENY_FCB,    O_WRONLY,   DENY_FCB,     A_RW},
01070 {0,   O_RDWR,   DENY_DOS,      O_RDWR,   DENY_DOS,     A_RW},
01071 {0,   O_RDWR,   DENY_DOS,    O_RDONLY,   DENY_DOS,     A_R},
01072 {0,   O_RDWR,   DENY_DOS,    O_WRONLY,   DENY_DOS,     A_W},
01073 {0,   O_RDWR,   DENY_DOS,      O_RDWR,   DENY_ALL,     A_0},
01074 {0,   O_RDWR,   DENY_DOS,    O_RDONLY,   DENY_ALL,     A_0},
01075 {0,   O_RDWR,   DENY_DOS,    O_WRONLY,   DENY_ALL,     A_0},
01076 {0,   O_RDWR,   DENY_DOS,      O_RDWR, DENY_WRITE,     A_0},
01077 {0,   O_RDWR,   DENY_DOS,    O_RDONLY, DENY_WRITE,     A_0},
01078 {0,   O_RDWR,   DENY_DOS,    O_WRONLY, DENY_WRITE,     A_0},
01079 {0,   O_RDWR,   DENY_DOS,      O_RDWR,  DENY_READ,     A_0},
01080 {0,   O_RDWR,   DENY_DOS,    O_RDONLY,  DENY_READ,     A_0},
01081 {0,   O_RDWR,   DENY_DOS,    O_WRONLY,  DENY_READ,     A_0},
01082 {0,   O_RDWR,   DENY_DOS,      O_RDWR,  DENY_NONE,     A_0},
01083 {0,   O_RDWR,   DENY_DOS,    O_RDONLY,  DENY_NONE,     A_0},
01084 {0,   O_RDWR,   DENY_DOS,    O_WRONLY,  DENY_NONE,     A_0},
01085 {0,   O_RDWR,   DENY_DOS,      O_RDWR,   DENY_FCB,     A_RW},
01086 {0,   O_RDWR,   DENY_DOS,    O_RDONLY,   DENY_FCB,     A_RW},
01087 {0,   O_RDWR,   DENY_DOS,    O_WRONLY,   DENY_FCB,     A_RW},
01088 {0, O_RDONLY,   DENY_DOS,      O_RDWR,   DENY_DOS,     A_0},
01089 {0, O_RDONLY,   DENY_DOS,    O_RDONLY,   DENY_DOS,     A_R},
01090 {0, O_RDONLY,   DENY_DOS,    O_WRONLY,   DENY_DOS,     A_0},
01091 {0, O_RDONLY,   DENY_DOS,      O_RDWR,   DENY_ALL,     A_0},
01092 {0, O_RDONLY,   DENY_DOS,    O_RDONLY,   DENY_ALL,     A_0},
01093 {0, O_RDONLY,   DENY_DOS,    O_WRONLY,   DENY_ALL,     A_0},
01094 {0, O_RDONLY,   DENY_DOS,      O_RDWR, DENY_WRITE,     A_0},
01095 {0, O_RDONLY,   DENY_DOS,    O_RDONLY, DENY_WRITE,     A_R},
01096 {0, O_RDONLY,   DENY_DOS,    O_WRONLY, DENY_WRITE,     A_0},
01097 {0, O_RDONLY,   DENY_DOS,      O_RDWR,  DENY_READ,     A_0},
01098 {0, O_RDONLY,   DENY_DOS,    O_RDONLY,  DENY_READ,     A_0},
01099 {0, O_RDONLY,   DENY_DOS,    O_WRONLY,  DENY_READ,     A_0},
01100 {0, O_RDONLY,   DENY_DOS,      O_RDWR,  DENY_NONE,     A_0},
01101 {0, O_RDONLY,   DENY_DOS,    O_RDONLY,  DENY_NONE,     A_R},
01102 {0, O_RDONLY,   DENY_DOS,    O_WRONLY,  DENY_NONE,     A_0},
01103 {0, O_RDONLY,   DENY_DOS,      O_RDWR,   DENY_FCB,     A_0},
01104 {0, O_RDONLY,   DENY_DOS,    O_RDONLY,   DENY_FCB,     A_0},
01105 {0, O_RDONLY,   DENY_DOS,    O_WRONLY,   DENY_FCB,     A_0},
01106 {0, O_WRONLY,   DENY_DOS,      O_RDWR,   DENY_DOS,     A_RW},
01107 {0, O_WRONLY,   DENY_DOS,    O_RDONLY,   DENY_DOS,     A_R},
01108 {0, O_WRONLY,   DENY_DOS,    O_WRONLY,   DENY_DOS,     A_W},
01109 {0, O_WRONLY,   DENY_DOS,      O_RDWR,   DENY_ALL,     A_0},
01110 {0, O_WRONLY,   DENY_DOS,    O_RDONLY,   DENY_ALL,     A_0},
01111 {0, O_WRONLY,   DENY_DOS,    O_WRONLY,   DENY_ALL,     A_0},
01112 {0, O_WRONLY,   DENY_DOS,      O_RDWR, DENY_WRITE,     A_0},
01113 {0, O_WRONLY,   DENY_DOS,    O_RDONLY, DENY_WRITE,     A_0},
01114 {0, O_WRONLY,   DENY_DOS,    O_WRONLY, DENY_WRITE,     A_0},
01115 {0, O_WRONLY,   DENY_DOS,      O_RDWR,  DENY_READ,     A_0},
01116 {0, O_WRONLY,   DENY_DOS,    O_RDONLY,  DENY_READ,     A_0},
01117 {0, O_WRONLY,   DENY_DOS,    O_WRONLY,  DENY_READ,     A_0},
01118 {0, O_WRONLY,   DENY_DOS,      O_RDWR,  DENY_NONE,     A_0},
01119 {0, O_WRONLY,   DENY_DOS,    O_RDONLY,  DENY_NONE,     A_0},
01120 {0, O_WRONLY,   DENY_DOS,    O_WRONLY,  DENY_NONE,     A_0},
01121 {0, O_WRONLY,   DENY_DOS,      O_RDWR,   DENY_FCB,     A_RW},
01122 {0, O_WRONLY,   DENY_DOS,    O_RDONLY,   DENY_FCB,     A_RW},
01123 {0, O_WRONLY,   DENY_DOS,    O_WRONLY,   DENY_FCB,     A_RW},
01124 {0,   O_RDWR,   DENY_ALL,      O_RDWR,   DENY_DOS,     A_0},
01125 {0,   O_RDWR,   DENY_ALL,    O_RDONLY,   DENY_DOS,     A_0},
01126 {0,   O_RDWR,   DENY_ALL,    O_WRONLY,   DENY_DOS,     A_0},
01127 {0,   O_RDWR,   DENY_ALL,      O_RDWR,   DENY_ALL,     A_0},
01128 {0,   O_RDWR,   DENY_ALL,    O_RDONLY,   DENY_ALL,     A_0},
01129 {0,   O_RDWR,   DENY_ALL,    O_WRONLY,   DENY_ALL,     A_0},
01130 {0,   O_RDWR,   DENY_ALL,      O_RDWR, DENY_WRITE,     A_0},
01131 {0,   O_RDWR,   DENY_ALL,    O_RDONLY, DENY_WRITE,     A_0},
01132 {0,   O_RDWR,   DENY_ALL,    O_WRONLY, DENY_WRITE,     A_0},
01133 {0,   O_RDWR,   DENY_ALL,      O_RDWR,  DENY_READ,     A_0},
01134 {0,   O_RDWR,   DENY_ALL,    O_RDONLY,  DENY_READ,     A_0},
01135 {0,   O_RDWR,   DENY_ALL,    O_WRONLY,  DENY_READ,     A_0},
01136 {0,   O_RDWR,   DENY_ALL,      O_RDWR,  DENY_NONE,     A_0},
01137 {0,   O_RDWR,   DENY_ALL,    O_RDONLY,  DENY_NONE,     A_0},
01138 {0,   O_RDWR,   DENY_ALL,    O_WRONLY,  DENY_NONE,     A_0},
01139 {0,   O_RDWR,   DENY_ALL,      O_RDWR,   DENY_FCB,     A_0},
01140 {0,   O_RDWR,   DENY_ALL,    O_RDONLY,   DENY_FCB,     A_0},
01141 {0,   O_RDWR,   DENY_ALL,    O_WRONLY,   DENY_FCB,     A_0},
01142 {0, O_RDONLY,   DENY_ALL,      O_RDWR,   DENY_DOS,     A_0},
01143 {0, O_RDONLY,   DENY_ALL,    O_RDONLY,   DENY_DOS,     A_0},
01144 {0, O_RDONLY,   DENY_ALL,    O_WRONLY,   DENY_DOS,     A_0},
01145 {0, O_RDONLY,   DENY_ALL,      O_RDWR,   DENY_ALL,     A_0},
01146 {0, O_RDONLY,   DENY_ALL,    O_RDONLY,   DENY_ALL,     A_0},
01147 {0, O_RDONLY,   DENY_ALL,    O_WRONLY,   DENY_ALL,     A_0},
01148 {0, O_RDONLY,   DENY_ALL,      O_RDWR, DENY_WRITE,     A_0},
01149 {0, O_RDONLY,   DENY_ALL,    O_RDONLY, DENY_WRITE,     A_0},
01150 {0, O_RDONLY,   DENY_ALL,    O_WRONLY, DENY_WRITE,     A_0},
01151 {0, O_RDONLY,   DENY_ALL,      O_RDWR,  DENY_READ,     A_0},
01152 {0, O_RDONLY,   DENY_ALL,    O_RDONLY,  DENY_READ,     A_0},
01153 {0, O_RDONLY,   DENY_ALL,    O_WRONLY,  DENY_READ,     A_0},
01154 {0, O_RDONLY,   DENY_ALL,      O_RDWR,  DENY_NONE,     A_0},
01155 {0, O_RDONLY,   DENY_ALL,    O_RDONLY,  DENY_NONE,     A_0},
01156 {0, O_RDONLY,   DENY_ALL,    O_WRONLY,  DENY_NONE,     A_0},
01157 {0, O_RDONLY,   DENY_ALL,      O_RDWR,   DENY_FCB,     A_0},
01158 {0, O_RDONLY,   DENY_ALL,    O_RDONLY,   DENY_FCB,     A_0},
01159 {0, O_RDONLY,   DENY_ALL,    O_WRONLY,   DENY_FCB,     A_0},
01160 {0, O_WRONLY,   DENY_ALL,      O_RDWR,   DENY_DOS,     A_0},
01161 {0, O_WRONLY,   DENY_ALL,    O_RDONLY,   DENY_DOS,     A_0},
01162 {0, O_WRONLY,   DENY_ALL,    O_WRONLY,   DENY_DOS,     A_0},
01163 {0, O_WRONLY,   DENY_ALL,      O_RDWR,   DENY_ALL,     A_0},
01164 {0, O_WRONLY,   DENY_ALL,    O_RDONLY,   DENY_ALL,     A_0},
01165 {0, O_WRONLY,   DENY_ALL,    O_WRONLY,   DENY_ALL,     A_0},
01166 {0, O_WRONLY,   DENY_ALL,      O_RDWR, DENY_WRITE,     A_0},
01167 {0, O_WRONLY,   DENY_ALL,    O_RDONLY, DENY_WRITE,     A_0},
01168 {0, O_WRONLY,   DENY_ALL,    O_WRONLY, DENY_WRITE,     A_0},
01169 {0, O_WRONLY,   DENY_ALL,      O_RDWR,  DENY_READ,     A_0},
01170 {0, O_WRONLY,   DENY_ALL,    O_RDONLY,  DENY_READ,     A_0},
01171 {0, O_WRONLY,   DENY_ALL,    O_WRONLY,  DENY_READ,     A_0},
01172 {0, O_WRONLY,   DENY_ALL,      O_RDWR,  DENY_NONE,     A_0},
01173 {0, O_WRONLY,   DENY_ALL,    O_RDONLY,  DENY_NONE,     A_0},
01174 {0, O_WRONLY,   DENY_ALL,    O_WRONLY,  DENY_NONE,     A_0},
01175 {0, O_WRONLY,   DENY_ALL,      O_RDWR,   DENY_FCB,     A_0},
01176 {0, O_WRONLY,   DENY_ALL,    O_RDONLY,   DENY_FCB,     A_0},
01177 {0, O_WRONLY,   DENY_ALL,    O_WRONLY,   DENY_FCB,     A_0},
01178 {0,   O_RDWR, DENY_WRITE,      O_RDWR,   DENY_DOS,     A_0},
01179 {0,   O_RDWR, DENY_WRITE,    O_RDONLY,   DENY_DOS,     A_0},
01180 {0,   O_RDWR, DENY_WRITE,    O_WRONLY,   DENY_DOS,     A_0},
01181 {0,   O_RDWR, DENY_WRITE,      O_RDWR,   DENY_ALL,     A_0},
01182 {0,   O_RDWR, DENY_WRITE,    O_RDONLY,   DENY_ALL,     A_0},
01183 {0,   O_RDWR, DENY_WRITE,    O_WRONLY,   DENY_ALL,     A_0},
01184 {0,   O_RDWR, DENY_WRITE,      O_RDWR, DENY_WRITE,     A_0},
01185 {0,   O_RDWR, DENY_WRITE,    O_RDONLY, DENY_WRITE,     A_0},
01186 {0,   O_RDWR, DENY_WRITE,    O_WRONLY, DENY_WRITE,     A_0},
01187 {0,   O_RDWR, DENY_WRITE,      O_RDWR,  DENY_READ,     A_0},
01188 {0,   O_RDWR, DENY_WRITE,    O_RDONLY,  DENY_READ,     A_0},
01189 {0,   O_RDWR, DENY_WRITE,    O_WRONLY,  DENY_READ,     A_0},
01190 {0,   O_RDWR, DENY_WRITE,      O_RDWR,  DENY_NONE,     A_0},
01191 {0,   O_RDWR, DENY_WRITE,    O_RDONLY,  DENY_NONE,     A_R},
01192 {0,   O_RDWR, DENY_WRITE,    O_WRONLY,  DENY_NONE,     A_0},
01193 {0,   O_RDWR, DENY_WRITE,      O_RDWR,   DENY_FCB,     A_0},
01194 {0,   O_RDWR, DENY_WRITE,    O_RDONLY,   DENY_FCB,     A_0},
01195 {0,   O_RDWR, DENY_WRITE,    O_WRONLY,   DENY_FCB,     A_0},
01196 {0, O_RDONLY, DENY_WRITE,      O_RDWR,   DENY_DOS,     A_0},
01197 {0, O_RDONLY, DENY_WRITE,    O_RDONLY,   DENY_DOS,     A_R},
01198 {0, O_RDONLY, DENY_WRITE,    O_WRONLY,   DENY_DOS,     A_0},
01199 {0, O_RDONLY, DENY_WRITE,      O_RDWR,   DENY_ALL,     A_0},
01200 {0, O_RDONLY, DENY_WRITE,    O_RDONLY,   DENY_ALL,     A_0},
01201 {0, O_RDONLY, DENY_WRITE,    O_WRONLY,   DENY_ALL,     A_0},
01202 {0, O_RDONLY, DENY_WRITE,      O_RDWR, DENY_WRITE,     A_0},
01203 {0, O_RDONLY, DENY_WRITE,    O_RDONLY, DENY_WRITE,     A_R},
01204 {0, O_RDONLY, DENY_WRITE,    O_WRONLY, DENY_WRITE,     A_0},
01205 {0, O_RDONLY, DENY_WRITE,      O_RDWR,  DENY_READ,     A_0},
01206 {0, O_RDONLY, DENY_WRITE,    O_RDONLY,  DENY_READ,     A_0},
01207 {0, O_RDONLY, DENY_WRITE,    O_WRONLY,  DENY_READ,     A_0},
01208 {0, O_RDONLY, DENY_WRITE,      O_RDWR,  DENY_NONE,     A_0},
01209 {0, O_RDONLY, DENY_WRITE,    O_RDONLY,  DENY_NONE,     A_R},
01210 {0, O_RDONLY, DENY_WRITE,    O_WRONLY,  DENY_NONE,     A_0},
01211 {0, O_RDONLY, DENY_WRITE,      O_RDWR,   DENY_FCB,     A_0},
01212 {0, O_RDONLY, DENY_WRITE,    O_RDONLY,   DENY_FCB,     A_0},
01213 {0, O_RDONLY, DENY_WRITE,    O_WRONLY,   DENY_FCB,     A_0},
01214 {0, O_WRONLY, DENY_WRITE,      O_RDWR,   DENY_DOS,     A_0},
01215 {0, O_WRONLY, DENY_WRITE,    O_RDONLY,   DENY_DOS,     A_0},
01216 {0, O_WRONLY, DENY_WRITE,    O_WRONLY,   DENY_DOS,     A_0},
01217 {0, O_WRONLY, DENY_WRITE,      O_RDWR,   DENY_ALL,     A_0},
01218 {0, O_WRONLY, DENY_WRITE,    O_RDONLY,   DENY_ALL,     A_0},
01219 {0, O_WRONLY, DENY_WRITE,    O_WRONLY,   DENY_ALL,     A_0},
01220 {0, O_WRONLY, DENY_WRITE,      O_RDWR, DENY_WRITE,     A_0},
01221 {0, O_WRONLY, DENY_WRITE,    O_RDONLY, DENY_WRITE,     A_0},
01222 {0, O_WRONLY, DENY_WRITE,    O_WRONLY, DENY_WRITE,     A_0},
01223 {0, O_WRONLY, DENY_WRITE,      O_RDWR,  DENY_READ,     A_0},
01224 {0, O_WRONLY, DENY_WRITE,    O_RDONLY,  DENY_READ,     A_R},
01225 {0, O_WRONLY, DENY_WRITE,    O_WRONLY,  DENY_READ,     A_0},
01226 {0, O_WRONLY, DENY_WRITE,      O_RDWR,  DENY_NONE,     A_0},
01227 {0, O_WRONLY, DENY_WRITE,    O_RDONLY,  DENY_NONE,     A_R},
01228 {0, O_WRONLY, DENY_WRITE,    O_WRONLY,  DENY_NONE,     A_0},
01229 {0, O_WRONLY, DENY_WRITE,      O_RDWR,   DENY_FCB,     A_0},
01230 {0, O_WRONLY, DENY_WRITE,    O_RDONLY,   DENY_FCB,     A_0},
01231 {0, O_WRONLY, DENY_WRITE,    O_WRONLY,   DENY_FCB,     A_0},
01232 {0,   O_RDWR,  DENY_READ,      O_RDWR,   DENY_DOS,     A_0},
01233 {0,   O_RDWR,  DENY_READ,    O_RDONLY,   DENY_DOS,     A_0},
01234 {0,   O_RDWR,  DENY_READ,    O_WRONLY,   DENY_DOS,     A_0},
01235 {0,   O_RDWR,  DENY_READ,      O_RDWR,   DENY_ALL,     A_0},
01236 {0,   O_RDWR,  DENY_READ,    O_RDONLY,   DENY_ALL,     A_0},
01237 {0,   O_RDWR,  DENY_READ,    O_WRONLY,   DENY_ALL,     A_0},
01238 {0,   O_RDWR,  DENY_READ,      O_RDWR, DENY_WRITE,     A_0},
01239 {0,   O_RDWR,  DENY_READ,    O_RDONLY, DENY_WRITE,     A_0},
01240 {0,   O_RDWR,  DENY_READ,    O_WRONLY, DENY_WRITE,     A_0},
01241 {0,   O_RDWR,  DENY_READ,      O_RDWR,  DENY_READ,     A_0},
01242 {0,   O_RDWR,  DENY_READ,    O_RDONLY,  DENY_READ,     A_0},
01243 {0,   O_RDWR,  DENY_READ,    O_WRONLY,  DENY_READ,     A_0},
01244 {0,   O_RDWR,  DENY_READ,      O_RDWR,  DENY_NONE,     A_0},
01245 {0,   O_RDWR,  DENY_READ,    O_RDONLY,  DENY_NONE,     A_0},
01246 {0,   O_RDWR,  DENY_READ,    O_WRONLY,  DENY_NONE,     A_W},
01247 {0,   O_RDWR,  DENY_READ,      O_RDWR,   DENY_FCB,     A_0},
01248 {0,   O_RDWR,  DENY_READ,    O_RDONLY,   DENY_FCB,     A_0},
01249 {0,   O_RDWR,  DENY_READ,    O_WRONLY,   DENY_FCB,     A_0},
01250 {0, O_RDONLY,  DENY_READ,      O_RDWR,   DENY_DOS,     A_0},
01251 {0, O_RDONLY,  DENY_READ,    O_RDONLY,   DENY_DOS,     A_0},
01252 {0, O_RDONLY,  DENY_READ,    O_WRONLY,   DENY_DOS,     A_0},
01253 {0, O_RDONLY,  DENY_READ,      O_RDWR,   DENY_ALL,     A_0},
01254 {0, O_RDONLY,  DENY_READ,    O_RDONLY,   DENY_ALL,     A_0},
01255 {0, O_RDONLY,  DENY_READ,    O_WRONLY,   DENY_ALL,     A_0},
01256 {0, O_RDONLY,  DENY_READ,      O_RDWR, DENY_WRITE,     A_0},
01257 {0, O_RDONLY,  DENY_READ,    O_RDONLY, DENY_WRITE,     A_0},
01258 {0, O_RDONLY,  DENY_READ,    O_WRONLY, DENY_WRITE,     A_W},
01259 {0, O_RDONLY,  DENY_READ,      O_RDWR,  DENY_READ,     A_0},
01260 {0, O_RDONLY,  DENY_READ,    O_RDONLY,  DENY_READ,     A_0},
01261 {0, O_RDONLY,  DENY_READ,    O_WRONLY,  DENY_READ,     A_0},
01262 {0, O_RDONLY,  DENY_READ,      O_RDWR,  DENY_NONE,     A_0},
01263 {0, O_RDONLY,  DENY_READ,    O_RDONLY,  DENY_NONE,     A_0},
01264 {0, O_RDONLY,  DENY_READ,    O_WRONLY,  DENY_NONE,     A_W},
01265 {0, O_RDONLY,  DENY_READ,      O_RDWR,   DENY_FCB,     A_0},
01266 {0, O_RDONLY,  DENY_READ,    O_RDONLY,   DENY_FCB,     A_0},
01267 {0, O_RDONLY,  DENY_READ,    O_WRONLY,   DENY_FCB,     A_0},
01268 {0, O_WRONLY,  DENY_READ,      O_RDWR,   DENY_DOS,     A_0},
01269 {0, O_WRONLY,  DENY_READ,    O_RDONLY,   DENY_DOS,     A_0},
01270 {0, O_WRONLY,  DENY_READ,    O_WRONLY,   DENY_DOS,     A_0},
01271 {0, O_WRONLY,  DENY_READ,      O_RDWR,   DENY_ALL,     A_0},
01272 {0, O_WRONLY,  DENY_READ,    O_RDONLY,   DENY_ALL,     A_0},
01273 {0, O_WRONLY,  DENY_READ,    O_WRONLY,   DENY_ALL,     A_0},
01274 {0, O_WRONLY,  DENY_READ,      O_RDWR, DENY_WRITE,     A_0},
01275 {0, O_WRONLY,  DENY_READ,    O_RDONLY, DENY_WRITE,     A_0},
01276 {0, O_WRONLY,  DENY_READ,    O_WRONLY, DENY_WRITE,     A_0},
01277 {0, O_WRONLY,  DENY_READ,      O_RDWR,  DENY_READ,     A_0},
01278 {0, O_WRONLY,  DENY_READ,    O_RDONLY,  DENY_READ,     A_0},
01279 {0, O_WRONLY,  DENY_READ,    O_WRONLY,  DENY_READ,     A_W},
01280 {0, O_WRONLY,  DENY_READ,      O_RDWR,  DENY_NONE,     A_0},
01281 {0, O_WRONLY,  DENY_READ,    O_RDONLY,  DENY_NONE,     A_0},
01282 {0, O_WRONLY,  DENY_READ,    O_WRONLY,  DENY_NONE,     A_W},
01283 {0, O_WRONLY,  DENY_READ,      O_RDWR,   DENY_FCB,     A_0},
01284 {0, O_WRONLY,  DENY_READ,    O_RDONLY,   DENY_FCB,     A_0},
01285 {0, O_WRONLY,  DENY_READ,    O_WRONLY,   DENY_FCB,     A_0},
01286 {0,   O_RDWR,  DENY_NONE,      O_RDWR,   DENY_DOS,     A_0},
01287 {0,   O_RDWR,  DENY_NONE,    O_RDONLY,   DENY_DOS,     A_0},
01288 {0,   O_RDWR,  DENY_NONE,    O_WRONLY,   DENY_DOS,     A_0},
01289 {0,   O_RDWR,  DENY_NONE,      O_RDWR,   DENY_ALL,     A_0},
01290 {0,   O_RDWR,  DENY_NONE,    O_RDONLY,   DENY_ALL,     A_0},
01291 {0,   O_RDWR,  DENY_NONE,    O_WRONLY,   DENY_ALL,     A_0},
01292 {0,   O_RDWR,  DENY_NONE,      O_RDWR, DENY_WRITE,     A_0},
01293 {0,   O_RDWR,  DENY_NONE,    O_RDONLY, DENY_WRITE,     A_0},
01294 {0,   O_RDWR,  DENY_NONE,    O_WRONLY, DENY_WRITE,     A_0},
01295 {0,   O_RDWR,  DENY_NONE,      O_RDWR,  DENY_READ,     A_0},
01296 {0,   O_RDWR,  DENY_NONE,    O_RDONLY,  DENY_READ,     A_0},
01297 {0,   O_RDWR,  DENY_NONE,    O_WRONLY,  DENY_READ,     A_0},
01298 {0,   O_RDWR,  DENY_NONE,      O_RDWR,  DENY_NONE,     A_RW},
01299 {0,   O_RDWR,  DENY_NONE,    O_RDONLY,  DENY_NONE,     A_R},
01300 {0,   O_RDWR,  DENY_NONE,    O_WRONLY,  DENY_NONE,     A_W},
01301 {0,   O_RDWR,  DENY_NONE,      O_RDWR,   DENY_FCB,     A_0},
01302 {0,   O_RDWR,  DENY_NONE,    O_RDONLY,   DENY_FCB,     A_0},
01303 {0,   O_RDWR,  DENY_NONE,    O_WRONLY,   DENY_FCB,     A_0},
01304 {0, O_RDONLY,  DENY_NONE,      O_RDWR,   DENY_DOS,     A_0},
01305 {0, O_RDONLY,  DENY_NONE,    O_RDONLY,   DENY_DOS,     A_R},
01306 {0, O_RDONLY,  DENY_NONE,    O_WRONLY,   DENY_DOS,     A_0},
01307 {0, O_RDONLY,  DENY_NONE,      O_RDWR,   DENY_ALL,     A_0},
01308 {0, O_RDONLY,  DENY_NONE,    O_RDONLY,   DENY_ALL,     A_0},
01309 {0, O_RDONLY,  DENY_NONE,    O_WRONLY,   DENY_ALL,     A_0},
01310 {0, O_RDONLY,  DENY_NONE,      O_RDWR, DENY_WRITE,     A_RW},
01311 {0, O_RDONLY,  DENY_NONE,    O_RDONLY, DENY_WRITE,     A_R},
01312 {0, O_RDONLY,  DENY_NONE,    O_WRONLY, DENY_WRITE,     A_W},
01313 {0, O_RDONLY,  DENY_NONE,      O_RDWR,  DENY_READ,     A_0},
01314 {0, O_RDONLY,  DENY_NONE,    O_RDONLY,  DENY_READ,     A_0},
01315 {0, O_RDONLY,  DENY_NONE,    O_WRONLY,  DENY_READ,     A_0},
01316 {0, O_RDONLY,  DENY_NONE,      O_RDWR,  DENY_NONE,     A_RW},
01317 {0, O_RDONLY,  DENY_NONE,    O_RDONLY,  DENY_NONE,     A_R},
01318 {0, O_RDONLY,  DENY_NONE,    O_WRONLY,  DENY_NONE,     A_W},
01319 {0, O_RDONLY,  DENY_NONE,      O_RDWR,   DENY_FCB,     A_0},
01320 {0, O_RDONLY,  DENY_NONE,    O_RDONLY,   DENY_FCB,     A_0},
01321 {0, O_RDONLY,  DENY_NONE,    O_WRONLY,   DENY_FCB,     A_0},
01322 {0, O_WRONLY,  DENY_NONE,      O_RDWR,   DENY_DOS,     A_0},
01323 {0, O_WRONLY,  DENY_NONE,    O_RDONLY,   DENY_DOS,     A_0},
01324 {0, O_WRONLY,  DENY_NONE,    O_WRONLY,   DENY_DOS,     A_0},
01325 {0, O_WRONLY,  DENY_NONE,      O_RDWR,   DENY_ALL,     A_0},
01326 {0, O_WRONLY,  DENY_NONE,    O_RDONLY,   DENY_ALL,     A_0},
01327 {0, O_WRONLY,  DENY_NONE,    O_WRONLY,   DENY_ALL,     A_0},
01328 {0, O_WRONLY,  DENY_NONE,      O_RDWR, DENY_WRITE,     A_0},
01329 {0, O_WRONLY,  DENY_NONE,    O_RDONLY, DENY_WRITE,     A_0},
01330 {0, O_WRONLY,  DENY_NONE,    O_WRONLY, DENY_WRITE,     A_0},
01331 {0, O_WRONLY,  DENY_NONE,      O_RDWR,  DENY_READ,     A_RW},
01332 {0, O_WRONLY,  DENY_NONE,    O_RDONLY,  DENY_READ,     A_R},
01333 {0, O_WRONLY,  DENY_NONE,    O_WRONLY,  DENY_READ,     A_W},
01334 {0, O_WRONLY,  DENY_NONE,      O_RDWR,  DENY_NONE,     A_RW},
01335 {0, O_WRONLY,  DENY_NONE,    O_RDONLY,  DENY_NONE,     A_R},
01336 {0, O_WRONLY,  DENY_NONE,    O_WRONLY,  DENY_NONE,     A_W},
01337 {0, O_WRONLY,  DENY_NONE,      O_RDWR,   DENY_FCB,     A_0},
01338 {0, O_WRONLY,  DENY_NONE,    O_RDONLY,   DENY_FCB,     A_0},
01339 {0, O_WRONLY,  DENY_NONE,    O_WRONLY,   DENY_FCB,     A_0},
01340 {0,   O_RDWR,   DENY_FCB,      O_RDWR,   DENY_DOS,     A_RW},
01341 {0,   O_RDWR,   DENY_FCB,    O_RDONLY,   DENY_DOS,     A_R},
01342 {0,   O_RDWR,   DENY_FCB,    O_WRONLY,   DENY_DOS,     A_W},
01343 {0,   O_RDWR,   DENY_FCB,      O_RDWR,   DENY_ALL,     A_0},
01344 {0,   O_RDWR,   DENY_FCB,    O_RDONLY,   DENY_ALL,     A_0},
01345 {0,   O_RDWR,   DENY_FCB,    O_WRONLY,   DENY_ALL,     A_0},
01346 {0,   O_RDWR,   DENY_FCB,      O_RDWR, DENY_WRITE,     A_0},
01347 {0,   O_RDWR,   DENY_FCB,    O_RDONLY, DENY_WRITE,     A_0},
01348 {0,   O_RDWR,   DENY_FCB,    O_WRONLY, DENY_WRITE,     A_0},
01349 {0,   O_RDWR,   DENY_FCB,      O_RDWR,  DENY_READ,     A_0},
01350 {0,   O_RDWR,   DENY_FCB,    O_RDONLY,  DENY_READ,     A_0},
01351 {0,   O_RDWR,   DENY_FCB,    O_WRONLY,  DENY_READ,     A_0},
01352 {0,   O_RDWR,   DENY_FCB,      O_RDWR,  DENY_NONE,     A_0},
01353 {0,   O_RDWR,   DENY_FCB,    O_RDONLY,  DENY_NONE,     A_0},
01354 {0,   O_RDWR,   DENY_FCB,    O_WRONLY,  DENY_NONE,     A_0},
01355 {0,   O_RDWR,   DENY_FCB,      O_RDWR,   DENY_FCB,     A_RW},
01356 {0,   O_RDWR,   DENY_FCB,    O_RDONLY,   DENY_FCB,     A_RW},
01357 {0,   O_RDWR,   DENY_FCB,    O_WRONLY,   DENY_FCB,     A_RW},
01358 {0, O_RDONLY,   DENY_FCB,      O_RDWR,   DENY_DOS,     A_RW},
01359 {0, O_RDONLY,   DENY_FCB,    O_RDONLY,   DENY_DOS,     A_R},
01360 {0, O_RDONLY,   DENY_FCB,    O_WRONLY,   DENY_DOS,     A_W},
01361 {0, O_RDONLY,   DENY_FCB,      O_RDWR,   DENY_ALL,     A_0},
01362 {0, O_RDONLY,   DENY_FCB,    O_RDONLY,   DENY_ALL,     A_0},
01363 {0, O_RDONLY,   DENY_FCB,    O_WRONLY,   DENY_ALL,     A_0},
01364 {0, O_RDONLY,   DENY_FCB,      O_RDWR, DENY_WRITE,     A_0},
01365 {0, O_RDONLY,   DENY_FCB,    O_RDONLY, DENY_WRITE,     A_0},
01366 {0, O_RDONLY,   DENY_FCB,    O_WRONLY, DENY_WRITE,     A_0},
01367 {0, O_RDONLY,   DENY_FCB,      O_RDWR,  DENY_READ,     A_0},
01368 {0, O_RDONLY,   DENY_FCB,    O_RDONLY,  DENY_READ,     A_0},
01369 {0, O_RDONLY,   DENY_FCB,    O_WRONLY,  DENY_READ,     A_0},
01370 {0, O_RDONLY,   DENY_FCB,      O_RDWR,  DENY_NONE,     A_0},
01371 {0, O_RDONLY,   DENY_FCB,    O_RDONLY,  DENY_NONE,     A_0},
01372 {0, O_RDONLY,   DENY_FCB,    O_WRONLY,  DENY_NONE,     A_0},
01373 {0, O_RDONLY,   DENY_FCB,      O_RDWR,   DENY_FCB,     A_RW},
01374 {0, O_RDONLY,   DENY_FCB,    O_RDONLY,   DENY_FCB,     A_RW},
01375 {0, O_RDONLY,   DENY_FCB,    O_WRONLY,   DENY_FCB,     A_RW},
01376 {0, O_WRONLY,   DENY_FCB,      O_RDWR,   DENY_DOS,     A_RW},
01377 {0, O_WRONLY,   DENY_FCB,    O_RDONLY,   DENY_DOS,     A_R},
01378 {0, O_WRONLY,   DENY_FCB,    O_WRONLY,   DENY_DOS,     A_W},
01379 {0, O_WRONLY,   DENY_FCB,      O_RDWR,   DENY_ALL,     A_0},
01380 {0, O_WRONLY,   DENY_FCB,    O_RDONLY,   DENY_ALL,     A_0},
01381 {0, O_WRONLY,   DENY_FCB,    O_WRONLY,   DENY_ALL,     A_0},
01382 {0, O_WRONLY,   DENY_FCB,      O_RDWR, DENY_WRITE,     A_0},
01383 {0, O_WRONLY,   DENY_FCB,    O_RDONLY, DENY_WRITE,     A_0},
01384 {0, O_WRONLY,   DENY_FCB,    O_WRONLY, DENY_WRITE,     A_0},
01385 {0, O_WRONLY,   DENY_FCB,      O_RDWR,  DENY_READ,     A_0},
01386 {0, O_WRONLY,   DENY_FCB,    O_RDONLY,  DENY_READ,     A_0},
01387 {0, O_WRONLY,   DENY_FCB,    O_WRONLY,  DENY_READ,     A_0},
01388 {0, O_WRONLY,   DENY_FCB,      O_RDWR,  DENY_NONE,     A_0},
01389 {0, O_WRONLY,   DENY_FCB,    O_RDONLY,  DENY_NONE,     A_0},
01390 {0, O_WRONLY,   DENY_FCB,    O_WRONLY,  DENY_NONE,     A_0},
01391 {0, O_WRONLY,   DENY_FCB,      O_RDWR,   DENY_FCB,     A_RW},
01392 {0, O_WRONLY,   DENY_FCB,    O_RDONLY,   DENY_FCB,     A_RW},
01393 {0, O_WRONLY,   DENY_FCB,    O_WRONLY,   DENY_FCB,     A_RW}
01394 };
01395 
01396 
01397 static void progress_bar(unsigned i, unsigned total)
01398 {
01399         if (i % 10 != 0) return;
01400         printf("%5d/%5d\r", i, total);
01401         fflush(stdout);
01402 }
01403 
01404 /*
01405   this produces a matrix of deny mode behaviour for 1 connection
01406  */
01407 BOOL torture_denytest1(int dummy)
01408 {
01409         struct cli_state *cli1;
01410         int fnum1, fnum2;
01411         int i;
01412         BOOL correct = True;
01413         const char *fnames[2] = {"\\denytest1.dat", "\\denytest1.exe"};
01414 
01415         if (!torture_open_connection(&cli1, 0)) {
01416                 return False;
01417         }
01418 
01419         printf("starting denytest1\n");
01420 
01421         for (i=0;i<2;i++) {
01422                 cli_unlink(cli1, fnames[i]);
01423                 fnum1 = cli_open(cli1, fnames[i], O_RDWR|O_CREAT, DENY_NONE);
01424                 cli_write(cli1, fnum1, 0, fnames[i], 0, strlen(fnames[i]));
01425                 cli_close(cli1, fnum1);
01426         }
01427 
01428         printf("testing %ld entries\n", (unsigned long)ARRAY_SIZE(denytable1));
01429 
01430         for (i=0; i<ARRAY_SIZE(denytable1); i++) {
01431                 enum deny_result res;
01432                 const char *fname = fnames[denytable1[i].isexe];
01433 
01434                 progress_bar(i, ARRAY_SIZE(denytable1));
01435 
01436                 fnum1 = cli_open(cli1, fname, 
01437                                  denytable1[i].mode1,
01438                                  denytable1[i].deny1);
01439                 fnum2 = cli_open(cli1, fname, 
01440                                  denytable1[i].mode2,
01441                                  denytable1[i].deny2);
01442 
01443                 if (fnum1 == -1) {
01444                         res = A_X;
01445                 } else if (fnum2 == -1) {
01446                         res = A_0;
01447                 } else {
01448                         char x = 1;
01449                         res = A_0;
01450                         if (cli_read(cli1, fnum2, (char *)&x, 0, 1) == 1) {
01451                                 res += A_R;
01452                         }
01453                         if (cli_write(cli1, fnum2, 0, (char *)&x, 0, 1) == 1) {
01454                                 res += A_W;
01455                         }
01456                 }
01457 
01458                 if (res != denytable1[i].result) {
01459                         correct = False;
01460                 }
01461 
01462                 if (torture_showall || res != denytable1[i].result) {
01463                         printf("%s %8s %10s    %8s %10s    %s (correct=%s)\n",
01464                                fname,
01465                                denystr(denytable1[i].deny1),
01466                                openstr(denytable1[i].mode1),
01467                                denystr(denytable1[i].deny2),
01468                                openstr(denytable1[i].mode2),
01469                                resultstr(res),
01470                                resultstr(denytable1[i].result));
01471                 }
01472 
01473                 cli_close(cli1, fnum1);
01474                 cli_close(cli1, fnum2);
01475         }
01476 
01477         for (i=0;i<2;i++) {
01478                 cli_unlink(cli1, fnames[i]);
01479         }
01480                 
01481         if (!torture_close_connection(cli1)) {
01482                 correct = False;
01483         }
01484         
01485         printf("finshed denytest1\n");
01486         return correct;
01487 }
01488 
01489 
01490 /*
01491   this produces a matrix of deny mode behaviour with 2 connections
01492  */
01493 BOOL torture_denytest2(int dummy)
01494 {
01495         static struct cli_state *cli1, *cli2;
01496         int fnum1, fnum2;
01497         int i;
01498         BOOL correct = True;
01499         const char *fnames[2] = {"\\denytest2.dat", "\\denytest2.exe"};
01500 
01501         if (!torture_open_connection(&cli1, 0) || !torture_open_connection(&cli2, 1)) {
01502                 return False;
01503         }
01504 
01505         printf("starting denytest2\n");
01506 
01507         for (i=0;i<2;i++) {
01508                 cli_unlink(cli1, fnames[i]);
01509                 fnum1 = cli_open(cli1, fnames[i], O_RDWR|O_CREAT, DENY_NONE);
01510                 cli_write(cli1, fnum1, 0, fnames[i], 0, strlen(fnames[i]));
01511                 cli_close(cli1, fnum1);
01512         }
01513 
01514         for (i=0; i<ARRAY_SIZE(denytable2); i++) {
01515                 enum deny_result res;
01516                 const char *fname = fnames[denytable2[i].isexe];
01517 
01518                 progress_bar(i, ARRAY_SIZE(denytable2));
01519 
01520                 fnum1 = cli_open(cli1, fname, 
01521                                  denytable2[i].mode1,
01522                                  denytable2[i].deny1);
01523                 fnum2 = cli_open(cli2, fname, 
01524                                  denytable2[i].mode2,
01525                                  denytable2[i].deny2);
01526 
01527                 if (fnum1 == -1) {
01528                         res = A_X;
01529                 } else if (fnum2 == -1) {
01530                         res = A_0;
01531                 } else {
01532                         char x = 1;
01533                         res = A_0;
01534                         if (cli_read(cli2, fnum2, (char *)&x, 0, 1) == 1) {
01535                                 res += A_R;
01536                         }
01537                         if (cli_write(cli2, fnum2, 0, (char *)&x, 0, 1) == 1) {
01538                                 res += A_W;
01539                         }
01540                 }
01541 
01542                 if (res != denytable2[i].result) {
01543                         correct = False;
01544                 }
01545 
01546                 if (torture_showall || res != denytable2[i].result) {
01547                         printf("%s %8s %10s    %8s %10s    %s (correct=%s)\n",
01548                                fname,
01549                                denystr(denytable2[i].deny1),
01550                                openstr(denytable2[i].mode1),
01551                                denystr(denytable2[i].deny2),
01552                                openstr(denytable2[i].mode2),
01553                                resultstr(res),
01554                                resultstr(denytable2[i].result));
01555                 }
01556 
01557                 if (fnum1 != -1) cli_close(cli1, fnum1);
01558                 if (fnum2 != -1) cli_close(cli2, fnum2);
01559         }
01560                 
01561         for (i=0;i<2;i++) {
01562                 cli_unlink(cli1, fnames[i]);
01563         }
01564 
01565         if (!torture_close_connection(cli1)) {
01566                 correct = False;
01567         }
01568         if (!torture_close_connection(cli2)) {
01569                 correct = False;
01570         }
01571         
01572         printf("finshed denytest2\n");
01573         return correct;
01574 }
01575 

Sambaに対してSat Aug 29 21:23:27 2009に生成されました。  doxygen 1.4.7