kb_dc_fileproc.h
上传用户:fy98168
上传日期:2015-06-26
资源大小:13771k
文件大小:2k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef KB_DC_FILEPROC_H
  2. #define KB_DC_FILEPROC_H
  3. #include "kb_dc_osp.h"
  4. #define KB_DCFILE_NAME_MAX_LEN 60
  5. #define KB_DCFILE_MODULE_MAX_NUM 100
  6. #define FILLED  0x01
  7. #define EMPTY   0x00
  8. // 存放dii结构等数据
  9. typedef struct{
  10. unsigned short pid;
  11. unsigned char *diiSection;
  12. int blockSize;
  13. int numberOfModules;  // mudule number
  14. }DCDIR,*pDCDIR;
  15. typedef struct{
  16. BOOL valid;
  17.        unsigned short modID;
  18. unsigned int moduleSize;
  19. unsigned char moduleVersion;
  20. unsigned char fileName[KB_DCFILE_NAME_MAX_LEN];
  21. }DCModuleInfoArray;
  22. typedef struct{
  23. unsigned short modNum;
  24. DCModuleInfoArray *modInf;
  25. }DCMODULEINFO;
  26. typedef struct
  27. {
  28. int blockCount;
  29. unsigned char  *blockStat;  /*:0 empty, 1 filled*/
  30. }DCBLOCKBUFSTATUS;
  31. typedef struct
  32. {
  33. int modcount;   /* module 个数*/
  34. DCBLOCKBUFSTATUS *modStat;   
  35. }DCMODBUFSTATUS;
  36. // 单个文件(module)结构
  37. typedef struct
  38. {
  39. long position;
  40. int fileLength;
  41. unsigned char fileName[KB_DCFILE_NAME_MAX_LEN];
  42. unsigned char *section;
  43. DCMODBUFSTATUS BufStatus;      /*用来标识每个block是否添满*/
  44. }DCFILE,*pDCFILE;
  45. // 存放配置文件收取结构
  46. typedef struct{
  47. int espid;
  48. pDCDIR cfg_dir;
  49. pDCFILE cfg_file;
  50. }DC_CFGFILE,*pDC_CFGFILE;
  51. // function defination
  52. extern unsigned short Get_firstModID_ByName(char *name);
  53. extern unsigned int  DclsEof(DCFILE *file);
  54. extern void DcCloseFile(DCFILE *file);
  55. extern void DcCloseDirectory(DCDIR *dir);
  56. extern long DcReadFile(void *buf,int len,DCFILE *file);
  57. extern DCFILE* DcOpenFile(DCDIR* dir,const char* fileName);
  58. extern DCDIR* OpenDirectory(unsigned char *pData,int len);
  59. extern void InitFileStruct(DCFILE *file);
  60. extern int InitFileModuleInfo(unsigned short modCount);
  61. extern void FreeModuleInfo(void);
  62. extern unsigned int DCGetModSizeByIdSec(int index);
  63. extern unsigned int DCGetModSizeByModuleId(int modId);
  64. extern void FreeDCDIR(void);
  65. extern void FreeDCFILE(void);
  66. extern void FreeOneDCFILE(DCFILE *pfile);
  67. extern int DCGetModNumByFile(DCFILE *file);
  68. extern unsigned char kb_dc_GetCurCfgVer(void);
  69. extern BOOL kb_dc_CfgVerCheck(unsigned char *cfg_name, unsigned char type);
  70. extern unsigned char * kb_dc_GetCurCfgName(void);
  71. extern int kb_dc_SaveServCfgVersion( char *cfg_name);
  72. extern void kb_dc_SaveCurCfgName(unsigned char *name);
  73. extern void kb_dc_moduleInfo_Test(void);
  74. extern void kb_dc_CfgVerSaveTest(void);
  75. extern int kb_dc_bufferStatusBuild(DCFILE *pfile, int blocksCnt);
  76. extern unsigned char kb_dc_moduleIsEnd(DCFILE*pfile, unsigned short  index);
  77. #endif