#ifndef DOS_DOSASL_H #define DOS_DOSASL_H /* Copyright © 1995-2001, The AROS Development Team. All rights reserved. $Id$ Desc: Pattern matching Lang: english */ #ifndef EXEC_LIBRARIES_H # include #endif #ifndef EXEC_LISTS_H # include #endif #ifndef DOS_DOS_H # include #endif /********************************************************************** ************************** Pattern Matching ************************** **********************************************************************/ /* PRIVATE structure, which describes an anchor for matching functions. */ struct AChain { struct AChain * an_Child; /* The next anchor */ struct AChain * an_Parent; /* The last anchor */ BPTR an_Lock; /* Lock of this anchor */ struct FileInfoBlock an_Info; /* The fib, describing this anchor */ BYTE an_Flags; /* see below */ UBYTE an_String[1]; }; /* an_Flags */ #define DDB_PatternBit 0 #define DDB_ExaminedBit 1 #define DDB_Completed 2 #define DDB_AllBit 3 #define DDB_Single 4 #define DDF_PatternBit (1< and for bit definitions. */ LONG ap_BreakBits; /* Signal bits that caused the function to break. */ LONG ap_FoundBreak; BYTE ap_Flags; /* see below */ BYTE ap_Reserved; /* PRIVATE */ /* Size of ap_Buf (see below). This may be zero. */ WORD ap_Strlen; /* Embedded FileInfoBlock structure as defined in . This describes any files found by matching-functions. */ struct FileInfoBlock ap_Info; /* Buffer for the fully qualified pathname of files found by matching-functions. This may be as large as you want (including zero bytes). Put its size into ap_StrLen. */ UBYTE ap_Buf[1]; }; #define ap_First ap_Base #define ap_Current ap_Last #define ap_Length ap_Flags /* ap_Flags. Some of the flags are set by the matching-functions and some are read-only. */ #define APB_DOWILD 0 /* Please check for wildcards in supplied string. */ #define APB_ITSWILD 1 /* There is actually a wildcard in the supplied string. READ-ONLY */ #define APB_DODIR 2 /* Set, if a directory is to be entered. Applications may clear this bit to prohibit the matching-functions from entering a directory. */ #define APB_DIDDIR 3 /* Set, if directory was already searched. READ-ONLY */ #define APB_NOMEMERR 4 /* Set, if function was out of memory. READ-ONLY */ #define APB_DODOT 5 /* '.' may refer to the current directory (unix-style). */ #define APB_DirChanged 6 /* Directory changed since last call. */ #define APB_FollowHLinks 7 /* Follow hardlinks, too. */ #define APF_DOWILD (1<. */ #define ERROR_BUFFER_OVERFLOW 303 /* Supplied or internal buffer too small. */ #define ERROR_BREAK 304 /* One of the break signals was received. */ #define ERROR_NOT_EXECUTABLE 305 /* A file is not an executable. */ #endif /* DOS_DOSASL_H */