1 #ifdef E_TYPEDEFS
2 
3 #ifdef USE_IPC
4 typedef struct _E_Ipc_Int              E_Ipc_Int;
5 typedef struct _E_Ipc_Double           E_Ipc_Double;
6 typedef struct _E_Ipc_2Int             E_Ipc_2Int;
7 typedef struct _E_Ipc_List             E_Ipc_List;
8 typedef struct _E_Ipc_Str              E_Ipc_Str;
9 typedef struct _E_Ipc_2Str             E_Ipc_2Str;
10 typedef struct _E_Ipc_Str_Int          E_Ipc_Str_Int;
11 typedef struct _E_Ipc_Str_Int_List     E_Ipc_Str_Int_List;
12 typedef struct _E_Ipc_2Str_Int         E_Ipc_2Str_Int;
13 typedef struct _E_Ipc_2Str_Int_List    E_Ipc_2Str_Int_List;
14 typedef struct _E_Ipc_4Int_2Str	       E_Ipc_4Int_2Str;
15 typedef struct _E_Ipc_5Int_2Str	       E_Ipc_5Int_2Str;
16 typedef struct _E_Ipc_3Int_4Str	       E_Ipc_3Int_4Str;
17 typedef struct _E_Ipc_3Int_3Str	       E_Ipc_3Int_3Str;
18 typedef struct _E_Ipc_Str_4Int	       E_Ipc_Str_4Int;
19 #endif
20 
21 #else
22 #ifndef E_IPC_CODEC_H
23 #define E_IPC_CODEC_H
24 
25 #ifdef USE_IPC
26 struct _E_Ipc_Int
27 {
28    int val;
29 };
30 
31 struct _E_Ipc_Double
32 {
33    double val;
34 };
35 
36 struct _E_Ipc_2Int
37 {
38    int val1, val2;
39 };
40 
41 struct _E_Ipc_List
42 {
43    Eina_List *list;
44 };
45 
46 struct _E_Ipc_Str
47 {
48    char *str;
49 };
50 
51 struct _E_Ipc_2Str
52 {
53    char *str1, *str2;
54 };
55 
56 struct _E_Ipc_Str_Int
57 {
58    char *str;
59    int   val;
60 };
61 
62 struct _E_Ipc_2Str_Int
63 {
64    char *str1, *str2;
65    int   val;
66 };
67 
68 struct _E_Ipc_4Int_2Str
69 {
70    int	 val1, val2, val3, val4;
71    char *str1, *str2;
72 };
73 
74 struct _E_Ipc_5Int_2Str
75 {
76    int	 val1, val2, val3, val4, val5;
77    char *str1, *str2;
78 };
79 
80 struct _E_Ipc_3Int_4Str
81 {
82    int	 val1, val2, val3;
83    char *str1, *str2, *str3, *str4;
84 };
85 
86 struct _E_Ipc_3Int_3Str
87 {
88    int   val1, val2, val3;
89    char *str1, *str2, *str3;
90 };
91 
92 struct _E_Ipc_Str_4Int
93 {
94    char *str;
95    int   val1, val2, val3, val4;
96 };
97 
98 EINTERN int      e_ipc_codec_init(void);
99 EINTERN void     e_ipc_codec_shutdown(void);
100 
101 E_API int      e_ipc_codec_int_dec(char *data, int bytes, int *dest);
102 E_API void    *e_ipc_codec_int_enc(int val, int *size_ret);
103 E_API int      e_ipc_codec_double_dec(char *data, int bytes, double *dest);
104 E_API void    *e_ipc_codec_double_enc(double val, int *size_ret);
105 E_API int      e_ipc_codec_2int_dec(char *data, int bytes, int *dest, int *dest2x);
106 E_API void    *e_ipc_codec_2int_enc(int val1, int val2, int *size_ret);
107 
108 E_API int      e_ipc_codec_str_dec(char *data, int bytes, char **dest);
109 E_API void    *e_ipc_codec_str_enc(const char *str, int *size_ret);
110 E_API int      e_ipc_codec_str_list_dec(char *data, int bytes, Eina_List **dest);
111 E_API void    *e_ipc_codec_str_list_enc(Eina_List *list, int *size_ret);
112 
113 E_API int      e_ipc_codec_2str_dec(char *data, int bytes, E_Ipc_2Str **dest);
114 E_API void    *e_ipc_codec_2str_enc(const char *str1, const char *str2, int *size_ret);
115 E_API int      e_ipc_codec_2str_list_dec(char *data, int bytes, Eina_List **dest);
116 E_API void    *e_ipc_codec_2str_list_enc(Eina_List *list, int *size_ret);
117 
118 E_API int      e_ipc_codec_str_int_dec(char *data, int bytes, E_Ipc_Str_Int **dest);
119 E_API void    *e_ipc_codec_str_int_enc(const char *str, int val, int *size_ret);
120 E_API int      e_ipc_codec_str_int_list_dec(char *data, int bytes, Eina_List **dest);
121 E_API void    *e_ipc_codec_str_int_list_enc(Eina_List *list, int *size_ret);
122 
123 E_API int      e_ipc_codec_2str_int_dec(char *data, int bytes, E_Ipc_2Str_Int **dest);
124 E_API void    *e_ipc_codec_2str_int_enc(const char *str1, const char *str2, int val, int *size_ret);
125 E_API int      e_ipc_codec_2str_int_list_dec(char *data, int bytes, Eina_List **dest);
126 E_API void    *e_ipc_codec_2str_int_list_enc(Eina_List *list, int *size_ret);
127 
128 E_API int      e_ipc_codec_4int_2str_dec(char *data, int bytes, E_Ipc_4Int_2Str **dest);
129 E_API void    *e_ipc_codec_4int_2str_enc(int val1, int val2, int val3, int val4, const char *str1, const char *str2, int *size_ret);
130 E_API int      e_ipc_codec_4int_2str_list_dec(char *data, int bytes, Eina_List **dest);
131 E_API void    *e_ipc_codec_4int_2str_list_enc(Eina_List *list, int *size_ret);
132 
133 E_API int      e_ipc_codec_5int_2str_dec(char *data, int bytes, E_Ipc_5Int_2Str **dest);
134 E_API void    *e_ipc_codec_5int_2str_enc(int val1, int val2, int val3, int val4, int val5, const char *str1, const char *str2, int *size_ret);
135 E_API int      e_ipc_codec_5int_2str_list_dec(char *data, int bytes, Eina_List **dest);
136 E_API void    *e_ipc_codec_5int_2str_list_enc(Eina_List *list, int *size_ret);
137 
138 E_API int      e_ipc_codec_3int_4str_dec(char *data, int bytes, E_Ipc_3Int_4Str **dest);
139 E_API void    *e_ipc_codec_3int_4str_enc(int val1, int val2, int val3, const char *str1, const char *str2, const char *str3, const char *str4, int *size_ret);
140 E_API int      e_ipc_codec_3int_4str_list_dec(char *data, int bytes, Eina_List **dest);
141 E_API void    *e_ipc_codec_3int_4str_list_enc(Eina_List *list, int *size_ret);
142 
143 E_API int      e_ipc_codec_3int_3str_dec(char *data, int bytes, E_Ipc_3Int_3Str **dest);
144 E_API void    *e_ipc_codec_3int_3str_enc(int val1, int val2, int val3, const char *str1, const char *str2, const char *str3, int *size_ret);
145 E_API int      e_ipc_codec_3int_3str_list_dec(char *data, int bytes, Eina_List **dest);
146 E_API void    *e_ipc_codec_3int_3str_list_enc(Eina_List *list, int *size_ret);
147 
148 E_API int      e_ipc_codec_str_4int_dec(char *data, int bytes, E_Ipc_Str_4Int **dest);
149 E_API void    *e_ipc_codec_str_4int_enc(const char *str1, int val1, int val2, int val3, int val4, int *size_ret);
150 E_API int      e_ipc_codec_str_4int_list_dec(char *data, int bytes, Eina_List **dest);
151 E_API void    *e_ipc_codec_str_4int_list_enc(Eina_List *list, int *size_ret);
152 #endif
153 
154 #endif
155 #endif
156