3 <H2>Information from source codes</H2>
13 # dmFile.h : $Revision$
35 typedef __int64_t dmFileInteger8;
36 typedef __int32_t dmFileInteger4;
37 typedef __int16_t dmFileInteger2;
38 typedef __int8_t dmFileInteger1;
40 typedef enum dmFileTagDataType {
41 dmFileTagDataTypeShort=2,
42 dmFileTagDataTypeLong =3,
43 dmFileTagDataTypeUShort =4,
46 typedef struct dm3FileHeader {
47 dmFileInteger4 version;
48 dmFileInteger4 rootLength;
49 dmFileInteger4 byteOrder;
52 typedef struct dm4FileHeader {
53 dmFileInteger4 version;
54 dmFileInteger8 rootLength;
55 dmFileInteger4 byteOrder;
58 typedef struct dm3FileTagDirectrory {
60 dmFileInteger2 tagNameLength; // Bytes
62 dmFileInteger8 tagDataSize; // Bytes
63 } dm3FileTagDirectrory;
65 typedef struct dm4FileTagDirectrory {
67 dmFileInteger2 tagNameLength; // Bytes
69 dmFileInteger8 tagDataSize; // Bytes
70 } dm4FileTagDirectrory;
72 typedef struct dm3FileRootTagDirectory {
74 dmFileInteger1 closef;
75 dmFileInteger4 numberOfTags;
76 } dm3FileRootTagDirectory;
78 typedef struct dm4FileRootTagDirectory {
80 dmFileInteger1 closef;
81 dmFileInteger8 numberOfTags;
82 } dm4FileRootTagDirectory;
84 typedef struct dmFile {
86 dmFileInteger4 version;
87 dm3FileHeader Header3;
88 dm4FileHeader Header4;
90 dm3FileRootTagDirectory RootTag3;
91 dm4FileRootTagDirectory RootTag4;
102 /* prototype begin */
105 extern void dmFileInfo(FILE* fpt, dmFile dm, int mode);
108 extern void dmFileRead(FILE* fpt, dmFile* dm, char* message, int mode);
117 #endif /* DMFILE_H */