LCOV - code coverage report
Current view: top level - source3/torture - denytest.c (source / functions) Hit Total Coverage
Test: coverage report for master 2b515b7d Lines: 0 121 0.0 %
Date: 2024-02-28 12:06:22 Functions: 0 6 0.0 %

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

Generated by: LCOV version 1.14