ulog_be.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2021-01-07 ChenYong first version
  9. * 2021-12-20 armink add multi-instance version
  10. */
  11. #ifndef _ULOG_BE_H_
  12. #define _ULOG_BE_H_
  13. #include <ulog.h>
  14. #ifndef ULOG_FILE_PATH_LEN
  15. #define ULOG_FILE_PATH_LEN 128
  16. #endif
  17. struct ulog_file_be
  18. {
  19. struct ulog_backend parent;
  20. int cur_log_file_fd;
  21. rt_size_t file_max_num;
  22. rt_size_t file_max_size;
  23. rt_size_t buf_size;
  24. rt_bool_t enable;
  25. rt_uint8_t *file_buf;
  26. rt_uint8_t *buf_ptr_now;
  27. char cur_log_file_path[ULOG_FILE_PATH_LEN];
  28. char cur_log_dir_path[ULOG_FILE_PATH_LEN];
  29. };
  30. /* ulog file backend api */
  31. int ulog_file_backend_init(struct ulog_file_be *be, const char *name, const char *dir_path, rt_size_t max_num,
  32. rt_size_t max_size, rt_size_t buf_size);
  33. int ulog_file_backend_deinit(struct ulog_file_be *be);
  34. void ulog_file_backend_enable(struct ulog_file_be *be);
  35. void ulog_file_backend_disable(struct ulog_file_be *be);
  36. #endif /* _ULOG_BE_H_ */