| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- /*
- * mt.h
- *
- */
- #ifndef MT_H_
- #define MT_H_
- #define WRITEITEMTOFILE 1
- #define LINEMAX 256
- #define TABLENAMELEN 12
- #define MODELNAMELEN 16
- #define ITEMNAMELEN 16
- #define MODELNUMMAX 2
- #define SUBTABLEITEMMAX 3
- #define MAXBINSIZE 8*1024
- #define MAXMULTITABLEBINSIZE 8*1024
- typedef struct _Item_t
- {
- char name[ITEMNAMELEN+1];
- char *filepath;
- unsigned int offset;
- unsigned int size;
- unsigned char *pData;
- unsigned int dummyByteNums; //for 4 bytes data alignment;
- }Item_t;
- typedef struct _SubTable_t
- {
- char modelName[MODELNAMELEN+1];
- unsigned int subTableSize;
- unsigned int currTableStartOffset;
- unsigned int itemNum;
- unsigned int subTableNo;
- Item_t *itemList[SUBTABLEITEMMAX];
- unsigned int checksum;
- unsigned char *pData;
- }SubTable_t;
- typedef struct _MultiTable_t
- {
- char name[TABLENAMELEN+1];
- char defaultModelName[MODELNAMELEN+1];
- unsigned int totalSize;
- unsigned int tableChecksum;
- unsigned int subTableOffset[MODELNUMMAX];
- int modelNum;
- SubTable_t *modelList[MODELNUMMAX];
- unsigned char *pData;
- }MultiTable_t;
- int parseItem(Item_t *pItem);
- int parseSubTable(SubTable_t *pSubTable);
- MultiTable_t *ParseMultiTableINI(char *filename);
- int writeOutputBuf(void *pData, unsigned int size, unsigned char **pOutBuf, FILE *fp);
- int writeTempBuf(void *pData, unsigned int size, unsigned char **pOutBuf);
- int writeMultiTable(MultiTable_t *pMTab, char *outputFilename);
- int writeMultiTableFlag(MultiTable_t *pMTab, char *outputFilename);
- void ReleaseSubTableItem(Item_t *pItem);
- void ReleaseSubTable(SubTable_t *pSubTable);
- void ReleaseMultiTable(MultiTable_t *pMT);
- unsigned int CalCulate_XOR_CheckSum(void *pBuffer, unsigned int size);
- #endif /* MT_H_ */
|