tbox_logd IPC 协议
More...
#include <stddef.h>
#include <stdint.h>
Go to the source code of this file.
|
|
#define | TBOX_LOG_PROTOCOL_MAGIC 0x544C4F47u |
|
#define | TBOX_LOG_PROTOCOL_VERSION 2u |
|
#define | TBOX_LOG_MAX_TEXT_LEN 1023u |
|
#define | TBOX_LOG_MAX_PACKET_SIZE 1200u |
|
| enum | tbox_log_msg_type_t {
TBOX_LOG_MSG_WRITE = 1
, TBOX_LOG_MSG_SET_LEVEL = 2
, TBOX_LOG_MSG_GET_LEVEL = 3
, TBOX_LOG_MSG_PING = 4
,
TBOX_LOG_MSG_ACK = 5
, TBOX_LOG_MSG_HEX = 6
, TBOX_LOG_MSG_SET_ENCRYPT = 7
} |
|
| 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) |
| | 打包日志写入消息。
|
| 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_level (void *buffer, size_t buffer_size, uint16_t id, uint8_t level, size_t *packed_size) |
| | 打包设置日志级别消息。
|
| 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_encrypt (void *buffer, size_t buffer_size, uint8_t enabled, size_t *packed_size) |
| | 打包设置日志加密开关消息。
|
| 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_validate (const void *buffer, size_t buffer_size, tbox_log_message_view_t *view) |
| | 校验并解析协议消息。
|
| int | tbox_log_protocol_read_write (const tbox_log_message_view_t *view, tbox_log_write_view_t *write_view) |
| | 解析日志写入消息体。
|
| int | tbox_log_protocol_read_hex (const tbox_log_message_view_t *view, tbox_log_hex_view_t *hex_view) |
| | 解析二进制 hex 日志消息体。
|
tbox_logd IPC 协议
- Version
- 1.0.0
- Date
- 2026-06-18
- Copyright
- Copyright © 2026 Shenzhen One IOT World Co., Ltd. All rights reserved.
◆ tbox_log_protocol_pack_ack()
| int tbox_log_protocol_pack_ack |
( |
void * | buffer, |
|
|
size_t | buffer_size, |
|
|
uint32_t | status, |
|
|
uint32_t | value, |
|
|
size_t * | packed_size ) |
打包 ACK 响应消息。
- Parameters
-
| buffer | 输出缓冲区。 |
| buffer_size | 输出缓冲区大小。 |
| status | 响应状态码。 |
| value | 响应附加值。 |
| packed_size | 实际打包长度。 |
- Returns
- 0 成功,其他 失败
◆ tbox_log_protocol_pack_get_level()
| int tbox_log_protocol_pack_get_level |
( |
void * | buffer, |
|
|
size_t | buffer_size, |
|
|
uint16_t | id, |
|
|
size_t * | packed_size ) |
打包获取日志级别消息。
- Parameters
-
| buffer | 输出缓冲区。 |
| buffer_size | 输出缓冲区大小。 |
| id | 日志 ID。 |
| packed_size | 实际打包长度。 |
- Returns
- 0 成功,其他 失败
◆ tbox_log_protocol_pack_hex()
| 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 日志消息。
- Parameters
-
| buffer | 输出缓冲区。 |
| buffer_size | 输出缓冲区大小。 |
| id | 日志 ID。 |
| level | 日志级别。 |
| ts_ms | 时间戳,单位毫秒。 |
| pid | 进程 ID。 |
| tid | 线程 ID。 |
| text | 附加说明信息,可为空。 |
| data | 原始二进制数据。 |
| data_len | 原始二进制数据长度。 |
| packed_size | 实际打包长度。 |
- Returns
- 0 成功,其他 失败
◆ tbox_log_protocol_pack_set_encrypt()
| int tbox_log_protocol_pack_set_encrypt |
( |
void * | buffer, |
|
|
size_t | buffer_size, |
|
|
uint8_t | enabled, |
|
|
size_t * | packed_size ) |
打包设置日志加密开关消息。
- Parameters
-
| buffer | 输出缓冲区。 |
| buffer_size | 输出缓冲区大小。 |
| enabled | 加密开关,仅允许 0 或 1。 |
| packed_size | 实际打包长度。 |
- Returns
- 0 成功,其他 失败
◆ tbox_log_protocol_pack_set_level()
| int tbox_log_protocol_pack_set_level |
( |
void * | buffer, |
|
|
size_t | buffer_size, |
|
|
uint16_t | id, |
|
|
uint8_t | level, |
|
|
size_t * | packed_size ) |
打包设置日志级别消息。
- Parameters
-
| buffer | 输出缓冲区。 |
| buffer_size | 输出缓冲区大小。 |
| id | 日志 ID。 |
| level | 目标日志级别。 |
| packed_size | 实际打包长度。 |
- Returns
- 0 成功,其他 失败
◆ tbox_log_protocol_pack_write()
| 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 ) |
打包日志写入消息。
- Parameters
-
| buffer | 输出缓冲区。 |
| buffer_size | 输出缓冲区大小。 |
| id | 日志 ID。 |
| level | 日志级别。 |
| ts_ms | 时间戳,单位毫秒。 |
| pid | 进程 ID。 |
| tid | 线程 ID。 |
| text | 日志正文。 |
| packed_size | 实际打包长度。 |
- Returns
- 0 成功,其他 失败
◆ tbox_log_protocol_read_hex()
解析二进制 hex 日志消息体。
- Parameters
-
| view | 已通过校验的消息视图。 |
| hex_view | hex 消息内容视图。 |
- Returns
- 0 成功,其他 失败
◆ tbox_log_protocol_read_write()
解析日志写入消息体。
- Parameters
-
| view | 已通过校验的消息视图。 |
| write_view | 写消息内容视图。 |
- Returns
- 0 成功,其他 失败
◆ tbox_log_protocol_validate()
校验并解析协议消息。
- Parameters
-
| buffer | 原始消息缓冲区。 |
| buffer_size | 原始消息长度。 |
| view | 解析后的消息视图。 |
- Returns
- 0 成功,其他 失败