log.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef LOG_H
  2. #define LOG_H
  3. #include "main.h"
  4. #include "common_config.h"
  5. #define FILE_BUF_MAX_LEN 10*STRING_SIZE_HISTORY // Размер временного буфера для отправки/копирования Лог файла
  6. #define FILE_BUF_MAX_LEN_LOG 10*STRING_SIZE // Размер временного буфера для отправки/копирования Лог файла
  7. #define STRING_SIZE 64
  8. #define STRING_SIZE_HISTORY 100
  9. #define UPS_DATA_STRING_SIZE 47
  10. extern char logFileBuf[FILE_BUF_MAX_LEN];
  11. extern char name_login[50];
  12. typedef __packed struct {
  13. uint32_t timestamp;
  14. log_type_t type:8;
  15. char data[50];
  16. } log_entry_t;
  17. #define LOG_ENTRY_VERSION 1
  18. extern void log_init(bool format);
  19. extern int log_test(void);
  20. extern int log_append(log_entry_t *entry);
  21. extern int log_fetch(log_entry_t *entry, uint32_t timeout);
  22. extern int log_rewind(log_entry_t *entry, uint32_t timeout);
  23. extern int log_discard(log_entry_t *entry, uint32_t timeout);
  24. void log_add(char *log_data);
  25. void log_event_data(log_type_t type, char *data);
  26. /**
  27. * @brief Возвращает true если журнал проинициализирован
  28. */
  29. bool LOG_IsInit();
  30. /**
  31. * @brief Отключает журнал для безопасной перезагрузки
  32. */
  33. bool LOG_Disable(void);
  34. /**
  35. * @brief Возвращает общее количество страниц
  36. */
  37. uint32_t LOG_GetPageCount(void);
  38. uint32_t LOG_GetTotalSTRCount(void);
  39. void LOG_GetPage(char *str, uint32_t page);
  40. void LOG_GetPage_tabs(char *str, uint32_t page);
  41. uint32_t LOG_GetData(int ptr, char *str, uint32_t size, bool start);
  42. uint32_t History_GetPageCount(void);
  43. uint32_t History_GetTotalSTRCount(void);
  44. void History_GetPage(char *str, uint32_t page);
  45. uint32_t History_GetData(int ptr, char *str, uint32_t size, bool start);
  46. void History_GetPage_tabs(char *str, uint32_t page);
  47. #endif /* LOG_H */