00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
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
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
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