1 /*
2  * Copyright (C) 2015-2018 Alibaba Group Holding Limited
3  */
4 
5 #ifndef _DM_IPC_H_
6 #define _DM_IPC_H_
7 
8 #include "iotx_dm_internal.h"
9 
10 typedef struct {
11     iotx_dm_event_types_t type;
12     char *data;
13 } dm_ipc_msg_t;
14 
15 typedef struct {
16     void *data;
17     struct list_head linked_list;
18 } dm_ipc_msg_node_t;
19 
20 typedef struct {
21     int max_size;
22     int size;
23     struct list_head message_list;
24 } dm_ipc_msg_list_t;
25 
26 typedef struct {
27     void *mutex;
28     dm_ipc_msg_list_t msg_list;
29 } dm_ipc_t;
30 
31 int dm_ipc_init(int max_size);
32 void dm_ipc_deinit(void);
33 int dm_ipc_msg_insert(void *data);
34 int dm_ipc_msg_next(void **data);
35 
36 #endif
37