svn update: 48958 (latest:48959)
[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 #if USE_GNUTLS_OPENSSL
38 # include <gnutls/openssl.h>
39 #elif USE_OPENSSL
40 # include <openssl/ssl.h>
41 #endif
42
43 #define ECORE_MAGIC_IPC_SERVER             0x87786556
44 #define ECORE_MAGIC_IPC_CLIENT             0x78875665
45
46 typedef struct _Ecore_Ipc_Client Ecore_Ipc_Client;
47 typedef struct _Ecore_Ipc_Server Ecore_Ipc_Server;
48 typedef struct _Ecore_Ipc_Msg_Head Ecore_Ipc_Msg_Head;
49
50
51 #ifdef __sgi
52 #pragma pack 4
53 #endif
54 struct _Ecore_Ipc_Msg_Head
55 {
56       int major;
57       int minor;
58       int ref;
59       int ref_to;
60       int response;
61       int size;
62
63 #ifdef _GNU_C_
64 __attribute__ ((packed));
65 #endif
66 ;
67 #ifdef __sgi
68 #pragma pack 0
69 #endif
70
71 struct _Ecore_Ipc_Client
72 {
73    ECORE_MAGIC;
74    Ecore_Con_Client  *client;
75    void              *data;
76    unsigned char     *buf;
77    int                buf_size;
78    int                max_buf_size;
79    
80    struct {
81       Ecore_Ipc_Msg_Head i, o;
82    } prev;
83    
84    int               event_count;
85    char              delete_me : 1;
86 };
87    
88 struct _Ecore_Ipc_Server
89 {
90    ECORE_MAGIC;
91    Ecore_Con_Server *server;
92    Eina_List        *clients;
93    Eina_List        *client_list;
94    void              *data;
95    unsigned char     *buf;
96    int                buf_size;
97    int                max_buf_size;
98
99    struct {
100       Ecore_Ipc_Msg_Head i, o;
101    } prev;
102    
103    int               event_count;
104    char              delete_me : 1;
105 };
106
107 #endif