Wirepas SDK
shared_data.h
Go to the documentation of this file.
1 /* Copyright 2019 Wirepas Ltd. All Rights Reserved.
2  *
3  * See file LICENSE.txt for full license details.
4  *
5  */
6 
26 #ifndef _SHARED_DATA_H_
27 #define _SHARED_DATA_H_
28 
29 #include <stdint.h>
30 #include "api.h"
31 #include "sl_list.h"
32 
34 #define SHARED_DATA_UNUSED_ENDPOINT -1
35 
37 #define SHARED_DATA_UNUSED_MULTISCAST 0xFFFFFFFF
38 
40 typedef enum
41 {
51 
53 typedef struct
54 {
60  int16_t src_endpoint;
64  int16_t dest_endpoint;
74 
78 typedef struct shared_data_item_s shared_data_item_t;
79 
96  (*shared_data_received_cb_f)(const shared_data_item_t * item,
97  const app_lib_data_received_t * data);
98 
105 {
107  void * reserved;
109  bool reserved2;
114 };
115 
129 
138 app_res_e Shared_Data_addDataReceivedCb(shared_data_item_t * item);
139 
146 void Shared_Data_removeDataReceivedCb(shared_data_item_t * item);
147 
166  app_lib_data_to_send_t * data,
168 
169 #endif //_SHARED_DATA_H_
shared_data_net_mode_e
shared_data_net_mode_e
Select what type of packet to receive.
Definition: shared_data.h:40
app_lib_data_to_send_t
A struct for lib_data->sendData().
Definition: data.h:288
shared_data_received_cb_f
app_lib_data_receive_res_e(* shared_data_received_cb_f)(const shared_data_item_t *item, const app_lib_data_received_t *data)
The data reception callback.
Definition: shared_data.h:96
Shared_Data_addDataReceivedCb
app_res_e Shared_Data_addDataReceivedCb(shared_data_item_t *item)
Add a new packet received item to the list. If the item is already in the list it is only updated.
shared_data_filter_t::src_endpoint
int16_t src_endpoint
Definition: shared_data.h:60
app_lib_data_send_res_e
app_lib_data_send_res_e
A result code returned from lib_data->sendData().
Definition: data.h:140
shared_data_filter_t::mode
shared_data_net_mode_e mode
Definition: shared_data.h:56
Shared_Data_removeDataReceivedCb
void Shared_Data_removeDataReceivedCb(shared_data_item_t *item)
Remove a received packet item from the list. Removed item fields are all set to 0.
shared_data_filter_t
Structure holding all parameters for packet filtering.
Definition: shared_data.h:53
SHARED_DATA_NET_MODE_ALL
@ SHARED_DATA_NET_MODE_ALL
Definition: shared_data.h:49
shared_data_filter_t::multicast_cb
app_lib_settings_is_group_cb_f multicast_cb
Definition: shared_data.h:72
shared_data_item_s::cb
shared_data_received_cb_f cb
Definition: shared_data.h:111
shared_data_filter_t::dest_endpoint
int16_t dest_endpoint
Definition: shared_data.h:64
shared_data_item_s
Item containing filters and callback to call. This structure describe a callback to call when a packe...
Definition: shared_data.h:104
SHARED_DATA_NET_MODE_MULTICAST
@ SHARED_DATA_NET_MODE_MULTICAST
Definition: shared_data.h:47
app_lib_data_receive_res_e
app_lib_data_receive_res_e
Return value of data reception callback.
Definition: data.h:184
app_lib_settings_is_group_cb_f
bool(* app_lib_settings_is_group_cb_f)(app_addr_t group_addr)
Callback used for determining on which multicast groups the device belongs.
Definition: settings.h:205
Shared_Data_init
app_res_e Shared_Data_init(void)
Initialize the shared data library.
shared_data_item_s::filter
shared_data_filter_t filter
Definition: shared_data.h:113
shared_data_item_s::reserved2
bool reserved2
Definition: shared_data.h:109
Shared_Data_sendData
app_lib_data_send_res_e Shared_Data_sendData(app_lib_data_to_send_t *data, app_lib_data_data_sent_cb_f sent_cb)
Send data. The packet to send is represented as a app_lib_data_to_send_t struct.
SHARED_DATA_NET_MODE_UNICAST
@ SHARED_DATA_NET_MODE_UNICAST
Definition: shared_data.h:43
shared_data_item_s::reserved
void * reserved
Definition: shared_data.h:107
SHARED_DATA_NET_MODE_BROADCAST
@ SHARED_DATA_NET_MODE_BROADCAST
Definition: shared_data.h:45
app_lib_data_received_t
Struct passed to data reception callback functions.
Definition: data.h:244
sl_list.h
app_res_e
app_res_e
Definition: app.h:201
app_lib_data_data_sent_cb_f
void(* app_lib_data_data_sent_cb_f)(const app_lib_data_sent_status_t *status)
Sent packet tracking callback.
Definition: data.h:374
api.h