log.h 1.9 KB

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