1 #ifndef DOS_EXALL_H 2 #define DOS_EXALL_H 3 4 /* 5 dos ExAll definitions 6 7 Copyright © 2002-2003 The MorphOS Development Team, All Rights Reserved. 8 */ 9 10 #ifndef EXEC_TYPES_H 11 # include <exec/types.h> 12 #endif 13 14 #ifndef UTILITY_HOOKS_H 15 # include <utility/hooks.h> 16 #endif 17 18 #ifndef DOS_DOS_H 19 # include <dos/dos.h> 20 #endif 21 22 #pragma pack(2) 23 24 25 #define ED_NAME 1 26 #define ED_TYPE 2 27 #define ED_SIZE 3 28 #define ED_PROTECTION 4 29 #define ED_DATE 5 30 #define ED_COMMENT 6 31 #define ED_OWNER 7 32 33 34 /* 64bit DOS extensions - V51 */ 35 36 /* The ExAllData ed_Size64 field is filled. For files larger than 2^31-1 37 * bytes, ed_Size is 0. 38 * Available in dos.library 51.30 and later. ExAll() will fail and return 39 * ERROR_BAD_NUMBER if not supported. 40 */ 41 #define ED_SIZE64 8 42 43 /* The ExAllData ed_PosixDate field is filled. 44 * Available in dos.library 51.70 and later. ExAll() will fail and return 45 * ERROR_BAD_NUMBER if not supported. 46 */ 47 #define ED_POSIXDATE 9 48 49 struct ExAllData 50 { 51 struct ExAllData *ed_Next; 52 UBYTE *ed_Name; 53 LONG ed_Type; 54 ULONG ed_Size; 55 ULONG ed_Prot; 56 ULONG ed_Days; 57 ULONG ed_Mins; 58 ULONG ed_Ticks; 59 UBYTE *ed_Comment; 60 61 UWORD ed_OwnerUID; 62 UWORD ed_OwnerGID; 63 64 /* 64bit DOS extensions - V51 */ 65 66 /* Filled for ED_SIZE64 */ 67 UQUAD ed_Size64; 68 69 /* Filled for ED_POSIXDATE */ 70 struct PosixDateStamp ed_PosixDate; 71 }; 72 73 struct ExAllControl 74 { 75 ULONG eac_Entries; 76 ULONG eac_LastKey; 77 UBYTE *eac_MatchString; 78 struct Hook *eac_MatchFunc; 79 }; 80 81 82 #pragma pack() 83 84 #endif /* DOS_EXALL_H */