mt_mt.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /*
  2. * mt.h
  3. *
  4. */
  5. #ifndef MT_H_
  6. #define MT_H_
  7. #define WRITEITEMTOFILE 1
  8. #define LINEMAX 256
  9. #define TABLENAMELEN 12
  10. #define MODELNAMELEN 16
  11. #define ITEMNAMELEN 16
  12. #define MODELNUMMAX 2
  13. #define SUBTABLEITEMMAX 3
  14. #define MAXBINSIZE 8*1024
  15. #define MAXMULTITABLEBINSIZE 8*1024
  16. typedef struct _Item_t
  17. {
  18. char name[ITEMNAMELEN+1];
  19. char *filepath;
  20. unsigned int offset;
  21. unsigned int size;
  22. unsigned char *pData;
  23. unsigned int dummyByteNums; //for 4 bytes data alignment;
  24. }Item_t;
  25. typedef struct _SubTable_t
  26. {
  27. char modelName[MODELNAMELEN+1];
  28. unsigned int subTableSize;
  29. unsigned int currTableStartOffset;
  30. unsigned int itemNum;
  31. unsigned int subTableNo;
  32. Item_t *itemList[SUBTABLEITEMMAX];
  33. unsigned int checksum;
  34. unsigned char *pData;
  35. }SubTable_t;
  36. typedef struct _MultiTable_t
  37. {
  38. char name[TABLENAMELEN+1];
  39. char defaultModelName[MODELNAMELEN+1];
  40. unsigned int totalSize;
  41. unsigned int tableChecksum;
  42. unsigned int subTableOffset[MODELNUMMAX];
  43. int modelNum;
  44. SubTable_t *modelList[MODELNUMMAX];
  45. unsigned char *pData;
  46. }MultiTable_t;
  47. int parseItem(Item_t *pItem);
  48. int parseSubTable(SubTable_t *pSubTable);
  49. MultiTable_t *ParseMultiTableINI(char *filename);
  50. int writeOutputBuf(void *pData, unsigned int size, unsigned char **pOutBuf, FILE *fp);
  51. int writeTempBuf(void *pData, unsigned int size, unsigned char **pOutBuf);
  52. int writeMultiTable(MultiTable_t *pMTab, char *outputFilename);
  53. int writeMultiTableFlag(MultiTable_t *pMTab, char *outputFilename);
  54. void ReleaseSubTableItem(Item_t *pItem);
  55. void ReleaseSubTable(SubTable_t *pSubTable);
  56. void ReleaseMultiTable(MultiTable_t *pMT);
  57. unsigned int CalCulate_XOR_CheckSum(void *pBuffer, unsigned int size);
  58. #endif /* MT_H_ */