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