5 #if defined(DUMP_MACOSX)
14 #define DARWIN_RSRC_NAME "/..namedfork/rsrc"
15 #define DARWIN_FINFO_NAME "/..namedfork/finfo"
17 * some structs from the HFS+ info for OS X
18 * - including the header file causes messy clashes
22 u_int32_t fdType; /* file type */
23 u_int32_t fdCreator; /* file creator */
24 u_int16_t fdFlags; /* Finder flags */
26 int16_t v; /* file's location */
31 typedef struct FndrFileInfo FndrFileInfo;
34 struct { /* folder's window rectangle */
40 unsigned short frFlags; /* Finder flags */
42 u_int16_t v; /* folder's location */
47 typedef struct FndrDirInfo FndrDirInfo;
50 struct FndrOpaqueInfo {
53 typedef struct FndrOpaqueInfo FndrOpaqueInfo;
55 struct fndrinfo_block_t {
56 FndrFileInfo finderInfo;
57 FndrOpaqueInfo extendedFinderInfo;
59 typedef struct fndrinfo_block_t fndrinfo_block_t;
61 struct attrinfo_block_t {
62 unsigned long info_length;
65 struct timespec created;
66 struct timespec backup;
68 fndrinfo_block_t finfo;
73 typedef struct attrinfo_block_t attrinfo_block_t;
76 #define ASINGLE_MAGIC 0x00051600 /* all in one file */
77 #define ADOUBLE_MAGIC 0x00051607 /* resource + info, data separated */
79 #define ASD_VERSION1 0x00010000 /* the original version */
80 #define ASD_VERSION2 0x00020000 /* the second version */
82 typedef struct ASDHeader {
83 u_long magic; /* either single or double */
84 u_long version; /* ASD_VERSION2 */
85 u_char filler[16]; /* reserved, zero */
86 u_short entries; /* the number of entries */
87 /* the entries follow */
88 } ASDHeader, *ASDHeaderPtr, **ASDHeaderHandle;
109 u_long entryID; /* the entry type (forced to long) */
110 u_long offset; /* offset in file of entry */
111 u_long len; /* length of entry */
112 } ASDEntry, *ASDEntryPtr, **ASDEntryHandle;
116 u_long modificationDate;
119 } FileDates, *FileDatesPtr;
121 typedef struct dumpfinderinfo {
122 FndrFileInfo fndrinfo; /* 0: size = 16 bytes, same for FndrDirInfo */
123 u_int32_t createDate; /* 16: date and time of creation */
124 u_int32_t contentModDate;/* 20: date/time of last content modification */
125 u_int32_t attributeModDate;/* 24: date/time of last attribute modification */
126 u_int32_t accessDate; /* 30: date/time of last access (MacOS X only) */
127 u_int32_t backupDate; /* 34: date/time of last backup */
128 u_int32_t textEncoding; /* 36: hint for name conversions */
129 char filler[980]; /* 40: for later expansion, 40 + 980 - 4 = TP_BSIZE - 4 */
130 } DumpFinderInfo, *DumpFinderInfoPtr;
132 #endif /* DARWIN_H */