history_file.h 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. /******************************************************************************
  2. 版权所有:
  3. 文件名称: history_file.h
  4. 文件版本: 01.01
  5. 创建作者:
  6. 创建日期: 2016-08-09
  7. 功能说明: 历史数据文件操作接口头文件
  8. 其它说明:
  9. 修改记录:
  10. */
  11. #ifndef _HISTORY_FILE_H
  12. #define _HISTORY_FILE_H
  13. #define HF_HISTORY_DIR "/app/HISTORY/"
  14. #define HF_SOE_101_DIR "/app/HISTORY/SOE/"
  15. #define HF_CO_101_DIR "/app/HISTORY/CO/"
  16. #define HF_EXV_101_DIR "/app/HISTORY/EXV/"
  17. #define HF_FIXPT_101_DIR "/app/HISTORY/FIXPT/"
  18. #define HF_FRZ_101_DIR "/app/HISTORY/FRZ/"
  19. #define HF_FLOWREV_101_DIR "/app/HISTORY/FLOWREV/"
  20. #define HF_LOG_101_DIR "/app/HISTORY/ULOG/"
  21. #ifdef HISTORY_EVENT_EXT
  22. #define HF_SOECOS_101_DIR "/app/HISTORY/SOECOS/"
  23. #endif
  24. #ifdef FUN_SYNC_FILE
  25. #define HF_FLASH_WAVE_DIR "/app/PRIVATE/rcd/"
  26. #define HF_FLASH_PRIVATE_DIR "/app/PRIVATE/"
  27. #define HF_FLASH_WAVE_JD_DIR "/app/PRIVATE/xx/"
  28. #define HF_TMP_WAVE_JD_DIR "/tmp/xx/"
  29. #define JD_RCD_MAX_FILES 64 //64个波形
  30. #endif
  31. #if defined DKY_GONGHUOJIAN || defined FUN_SYNC_FILE
  32. #define HF_WAVE_DIR "/tmp/COMTRADE/"
  33. #else
  34. #define HF_WAVE_DIR "/app/COMTRADE/"
  35. #endif
  36. #define HF_HISTORY_DB_INFO "/app/HIS_DB_INFO"
  37. #define LL_LINELOSS_DIR "/app/LINELOSS/"
  38. #define LL_FIXD_101_DIR "/app/LINELOSS/FIXD/"
  39. #define LL_RAND_101_DIR "/app/LINELOSS/RAND/"
  40. #define LL_FRZD_101_DIR "/app/LINELOSS/FRZD/"
  41. #define LL_SHARPD_101_DIR "/app/LINELOSS/SHARPD/"
  42. #define LL_MONTHD_101_DIR "/app/LINELOSS/MONTHD/"
  43. #define LL_EVENTD_101_DIR "/app/LINELOSS/EVENTD/"
  44. #define HF_SOE_FILENAME p_his_file[HS_FILE_SOE] //"soe.msg"
  45. #define HF_SOE_FILENAME_N 20
  46. #define HF_YK_FILENAME p_his_file[HS_FILE_CO] //"co.msg"
  47. #define HF_YK_FILENAME_N 21
  48. #ifdef HISTORY_EVENT_EXT
  49. #define HF_SOECOS_FILENAME p_his_file[HS_FILE_SOE_COS] //"soecos.msg"
  50. #define HF_SOECOS_FILENAME_N 23
  51. #endif
  52. #define HF_LOG_FILENAME p_his_file[HS_FILE_LOG]//"ulog.msg"
  53. #define HF_LOG_FILENAME_N 175
  54. #define HF_FIXPT_FILENAME p_his_file[HS_FILE_FIXPT]//"fixptXXXXXXXX.msg"
  55. #define HF_FIXPT_FILENAME_N 22 //
  56. #define HF_FIXPT_FILENAME_N_MAX 52
  57. #define HF_FIXPT_FILENAME_LEN 17 //文件名长度
  58. #define HF_EXV_FILENAME p_his_file[HS_FILE_EXV]///"exvXXXXXXXX.msg"
  59. #define HF_EXV_FILENAME_N 112
  60. #define HF_EXV_FILENAME_N_MAX 142
  61. #define HF_EXV_FILENAME_LEN 15 //文件名长度
  62. #define HF_FRZ_FILENAME p_his_file[HS_FILE_FRZ]//"frzXXXXXXXX.msg"
  63. #define HF_FRZ_FILENAME_N 143
  64. #define HF_FRZ_FILENAME_N_MAX 173
  65. #define HF_FRZ_FILENAME_LEN 15 //文件名长度
  66. #define HF_FLOWREV_FILENAME p_his_file[HS_FILE_FLOWREV]//"flowrev.msg"
  67. #define HF_FLOWREV_FILENAME_N 174
  68. #define HF_FLOWREV_FILENAME_LEN 11 //文件名长度
  69. #define HF_WAVE_FILENAME "_XXXXXXXX_XXXXXX_XXX.dat"
  70. #define HF_WAVE_FILENAME_N 0
  71. #define HF_SOE_101_TMP "/tmp/soe_101"
  72. #define HF_YK_101_TMP "/tmp/yk_101"
  73. #define HF_MAX_MIN_101_TMP "/tmp/max_min_101"
  74. #define HF_TIMED_101_TMP "/tmp/timed_101"
  75. #define HF_FRZ_101_TMP "/tmp/frz_101"
  76. #define HF_FLOWREV_101_TMP "/tmp/flowrev_101"
  77. #define HF_ULOG_101_TMP "/tmp/ulog_101"
  78. #define HF_WAVE_TMP "/tmp/wave_cfg_dat"
  79. #define HF_DEFAULT_PATH "/app/data/"
  80. //录波文件名长度
  81. #define HF_WAVE_FILE_LENGTH 28
  82. //目录文件数据结构
  83. struct dir_file_struct{
  84. int file_name; //文件名称
  85. unsigned int file_size; //文件大小
  86. struct timespec file_time; //文件时间
  87. char name[64]; //文件名称
  88. };
  89. //目录文件数据结构
  90. struct dir_file_ext_struct{
  91. char file_name[64]; //文件名称
  92. unsigned int file_size; //文件大小
  93. struct timespec file_time; //文件时间
  94. };
  95. /******************************************************************************
  96. 函数名称: hf_get_dir_file
  97. 函数版本: 01.01
  98. 创建作者:
  99. 创建日期: 2016-08-09
  100. 函数说明: 获取目录文件.
  101. 参数说明:
  102. dir: 目录
  103. p_file_cnt: 返回的文件个数
  104. 返回值: 如果获取成功,则得到*p_file_cnt 个struct dir_file_struct 的指针。使用完毕应当释放内存。
  105. 如果获取失败,则返回NULL.
  106. 修改记录:
  107. */
  108. struct dir_file_struct * hf_get_dir_file(char *dir, int *p_file_cnt);
  109. /******************************************************************************
  110. 函数名称: hf_get_file_part
  111. 函数版本: 01.01
  112. 创建作者:
  113. 创建日期: 2016-08-09
  114. 函数说明: 获取特定目录下某个文件节的信息
  115. 参数说明:
  116. dir: 目录
  117. file_name: 文件名
  118. part: 节名
  119. part_len: 节长度
  120. 返回值: 如果获取成功,则得到节内容和节长度
  121. 如果获取失败,则返回NULL.
  122. 修改记录:
  123. */
  124. char * hf_get_file_part(char *dir, int file_name, int part, int *part_len);
  125. /******************************************************************************
  126. 函数名称: hf_get_file_inf
  127. 函数版本: 01.01
  128. 创建作者:
  129. 创建日期: 2016-08-09
  130. 函数说明: 获取目录文件.
  131. 参数说明:
  132. dir: 目录
  133. file_name: 文件名
  134. partnum: 节个数
  135. 返回值: 如果获取成功,则返回 文件长度、节个数
  136. 如果获取失败,则返回NULL.
  137. 修改记录:
  138. */
  139. int hf_get_file_inf(char *dir, int file_name, int *partnum);
  140. /******************************************************************************
  141. 函数名称: hf_get_dir_file_ext
  142. 函数版本: 01.01
  143. 创建作者:
  144. 创建日期: 2016-08-09
  145. 函数说明: 获取目录文件.
  146. 参数说明:
  147. dir: 目录
  148. p_file_cnt: 返回的文件个数
  149. tmpfile: 指定一个临时文件
  150. 返回值: 如果获取成功,则得到*p_file_cnt 个struct dir_file_ext_struct 的指针。使用完毕应当释放内存。
  151. 如果获取失败,则返回NULL.
  152. 修改记录:
  153. */
  154. struct dir_file_ext_struct * hf_get_dir_file_ext(char *dir, int *p_file_cnt, char *tmpfile);
  155. char * hf_get_file_inf_n(char *file_name, uint32_t *id,int *filelenth);
  156. struct dir_file_struct * hf_get_dir_file_n(uint32_t id,char *dir, char cf,struct rtc_time_t *ts,struct rtc_time_t *te,int *p_file_cnt);
  157. int hf_init(void);
  158. int hf_exit(void);
  159. #endif