13#ifndef ZEPHYR_INCLUDE_LOGGING_LOG_MULTIDOMAIN_HELPER_H_
14#define ZEPHYR_INCLUDE_LOGGING_LOG_MULTIDOMAIN_HELPER_H_
36#define Z_LOG_MULTIDOMAIN_ID_MSG 0
39#define Z_LOG_MULTIDOMAIN_ID_GET_DOMAIN_CNT 1
42#define Z_LOG_MULTIDOMAIN_ID_GET_SOURCE_CNT 2
45#define Z_LOG_MULTIDOMAIN_ID_GET_DOMAIN_NAME 3
48#define Z_LOG_MULTIDOMAIN_ID_GET_SOURCE_NAME 4
51#define Z_LOG_MULTIDOMAIN_ID_GET_LEVELS 5
54#define Z_LOG_MULTIDOMAIN_ID_SET_RUNTIME_LEVEL 6
57#define Z_LOG_MULTIDOMAIN_ID_DROPPED 7
60#define Z_LOG_MULTIDOMAIN_ID_READY 8
71#define Z_LOG_MULTIDOMAIN_STATUS_OK 0
73#define Z_LOG_MULTIDOMAIN_STATUS_ERR 1
234 const void *data,
size_t len);
257 const void *data,
size_t len);
void log_multidomain_backend_on_error(struct log_multidomain_backend *backend, int err)
Function called on error reported by transport layer.
void log_multidomain_backend_on_recv_cb(struct log_multidomain_backend *backend, const void *data, size_t len)
Function to be called when data is received from remote.
struct log_link_api log_multidomain_link_api
Remote link API.
void log_multidomain_link_on_recv_cb(struct log_multidomain_link *link, const void *data, size_t len)
Function to be called when data is received from remote.
const struct log_backend_api log_multidomain_backend_api
Remote backend API.
void log_multidomain_link_on_started(struct log_multidomain_link *link, int err)
Function called when connection with remote is established.
void log_multidomain_backend_on_started(struct log_multidomain_backend *backend, int err)
Function called when connection with remote is established.
void log_multidomain_link_on_error(struct log_multidomain_link *link, int err)
Function called on error reported by transport layer.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
Semaphore structure.
Definition kernel.h:3798
Logger backend API.
Definition log_backend.h:74
Log link API.
Definition log_link.h:64
Log link instance.
Definition log_link.h:97
Backend transport API.
Definition log_multidomain_helper.h:201
int(* send)(struct log_multidomain_backend *backend, void *data, size_t len)
Send a buffer to the remote link.
Definition log_multidomain_helper.h:205
int(* init)(struct log_multidomain_backend *backend)
Initialize the transport.
Definition log_multidomain_helper.h:203
Remote backend structure.
Definition log_multidomain_helper.h:212
const struct log_multidomain_backend_transport_api * transport_api
Transport operations.
Definition log_multidomain_helper.h:214
bool panic
Set when the backend is in panic mode.
Definition log_multidomain_helper.h:220
int status
Status of the last operation.
Definition log_multidomain_helper.h:222
struct k_sem rdy_sem
Semaphore signaled when the remote is ready.
Definition log_multidomain_helper.h:218
const struct log_backend * log_backend
Associated log backend instance.
Definition log_multidomain_helper.h:216
bool ready
Set once the backend is ready.
Definition log_multidomain_helper.h:224
Content of the domain count message.
Definition log_multidomain_helper.h:83
uint16_t count
Number of domains.
Definition log_multidomain_helper.h:84
Content of the domain name message.
Definition log_multidomain_helper.h:94
uint8_t domain_id
Domain ID.
Definition log_multidomain_helper.h:95
char name[]
Null-terminated domain name.
Definition log_multidomain_helper.h:96
Content of the message for getting amount of dropped messages.
Definition log_multidomain_helper.h:122
uint32_t dropped
Number of dropped messages.
Definition log_multidomain_helper.h:123
Content of the message for getting logging levels.
Definition log_multidomain_helper.h:107
uint16_t source_id
Source ID within the domain.
Definition log_multidomain_helper.h:109
uint8_t runtime_level
Run-time level.
Definition log_multidomain_helper.h:111
uint8_t domain_id
Domain ID.
Definition log_multidomain_helper.h:108
uint8_t level
Compile-time level.
Definition log_multidomain_helper.h:110
Structure with link transport API.
Definition log_multidomain_helper.h:149
int(* init)(struct log_multidomain_link *link)
Initialize the transport.
Definition log_multidomain_helper.h:151
int(* send)(struct log_multidomain_link *link, void *data, size_t len)
Send a buffer to the remote backend.
Definition log_multidomain_helper.h:153
Remote link structure.
Definition log_multidomain_helper.h:182
struct k_sem rdy_sem
Semaphore signaled when a response is ready.
Definition log_multidomain_helper.h:186
const struct log_link * link
Associated log link instance.
Definition log_multidomain_helper.h:188
const struct log_multidomain_link_transport_api * transport_api
Transport operations.
Definition log_multidomain_helper.h:184
union log_multidomain_link_dst dst
Storage for the latest response.
Definition log_multidomain_helper.h:190
bool ready
Set once the link is ready.
Definition log_multidomain_helper.h:194
int status
Status of the last operation.
Definition log_multidomain_helper.h:192
Content of the logging message.
Definition log_multidomain_helper.h:78
FLEXIBLE_ARRAY_DECLARE(uint8_t, data)
Serialized log message bytes.
Message.
Definition log_multidomain_helper.h:139
uint8_t status
Status code, see LOG_MULTIDOMAIN_STATUS.
Definition log_multidomain_helper.h:141
union log_multidomain_msg_data data
Message payload.
Definition log_multidomain_helper.h:142
uint8_t id
Message ID, see LOG_MULTIDOMAIN_HELPER_MESSAGE_IDS.
Definition log_multidomain_helper.h:140
Content of the message for setting logging level.
Definition log_multidomain_helper.h:115
uint16_t source_id
Source ID within the domain.
Definition log_multidomain_helper.h:117
uint8_t runtime_level
Run-time level to set.
Definition log_multidomain_helper.h:118
uint8_t domain_id
Domain ID.
Definition log_multidomain_helper.h:116
Content of the source count message.
Definition log_multidomain_helper.h:88
uint8_t domain_id
Domain ID the request applies to.
Definition log_multidomain_helper.h:89
uint16_t count
Number of sources in the domain.
Definition log_multidomain_helper.h:90
Content of the source name message.
Definition log_multidomain_helper.h:100
uint8_t domain_id
Domain ID.
Definition log_multidomain_helper.h:101
uint16_t source_id
Source ID within the domain.
Definition log_multidomain_helper.h:102
char name[]
Null-terminated source name.
Definition log_multidomain_helper.h:103
Union for holding data returned by associated remote backend.
Definition log_multidomain_helper.h:157
uint16_t count
Domain or source count.
Definition log_multidomain_helper.h:158
struct log_multidomain_link_dst::@127235117374217310346104107066053066244351003305 set_runtime_level
Result of a set-runtime-level request.
struct log_multidomain_link_dst::@234243244252140163276363275306313216117167240052 name
Destination buffer for a requested name.
size_t * len
In/out buffer length, updated with the name length.
Definition log_multidomain_helper.h:163
uint8_t level
Compile-time level.
Definition log_multidomain_helper.h:168
uint8_t runtime_level
Run-time level.
Definition log_multidomain_helper.h:169
struct log_multidomain_link_dst::@213350114355023147307064027147057335363265126025 levels
Returned level settings of a source.
char * dst
Output buffer for the name.
Definition log_multidomain_helper.h:162
Union with all message types.
Definition log_multidomain_helper.h:127
struct log_multidomain_source_cnt source_cnt
Source count payload.
Definition log_multidomain_helper.h:130
struct log_multidomain_log_msg log_msg
Log message payload.
Definition log_multidomain_helper.h:128
struct log_multidomain_domain_cnt domain_cnt
Domain count payload.
Definition log_multidomain_helper.h:129
struct log_multidomain_source_name source_name
Source name payload.
Definition log_multidomain_helper.h:132
struct log_multidomain_domain_name domain_name
Domain name payload.
Definition log_multidomain_helper.h:131
struct log_multidomain_dropped dropped
Dropped count payload.
Definition log_multidomain_helper.h:135
struct log_multidomain_levels levels
Levels payload.
Definition log_multidomain_helper.h:133
struct log_multidomain_set_runtime_level set_rt_level
Set-level payload.
Definition log_multidomain_helper.h:134