1 #ifndef DOS_DOSASL_H 2 #define DOS_DOSASL_H 3 4 /* 5 dos asl definitions 6 7 Copyright © 2002 The MorphOS Development Team, All Rights Reserved. 8 */ 9 10 #ifndef EXEC_LIBRARIES_H 11 # include <exec/libraries.h> 12 #endif 13 14 #ifndef EXEC_LISTS_H 15 # include <exec/lists.h> 16 #endif 17 18 #ifndef DOS_DOS_H 19 # include <dos/dos.h> 20 #endif 21 22 #pragma pack(2) 23 24 25 struct AnchorPath 26 { 27 struct AChain *ap_Base; 28 # define ap_First ap_Base 29 30 struct AChain *ap_Last; 31 # define ap_Current ap_Last 32 33 LONG ap_BreakBits; 34 LONG ap_FoundBreak; 35 36 BYTE ap_Flags; 37 # define ap_Length ap_Flags 38 39 BYTE ap_Extended; 40 # define ap_Reserved ap_Extended 41 42 WORD ap_Strlen; 43 struct FileInfoBlock ap_Info; 44 UBYTE ap_Buf[2]; 45 /* ap_Buf continues */ 46 }; 47 48 49 #define APB_DOWILD 0 50 #define APF_DOWILD (1<<APB_DOWILD) 51 52 #define APB_ITSWILD 1 53 #define APF_ITSWILD (1<<APB_ITSWILD) 54 55 #define APB_DODIR 2 56 #define APF_DODIR (1<<APB_DODIR) 57 58 #define APB_DIDDIR 3 59 #define APF_DIDDIR (1<<APB_DIDDIR) 60 61 #define APB_NOMEMERR 4 62 #define APF_NOMEMERR (1<<APB_NOMEMERR) 63 64 #define APB_DODOT 5 65 #define APF_DODOT (1<<APB_DODOT) 66 67 #define APB_DirChanged 6 68 #define APF_DirChanged (1<<APB_DirChanged) 69 70 #define APB_FollowHLinks 7 71 #define APF_FollowHLinks (1<<APB_FollowHLinks) 72 73 74 #define APSB_EXTENDED 15 75 #define APSF_EXTENDED (1<<APSB_EXTENDED) 76 77 /* Following are ap_Extended flags, only enabled when ap_StrLen has 78 APSF_EXTENDED set. Added in dos.library 50.67. */ 79 80 /* Return literal softlink names instead of the link destination */ 81 #define APEB_LiteralSLinks 1 82 #define APEF_LiteralSLinks (1<<APEB_LiteralSLinks) 83 84 /* Don't follow softlink directories, implies APEF_LiteralSLinks */ 85 #define APEB_DontFollowSLinks 2 86 #define APEF_DontFollowSLinks (1<<APEB_DontFollowSLinks) 87 88 #define APEB_FutureExtension 7 89 #define APEF_FutureExtension (1<<APEB_FutureExtension) 90 91 92 struct AChain 93 { 94 struct AChain *an_Child; 95 struct AChain *an_Parent; 96 BPTR an_Lock; 97 struct FileInfoBlock an_Info; 98 BYTE an_Flags; 99 UBYTE an_String[1]; 100 /* an_String continues */ 101 }; 102 103 104 #define DDB_PatternBit 0 105 #define DDF_PatternBit (1<<DDB_PatternBit) 106 107 #define DDB_ExaminedBit 1 108 #define DDF_ExaminedBit (1<<DDB_ExaminedBit) 109 110 #define DDB_Completed 2 111 #define DDF_Completed (1<<DDB_Completed) 112 113 #define DDB_AllBit 3 114 #define DDF_AllBit (1<<DDB_AllBit) 115 116 #define DDB_Single 4 117 #define DDF_Single (1<<DDB_Single) 118 119 120 #define P_ANY 0x80 121 #define P_SINGLE 0x81 122 #define P_ORSTART 0x82 123 #define P_ORNEXT 0x83 124 #define P_OREND 0x84 125 #define P_NOT 0x85 126 #define P_NOTEND 0x86 127 #define P_NOTCLASS 0x87 128 #define P_CLASS 0x88 129 #define P_REPBEG 0x89 130 #define P_REPEND 0x8A 131 #define P_STOP 0x8B 132 133 134 #define COMPLEX_BIT 1 135 #define EXAMINE_BIT 2 136 137 138 #define ERROR_BUFFER_OVERFLOW 303 139 #define ERROR_BREAK 304 140 #define ERROR_NOT_EXECUTABLE 305 141 142 143 #pragma pack() 144 145 #endif /* DOS_DOSASL_H */