Information from source codes



dmFile.h

/*
# dmFile.h : $Revision$  
# $Date$ 
# Created by $Author$
# Usage : dmFile.h 
# Attention
#   $Loccker$
#  	$State$ 
#
*/
/* $Log$ */
#ifndef DMFILE_H 
#define DMFILE_H 

#include 

/* constant begin */


/* constant end */

/* struct begin */

typedef __int64_t dmFileInteger8; 
typedef __int32_t dmFileInteger4; 
typedef __int16_t dmFileInteger2; 
typedef __int8_t  dmFileInteger1; 

typedef enum dmFileTagDataType {
	dmFileTagDataTypeShort=2,
	dmFileTagDataTypeLong =3,
	dmFileTagDataTypeUShort =4,
} dmFileTagDataType;

typedef struct dm3FileHeader {
	dmFileInteger4 version;
	dmFileInteger4 rootLength;
	dmFileInteger4 byteOrder;
} dm3FileHeader;

typedef struct dm4FileHeader {
	dmFileInteger4 version;
	dmFileInteger8 rootLength;
	dmFileInteger4 byteOrder;
} dm4FileHeader;

typedef struct dm3FileTagDirectrory {
	dmFileInteger1 tagID;
	dmFileInteger2 tagNameLength; // Bytes
	char*          tagName;
	dmFileInteger8 tagDataSize;   // Bytes
} dm3FileTagDirectrory;

typedef struct dm4FileTagDirectrory {
	dmFileInteger1 tagID;
	dmFileInteger2 tagNameLength; // Bytes
	char*          tagName;
	dmFileInteger8 tagDataSize;   // Bytes
} dm4FileTagDirectrory;

typedef struct dm3FileRootTagDirectory {
	dmFileInteger1 sortf;
	dmFileInteger1 closef;
	dmFileInteger4 numberOfTags;
} dm3FileRootTagDirectory;

typedef struct dm4FileRootTagDirectory {
	dmFileInteger1 sortf;
	dmFileInteger1 closef;
	dmFileInteger8 numberOfTags;
} dm4FileRootTagDirectory;

typedef struct dmFile {
	// Header
	dmFileInteger4 version;
	dm3FileHeader Header3;
	dm4FileHeader Header4;
	// Root Tag
	dm3FileRootTagDirectory RootTag3;
	dm4FileRootTagDirectory RootTag4;

	dmFileInteger8 Tail;
} dmFile;

/* struct end */

#ifdef __cplusplus
extern "C" {
#endif

/* prototype begin */

// in dfFileInfo.c
extern void dmFileInfo(FILE* fpt, dmFile dm, int mode);

// in dmFileRead.c
extern void dmFileRead(FILE* fpt, dmFile* dm, char* message, int mode);


/* prototype end */

#ifdef __cplusplus
};
#endif

#endif  /* DMFILE_H */