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