OPAL  Version 3.18.8
lidplugin.h
Go to the documentation of this file.
1 /*
2  * lidplugins.h
3  *
4  * Line Interface Device plugins handler
5  *
6  * Open Phone Abstraction Library (OPAL)
7  * Formally known as the Open H323 project.
8  *
9  * Copyright (C) 2006 Post Increment
10  *
11  * The contents of this file are subject to the Mozilla Public License
12  * Version 1.0 (the "License"); you may not use this file except in
13  * compliance with the License. You may obtain a copy of the License at
14  * http://www.mozilla.org/MPL/
15  *
16  * Software distributed under the License is distributed on an "AS IS"
17  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
18  * the License for the specific language governing rights and limitations
19  * under the License.
20  *
21  * The Original Code is Open Phone Abstraction Library.
22  *
23  * The Initial Developer of the Original Code is Post Increment
24  *
25  * Contributor(s): ______________________________________.
26  */
27 
28 #ifndef OPAL_LIDS_LIDPLUGIN_H
29 #define OPAL_LIDS_LIDPLUGIN_H
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 #include <time.h>
36 
37 #ifdef _WIN32
38 # ifdef PLUGIN_DLL_EXPORTS
39 # define PLUGIN_DLL_API __declspec(dllexport)
40 # else
41 # define PLUGIN_DLL_API __declspec(dllimport)
42 # endif
43 
44 #else
45 
46 #define PLUGIN_DLL_API
47 
48 #endif
49 
50 #ifdef PWLIB_PLUGIN_API_VERSION
51 #undef PWLIB_PLUGIN_API_VERSION
52 #endif
53 #define PWLIB_PLUGIN_API_VERSION 1
54 
56 //
57 // LID Plugins
58 
59 #define PLUGIN_LID_VERSION 1 // initial version
60 
61 typedef int PluginLID_Boolean;
62 
63 #ifndef FALSE
64 #define FALSE 0
65 #endif
66 #ifndef TRUE
67 #define TRUE 1
68 #endif
69 
70 
71 typedef enum PluginLID_Errors {
92 
93 
95  PluginLID_NoTone = 0x00, // indicates no tones
96  PluginLID_DialTone = 0x01, // Dial tone
97  PluginLID_RingTone = 0x02, // Ring indication tone
98  PluginLID_BusyTone = 0x04, // Line engaged tone
99  PluginLID_FastBusyTone = 0x08, // fast busy tone
100  PluginLID_ClearTone = 0x10, // Call failed/cleared tone (often same as busy tone)
101  PluginLID_CNGTone = 0x20, // Fax CNG tone
102  PluginLID_MwiTone = 0x40, // Message Waiting Tone
104 };
105 
106 
107 typedef struct PluginLID_DialParams
108 {
110  unsigned m_dialToneTimeout;
111  unsigned m_dialStartDelay;
112  unsigned m_progressTimeout;
113  unsigned m_commaDelay;
115 
116 
117 typedef struct PluginLID_Definition
118 {
119  unsigned int apiVersion; // structure version
120 
121  // start of version 1 fields
122  time_t timestamp; // creation time and date - obtain with command: date -u "+%c = %s"
123 
124  const char * name; // LID name text
125  const char * description; // LID description text
126  const char * manufacturer; // LID manufacturer name
127  const char * model; // LID model name
128  const char * revision; // LID hardware revision number
129  const char * manufacturerEmail; // LID manufacturer email contact information
130  const char * manufacturerURL; // LID manufacturer web site
131 
132  const char * author; // source code author
133  const char * authorEmail; // source code email contact information
134  const char * authorURL; // source code web site
135  const char * copyright; // source code copyright
136  const char * license; // source code license
137  const char * version; // source code version
138 
139  const void * userData; // user data value
140 
141  void * (*Create)(const struct PluginLID_Definition * definition);
142  void (*Destroy)(const struct PluginLID_Definition * definition, void * context);
143 
144  PluginLID_Errors (*GetDeviceName)(void * context, unsigned index, char * name, unsigned size);
145  PluginLID_Errors (*Open)(void * context, const char * device);
146  PluginLID_Errors (*Close)(void * context);
147 
148  PluginLID_Errors (*GetLineCount)(void * context, unsigned * count);
149  PluginLID_Errors (*IsLineTerminal)(void * context, unsigned line, PluginLID_Boolean * isTerminal);
150  PluginLID_Errors (*IsLinePresent)(void * context, unsigned line, PluginLID_Boolean forceTest, PluginLID_Boolean * present);
151  PluginLID_Errors (*IsLineOffHook)(void * context, unsigned line, PluginLID_Boolean * offHook);
152  PluginLID_Errors (*SetLineOffHook)(void * context, unsigned line, PluginLID_Boolean newState);
153  PluginLID_Errors (*HookFlash)(void * context, unsigned line, unsigned flashTime);
154  PluginLID_Errors (*HasHookFlash)(void * context, unsigned line, PluginLID_Boolean * flashed);
155  PluginLID_Errors (*IsLineRinging)(void * context, unsigned line, unsigned long * cadence);
156  PluginLID_Errors (*RingLine)(void * context, unsigned line, unsigned nCadence, const unsigned * pattern, unsigned frequency);
157  PluginLID_Errors (*IsLineDisconnected)(void * context, unsigned line, PluginLID_Boolean checkForWink, PluginLID_Boolean * disconnected);
158  PluginLID_Errors (*SetLineToLineDirect)(void * context, unsigned line1, unsigned line2, PluginLID_Boolean connect);
159  PluginLID_Errors (*IsLineToLineDirect)(void * context, unsigned line1, unsigned line2, PluginLID_Boolean * connected);
160 
161  PluginLID_Errors (*GetSupportedFormat)(void * context, unsigned index, char * mediaFormat, unsigned size);
162  PluginLID_Errors (*SetReadFormat)(void * context, unsigned line, const char * mediaFormat);
163  PluginLID_Errors (*SetWriteFormat)(void * context, unsigned line, const char * mediaFormat);
164  PluginLID_Errors (*GetReadFormat)(void * context, unsigned line, char * mediaFormat, unsigned size);
165  PluginLID_Errors (*GetWriteFormat)(void * context, unsigned line, char * mediaFormat, unsigned size);
166  PluginLID_Errors (*StopReading)(void * context, unsigned line);
167  PluginLID_Errors (*StopWriting)(void * context, unsigned line);
168  PluginLID_Errors (*SetReadFrameSize)(void * context, unsigned line, unsigned frameSize);
169  PluginLID_Errors (*SetWriteFrameSize)(void * context, unsigned line, unsigned frameSize);
170  PluginLID_Errors (*GetReadFrameSize)(void * context, unsigned line, unsigned * frameSize);
171  PluginLID_Errors (*GetWriteFrameSize)(void * context, unsigned line, unsigned * frameSize);
172  PluginLID_Errors (*ReadFrame)(void * context, unsigned line, void * buffer, unsigned * count);
173  PluginLID_Errors (*WriteFrame)(void * context, unsigned line, const void * buffer, unsigned count, unsigned * written);
174 
175  PluginLID_Errors (*GetAverageSignalLevel)(void * context, unsigned line, PluginLID_Boolean playback, unsigned * signal);
176 
177  PluginLID_Errors (*EnableAudio)(void * context, unsigned line, PluginLID_Boolean enable);
178  PluginLID_Errors (*IsAudioEnabled)(void * context, unsigned line, PluginLID_Boolean * enable);
179  PluginLID_Errors (*SetRecordVolume)(void * context, unsigned line, unsigned volume);
180  PluginLID_Errors (*SetPlayVolume)(void * context, unsigned line, unsigned volume);
181  PluginLID_Errors (*GetRecordVolume)(void * context, unsigned line, unsigned * volume);
182  PluginLID_Errors (*GetPlayVolume)(void * context, unsigned line, unsigned * volume);
183 
184  PluginLID_Errors (*GetAEC)(void * context, unsigned line, unsigned * level);
185  PluginLID_Errors (*SetAEC)(void * context, unsigned line, unsigned level);
186 
187  PluginLID_Errors (*GetVAD)(void * context, unsigned line, PluginLID_Boolean * enable);
188  PluginLID_Errors (*SetVAD)(void * context, unsigned line, PluginLID_Boolean enable);
189 
190  PluginLID_Errors (*GetCallerID)(void * context, unsigned line, char * idString, unsigned size, PluginLID_Boolean full);
191  PluginLID_Errors (*SetCallerID)(void * context, unsigned line, const char * idString);
192  PluginLID_Errors (*SendVisualMessageWaitingIndicator)(void * context, unsigned line, PluginLID_Boolean on);
193 
194  PluginLID_Errors (*PlayDTMF)(void * context, unsigned line, const char * digits, unsigned onTime, unsigned offTime);
195  PluginLID_Errors (*ReadDTMF)(void * context, unsigned line, char * digit);
196  PluginLID_Errors (*GetRemoveDTMF)(void * context, unsigned line, PluginLID_Boolean * removeTones);
197  PluginLID_Errors (*SetRemoveDTMF)(void * context, unsigned line, PluginLID_Boolean removeTones);
198 
199  PluginLID_Errors (*IsToneDetected)(void * context, unsigned line, int * tone);
200  PluginLID_Errors (*WaitForToneDetect)(void * context, unsigned line, unsigned timeout, int * tone);
201  PluginLID_Errors (*WaitForTone)(void * context, unsigned line, int tone, unsigned timeout);
202 
203  PluginLID_Errors (*SetToneParameters)(void * context, unsigned line,
204  unsigned tone,
205  unsigned lowFrequency,
206  unsigned highFrequency,
207  unsigned mixingMode,
208  unsigned numCadences,
209  const unsigned * onTimes,
210  const unsigned * offTimes);
211  PluginLID_Errors (*PlayTone)(void * context, unsigned line, unsigned tone);
212  PluginLID_Errors (*IsTonePlaying)(void * context, unsigned line, PluginLID_Boolean * playing);
213  PluginLID_Errors (*StopTone)(void * context, unsigned line);
214 
215  PluginLID_Errors (*DialOut)(void * context, unsigned line, const char * number, struct PluginLID_DialParams * params);
216 
217  PluginLID_Errors (*GetWinkDuration)(void * context, unsigned line, unsigned * winkDuration);
218  PluginLID_Errors (*SetWinkDuration)(void * context, unsigned line, unsigned winkDuration);
219 
220  PluginLID_Errors (*SetCountryCode)(void * context, unsigned country);
221 
222  PluginLID_Errors (*GetSupportedCountry)(void * context, unsigned index, unsigned * countryCode);
223  // end of version 1 fields
224 
225  PluginLID_Errors (*SetLineConnected)(void * context, unsigned line);
226  PluginLID_Errors (*IsLineConnected)(void * context, unsigned line, PluginLID_Boolean * connected);
227 
229 
230 
231 #ifdef __cplusplus
232 
233 #define PLUGIN_LID_CTOR() \
234  static void * Create(const struct PluginLID_Definition * definition) { return new Context; } \
235  Context()
236 
237 #define PLUGIN_LID_DTOR() \
238  static void Destroy(const struct PluginLID_Definition * definition, void * context) { delete (Context *)context; } \
239  ~Context()
240 
241 #define PLUGIN_FUNCTION_ARG0(fn) \
242  static PluginLID_Errors fn(void * context) { return context == NULL ? PluginLID_BadContext : ((Context *)context)->fn(); } \
243  PluginLID_Errors fn( )
244 
245 #define PLUGIN_FUNCTION_ARG0(fn) \
246  static PluginLID_Errors fn(void * context) { return context == NULL ? PluginLID_BadContext : ((Context *)context)->fn(); } \
247  PluginLID_Errors fn( )
248 
249 #define PLUGIN_FUNCTION_ARG1(fn, type1,var1) \
250  static PluginLID_Errors fn(void * context, type1 var1) { return context == NULL ? PluginLID_BadContext : ((Context *)context)->fn(var1); } \
251  PluginLID_Errors fn( type1 var1)
252 
253 #define PLUGIN_FUNCTION_ARG2(fn, type1,var1, type2,var2) \
254  static PluginLID_Errors fn(void * context, type1 var1, type2 var2) { return context == NULL ? PluginLID_BadContext : ((Context *)context)->fn(var1, var2); } \
255  PluginLID_Errors fn( type1 var1, type2 var2)
256 
257 #define PLUGIN_FUNCTION_ARG3(fn, type1,var1, type2,var2, type3,var3) \
258  static PluginLID_Errors fn(void * context, type1 var1, type2 var2, type3 var3) { return context == NULL ? PluginLID_BadContext : ((Context *)context)->fn(var1, var2, var3); } \
259  PluginLID_Errors fn( type1 var1, type2 var2, type3 var3)
260 
261 #define PLUGIN_FUNCTION_ARG4(fn, type1,var1, type2,var2, type3,var3, type4,var4) \
262  static PluginLID_Errors fn(void * context, type1 var1, type2 var2, type3 var3, type4 var4) { return context == NULL ? PluginLID_BadContext : ((Context *)context)->fn(var1, var2, var3, var4); } \
263  PluginLID_Errors fn( type1 var1, type2 var2, type3 var3, type4 var4)
264 
265 #define PLUGIN_FUNCTION_ARG8(fn, type1,var1, type2,var2, type3,var3, type4,var4, type5,var5, type6,var6, type7,var7, type8,var8) \
266  static PluginLID_Errors fn(void * context, type1 var1, type2 var2, type3 var3, type4 var4, type5 var5, type6 var6, type7 var7, type8 var8) { return context == NULL ? PluginLID_BadContext : ((Context *)context)->fn(var1, var2, var3, var4, var5, var6, var7, var8); } \
267  PluginLID_Errors fn( type1 var1, type2 var2, type3 var3, type4 var4, type5 var5, type6 var6, type7 var7, type8 var8)
268 
269 #endif // __cplusplus
270 
271 
272 #define PLUGIN_LID_API_VER_FN PWLibPlugin_GetAPIVersion
273 #define PLUGIN_LID_API_VER_FN_STR "PWLibPlugin_GetAPIVersion"
274 
275 #define PLUGIN_LID_GET_LIDS_FN OpalPluginLID_GetDefinitions
276 #define PLUGIN_LID_GET_LIDS_FN_STR "OpalPluginLID_GetDefinitions"
277 
278 
279 typedef struct PluginLID_Definition * (* PluginLID_GetDefinitionsFunction)(unsigned * /*count*/, unsigned /*version*/);
280 
281 
282 #define PLUGIN_LID_IMPLEMENTATION(defs) \
283  extern "C" { \
284  PLUGIN_DLL_API unsigned int PLUGIN_LID_API_VER_FN() { return PWLIB_PLUGIN_API_VERSION; } \
285  PLUGIN_DLL_API PluginLID_Definition * PLUGIN_LID_GET_LIDS_FN(unsigned * count, unsigned version) \
286  { *count = sizeof(defs)/sizeof(defs[0]); return defs; } \
287  }
288 
289 
290 #ifdef __cplusplus
291 };
292 #endif
293 
294 #endif // OPAL_LIDS_LIDPLUGIN_H
PluginLID_Errors(* SendVisualMessageWaitingIndicator)(void *context, unsigned line, PluginLID_Boolean on)
Definition: lidplugin.h:192
PluginLID_Errors(* GetRemoveDTMF)(void *context, unsigned line, PluginLID_Boolean *removeTones)
Definition: lidplugin.h:196
PluginLID_Errors(* HookFlash)(void *context, unsigned line, unsigned flashTime)
Definition: lidplugin.h:153
const char * manufacturerURL
Definition: lidplugin.h:130
unsigned m_commaDelay
Time in msec to wait when a comma (&#39;,&#39;) is found in the dial string.
Definition: lidplugin.h:113
Definition: lidplugin.h:83
PluginLID_Errors(* SetLineOffHook)(void *context, unsigned line, PluginLID_Boolean newState)
Definition: lidplugin.h:152
Definition: lidplugin.h:76
const char * license
Definition: lidplugin.h:136
PluginLID_Errors(* IsAudioEnabled)(void *context, unsigned line, PluginLID_Boolean *enable)
Definition: lidplugin.h:178
PluginLID_Errors(* SetLineConnected)(void *context, unsigned line)
Definition: lidplugin.h:225
PluginLID_Errors(* SetWinkDuration)(void *context, unsigned line, unsigned winkDuration)
Definition: lidplugin.h:218
PluginLID_Errors(* PlayDTMF)(void *context, unsigned line, const char *digits, unsigned onTime, unsigned offTime)
Definition: lidplugin.h:194
time_t timestamp
Definition: lidplugin.h:122
PluginLID_Errors(* ReadFrame)(void *context, unsigned line, void *buffer, unsigned *count)
Definition: lidplugin.h:172
Definition: lidplugin.h:95
PluginLID_Errors(* GetReadFormat)(void *context, unsigned line, char *mediaFormat, unsigned size)
Definition: lidplugin.h:164
PluginLID_Errors(* GetWinkDuration)(void *context, unsigned line, unsigned *winkDuration)
Definition: lidplugin.h:217
PluginLID_Errors(* ReadDTMF)(void *context, unsigned line, char *digit)
Definition: lidplugin.h:195
unsigned m_dialStartDelay
Time in msec to wait between the dial tone detection and dialing the dtmf.
Definition: lidplugin.h:111
PluginLID_Errors(* GetSupportedCountry)(void *context, unsigned index, unsigned *countryCode)
Definition: lidplugin.h:222
int PluginLID_Boolean
Definition: lidplugin.h:61
const char * copyright
Definition: lidplugin.h:135
PluginLID_Errors(* WaitForTone)(void *context, unsigned line, int tone, unsigned timeout)
Definition: lidplugin.h:201
PluginLID_Errors(* IsLineToLineDirect)(void *context, unsigned line1, unsigned line2, PluginLID_Boolean *connected)
Definition: lidplugin.h:159
PluginLID_Errors(* SetCallerID)(void *context, unsigned line, const char *idString)
Definition: lidplugin.h:191
Definition: lidplugin.h:98
Definition: lidplugin.h:80
PluginLID_Errors(* GetLineCount)(void *context, unsigned *count)
Definition: lidplugin.h:148
PluginLID_Errors(* RingLine)(void *context, unsigned line, unsigned nCadence, const unsigned *pattern, unsigned frequency)
Definition: lidplugin.h:156
const char * version
Definition: lidplugin.h:137
Definition: lidplugin.h:88
PluginLID_Errors(* IsLineOffHook)(void *context, unsigned line, PluginLID_Boolean *offHook)
Definition: lidplugin.h:151
PluginLID_Errors(* SetRecordVolume)(void *context, unsigned line, unsigned volume)
Definition: lidplugin.h:179
void(* Destroy)(const struct PluginLID_Definition *definition, void *context)
Definition: lidplugin.h:142
PluginLID_Errors(* SetAEC)(void *context, unsigned line, unsigned level)
Definition: lidplugin.h:185
PluginLID_Errors(* IsLinePresent)(void *context, unsigned line, PluginLID_Boolean forceTest, PluginLID_Boolean *present)
Definition: lidplugin.h:150
const char * authorURL
Definition: lidplugin.h:134
PluginLID_Errors(* SetToneParameters)(void *context, unsigned line, unsigned tone, unsigned lowFrequency, unsigned highFrequency, unsigned mixingMode, unsigned numCadences, const unsigned *onTimes, const unsigned *offTimes)
Definition: lidplugin.h:203
const char * authorEmail
Definition: lidplugin.h:133
PluginLID_Errors(* GetSupportedFormat)(void *context, unsigned index, char *mediaFormat, unsigned size)
Definition: lidplugin.h:161
const char * name
Definition: lidplugin.h:124
Definition: lidplugin.h:73
PluginLID_Errors(* SetReadFrameSize)(void *context, unsigned line, unsigned frameSize)
Definition: lidplugin.h:168
bool m_requireTones
Require dial/ring tone to be detected.
Definition: lidplugin.h:109
Definition: lidplugin.h:75
Definition: lidplugin.h:100
unsigned m_progressTimeout
Time in msec to wait for a progress tone (ring, busy or connected) to be detected.
Definition: lidplugin.h:112
Definition: lidplugin.h:82
PluginLID_Errors(* EnableAudio)(void *context, unsigned line, PluginLID_Boolean enable)
Definition: lidplugin.h:177
Definition: lidplugin.h:96
PluginLID_Errors(* GetWriteFrameSize)(void *context, unsigned line, unsigned *frameSize)
Definition: lidplugin.h:171
const char * author
Definition: lidplugin.h:132
Definition: lidplugin.h:99
Definition: lidplugin.h:86
PluginLID_Errors(* Open)(void *context, const char *device)
Definition: lidplugin.h:145
unsigned int apiVersion
Definition: lidplugin.h:119
PluginLID_Errors(* IsLineRinging)(void *context, unsigned line, unsigned long *cadence)
Definition: lidplugin.h:155
const char * manufacturerEmail
Definition: lidplugin.h:129
Definition: lidplugin.h:72
Definition: lidplugin.h:79
PluginLID_Errors(* GetCallerID)(void *context, unsigned line, char *idString, unsigned size, PluginLID_Boolean full)
Definition: lidplugin.h:190
PluginLID_CallProgressTones
Definition: lidplugin.h:94
Definition: lidplugin.h:107
PluginLID_Errors(* GetReadFrameSize)(void *context, unsigned line, unsigned *frameSize)
Definition: lidplugin.h:170
Definition: lidplugin.h:87
PluginLID_Errors
Definition: lidplugin.h:71
PluginLID_Errors(* IsLineTerminal)(void *context, unsigned line, PluginLID_Boolean *isTerminal)
Definition: lidplugin.h:149
Definition: lidplugin.h:78
PluginLID_Errors(* WriteFrame)(void *context, unsigned line, const void *buffer, unsigned count, unsigned *written)
Definition: lidplugin.h:173
PluginLID_Errors(* SetCountryCode)(void *context, unsigned country)
Definition: lidplugin.h:220
PluginLID_Errors(* SetPlayVolume)(void *context, unsigned line, unsigned volume)
Definition: lidplugin.h:180
PluginLID_Errors(* PlayTone)(void *context, unsigned line, unsigned tone)
Definition: lidplugin.h:211
PluginLID_Errors(* StopWriting)(void *context, unsigned line)
Definition: lidplugin.h:167
Definition: lidplugin.h:84
PluginLID_Errors(* DialOut)(void *context, unsigned line, const char *number, struct PluginLID_DialParams *params)
Definition: lidplugin.h:215
PluginLID_Errors(* Close)(void *context)
Definition: lidplugin.h:146
PluginLID_Errors(* SetVAD)(void *context, unsigned line, PluginLID_Boolean enable)
Definition: lidplugin.h:188
Definition: lidplugin.h:81
Definition: lidplugin.h:89
PluginLID_Errors(* GetVAD)(void *context, unsigned line, PluginLID_Boolean *enable)
Definition: lidplugin.h:187
Definition: lidplugin.h:90
PluginLID_Errors(* GetAverageSignalLevel)(void *context, unsigned line, PluginLID_Boolean playback, unsigned *signal)
Definition: lidplugin.h:175
unsigned m_dialToneTimeout
Time in msec to wait for a dial tone to be detected.
Definition: lidplugin.h:110
PluginLID_Errors(* IsToneDetected)(void *context, unsigned line, int *tone)
Definition: lidplugin.h:199
PluginLID_Errors(* GetDeviceName)(void *context, unsigned index, char *name, unsigned size)
Definition: lidplugin.h:144
const char * manufacturer
Definition: lidplugin.h:126
Definition: lidplugin.h:103
PluginLID_Errors(* GetAEC)(void *context, unsigned line, unsigned *level)
Definition: lidplugin.h:184
Definition: lidplugin.h:102
PluginLID_Errors(* WaitForToneDetect)(void *context, unsigned line, unsigned timeout, int *tone)
Definition: lidplugin.h:200
Definition: lidplugin.h:97
Definition: lidplugin.h:117
Definition: lidplugin.h:77
PluginLID_Errors(* GetRecordVolume)(void *context, unsigned line, unsigned *volume)
Definition: lidplugin.h:181
PluginLID_Errors(* SetWriteFormat)(void *context, unsigned line, const char *mediaFormat)
Definition: lidplugin.h:163
PluginLID_Errors(* IsTonePlaying)(void *context, unsigned line, PluginLID_Boolean *playing)
Definition: lidplugin.h:212
Definition: lidplugin.h:85
PluginLID_Errors(* HasHookFlash)(void *context, unsigned line, PluginLID_Boolean *flashed)
Definition: lidplugin.h:154
const char * description
Definition: lidplugin.h:125
Definition: lidplugin.h:101
Definition: lidplugin.h:74
PluginLID_Errors(* GetPlayVolume)(void *context, unsigned line, unsigned *volume)
Definition: lidplugin.h:182
PluginLID_Errors(* SetRemoveDTMF)(void *context, unsigned line, PluginLID_Boolean removeTones)
Definition: lidplugin.h:197
const char * revision
Definition: lidplugin.h:128
PluginLID_Errors(* IsLineConnected)(void *context, unsigned line, PluginLID_Boolean *connected)
Definition: lidplugin.h:226
const void * userData
Definition: lidplugin.h:139
PluginLID_Errors(* StopTone)(void *context, unsigned line)
Definition: lidplugin.h:213
PluginLID_Errors(* SetLineToLineDirect)(void *context, unsigned line1, unsigned line2, PluginLID_Boolean connect)
Definition: lidplugin.h:158
PluginLID_Errors(* IsLineDisconnected)(void *context, unsigned line, PluginLID_Boolean checkForWink, PluginLID_Boolean *disconnected)
Definition: lidplugin.h:157
PluginLID_Errors(* SetReadFormat)(void *context, unsigned line, const char *mediaFormat)
Definition: lidplugin.h:162
PluginLID_Errors(* SetWriteFrameSize)(void *context, unsigned line, unsigned frameSize)
Definition: lidplugin.h:169
PluginLID_Errors(* StopReading)(void *context, unsigned line)
Definition: lidplugin.h:166
PluginLID_Errors(* GetWriteFormat)(void *context, unsigned line, char *mediaFormat, unsigned size)
Definition: lidplugin.h:165
const char * model
Definition: lidplugin.h:127