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 #ifndef SANGOMA_BOOST_INTERFACE_H
36 #define SANGOMA_BOOST_INTERFACE_H
37
38 #include "private/ftdm_core.h"
39
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43
44
45
46
47
48
49 #define BOOST_SIG_STATUS_CB_ARGS (ftdm_channel_t *ftdmchan, ftdm_signaling_status_t status)
50 typedef void (*boost_sig_status_cb_func_t) BOOST_SIG_STATUS_CB_ARGS;
51 #define BOOST_SIG_STATUS_CB_FUNCTION(name) void name BOOST_SIG_STATUS_CB_ARGS
52
53
54
55
56
57
58
59
60
61
62
63
64
65 #define BOOST_WRITE_MSG_ARGS (ftdm_span_t *span, void *msg, ftdm_size_t msglen)
66 typedef ftdm_status_t (*boost_write_msg_func_t) BOOST_WRITE_MSG_ARGS;
67 #define BOOST_WRITE_MSG_FUNCTION(name) ftdm_status_t name BOOST_WRITE_MSG_ARGS
68
69
70
71
72
73
74
75
76 #define BOOST_SET_WRITE_MSG_CB_ARGS (boost_write_msg_func_t callback)
77 typedef void (*boost_set_write_msg_cb_func_t) BOOST_SET_WRITE_MSG_CB_ARGS;
78 #define BOOST_SET_WRITE_MSG_CB_FUNCTION(name) void name BOOST_SET_WRITE_MSG_CB_ARGS
79
80
81
82
83
84
85
86 #define BOOST_ON_HW_LINK_STATUS_CHANGE_ARGS (ftdm_channel_t *ftdmchan, ftdm_channel_hw_link_status_t status)
87 typedef void (*boost_on_hw_link_status_change_func_t) BOOST_ON_HW_LINK_STATUS_CHANGE_ARGS;
88 #define BOOST_ON_HW_LINK_STATUS_CHANGE_FUNCTION(name) void name BOOST_ON_HW_LINK_STATUS_CHANGE_ARGS
89
90
91
92
93
94
95
96
97 #define BOOST_SET_SIG_STATUS_CB_ARGS (boost_sig_status_cb_func_t callback)
98 typedef void (*boost_set_sig_status_cb_func_t) BOOST_SET_SIG_STATUS_CB_ARGS;
99 #define BOOST_SET_SIG_STATUS_CB_FUNCTION(name) void name BOOST_SET_SIG_STATUS_CB_ARGS
100
101
102
103
104
105
106 #define BOOST_GET_CHANNEL_SIG_STATUS_ARGS (ftdm_channel_t *ftdmchan, ftdm_signaling_status_t *status)
107 typedef ftdm_status_t (*boost_get_channel_sig_status_func_t) BOOST_GET_CHANNEL_SIG_STATUS_ARGS;
108 #define BOOST_GET_CHANNEL_SIG_STATUS_FUNCTION(name) ftdm_status_t name BOOST_GET_CHANNEL_SIG_STATUS_ARGS
109
110
111
112
113
114
115
116 #define BOOST_SET_CHANNEL_SIG_STATUS_ARGS (ftdm_channel_t *ftdmchan, ftdm_signaling_status_t status)
117 typedef ftdm_status_t (*boost_set_channel_sig_status_func_t) BOOST_SET_CHANNEL_SIG_STATUS_ARGS;
118 #define BOOST_SET_CHANNEL_SIG_STATUS_FUNCTION(name) ftdm_status_t name BOOST_SET_CHANNEL_SIG_STATUS_ARGS
119
120
121
122
123
124
125 #define BOOST_GET_SPAN_SIG_STATUS_ARGS (ftdm_span_t *span, ftdm_signaling_status_t *status)
126 typedef ftdm_status_t (*boost_get_span_sig_status_func_t) BOOST_GET_SPAN_SIG_STATUS_ARGS;
127 #define BOOST_GET_SPAN_SIG_STATUS_FUNCTION(name) ftdm_status_t name BOOST_GET_SPAN_SIG_STATUS_ARGS
128
129
130
131
132
133
134
135 #define BOOST_SET_SPAN_SIG_STATUS_ARGS (ftdm_span_t *span, ftdm_signaling_status_t status)
136 typedef ftdm_status_t (*boost_set_span_sig_status_func_t) BOOST_SET_SPAN_SIG_STATUS_ARGS;
137 #define BOOST_SET_SPAN_SIG_STATUS_FUNCTION(name) ftdm_status_t name BOOST_SET_SPAN_SIG_STATUS_ARGS
138
139
140
141
142
143
144
145 #define BOOST_CONFIGURE_SPAN_ARGS (ftdm_span_t *span, ftdm_conf_parameter_t *parameters)
146 typedef ftdm_status_t (*boost_configure_span_func_t) BOOST_CONFIGURE_SPAN_ARGS;
147 #define BOOST_CONFIGURE_SPAN_FUNCTION(name) ftdm_status_t name BOOST_CONFIGURE_SPAN_ARGS
148
149
150
151
152
153
154 #define BOOST_START_SPAN_ARGS (ftdm_span_t *span)
155 typedef ftdm_status_t (*boost_start_span_func_t) BOOST_START_SPAN_ARGS;
156 #define BOOST_START_SPAN_FUNCTION(name) ftdm_status_t name BOOST_START_SPAN_ARGS
157
158
159
160
161
162
163 #define BOOST_STOP_SPAN_ARGS (ftdm_span_t *span)
164 typedef ftdm_status_t (*boost_stop_span_func_t) BOOST_START_SPAN_ARGS;
165 #define BOOST_STOP_SPAN_FUNCTION(name) ftdm_status_t name BOOST_STOP_SPAN_ARGS
166
167
168
169
170
171 #define BOOST_ON_LOAD_ARGS (void)
172 typedef ftdm_status_t (*boost_on_load_func_t) BOOST_ON_LOAD_ARGS;
173 #define BOOST_ON_LOAD_FUNCTION(name) ftdm_status_t name BOOST_ON_LOAD_ARGS
174
175
176
177
178 #define BOOST_ON_UNLOAD_ARGS (void)
179 typedef ftdm_status_t (*boost_on_unload_func_t) BOOST_ON_UNLOAD_ARGS;
180 #define BOOST_ON_UNLOAD_FUNCTION(name) ftdm_status_t name BOOST_ON_UNLOAD_ARGS
181
182
183
184
185
186 #define BOOST_API_ARGS (ftdm_stream_handle_t *stream, char *cmd)
187 typedef ftdm_status_t (*boost_api_func_t) BOOST_API_ARGS;
188 #define BOOST_API_FUNCTION(name) ftdm_status_t name BOOST_API_ARGS
189
190
191
192
193
194 typedef struct boost_sigmod_interface_s {
195
196 const char *name;
197
198 boost_write_msg_func_t write_msg;
199
200 boost_set_write_msg_cb_func_t set_write_msg_cb;
201
202 boost_set_sig_status_cb_func_t set_sig_status_cb;
203
204 boost_get_channel_sig_status_func_t get_channel_sig_status;
205
206 boost_set_channel_sig_status_func_t set_channel_sig_status;
207
208 boost_get_span_sig_status_func_t get_span_sig_status;
209
210 boost_set_span_sig_status_func_t set_span_sig_status;
211
212 boost_on_hw_link_status_change_func_t on_hw_link_status_change;
213
214 boost_configure_span_func_t configure_span;
215
216 boost_start_span_func_t start_span;
217
218 boost_stop_span_func_t stop_span;
219
220 boost_on_load_func_t on_load;
221
222 boost_on_unload_func_t on_unload;
223
224 boost_api_func_t exec_api;
225
226 void *pvt;
227 } boost_sigmod_interface_t;
228
229 #ifdef __cplusplus
230 }
231 #endif
232
233 #define BOOST_INTERFACE_NAME boost_sigmod_interface
234 #define BOOST_INTERFACE_NAME_STR "boost_sigmod_interface"
235
236 #ifndef WIN32
237 #define BOOST_INTERFACE boost_sigmod_interface_t BOOST_INTERFACE_NAME
238 #else
239 #define BOOST_INTERFACE __declspec(dllexport) boost_sigmod_interface_t BOOST_INTERFACE_NAME
240 #endif
241 #endif
242
243
244
245
246
247
248
249
250
251
252
253
254