11#ifndef ZEPHYR_MODEM_PIPELINK_
12#define ZEPHYR_MODEM_PIPELINK_
55struct modem_pipelink {
56 struct modem_pipe *pipe;
100void modem_pipelink_init(
struct modem_pipelink *link,
struct modem_pipe *pipe);
103void modem_pipelink_notify_connected(
struct modem_pipelink *link);
106void modem_pipelink_notify_disconnected(
struct modem_pipelink *link);
117#define MODEM_PIPELINK_DT_SYM(node_id, name) \
118 _CONCAT_4(__modem_pipelink_, DT_DEP_ORD(node_id), _, name)
127#define MODEM_PIPELINK_DT_DECLARE(node_id, name) \
128 extern struct modem_pipelink MODEM_PIPELINK_DT_SYM(node_id, name)
135#define MODEM_PIPELINK_DT_DEFINE(node_id, name) \
136 struct modem_pipelink MODEM_PIPELINK_DT_SYM(node_id, name)
143#define MODEM_PIPELINK_DT_GET(node_id, name) \
144 (&MODEM_PIPELINK_DT_SYM(node_id, name))
153#define MODEM_PIPELINK_DT_INST_DECLARE(inst, name) \
154 MODEM_PIPELINK_DT_DECLARE(DT_DRV_INST(inst), name)
156#define MODEM_PIPELINK_DT_INST_DEFINE(inst, name) \
157 MODEM_PIPELINK_DT_DEFINE(DT_DRV_INST(inst), name)
159#define MODEM_PIPELINK_DT_INST_GET(inst, name) \
160 MODEM_PIPELINK_DT_GET(DT_DRV_INST(inst), name)
modem_pipelink_event
Pipelink event.
Definition pipelink.h:28
void(* modem_pipelink_callback)(struct modem_pipelink *link, enum modem_pipelink_event event, void *user_data)
Pipelink callback definition.
Definition pipelink.h:48
void modem_pipelink_release(struct modem_pipelink *link)
Clear callback.
bool modem_pipelink_is_connected(struct modem_pipelink *link)
Check whether pipelink pipe is connected.
void modem_pipelink_attach(struct modem_pipelink *link, modem_pipelink_callback callback, void *user_data)
Attach callback to pipelink.
struct modem_pipe * modem_pipelink_get_pipe(struct modem_pipelink *link)
Get pipe from pipelink.
@ MODEM_PIPELINK_EVENT_CONNECTED
Modem pipe has been connected and can be opened.
Definition pipelink.h:30
@ MODEM_PIPELINK_EVENT_DISCONNECTED
Modem pipe has been disconnected and can't be opened.
Definition pipelink.h:32
Kernel Spin Lock.
Definition spinlock.h:45