summaryrefslogtreecommitdiff
path: root/src/bin/e_ipc_codec.h
blob: 3104ca919c65bca2abb9b9a401f89bd191bdec94 (plain)
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
/*
 * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
 */
#ifdef E_TYPEDEFS

#ifdef USE_IPC
typedef struct _E_Ipc_Int              E_Ipc_Int;
typedef struct _E_Ipc_Double           E_Ipc_Double;
typedef struct _E_Ipc_2Int             E_Ipc_2Int;
typedef struct _E_Ipc_List             E_Ipc_List;
typedef struct _E_Ipc_Str              E_Ipc_Str;
typedef struct _E_Ipc_2Str             E_Ipc_2Str;
typedef struct _E_Ipc_Str_Int          E_Ipc_Str_Int;
typedef struct _E_Ipc_Str_Int_List     E_Ipc_Str_Int_List;
typedef struct _E_Ipc_2Str_Int         E_Ipc_2Str_Int;
typedef struct _E_Ipc_2Str_Int_List    E_Ipc_2Str_Int_List;
typedef struct _E_Ipc_4Int_2Str	       E_Ipc_4Int_2Str;
typedef struct _E_Ipc_5Int_2Str	       E_Ipc_5Int_2Str;
typedef struct _E_Ipc_3Int_4Str	       E_Ipc_3Int_4Str;
typedef struct _E_Ipc_3Int_3Str	       E_Ipc_3Int_3Str;
typedef struct _E_Ipc_Str_4Int	       E_Ipc_Str_4Int;
#endif

#else
#ifndef E_IPC_CODEC_H
#define E_IPC_CODEC_H

#ifdef USE_IPC
struct _E_Ipc_Int
{
   int val;
};

struct _E_Ipc_Double
{
   double val;
};

struct _E_Ipc_2Int
{
   int val1, val2;
};

struct _E_Ipc_List
{
   Eina_List *list;
};

struct _E_Ipc_Str
{
   char *str;
};

struct _E_Ipc_2Str
{
   char *str1, *str2;
};

struct _E_Ipc_Str_Int
{
   char *str;
   int   val;
};

struct _E_Ipc_2Str_Int
{
   char *str1, *str2;
   int   val;
};

struct _E_Ipc_4Int_2Str
{
   int	 val1, val2, val3, val4;
   char *str1, *str2;
};

struct _E_Ipc_5Int_2Str
{
   int	 val1, val2, val3, val4, val5;
   char *str1, *str2;
};

struct _E_Ipc_3Int_4Str
{
   int	 val1, val2, val3;
   char *str1, *str2, *str3, *str4;
};

struct _E_Ipc_3Int_3Str
{
   int   val1, val2, val3;
   char *str1, *str2, *str3;
};

struct _E_Ipc_Str_4Int
{
   char *str;
   int   val1, val2, val3, val4;
};

EAPI int      e_ipc_codec_init(void);
EAPI void     e_ipc_codec_shutdown(void);

EAPI int      e_ipc_codec_int_dec(char *data, int bytes, int *dest);
EAPI void    *e_ipc_codec_int_enc(int val, int *size_ret);
EAPI int      e_ipc_codec_double_dec(char *data, int bytes, double *dest);
EAPI void    *e_ipc_codec_double_enc(double val, int *size_ret);
EAPI int      e_ipc_codec_2int_dec(char *data, int bytes, int *dest, int *dest2x);
EAPI void    *e_ipc_codec_2int_enc(int val1, int val2, int *size_ret);

EAPI int      e_ipc_codec_str_dec(char *data, int bytes, char **dest);
EAPI void    *e_ipc_codec_str_enc(const char *str, int *size_ret);
EAPI int      e_ipc_codec_str_list_dec(char *data, int bytes, Eina_List **dest);
EAPI void    *e_ipc_codec_str_list_enc(Eina_List *list, int *size_ret);

EAPI int      e_ipc_codec_2str_dec(char *data, int bytes, E_Ipc_2Str **dest);
EAPI void    *e_ipc_codec_2str_enc(const char *str1, const char *str2, int *size_ret);
EAPI int      e_ipc_codec_2str_list_dec(char *data, int bytes, Eina_List **dest);
EAPI void    *e_ipc_codec_2str_list_enc(Eina_List *list, int *size_ret);

EAPI int      e_ipc_codec_str_int_dec(char *data, int bytes, E_Ipc_Str_Int **dest);
EAPI void    *e_ipc_codec_str_int_enc(const char *str, int val, int *size_ret);
EAPI int      e_ipc_codec_str_int_list_dec(char *data, int bytes, Eina_List **dest);
EAPI void    *e_ipc_codec_str_int_list_enc(Eina_List *list, int *size_ret);

EAPI int      e_ipc_codec_2str_int_dec(char *data, int bytes, E_Ipc_2Str_Int **dest);
EAPI void    *e_ipc_codec_2str_int_enc(const char *str1, const char *str2, int val, int *size_ret);
EAPI int      e_ipc_codec_2str_int_list_dec(char *data, int bytes, Eina_List **dest);
EAPI void    *e_ipc_codec_2str_int_list_enc(Eina_List *list, int *size_ret);

EAPI int      e_ipc_codec_4int_2str_dec(char *data, int bytes, E_Ipc_4Int_2Str **dest);
EAPI void    *e_ipc_codec_4int_2str_enc(int val1, int val2, int val3, int val4, const char *str1, const char *str2, int *size_ret);
EAPI int      e_ipc_codec_4int_2str_list_dec(char *data, int bytes, Eina_List **dest);
EAPI void    *e_ipc_codec_4int_2str_list_enc(Eina_List *list, int *size_ret);   

EAPI int      e_ipc_codec_5int_2str_dec(char *data, int bytes, E_Ipc_5Int_2Str **dest);
EAPI 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);
EAPI int      e_ipc_codec_5int_2str_list_dec(char *data, int bytes, Eina_List **dest);
EAPI void    *e_ipc_codec_5int_2str_list_enc(Eina_List *list, int *size_ret);   

EAPI int      e_ipc_codec_3int_4str_dec(char *data, int bytes, E_Ipc_3Int_4Str **dest);
EAPI 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);
EAPI int      e_ipc_codec_3int_4str_list_dec(char *data, int bytes, Eina_List **dest);
EAPI void    *e_ipc_codec_3int_4str_list_enc(Eina_List *list, int *size_ret);   

EAPI int      e_ipc_codec_3int_3str_dec(char *data, int bytes, E_Ipc_3Int_3Str **dest);
EAPI 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);
EAPI int      e_ipc_codec_3int_3str_list_dec(char *data, int bytes, Eina_List **dest);
EAPI void    *e_ipc_codec_3int_3str_list_enc(Eina_List *list, int *size_ret);   

EAPI int      e_ipc_codec_str_4int_dec(char *data, int bytes, E_Ipc_Str_4Int **dest);
EAPI void    *e_ipc_codec_str_4int_enc(const char *str1, int val1, int val2, int val3, int val4, int *size_ret);
EAPI int      e_ipc_codec_str_4int_list_dec(char *data, int bytes, Eina_List **dest);
EAPI void    *e_ipc_codec_str_4int_list_enc(Eina_List *list, int *size_ret);
#endif

#endif
#endif