history_file.h 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  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. {
  85. int file_name; // 文件名称
  86. unsigned int file_size; // 文件大小
  87. struct timespec file_time; // 文件时间
  88. char name[64]; // 文件名称
  89. };
  90. // 目录文件数据结构
  91. struct dir_file_ext_struct
  92. {
  93. char file_name[64]; // 文件名称
  94. unsigned int file_size; // 文件大小
  95. struct timespec file_time; // 文件时间
  96. };
  97. /******************************************************************************
  98. 函数名称: hf_get_dir_file
  99. 函数版本: 01.01
  100. 创建作者:
  101. 创建日期: 2016-08-09
  102. 函数说明: 获取目录文件.
  103. 参数说明:
  104. dir: 目录
  105. p_file_cnt: 返回的文件个数
  106. 返回值: 如果获取成功,则得到*p_file_cnt 个struct dir_file_struct 的指针。使用完毕应当释放内存。
  107. 如果获取失败,则返回NULL.
  108. 修改记录:
  109. */
  110. struct dir_file_struct *hf_get_dir_file(char *dir, int *p_file_cnt);
  111. /******************************************************************************
  112. 函数名称: hf_get_file_part
  113. 函数版本: 01.01
  114. 创建作者:
  115. 创建日期: 2016-08-09
  116. 函数说明: 获取特定目录下某个文件节的信息
  117. 参数说明:
  118. dir: 目录
  119. file_name: 文件名
  120. part: 节名
  121. part_len: 节长度
  122. 返回值: 如果获取成功,则得到节内容和节长度
  123. 如果获取失败,则返回NULL.
  124. 修改记录:
  125. */
  126. char *hf_get_file_part(char *dir, int file_name, int part, int *part_len);
  127. /******************************************************************************
  128. 函数名称: hf_get_file_inf
  129. 函数版本: 01.01
  130. 创建作者:
  131. 创建日期: 2016-08-09
  132. 函数说明: 获取目录文件.
  133. 参数说明:
  134. dir: 目录
  135. file_name: 文件名
  136. partnum: 节个数
  137. 返回值: 如果获取成功,则返回 文件长度、节个数
  138. 如果获取失败,则返回NULL.
  139. 修改记录:
  140. */
  141. int hf_get_file_inf(char *dir, int file_name, int *partnum);
  142. /******************************************************************************
  143. 函数名称: hf_get_dir_file_ext
  144. 函数版本: 01.01
  145. 创建作者:
  146. 创建日期: 2016-08-09
  147. 函数说明: 获取目录文件.
  148. 参数说明:
  149. dir: 目录
  150. p_file_cnt: 返回的文件个数
  151. tmpfile: 指定一个临时文件
  152. 返回值: 如果获取成功,则得到*p_file_cnt 个struct dir_file_ext_struct 的指针。使用完毕应当释放内存。
  153. 如果获取失败,则返回NULL.
  154. 修改记录:
  155. */
  156. struct dir_file_ext_struct *hf_get_dir_file_ext(char *dir, int *p_file_cnt, char *tmpfile);
  157. char *hf_get_file_inf_n(char *file_name, uint32_t *id, int *filelenth);
  158. 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);
  159. int hf_init(void);
  160. int hf_exit(void);
  161. #endif