Lines Matching +full:instance +full:- +full:id

4  * SPDX-License-Identifier: Apache-2.0
20 * @brief Multi-endpoint extension of icmsg IPC library
21 * @defgroup ipc_icmsg_me_api Icmsg multi-endpoint IPC library API
27 /* If more bytes than 1 was used for endpoint id, endianness should be
45 /** @brief Initialize an icmsg_me instance
48 * It initializes the underlying icmsg instance as one of the initialization
52 * underlying icmsg instance being created.
53 * @param[inout] data Structure containing run-time data used by the icmsg_me
54 * instance. The structure shall be filled with zeros
56 * structure must be preserved while the icmsg_me instance
65 /** @brief Open an icmsg_me instance
67 * Open an icmsg_me instance to be able to send and receive messages to a
68 * remote instance.
69 * This function is blocking until the handshake with the remote instance is
73 * remote instance is being pefromed.
76 * underlying icmsg instance.
77 * @param[inout] data Structure containing run-time data used by the icmsg_me
78 * instance. The structure is initialized with
80 * while the icmsg_me instance is active.
82 * events generated by this icmsg_me instance. The pointed memory
83 * must be preserved while the icmsg_me instance is active.
95 /** @brief Wait until the underlying icmsg instance calls bound callback
105 * @param[inout] data Structure containing run-time data used by the icmsg_me
106 * instance. The structure is initialized with
108 * while the icmsg_me instance is active.
112 /** @brief Notify the icmsg_me instance that the underlying icmsg was bound
115 * called by the underlying icmsg instance. One of the actions of the bound
118 * @param[inout] data Structure containing run-time data used by the icmsg_me
119 * instance. The structure is initialized with
121 * while the icmsg_me instance is active.
125 /** @brief Notify the icmsg_me instance that data for an endpoint was received
128 * called by the underlying icmsg instance. If the data received by the icmsg
129 * instance contains data frame destined to one of the endpoints, this
132 * @param[inout] data Structure containing run-time data used by the icmsg_me
133 * instance. The structure is initialized with
135 * while the icmsg_me instance is active.
136 * @param[in] id The value identifyig the endpoint.
138 * multi-endpoint header.
141 void icmsg_me_received_data(struct icmsg_me_data_t *data, icmsg_me_ept_id_t id,
146 * During endpoint handshake the handshake initiator must select an id number
149 * in an empty configuration slot and provides the unique id value associated
152 * @note This function is not reentrant for a single icmsg_me instance.
156 * protection scope might be limited to a single instance.
158 * @param[inout] data Structure containing run-time data used by the icmsg_me
159 * instance. The structure is initialized with
161 * while the icmsg_me instance is active.
164 * @param[out] id The value uniquely identifyig this endpoint.
167 * @retval -ENOMEM when there are no more empty endpoint configuration slots.
171 icmsg_me_ept_id_t *id);
175 * During endpoint handshake the handshake follower must store endpoint id and
178 * associated with the id of the endpoint.
180 * @param[inout] data Structure containing run-time data used by the icmsg_me
181 * instance. The structure is initialized with
183 * while the icmsg_me instance is active.
184 * @param[in] id The value uniquely identifyig this endpoint.
189 * @retval -ENOENT when @p id is out of range of available slots.
191 int icmsg_me_set_ept_cfg(struct icmsg_me_data_t *data, icmsg_me_ept_id_t id,
196 * When the icmsg_me instance receives data from a remote endpoint, it must
197 * get the endpoint configuration based on the id of the endpoint. This
202 * @param[inout] data Structure containing run-time data used by the icmsg_me
203 * instance. The structure is initialized with
205 * while the icmsg_me instance is active.
206 * @param[in] id The value uniquely identifyig endpoint.
207 * @param[in] ept_cfg Configuration data of the endpoint with given id.
210 * @retval -ENOENT when @p id is out of range of available slots.
212 int icmsg_me_get_ept_cfg(struct icmsg_me_data_t *data, icmsg_me_ept_id_t id,
221 * @param[inout] data Structure containing run-time data used by the icmsg_me
222 * instance. The structure is initialized with
224 * while the icmsg_me instance is active.
225 * @param[in] id The value uniquely identifyig endpoint.
227 void icmsg_me_reset_ept_cfg(struct icmsg_me_data_t *data, icmsg_me_ept_id_t id);
232 * underlying icmsg instance.
233 * @param[inout] data Structure containing run-time data used by the icmsg_me
234 * instance. The structure is initialized with
236 * while the icmsg_me instance is active.
237 * @param[in] id Id of the endpoint to use.
243 * @retval -EBADMSG when the requested data to send is too big.
247 struct icmsg_me_data_t *data, icmsg_me_ept_id_t id,