T-Box Basic dev
Loading...
Searching...
No Matches
log_protocol.h
Go to the documentation of this file.
1
10
11#ifndef __TBOX_LOG_PROTOCOL_H__
12#define __TBOX_LOG_PROTOCOL_H__
13
14#include <stddef.h>
15#include <stdint.h>
16
17#define TBOX_LOG_PROTOCOL_MAGIC 0x544C4F47u
18#define TBOX_LOG_PROTOCOL_VERSION 2u
19#define TBOX_LOG_MAX_TEXT_LEN 1023u
20#define TBOX_LOG_MAX_PACKET_SIZE 1200u
21
22typedef enum
23{
24 TBOX_LOG_MSG_WRITE = 1,
25 TBOX_LOG_MSG_SET_LEVEL = 2,
26 TBOX_LOG_MSG_GET_LEVEL = 3,
27 TBOX_LOG_MSG_PING = 4,
28 TBOX_LOG_MSG_ACK = 5,
29 TBOX_LOG_MSG_HEX = 6,
30 TBOX_LOG_MSG_SET_ENCRYPT = 7,
31} tbox_log_msg_type_t;
32
33typedef struct
34{
35 uint32_t magic;
36 uint16_t version;
37 uint16_t type;
38 uint32_t length;
39 uint32_t flags;
41
42typedef struct
43{
44 uint64_t ts_ms;
45 uint32_t pid;
46 uint32_t tid;
47 uint16_t id;
48 uint8_t level;
49 uint8_t reserved;
50 uint16_t text_len;
52
53typedef struct
54{
55 uint64_t ts_ms;
56 uint32_t pid;
57 uint32_t tid;
58 uint16_t id;
59 uint8_t level;
60 uint8_t reserved;
61 uint16_t text_len;
62 uint16_t data_len;
64
65typedef struct
66{
67 uint16_t id;
68 uint8_t level;
69 uint8_t reserved;
70 uint32_t status;
72
73typedef struct
74{
75 uint8_t enabled;
76 uint8_t reserved[3];
78
79typedef struct
80{
81 uint32_t status;
82 uint32_t value;
84
85typedef struct
86{
88 const char* text;
90
91typedef struct
92{
94 const char* text;
95 const uint8_t* data;
97
98typedef struct
99{
100 const tbox_log_msg_header_t* header;
101 const void* body;
102 size_t body_len;
104
119int tbox_log_protocol_pack_write(void* buffer, size_t buffer_size, uint16_t id, uint8_t level, uint64_t ts_ms,
120 uint32_t pid, uint32_t tid, const char* text, size_t* packed_size);
121
138int tbox_log_protocol_pack_hex(void* buffer, size_t buffer_size, uint16_t id, uint8_t level, uint64_t ts_ms,
139 uint32_t pid, uint32_t tid, const char* text, const void* data, size_t data_len,
140 size_t* packed_size);
141
152int tbox_log_protocol_pack_set_level(void* buffer, size_t buffer_size, uint16_t id, uint8_t level, size_t* packed_size);
153
163int tbox_log_protocol_pack_get_level(void* buffer, size_t buffer_size, uint16_t id, size_t* packed_size);
164
174int tbox_log_protocol_pack_set_encrypt(void* buffer, size_t buffer_size, uint8_t enabled, size_t* packed_size);
175
186int tbox_log_protocol_pack_ack(void* buffer, size_t buffer_size, uint32_t status, uint32_t value, size_t* packed_size);
187
196int tbox_log_protocol_validate(const void* buffer, size_t buffer_size, tbox_log_message_view_t* view);
197
206
215
216#endif /* __TBOX_LOG_PROTOCOL_H__ */
int tbox_log_protocol_pack_get_level(void *buffer, size_t buffer_size, uint16_t id, size_t *packed_size)
打包获取日志级别消息。
int tbox_log_protocol_pack_set_level(void *buffer, size_t buffer_size, uint16_t id, uint8_t level, size_t *packed_size)
打包设置日志级别消息。
int tbox_log_protocol_pack_hex(void *buffer, size_t buffer_size, uint16_t id, uint8_t level, uint64_t ts_ms, uint32_t pid, uint32_t tid, const char *text, const void *data, size_t data_len, size_t *packed_size)
打包二进制 hex 日志消息。
int tbox_log_protocol_pack_set_encrypt(void *buffer, size_t buffer_size, uint8_t enabled, size_t *packed_size)
打包设置日志加密开关消息。
int tbox_log_protocol_validate(const void *buffer, size_t buffer_size, tbox_log_message_view_t *view)
校验并解析协议消息。
int tbox_log_protocol_read_hex(const tbox_log_message_view_t *view, tbox_log_hex_view_t *hex_view)
解析二进制 hex 日志消息体。
int tbox_log_protocol_read_write(const tbox_log_message_view_t *view, tbox_log_write_view_t *write_view)
解析日志写入消息体。
int tbox_log_protocol_pack_ack(void *buffer, size_t buffer_size, uint32_t status, uint32_t value, size_t *packed_size)
打包 ACK 响应消息。
int tbox_log_protocol_pack_write(void *buffer, size_t buffer_size, uint16_t id, uint8_t level, uint64_t ts_ms, uint32_t pid, uint32_t tid, const char *text, size_t *packed_size)
打包日志写入消息。
Definition log_protocol.h:80
Definition log_protocol.h:74
Definition log_protocol.h:54
Definition log_protocol.h:92
Definition log_protocol.h:66
Definition log_protocol.h:99
Definition log_protocol.h:34
Definition log_protocol.h:43
Definition log_protocol.h:86