Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
log_multidomain_helper.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2022 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
12
13#ifndef ZEPHYR_INCLUDE_LOGGING_LOG_MULTIDOMAIN_HELPER_H_
14#define ZEPHYR_INCLUDE_LOGGING_LOG_MULTIDOMAIN_HELPER_H_
15
28
34
36#define Z_LOG_MULTIDOMAIN_ID_MSG 0
37
39#define Z_LOG_MULTIDOMAIN_ID_GET_DOMAIN_CNT 1
40
42#define Z_LOG_MULTIDOMAIN_ID_GET_SOURCE_CNT 2
43
45#define Z_LOG_MULTIDOMAIN_ID_GET_DOMAIN_NAME 3
46
48#define Z_LOG_MULTIDOMAIN_ID_GET_SOURCE_NAME 4
49
51#define Z_LOG_MULTIDOMAIN_ID_GET_LEVELS 5
52
54#define Z_LOG_MULTIDOMAIN_ID_SET_RUNTIME_LEVEL 6
55
57#define Z_LOG_MULTIDOMAIN_ID_DROPPED 7
58
60#define Z_LOG_MULTIDOMAIN_ID_READY 8
61
63
69
71#define Z_LOG_MULTIDOMAIN_STATUS_OK 0
73#define Z_LOG_MULTIDOMAIN_STATUS_ERR 1
74
76
81
86
92
98
105
113
120
125
137
144
147
151 int (*init)(struct log_multidomain_link *link);
153 int (*send)(struct log_multidomain_link *link, void *data, size_t len);
154};
155
159
161 struct {
162 char *dst;
163 size_t *len;
165
167 struct {
171
173 struct {
174 uint8_t level;
176};
177
180
196
199
203 int (*init)(struct log_multidomain_backend *backend);
205 int (*send)(struct log_multidomain_backend *backend, void *data, size_t len);
206};
207
210
226
234 const void *data, size_t len);
235
242
249
257 const void *data, size_t len);
258
265
272
274
275#endif /* ZEPHYR_INCLUDE_LOGGING_LOG_MULTIDOMAIN_HELPER_H_ */
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
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
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 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