#ifndef DOS_DOSASL_H
#define DOS_DOSASL_H
/*
**
** $Filename: dos/dosasl.h $
** $Release: 2.04 Includes, V37.4 $
** $Revision: 36.16 $
** $Date: 91/05/02 $
**
** Pattern-matching structure definitions
**
** (C) Copyright 1989-1991 Commodore-Amiga, Inc.
** All Rights Reserved
**
*/

#ifndef EXEC_LIBRARIES_H
#include <exec/libraries.h>
#endif

#ifndef EXEC_LISTS_H
#include <exec/lists.h>
#endif

#ifndef DOS_DOS_H
#include <dos/dos.h>
#endif




struct AnchorPath {
 struct AChain *ap_Base; 
#define ap_First ap_Base
 struct AChain *ap_Last; 
#define ap_Current ap_Last
 LONG ap_BreakBits; 
 LONG ap_FoundBreak; 
 BYTE ap_Flags; 
 BYTE ap_Reserved;
 WORD ap_Strlen; 
#define ap_Length ap_Flags 
 struct FileInfoBlock ap_Info;
 UBYTE ap_Buf[1]; 
 
};


#define APB_DOWILD 0 
#define APF_DOWILD 1

#define APB_ITSWILD 1 
#define APF_ITSWILD 2 
 
 
 

#define APB_DODIR 2 
#define APF_DODIR 4 
 
 

#define APB_DIDDIR 3 
#define APF_DIDDIR 8

#define APB_NOMEMERR 4 
#define APF_NOMEMERR 16

#define APB_DODOT 5 
#define APF_DODOT 32 

#define APB_DirChanged 6 
#define APF_DirChanged 64 

#define APB_FollowHLinks 7 
#define APF_FollowHLinks 128 


struct AChain {
 struct AChain *an_Child;
 struct AChain *an_Parent;
 BPTR an_Lock;
 struct FileInfoBlock an_Info;
 BYTE an_Flags;
 UBYTE an_String[1]; 
};

#define DDB_PatternBit 0
#define DDF_PatternBit 1
#define DDB_ExaminedBit 1
#define DDF_ExaminedBit 2
#define DDB_Completed 2
#define DDF_Completed 4
#define DDB_AllBit 3
#define DDF_AllBit 8
#define DDB_Single 4
#define DDF_Single 16



#define P_ANY 0x80 
#define P_SINGLE 0x81 
#define P_ORSTART 0x82 
#define P_ORNEXT 0x83 
#define P_OREND 0x84 
#define P_NOT 0x85 
#define P_NOTEND 0x86 
#define P_NOTCLASS 0x87 
#define P_CLASS 0x88 
#define P_REPBEG 0x89 
#define P_REPEND 0x8A 
#define P_STOP 0x8B 



#define COMPLEX_BIT 1 
#define EXAMINE_BIT 2 



#define ERROR_BUFFER_OVERFLOW 303 
#define ERROR_BREAK 304 
#define ERROR_NOT_EXECUTABLE 305 

#endif 
