1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#ifndef __CONN_MD_H_
#define __CONN_MD_H_
#include "conn_md_exp.h"
#include "conn_md_dump.h"
/*-----------------------Data Structure Definition-----------------------*/
typedef enum {
USER_MIN,
USER_REGED,
USER_ENABLED,
USER_DISABLED,
USER_UNREGED,
USER_MAX,
} USER_STATE;
typedef struct _CONN_MD_USER_ {
uint32 u_id;
USER_STATE state;
CONN_MD_BRIDGE_OPS ops;
struct list_head entry;
} CONN_MD_USER, *P_CONN_MD_USER;
typedef struct _CONN_MD_MSG_ {
ipc_ilm_t ilm;
struct list_head entry;
local_para_struct local_para;
} CONN_MD_MSG, *P_CONN_MD_MSG;
typedef struct _CONN_MD_QUEUE_ {
struct list_head list;
struct mutex lock;
uint32 counter;
} CONN_MD_QUEUE, *P_CONN_MD_QUEUE;
typedef struct _CONN_MD_USER_LIST_ {
uint32 counter;
struct list_head list;
struct mutex lock; /*lock for user add/delete/check */
} CONN_MD_USER_LIST, *P_CONN_MD_USER_LIST;
typedef struct _CONN_MD_STRUCT_ {
/*con-md-thread used for tx queue handle */
struct task_struct *p_task;
struct completion tx_comp;
CONN_MD_USER_LIST user_list;
CONN_MD_QUEUE act_queue;
CONN_MD_QUEUE msg_queue;
P_CONN_MD_DMP_MSG_LOG p_msg_dmp_sys;
} CONN_MD_STRUCT, *P_CONN_MD_STRUCT;
extern int conn_md_send_msg(ipc_ilm_t *ilm);
extern int conn_md_del_user(uint32 u_id);
extern int conn_md_add_user(uint32 u_id, CONN_MD_BRIDGE_OPS *p_ops);
extern int conn_md_dmp_msg_logged(uint32 src_id, uint32 dst_id);
extern int conn_md_dmp_msg_active(uint32 src_id, uint32 dst_id);
extern int conn_md_dmp_msg_queued(uint32 src_id, uint32 dst_id);
#endif
|