Tizen 2.1 base
[framework/uifw/ecore.git] / src / lib / ecore_ipc / ecore_ipc_private.h
1 #ifndef _ECORE_IPC_PRIVATE_H
2 #define _ECORE_IPC_PRIVATE_H
3
4
5 extern int _ecore_ipc_log_dom;
6
7 #ifdef ECORE_IPC_DEFAULT_LOG_COLOR
8 # undef ECORE_IPC_DEFAULT_LOG_COLOR
9 #endif
10 #define ECORE_IPC_DEFAULT_LOG_COLOR EINA_COLOR_BLUE
11
12 #ifdef ERR
13 # undef ERR
14 #endif
15 #define ERR(...) EINA_LOG_DOM_ERR(_ecore_ipc_log_dom, __VA_ARGS__)
16
17 #ifdef DBG
18 # undef DBG
19 #endif
20 #define DBG(...) EINA_LOG_DOM_DBG(_ecore_ipc_log_dom, __VA_ARGS__)
21
22 #ifdef INF
23 # undef INF
24 #endif
25 #define INF(...) EINA_LOG_DOM_INFO(_ecore_ipc_log_dom, __VA_ARGS__)
26
27 #ifdef WRN
28 # undef WRN
29 #endif
30 #define WRN(...) EINA_LOG_DOM_WARN(_ecore_ipc_log_dom, __VA_ARGS__)
31
32 #ifdef CRIT
33 # undef CRIT
34 #endif
35 #define CRIT(...) EINA_LOG_DOM_CRIT(_ecore_ipc_log_dom, __VA_ARGS__)
36
37 #define ECORE_MAGIC_IPC_SERVER             0x87786556
38 #define ECORE_MAGIC_IPC_CLIENT             0x78875665
39
40 typedef struct _Ecore_Ipc_Msg_Head Ecore_Ipc_Msg_Head;
41 #define ECORE_IPC_TYPE 0x0f
42 #define ECORE_IPC_SSL  0xf0
43
44 #if defined (_MSC_VER) || (defined (__SUNPRO_C) && __SUNPRO_C < 0x5100)
45 # pragma pack(1)
46 # define ECORE_IPC_STRUCT_PACKED
47 #elif defined (__GNUC__) || (defined (__SUNPRO_C) && __SUNPRO_C >= 0x5100)
48 # define ECORE_IPC_STRUCT_PACKED __attribute__((packed))
49 #else
50 # define ECORE_IPC_STRUCT_PACKED
51 #endif
52
53 #ifdef __sgi
54 #pragma pack 4
55 #endif
56 struct _Ecore_Ipc_Msg_Head
57 {
58       int major;
59       int minor;
60       int ref;
61       int ref_to;
62       int response;
63       int size;
64 } ECORE_IPC_STRUCT_PACKED;
65 #ifdef __sgi
66 #pragma pack 0
67 #endif
68
69 struct _Ecore_Ipc_Client
70 {
71    ECORE_MAGIC;
72    Ecore_Con_Client  *client;
73    Ecore_Ipc_Server  *svr;
74    void              *data;
75    unsigned char     *buf;
76    int                buf_size;
77    int                max_buf_size;
78    
79    struct {
80       Ecore_Ipc_Msg_Head i, o;
81    } prev;
82    
83    int               event_count;
84    char              delete_me : 1;
85 };
86    
87 struct _Ecore_Ipc_Server
88 {
89    ECORE_MAGIC;
90    Ecore_Con_Server *server;
91    Eina_List        *clients;
92    void              *data;
93    unsigned char     *buf;
94    int                buf_size;
95    int                max_buf_size;
96
97    struct {
98       Ecore_Ipc_Msg_Head i, o;
99    } prev;
100    
101    int               event_count;
102    char              delete_me : 1;
103 };
104
105 #endif