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 */