2003-08-13 05:53:07 +04:00
/*
Unix SMB / CIFS implementation .
SMB torture tester - deny mode 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 .
*/
# include "includes.h"
extern BOOL torture_showall ;
enum deny_result { A_0 = 0 , A_X = 1 , A_R = 2 , A_W = 3 , A_RW = 5 } ;
static const char * denystr ( int denymode )
{
struct {
int v ;
const char * name ;
} deny_modes [ ] = {
{ DENY_DOS , " DENY_DOS " } ,
{ DENY_ALL , " DENY_ALL " } ,
{ DENY_WRITE , " DENY_WRITE " } ,
{ DENY_READ , " DENY_READ " } ,
{ DENY_NONE , " DENY_NONE " } ,
{ DENY_FCB , " DENY_FCB " } ,
{ - 1 , NULL } } ;
int i ;
for ( i = 0 ; deny_modes [ i ] . name ; i + + ) {
if ( deny_modes [ i ] . v = = denymode ) return deny_modes [ i ] . name ;
}
return " DENY_XXX " ;
}
static const char * openstr ( int mode )
{
struct {
int v ;
const char * name ;
} open_modes [ ] = {
{ O_RDWR , " O_RDWR " } ,
{ O_RDONLY , " O_RDONLY " } ,
{ O_WRONLY , " O_WRONLY " } ,
{ - 1 , NULL } } ;
int i ;
for ( i = 0 ; open_modes [ i ] . name ; i + + ) {
if ( open_modes [ i ] . v = = mode ) return open_modes [ i ] . name ;
}
return " O_XXX " ;
}
static const char * resultstr ( enum deny_result res )
{
struct {
enum deny_result res ;
const char * name ;
} results [ ] = {
{ A_X , " X " } ,
{ A_0 , " - " } ,
{ A_R , " R " } ,
{ A_W , " W " } ,
{ A_RW , " RW " } } ;
int i ;
for ( i = 0 ; ARRAY_SIZE ( results ) ; i + + ) {
if ( results [ i ] . res = = res ) return results [ i ] . name ;
}
return " * " ;
}
2004-09-23 04:47:38 +04:00
static const struct {
2003-08-13 05:53:07 +04:00
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 }
} ;
2004-09-23 04:47:38 +04:00
static const struct {
2003-08-13 05:53:07 +04:00
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 }
} ;
2004-06-01 14:12:52 +04:00
static void progress_bar ( uint_t i , uint_t total )
2003-08-13 05:53:07 +04:00
{
if ( i % 10 ! = 0 ) return ;
printf ( " %5d/%5d \r " , i , total ) ;
fflush ( stdout ) ;
}
/*
this produces a matrix of deny mode behaviour for 1 connection
*/
BOOL torture_denytest1 ( int dummy )
{
2004-08-04 17:23:35 +04:00
static struct smbcli_state * cli1 ;
2003-08-13 05:53:07 +04:00
int fnum1 , fnum2 ;
int i ;
BOOL correct = True ;
2004-06-08 23:25:26 +04:00
struct timeval tv , tv_start ;
2003-08-13 05:53:07 +04:00
const char * fnames [ 2 ] = { " \\ denytest1.dat " , " \\ denytest1.exe " } ;
if ( ! torture_open_connection ( & cli1 ) ) {
return False ;
}
printf ( " starting denytest1 \n " ) ;
printf ( " Testing deny modes with 1 connection \n " ) ;
for ( i = 0 ; i < 2 ; i + + ) {
2004-08-04 17:23:35 +04:00
smbcli_unlink ( cli1 - > tree , fnames [ i ] ) ;
fnum1 = smbcli_open ( cli1 - > tree , fnames [ i ] , O_RDWR | O_CREAT , DENY_NONE ) ;
smbcli_write ( cli1 - > tree , fnum1 , 0 , fnames [ i ] , 0 , strlen ( fnames [ i ] ) ) ;
smbcli_close ( cli1 - > tree , fnum1 ) ;
2003-08-13 05:53:07 +04:00
}
printf ( " testing %d entries \n " , ARRAY_SIZE ( denytable1 ) ) ;
2004-06-08 23:25:26 +04:00
GetTimeOfDay ( & tv_start ) ;
2003-08-13 05:53:07 +04:00
for ( i = 0 ; i < ARRAY_SIZE ( denytable1 ) ; i + + ) {
enum deny_result res ;
const char * fname = fnames [ denytable1 [ i ] . isexe ] ;
progress_bar ( i , ARRAY_SIZE ( denytable1 ) ) ;
2004-08-04 17:23:35 +04:00
fnum1 = smbcli_open ( cli1 - > tree , fname ,
2003-08-13 05:53:07 +04:00
denytable1 [ i ] . mode1 ,
denytable1 [ i ] . deny1 ) ;
2004-08-04 17:23:35 +04:00
fnum2 = smbcli_open ( cli1 - > tree , fname ,
2003-08-13 05:53:07 +04:00
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 ;
2004-08-04 17:23:35 +04:00
if ( smbcli_read ( cli1 - > tree , fnum2 , ( void * ) & x , 0 , 1 ) = = 1 ) {
2003-08-13 05:53:07 +04:00
res + = A_R ;
}
2004-08-04 17:23:35 +04:00
if ( smbcli_write ( cli1 - > tree , fnum2 , 0 , ( void * ) & x , 0 , 1 ) = = 1 ) {
2003-08-13 05:53:07 +04:00
res + = A_W ;
}
}
if ( res ! = denytable1 [ i ] . result ) {
correct = False ;
}
if ( torture_showall | | res ! = denytable1 [ i ] . result ) {
2004-06-23 19:22:41 +04:00
int64_t tdif ;
2004-06-08 23:25:26 +04:00
GetTimeOfDay ( & tv ) ;
tdif = usec_time_diff ( & tv , & tv_start ) ;
tdif / = 1000 ;
printf ( " %lld: %s %8s %10s %8s %10s %s (correct=%s) \n " ,
tdif ,
2003-08-13 05:53:07 +04:00
fname ,
denystr ( denytable1 [ i ] . deny1 ) ,
openstr ( denytable1 [ i ] . mode1 ) ,
denystr ( denytable1 [ i ] . deny2 ) ,
openstr ( denytable1 [ i ] . mode2 ) ,
resultstr ( res ) ,
resultstr ( denytable1 [ i ] . result ) ) ;
}
2004-08-04 17:23:35 +04:00
smbcli_close ( cli1 - > tree , fnum1 ) ;
smbcli_close ( cli1 - > tree , fnum2 ) ;
2003-08-13 05:53:07 +04:00
}
for ( i = 0 ; i < 2 ; i + + ) {
2004-08-04 17:23:35 +04:00
smbcli_unlink ( cli1 - > tree , fnames [ i ] ) ;
2003-08-13 05:53:07 +04:00
}
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 )
{
2004-08-04 17:23:35 +04:00
static struct smbcli_state * cli1 , * cli2 ;
2003-08-13 05:53:07 +04:00
int fnum1 , fnum2 ;
int i ;
BOOL correct = True ;
const char * fnames [ 2 ] = { " \\ denytest2.dat " , " \\ denytest2.exe " } ;
2004-06-08 23:25:26 +04:00
struct timeval tv , tv_start ;
2003-08-13 05:53:07 +04:00
if ( ! torture_open_connection ( & cli1 ) | | ! torture_open_connection ( & cli2 ) ) {
return False ;
}
printf ( " starting denytest2 \n " ) ;
printf ( " Testing deny modes with 2 connections \n " ) ;
for ( i = 0 ; i < 2 ; i + + ) {
2004-08-04 17:23:35 +04:00
smbcli_unlink ( cli1 - > tree , fnames [ i ] ) ;
fnum1 = smbcli_open ( cli1 - > tree , fnames [ i ] , O_RDWR | O_CREAT , DENY_NONE ) ;
smbcli_write ( cli1 - > tree , fnum1 , 0 , fnames [ i ] , 0 , strlen ( fnames [ i ] ) ) ;
smbcli_close ( cli1 - > tree , fnum1 ) ;
2003-08-13 05:53:07 +04:00
}
2004-06-08 23:25:26 +04:00
GetTimeOfDay ( & tv_start ) ;
2003-08-13 05:53:07 +04:00
for ( i = 0 ; i < ARRAY_SIZE ( denytable2 ) ; i + + ) {
enum deny_result res ;
const char * fname = fnames [ denytable2 [ i ] . isexe ] ;
progress_bar ( i , ARRAY_SIZE ( denytable1 ) ) ;
2004-08-04 17:23:35 +04:00
fnum1 = smbcli_open ( cli1 - > tree , fname ,
2003-08-13 05:53:07 +04:00
denytable2 [ i ] . mode1 ,
denytable2 [ i ] . deny1 ) ;
2004-08-04 17:23:35 +04:00
fnum2 = smbcli_open ( cli2 - > tree , fname ,
2003-08-13 05:53:07 +04:00
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 ;
2004-08-04 17:23:35 +04:00
if ( smbcli_read ( cli2 - > tree , fnum2 , ( void * ) & x , 0 , 1 ) = = 1 ) {
2003-08-13 05:53:07 +04:00
res + = A_R ;
}
2004-08-04 17:23:35 +04:00
if ( smbcli_write ( cli2 - > tree , fnum2 , 0 , ( void * ) & x , 0 , 1 ) = = 1 ) {
2003-08-13 05:53:07 +04:00
res + = A_W ;
}
}
if ( res ! = denytable2 [ i ] . result ) {
correct = False ;
}
if ( torture_showall | | res ! = denytable2 [ i ] . result ) {
2004-06-23 19:22:41 +04:00
int64_t tdif ;
2004-06-08 23:25:26 +04:00
GetTimeOfDay ( & tv ) ;
tdif = usec_time_diff ( & tv , & tv_start ) ;
tdif / = 1000 ;
printf ( " %lld: %s %8s %10s %8s %10s %s (correct=%s) \n " ,
tdif ,
2003-08-13 05:53:07 +04:00
fname ,
denystr ( denytable2 [ i ] . deny1 ) ,
openstr ( denytable2 [ i ] . mode1 ) ,
denystr ( denytable2 [ i ] . deny2 ) ,
openstr ( denytable2 [ i ] . mode2 ) ,
resultstr ( res ) ,
resultstr ( denytable2 [ i ] . result ) ) ;
}
2004-08-04 17:23:35 +04:00
smbcli_close ( cli1 - > tree , fnum1 ) ;
smbcli_close ( cli2 - > tree , fnum2 ) ;
2003-08-13 05:53:07 +04:00
}
for ( i = 0 ; i < 2 ; i + + ) {
2004-08-04 17:23:35 +04:00
smbcli_unlink ( cli1 - > tree , fnames [ i ] ) ;
2003-08-13 05:53:07 +04:00
}
if ( ! torture_close_connection ( cli1 ) ) {
correct = False ;
}
if ( ! torture_close_connection ( cli2 ) ) {
correct = False ;
}
printf ( " finshed denytest2 \n " ) ;
return correct ;
}