1 /*******************************************************************************
2 
3     KHOMP generic endpoint/channel library.
4     Copyright (C) 2007-2010 Khomp Ind. & Com.
5 
6   The contents of this file are subject to the Mozilla Public License
7   Version 1.1 (the "License"); you may not use this file except in compliance
8   with the License. You may obtain a copy of the License at
9   http://www.mozilla.org/MPL/
10 
11   Software distributed under the License is distributed on an "AS IS" basis,
12   WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
13   the specific language governing rights and limitations under the License.
14 
15   Alternatively, the contents of this file may be used under the terms of the
16   "GNU Lesser General Public License 2.1" license (the “LGPL" License), in which
17   case the provisions of "LGPL License" are applicable instead of those above.
18 
19   If you wish to allow use of your version of this file only under the terms of
20   the LGPL License and not to allow others to use your version of this file
21   under the MPL, indicate your decision by deleting the provisions above and
22   replace them with the notice and other provisions required by the LGPL
23   License. If you do not delete the provisions above, a recipient may use your
24   version of this file under either the MPL or the LGPL License.
25 
26   The LGPL header follows below:
27 
28     This library is free software; you can redistribute it and/or
29     modify it under the terms of the GNU Lesser General Public
30     License as published by the Free Software Foundation; either
31     version 2.1 of the License, or (at your option) any later version.
32 
33     This library is distributed in the hope that it will be useful,
34     but WITHOUT ANY WARRANTY; without even the implied warranty of
35     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
36     Lesser General Public License for more details.
37 
38     You should have received a copy of the GNU Lesser General Public License
39     along with this library; if not, write to the Free Software Foundation,
40     Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
41 
42 *******************************************************************************/
43 
44 #ifndef _GENERATED_K3L_H_
45 #define _GENERATED_K3L_H_
46 #if !defined KLTYPEDEFS_H
47 #define KLTYPEDEFS_H
48 #if defined( _WINDOWS ) || defined( _Windows ) || defined( _WIN32 )
49 	#ifndef KWIN32
50 	#define KWIN32 1
51 	#endif
52 #endif
53 
54 #ifdef KWIN32
55 	typedef __int64				int64;
56 	typedef unsigned __int64	uint64;
57 	#define Kstdcall __stdcall
58 #else
59 	typedef long long				int64;
60 	typedef unsigned long long		uint64;
61 	#define Kstdcall
62 #endif
63 typedef int					int32;
64 typedef unsigned int		uint32;
65 typedef uint64			    intptr;
66 typedef intptr              stackint;
67 typedef short int			int16;
68 typedef unsigned short int	uint16;
69 typedef char				int8;
70 typedef unsigned char		uint8;
71 typedef unsigned char		byte;
72 typedef char				sbyte;
73 typedef double				float64;
74 typedef float				float32;
75 typedef int32				stt_code;
76 
77 enum KLibraryStatus
78 {
79 	ksSuccess =			0,
80 	ksFail =			1,
81 	ksTimeOut =			2,
82 	ksBusy =			3,
83 	ksLocked =			4,
84 	ksInvalidParams =	5,
85 	ksEndOfFile =		6,
86 	ksInvalidState =	7,
87 	ksServerCommFail =	8,
88 	ksOverflow =		9,
89     ksUnderrun =        10,
90 	ksNotFound =		11,
91     ksNotAvailable =    12
92 };
93 enum KTxRx
94 {
95 	kNoTxRx	= 0x0,
96 	kTx		= 0x1,
97 	kRx		= 0x2,
98 	kBoth	= 0x3
99 };
100 
101 #define KMAX_SERIAL_NUMBER			12
102 #define KMAX_E1_CHANNELS			30
103 #define KMAX_DIAL_NUMBER	        20
104 #define KMAX_ADDRESS				60
105 #define KMAX_DSP_NAME		        8
106 #define KMAX_STR_VERSION	        80
107 #define KMAX_BUFFER_ADDRESSES		16
108 #define KMAX_LOG                    1024
109 #define KMAX_SIP_DATA               248
110 #define KMAX_GSM_CALLS              6
111 #define KMAX_GSM_OPER_NAME          32
112 #define KMAX_GSM_IMEI_SIZE          16
113 #endif
114 #if !defined KVOIPDEFS_H
115 #define KVOIPDEFS_H
116 enum KRejectReason
117 {
118 	UserBusy = 0,
119 	UserNotFound,
120 	NoAnswer,
121 	Decline,
122 	ServiceUnavailable,
123 	ServerInternalError,
124 	UnknownRejectReason
125 };
126 enum KSIP_Failures
127 {
128 	kveResponse_200_OK_Success             		= 200,
129     kveRedirection_300_MultipleChoices			= 300,
130 	kveRedirection_301_MovedPermanently			= 301,
131 	kveRedirection_302_MovedTemporarily			= 302,
132 	kveRedirection_305_UseProxy					= 305,
133 	kveRedirection_380_AlternativeService		= 380,
134 	kveFailure_400_BadRequest					= 400,
135 	kveFailure_401_Unauthorized					= 401,
136 	kveFailure_402_PaymentRequired				= 402,
137 	kveFailure_403_Forbidden					= 403,
138 	kveFailure_404_NotFound						= 404,
139 	kveFailure_405_MethodNotAllowed				= 405,
140 	kveFailure_406_NotAcceptable				= 406,
141 	kveFailure_407_ProxyAuthenticationRequired	= 407,
142 	kveFailure_408_RequestTimeout				= 408,
143 	kveFailure_410_Gone							= 410,
144 	kveFailure_413_RequestEntityTooLarge		= 413,
145 	kveFailure_414_RequestURI_TooLong			= 414,
146 	kveFailure_415_UnsupportedMediaType			= 415,
147 	kveFailure_416_UnsupportedURI_Scheme		= 416,
148 	kveFailure_420_BadExtension					= 420,
149 	kveFailure_421_ExtensionRequired			= 421,
150 	kveFailure_423_IntervalTooBrief				= 423,
151 	kveFailure_480_TemporarilyUnavailable		= 480,
152 	kveFailure_481_CallDoesNotExist				= 481,
153 	kveFailure_482_LoopDetected					= 482,
154 	kveFailure_483_TooManyHops					= 483,
155 	kveFailure_484_AddressIncomplete			= 484,
156 	kveFailure_485_Ambiguous					= 485,
157 	kveFailure_486_BusyHere						= 486,
158 	kveFailure_487_RequestTerminated			= 487,
159 	kveFailure_488_NotAcceptableHere			= 488,
160 	kveFailure_491_RequestPending				= 491,
161 	kveFailure_493_Undecipherable				= 493,
162 	kveServer_500_InternalError					= 500,
163 	kveServer_501_NotImplemented				= 501,
164 	kveServer_502_BadGateway					= 502,
165 	kveServer_503_ServiceUnavailable			= 503,
166 	kveServer_504_TimeOut						= 504,
167 	kveServer_505_VersionNotSupported			= 505,
168 	kveServer_513_MessageTooLarge				= 513,
169 	kveGlobalFailure_600_BusyEverywhere			= 600,
170 	kveGlobalFailure_603_Decline				= 603,
171 	kveGlobalFailure_604_DoesNotExistAnywhere	= 604,
172 	kveGlobalFailure_606_NotAcceptable			= 606
173 };
174 enum KVoIPRegTypes
175 {
176    kvrtRegister    =   0,
177    kvrtUnregister  =   1
178 };
179 
180 struct KVoIPCallParams
181 {
182 	sbyte ToUser[ KMAX_ADDRESS + 1 ];
183 	sbyte FromUser[ KMAX_ADDRESS + 1 ];
184     sbyte FromUserIP[ KMAX_ADDRESS + 1 ];
185 };
186 struct KVoIPEvRegisterParams
187 {
188     KVoIPRegTypes Register;
189 	sbyte User[ KMAX_ADDRESS + 1 ];
190 	sbyte ProxyIP[ KMAX_ADDRESS + 1 ];
191 };
192 struct KVoIPSeize
193 {
194 	sbyte FromUser[ KMAX_ADDRESS + 1 ];
195 	sbyte ToUser[ KMAX_ADDRESS + 1 ];
196     sbyte ProxyIP[ KMAX_ADDRESS + 1 ];
197 };
198 #endif
199 #if !defined KLDEFS_H
200 #define KLDEFS_H
201 
202 
203 
204 #define CM_SEIZE					0x01
205 
206 #define CM_SYNC_SEIZE				0x02
207 
208 #define CM_SIP_REGISTER             0x03
209 
210 #define CM_DIAL_DTMF				0x04
211 
212 #define CM_DISCONNECT				0x05
213 
214 #define CM_CONNECT					0x06
215 
216 #define CM_PRE_CONNECT				0x07
217 
218 #define CM_CAS_CHANGE_LINE_STT		0x08
219 
220 #define CM_CAS_SEND_MFC				0x09
221 
222 #define CM_SET_FORWARD_CHANNEL		0x0A
223 
224 #define CM_CAS_SET_MFC_DETECT_MODE	0x0B
225 
226 #define CM_DROP_COLLECT_CALL		0x0C
227 
228 #define CM_MAKE_CALL				0x0D
229 
230 #define CM_RINGBACK 				0x0E
231 
232 #define CM_USER_INFORMATION         0x0F
233 
234 #define CM_USER_INFORMATION_EX      0x2B
235 
236 #define CM_VOIP_SEIZE				0x23
237 
238 
239 #define	CM_LOCK_INCOMING			0x10
240 
241 #define CM_UNLOCK_INCOMING			0x11
242 
243 #define CM_LOCK_OUTGOING			0x12
244 
245 #define CM_UNLOCK_OUTGOING			0x13
246 
247 #define CM_START_SEND_FAIL			0x14
248 
249 #define CM_STOP_SEND_FAIL			0x15
250 
251 #define CM_END_OF_NUMBER            0x16
252 
253 #define CM_SEND_SIP_DATA			0x17
254 
255 #define CM_SS_TRANSFER              0x18
256 
257 #define CM_GET_SMS                  0x19
258 
259 #define CM_PREPARE_SMS              0x1A
260 
261 #define CM_SEND_SMS                 0x1B
262 
263 #define CM_SEND_TO_MODEM            0x1C
264 
265 #define CM_CHECK_NEW_SMS            0x1D
266 
267 #define CM_ISDN_SEND_SUBADDRESSES   0x1E
268 
269 #define CM_CT_TRANSFER              0x1F
270 
271 #define CM_ENABLE_DTMF_SUPPRESSION	0x30
272 
273 #define CM_DISABLE_DTMF_SUPPRESSION	0x31
274 
275 #define CM_ENABLE_AUDIO_EVENTS		0x32
276 
277 #define CM_DISABLE_AUDIO_EVENTS		0x33
278 
279 #define CM_ENABLE_CALL_PROGRESS		0x34
280 
281 #define CM_DISABLE_CALL_PROGRESS	0x35
282 
283 #define CM_FLASH					0x36
284 
285 #define CM_ENABLE_PULSE_DETECTION	0x37
286 
287 #define CM_DISABLE_PULSE_DETECTION	0x38
288 
289 #define CM_ENABLE_ECHO_CANCELLER	0x39
290 
291 #define CM_DISABLE_ECHO_CANCELLER	0x3A
292 
293 #define CM_ENABLE_AGC				0x3B
294 
295 #define CM_DISABLE_AGC				0x3C
296 
297 #define CM_ENABLE_HIGH_IMP_EVENTS	0x3D
298 
299 #define CM_DISABLE_HIGH_IMP_EVENTS	0x3E
300 
301 #define CM_ENABLE_CALL_ANSWER_INFO  0x40
302 
303 #define CM_DISABLE_CALL_ANSWER_INFO 0x41
304 
305 #define CM_START_WATCHDOG           0x45
306 
307 #define CM_STOP_WATCHDOG            0x46
308 
309 #define CM_NOTIFY_WATCHDOG          0x47
310 
311 #define CM_WATCHDOG_COUNT           0x48
312 
313 #define CM_HOLD_SWITCH             0x4A
314 
315 #define CM_MPTY_CONF               0x4B
316 
317 #define CM_MPTY_SPLIT              0x4C
318 
319 #define CM_SIM_CARD_SELECT         0x4D
320 
321 #define CM_START_FAX_TX				0x50
322 
323 #define CM_STOP_FAX_TX			0x51
324 
325 #define CM_ADD_FAX_FILE				0x52
326 
327 #define CM_ADD_FAX_PAGE_BREAK		0x53
328 
329 #define CM_START_FAX_RX				0x54
330 
331 #define CM_STOP_FAX_RX			    0x55
332 
333 #define CM_RESET_LINK				0xF1
334 
335 #define CM_CLEAR_LINK_ERROR_COUNTER 0xF2
336 
337 #define CM_SEND_DEVICE_SECURITY_KEY 0xF3
338 
339 #define CM_RESET_MODEM              0xF4
340 
341 #define CM_ISDN_DISABLE_LINK        0xF5
342 
343 #define CM_ISDN_ENABLE_LINK         0xF6
344 
345 
346 #define EV_CHANNEL_FREE				0x01
347 
348 #define EV_CONNECT					0x03
349 
350 #define EV_DISCONNECT				0x04
351 
352 #define EV_CALL_SUCCESS				0x05
353 
354 #define EV_CALL_FAIL				0x06
355 
356 #define EV_NO_ANSWER				0x07
357 
358 #define EV_BILLING_PULSE			0x08
359 
360 #define EV_SEIZE_SUCCESS			0x09
361 
362 #define EV_SEIZE_FAIL				0x0A
363 
364 #define EV_SEIZURE_START			0x0B
365 
366 #define EV_CAS_LINE_STT_CHANGED		0x0C
367 
368 #define EV_CAS_MFC_RECV				0x0D
369 
370 #define EV_NEW_CALL                 0x0E
371 
372 #define EV_USER_INFORMATION         0x0F
373 
374 #define EV_USER_INFORMATION_EX      0x1D
375 
376 #define EV_DIALED_DIGIT             0x10
377 
378 #define EV_SIP_REGISTER_INFO        0x11
379 
380 #define EV_RING_DETECTED            0x12
381 
382 #define EV_ISDN_SUBADDRESSES        0x13
383 
384 #define EV_CALL_HOLD_START			0x16
385 
386 #define EV_CALL_HOLD_STOP			0x17
387 
388 #define EV_SS_TRANSFER_FAIL         0x18
389 
390 #define EV_FLASH                    0x19
391 
392 #define EV_ISDN_PROGRESS_INDICATOR	0x1A
393 
394 #define EV_CT_TRANSFER_SUCCESS      0x1B
395 
396 #define EV_CT_TRANSFER_FAIL         0x1C
397 
398 #define EV_DTMF_DETECTED			0x20
399 
400 #define EV_DTMF_SEND_FINISH			0x21
401 
402 #define EV_AUDIO_STATUS				0x22
403 
404 #define EV_CADENCE_RECOGNIZED		0x23
405 #define EV_CALL_PROGRESS			EV_CADENCE_RECOGNIZED
406 
407 #define EV_END_OF_STREAM			0x24
408 
409 #define EV_PULSE_DETECTED			0x25
410 
411 #define EV_POLARITY_REVERSAL		0x26
412 
413 #define EV_CALL_ANSWER_INFO     	0x27
414 
415 #define EV_COLLECT_CALL          	0x28
416 
417 #define EV_SIP_DTMF_DETECTED        0x29
418 
419 #define EV_SIP_DATA			        0x2A
420 
421 #define EV_RECV_FROM_MODEM			0x42
422 
423 #define EV_NEW_SMS                  0x43
424 
425 #define EV_SMS_INFO                 0x44
426 
427 #define EV_SMS_DATA                 0x45
428 
429 #define EV_SMS_SEND_RESULT          0x46
430 
431 #define EV_CALL_MPTY_START			0x47
432 
433 #define EV_CALL_MPTY_STOP			0x48
434 
435 #define EV_GSM_COMMAND_STATUS		0x49
436 
437 #define EV_WATCHDOG_COUNT           0x60
438 
439 #define EV_CHANNEL_FAIL				0x30
440 
441 #define EV_REFERENCE_FAIL			0x31
442 
443 #define EV_INTERNAL_FAIL			0x32
444 
445 #define EV_HARDWARE_FAIL			0x33
446 
447 #define EV_LINK_STATUS				0x34
448 
449 #define EV_PHYSICAL_LINK_UP			0x35
450 
451 #define EV_PHYSICAL_LINK_DOWN		0x36
452 
453 #define EV_CLIENT_RECONNECT		0xF0
454 
455 #define EV_CLIENT_AUDIOLISTENER_TIMEOUT     0xF1
456 
457 #define EV_CLIENT_BUFFERED_AUDIOLISTENER_OVERFLOW   0xF2
458 
459 #define EV_REQUEST_DEVICE_SECURITY_KEY 0xF3
460 
461 #define EV_DISK_IS_FULL		0xF4
462 
463 
464 #define CM_SEND_DTMF				0xD1
465 
466 #define CM_STOP_AUDIO 				0xD2
467 
468 #define CM_HARD_RESET				0xF0
469 
470 #define EV_VOIP_SEIZURE					0x40
471 
472 #define EV_SEIZURE					0x41
473 
474 #define EV_FAX_CHANNEL_FREE			0x50
475 
476 #define EV_FAX_FILE_SENT			0x51
477 #define EV_FAX_FILE_FAIL			0x52
478 #define EV_FAX_MESSAGE_CONFIRMATION 0x53
479 #define EV_FAX_TX_TIMEOUT			0x54
480 #define EV_FAX_PAGE_CONFIRMATION EV_FAX_MESSAGE_CONFIRMATION
481 #define EV_FAX_REMOTE_INFO			0x55
482 
483 #endif
484 
485    #define FC_REMOTE_FAIL			0x01
486    #define FC_LOCAL_FAIL			0x02
487 
488    #define FC_REMOTE_LOCK			0x03
489 
490    #define FC_LINE_SIGNAL_FAIL		0x04
491    #define FC_ACOUSTIC_SIGNAL_FAIL	0x05
492 
493 enum KChannelFail
494 {
495 	kfcRemoteFail = FC_REMOTE_FAIL,
496 	kfcLocalFail = FC_LOCAL_FAIL,
497 	kfcRemoteLock = FC_REMOTE_LOCK,
498 	kfcLineSignalFail = FC_LINE_SIGNAL_FAIL,
499 	kfcAcousticSignalFail = FC_ACOUSTIC_SIGNAL_FAIL
500 };
501 
502    #define ER_INTERRUPT_CTRL		0x01
503    #define ER_COMMUNICATION_FAIL	0x02
504    #define ER_PROTOCOL_FAIL			0x03
505    #define ER_INTERNAL_BUFFER		0x04
506 	#define ER_MONITOR_BUFFER		0x05
507 	#define ER_INITIALIZATION		0x06
508 	#define ER_INTERFACE_FAIL		0x07
509 	#define ER_CLIENT_COMM_FAIL		0x08
510 	#define ER_POLL_CTRL			0x09
511 	#define ER_EVT_BUFFER_CTRL		0x0A
512 
513 	#define ER_INVALID_CONFIG_VALUE 0x0B
514 
515 	#define ER_INTERNAL_GENERIC_FAIL 0x0C
516 
517 enum KInternalFail
518 {
519 	kifInterruptCtrl = ER_INTERRUPT_CTRL,
520 	kifCommunicationFail = ER_COMMUNICATION_FAIL,
521 	kifProtocolFail = ER_PROTOCOL_FAIL,
522 	kifInternalBuffer = ER_INTERNAL_BUFFER,
523 	kifMonitorBuffer = ER_MONITOR_BUFFER,
524 	kifInitialization = ER_INITIALIZATION,
525 	kifInterfaceFail = ER_INTERFACE_FAIL,
526 	kifClientCommFail = ER_CLIENT_COMM_FAIL
527 };
528 
529    #define FS_CHANNEL_LOCKED		0x01
530    #define FS_INCOMING_CHANNEL		0x02
531    #define FS_CHANNEL_NOT_FREE		0x03
532    #define FS_DOUBLE_SEIZE			0x04
533    #define FS_LOCAL_CONGESTION		0x06
534    #define FS_NO_DIAL_TONE			0x07
535 enum KSeizeFail
536 {
537 	ksfChannelLocked = FS_CHANNEL_LOCKED,
538 	ksfIncomingChannel = FS_INCOMING_CHANNEL,
539 	ksfChannelBusy = FS_CHANNEL_NOT_FREE,
540 	ksfDoubleSeizure = FS_DOUBLE_SEIZE,
541 	ksfCongestion = FS_LOCAL_CONGESTION,
542 	ksfNoDialTone = FS_NO_DIAL_TONE
543 };
544 #if !defined KH100DEFS_H
545 #define KH100DEFS_H
546 
547 #define CM_SEND_TO_CTBUS			0x90
548 
549 #define CM_RECV_FROM_CTBUS			0x91
550 
551 #define CM_SEND_RANGE_TO_CTBUS		0x92
552 
553 #define CM_SETUP_H100				0x93
554 
555 enum KH100ConfigIndex
556 {
557 	khciDeviceMode = 0,
558 	khciMasterGenClock = 1,
559 	khciCTNetRefEnable = 4,
560 	khciSCbusEnable = 6,
561 	khciHMVipEnable = 7,
562 	khciMVip90Enable = 8,
563 	khciCTbusDataEnable = 9,
564 	khciCTbusFreq03_00 = 10,
565 	khciCTbusFreq07_04 = 11,
566 	khciCTbusFreq11_08 = 12,
567 	khciCTbusFreq15_12 = 13,
568 	khciMax = 14,
569 	khciMasterDevId = 20,
570 	khciSecMasterDevId = 21,
571 	khciCtNetrefDevId = 22,
572     khciMaxH100ConfigIndex
573 };
574 
575 enum KMasterPLLClockReference
576 {
577     h100_Ref_FreeRun = 0,
578     h100_Ref_holdover = 1,
579 	h100_Automatic = 2,
580     h100_Ref_ctnetref = 7,
581     h100_Ref_link0 = 8,
582     h100_Ref_link1 = 9
583 };
584 enum KSlavePLLClockReference
585 {
586     h100_PllLoc_ClkA = 0,
587     h100_PllLoc_ClkB = 1,
588     h100_PllLoc_SCBus = 2,
589     h100_PllLoc_MVIP90 = 3,
590     h100_PllLoc_Link0 = 4,
591     h100_PllLoc_Link1 = 5,
592     h100_PllLoc_Error = 6
593 };
594 
595 #define H100_DEVICE_MODE				khciDeviceMode
596 	enum KH100Mode
597 	{
598 		h100_Slave,
599 		h100_Master,
600 		h100_StandbyMaster,
601 		h100_Diagnostic,
602 		h100_NotConnected
603 	};
604 #define H100_MASTER_GEN_CLOCK			khciMasterGenClock
605 	enum KH100SelectCtbusClock
606 	{
607 		h100_scClockA,
608 		h100_scClockB
609 	};
610 
611 #define H100_CT_NETREF_ENABLE			khciCTNetRefEnable
612 	enum KH100CtNetref
613 	{
614 		h100_nrOff,
615 		h100_nrEnable
616 	};
617 #define	H100_SCBUS_ENABLE				khciSCbusEnable
618 	enum KH100ScbusEnable
619 	{
620 		h100_seOff,
621 		h100_seOn2Mhz,
622 		h100_seOn4Mhz,
623 		h100_seOn8Mhz
624 	};
625 #define H100_HMVIP_ENABLE				khciHMVipEnable
626 
627 #define H100_MVIP90_ENABLE				khciMVip90Enable
628 
629 #define H100_CTBUS_DATA_ENABLE			khciCTbusDataEnable
630 
631 enum KH100Enable
632 {
633 	h100_On = 0x01,
634 	h100_Off = 0x00
635 };
636 
637 #define H100_CTBUS_FREQ_03_00			khciCTbusFreq03_00
638 #define H100_CTBUS_FREQ_07_04			khciCTbusFreq07_04
639 #define H100_CTBUS_FREQ_11_08			khciCTbusFreq11_08
640 #define H100_CTBUS_FREQ_15_12			khciCTbusFreq15_12
641 
642 enum KH100CtbusFreq
643 {
644 	h100_cf_2Mhz	=	0,
645 	h100_cf_4Mhz	=	1,
646 	h100_cf_8Mhz	=	2
647 };
648 
649 #endif
650 
651 #define CM_MIXER					0x60
652 
653 #define CM_CLEAR_MIXER				0x61
654 
655 #define CM_PLAY_FROM_FILE			0x62
656 
657 #define CM_RECORD_TO_FILE			0x63
658 
659 #define CM_PLAY_FROM_STREAM			0x64
660 
661 #define CM_INTERNAL_PLAY			0x65
662 
663 #define CM_STOP_PLAY				0x66
664 
665 #define CM_STOP_RECORD				0x67
666 
667 #define CM_PAUSE_PLAY				0x68
668 
669 #define CM_PAUSE_RECORD				0x69
670 
671 #define CM_RESUME_PLAY				0x6A
672 
673 #define CM_RESUME_RECORD			0x6B
674 
675 #define CM_INCREASE_VOLUME			0x6C
676 
677 #define CM_DECREASE_VOLUME			0x6D
678 
679 #define CM_LISTEN					0x6E
680 
681 #define CM_STOP_LISTEN				0x6F
682 
683 #define CM_PREPARE_FOR_LISTEN		0x70
684 
685 #define CM_PLAY_SOUND_CARD			0x71
686 
687 #define CM_STOP_SOUND_CARD			0x72
688 
689 #define CM_MIXER_CTBUS				0x73
690 
691 #define CM_PLAY_FROM_STREAM_EX			0x74
692 
693 #define CM_INTERNAL_PLAY_EX			0x75
694 
695 #define CM_ENABLE_PLAYER_AGC		0x76
696 
697 #define CM_DISABLE_PLAYER_AGC		0x77
698 
699 #define CM_START_STREAM_BUFFER		0x78
700 
701 #define CM_ADD_STREAM_BUFFER		0x79
702 
703 #define CM_STOP_STREAM_BUFFER		0x7A
704 
705 #define CM_SEND_BEEP				0x7B
706 
707 #define CM_SEND_BEEP_CONF			0x7C
708 
709 #define CM_ADD_TO_CONF				0x7D
710 
711 #define CM_REMOVE_FROM_CONF			0x7E
712 
713 #define CM_RECORD_TO_FILE_EX		0x7F
714 
715 #define CM_SET_VOLUME				0xA0
716 
717 #define CM_START_CADENCE			0xA1
718 
719 #define CM_STOP_CADENCE				0xA2
720 
721 #define CM_SET_INPUT_MODE				0xA3
722 #if !defined KR2D_H
723 #define KR2D_H
724 
725 #define CM_SET_LINE_CONDITION		0x80
726 
727 #define CM_SEND_LINE_CONDITION		0x81
728 
729 #define CM_SET_CALLER_CATEGORY		0x82
730 
731 
732 #define CM_DIAL_MFC					0x83
733 
734 
735 
736 enum KSignGroupII_Brazil
737 {
738 	kg2BrOrdinary		        = 0x01,
739 	kg2BrPriority		        = 0x02,
740 	kg2BrMaintenance	        = 0x03,
741 	kg2BrLocalPayPhone	        = 0x04,
742 	kg2BrTrunkOperator	        = 0x05,
743 	kg2BrDataTrans	            = 0x06,
744 	kg2BrNonLocalPayPhone       = 0x07,
745 	kg2BrCollectCall	        = 0x08,
746 	kg2BrOrdinaryInter	        = 0x09,
747 	kg2BrTransfered		        = 0x0B,
748 };
749 
750 enum KSignGroupB_Brazil
751 {
752 	kgbBrLineFreeCharged		= 0x01,
753 	kgbBrBusy					= 0x02,
754 	kgbBrNumberChanged			= 0x03,
755 	kgbBrCongestion				= 0x04,
756 	kgbBrLineFreeNotCharged		= 0x05,
757 	kgbBrLineFreeChargedLPR		= 0x06,
758 	kgbBrInvalidNumber			= 0x07,
759 	kgbBrLineOutOfOrder			= 0x08,
760 	kgbBrNone					= 0xFF
761 };
762 
763 
764 enum KSignGroupII_Argentina
765 {
766 	kg2ArOrdinary		        = 0x01,
767 	kg2ArPriority		        = 0x02,
768 	kg2ArMaintenance	        = 0x03,
769 	kg2ArLocalPayPhone	        = 0x04,
770 	kg2ArTrunkOperator	        = 0x05,
771 	kg2ArDataTrans	            = 0x06,
772     kg2ArCPTP                   = 0x0B,
773     kg2ArSpecialLine            = 0x0C,
774     kg2ArMobileUser             = 0x0D,
775     kg2ArPrivateRedLine         = 0x0E,
776     kg2ArSpecialPayPhoneLine    = 0x0F,
777 };
778 
779 enum KSignGroupB_Argentina
780 {
781 	kgbArNumberChanged			= 0x02,
782 	kgbArBusy					= 0x03,
783 	kgbArCongestion				= 0x04,
784 	kgbArInvalidNumber			= 0x05,
785 	kgbArLineFreeCharged		= 0x06,
786 	kgbArLineFreeNotCharged		= 0x07,
787 	kgbArLineOutOfOrder			= 0x08,
788 	kgbArNone					= 0xFF
789 };
790 
791 
792 enum KSignGroupII_Chile
793 {
794     kg2ClOrdinary		        = 0x01,
795 	kg2ClPriority		        = 0x02,
796 	kg2ClMaintenance	        = 0x03,
797 	kg2ClTrunkOperator	        = 0x05,
798 	kg2ClDataTrans	            = 0x06,
799     kg2ClUnidentifiedSubscriber = 0x0B,
800 };
801 
802 enum KSignGroupB_Chile
803 {
804 	kgbClNumberChanged			= 0x02,
805 	kgbClBusy					= 0x03,
806 	kgbClCongestion				= 0x04,
807 	kgbClInvalidNumber			= 0x05,
808 	kgbClLineFreeCharged		= 0x06,
809 	kgbClLineFreeNotCharged		= 0x07,
810 	kgbClLineOutOfOrder			= 0x08,
811 	kgbClNone					= 0xFF
812 };
813 
814 
815 enum KSignGroupII_Mexico
816 {
817 	kg2MxTrunkOperator	        = 0x01,
818 	kg2MxOrdinary		        = 0x02,
819 	kg2MxMaintenance	        = 0x06,
820 };
821 
822 enum KSignGroupB_Mexico
823 {
824 	kgbMxLineFreeCharged		= 0x01,
825 	kgbMxBusy					= 0x02,
826 	kgbMxLineFreeNotCharged		= 0x05,
827 	kgbMxNone				    = 0xFF
828 };
829 
830 
831 enum KSignGroupII_Uruguay
832 {
833 	kg2UyOrdinary		        = 0x01,
834 	kg2UyPriority		        = 0x02,
835 	kg2UyMaintenance	        = 0x03,
836 	kg2UyLocalPayPhone	        = 0x04,
837 	kg2UyTrunkOperator	        = 0x05,
838 	kg2UyDataTrans	            = 0x06,
839     kg2UyInternSubscriber       = 0x07,
840 };
841 
842 enum KSignGroupB_Uruguay
843 {
844 	kgbUyNumberChanged			= 0x02,
845 	kgbUyBusy					= 0x03,
846 	kgbUyCongestion				= 0x04,
847 	kgbUyInvalidNumber			= 0x05,
848 	kgbUyLineFreeCharged		= 0x06,
849 	kgbUyLineFreeNotCharged		= 0x07,
850 	kgbUyLineOutOfOrder			= 0x08,
851 	kgbUyNone					= 0xFF
852 };
853 
854 
855 enum KSignGroupII_Venezuela
856 {
857 	kg2VeOrdinary		        = 0x01,
858 	kg2VePriority		        = 0x02,
859 	kg2VeMaintenance	        = 0x03,
860 	kg2VeLocalPayPhone	        = 0x04,
861 	kg2VeTrunkOperator	        = 0x05,
862 	kg2VeDataTrans	            = 0x06,
863     kg2VeNoTransferFacility     = 0x07,
864 };
865 
866 enum KSignGroupB_Venezuela
867 {
868 	kgbVeLineFreeChargedLPR		= 0x01,
869 	kgbVeNumberChanged			= 0x02,
870 	kgbVeBusy					= 0x03,
871 	kgbVeCongestion				= 0x04,
872 	kgbVeInformationTone		= 0x05,
873 	kgbVeLineFreeCharged		= 0x06,
874 	kgbVeLineFreeNotCharged		= 0x07,
875     kgbVeLineBlocked            = 0x08,
876     kgbVeIntercepted            = 0x09,
877     kgbVeDataTrans              = 0x0A,
878 	kgbVeNone					= 0xFF
879 };
880 
881 
882 
883 
884 
885 enum KSignGroupB
886 {
887 	kgbLineFreeCharged			= 0x01,
888 	kgbLineFreeNotCharged		= 0x05,
889 	kgbLineFreeChargedLPR		= 0x06,
890 	kgbBusy						= 0x02,
891 	kgbNumberChanged			= 0x03,
892 	kgbCongestion				= 0x04,
893 	kgbInvalidNumber			= 0x07,
894 	kgbLineOutOfOrder			= 0x08,
895 	kgbNone						= 0xFF
896 };
897 #define STT_GB_LINEFREE_CHARGED				0x01
898 #define STT_GB_LINEFREE_NOTCHARGED			0x05
899 #define STT_GB_LINEFREE_CHARGED_LPR			0x06
900 #define	STT_GB_BUSY							0x02
901 #define STT_GB_NUMBER_CHANGED				0x03
902 #define STT_GB_CONGESTION					0x04
903 #define STT_GB_UNALLOCATED_NUMBER			0x07
904 #define STT_GB_LINE_OUT_OF_ORDER			0x08
905 #define STT_GB_NONE							0xFF
906 
907 enum KSignGroupII
908 {
909 	kg2Ordinary			= 0x01,
910 	kg2Priority			= 0x02,
911 	kg2Maintenance		= 0x03,
912 	kg2LocalPayPhone	= 0x04,
913 	kg2TrunkOperator	= 0x05,
914 	kg2DataTrans		= 0x06,
915 	kg2NonLocalPayPhone = 0x07,
916 	kg2CollectCall		= 0x08,
917 	kg2OrdinaryInter	= 0x09,
918 	kg2Transfered		= 0x0B,
919 };
920 #define STT_GII_ORDINARY					0x01
921 #define STT_GII_PRIORITY					0x02
922 #define STT_GII_MAINTENANCE					0x03
923 #define STT_GII_LOCAL_PAY_PHONE				0x04
924 #define STT_GII_TRUNK_OPERATOR				0x05
925 #define STT_GII_DATA_TRANS					0x06
926 #define STT_GII_NON_LOCAL_PAY_PHONE			0x07
927 #define STT_GII_COLLECT_CALL				0x08
928 #define STT_GII_ORDINARY_INTERNATIONAL		0x09
929 #define STT_GII_TRANSFERED					0x0B
930 #endif
931 #ifndef _KISDN_H_
932 #define _KISDN_H_
933 #define KMAX_USER_USER_LEN              32
934 #define KMAX_USER_USER_EX_LEN           254
935 #define KMAX_SUBADRESS_INFORMATION_LEN  20
936 
937 enum KQ931Cause
938 {
939     kq931cNone                    			= 0,
940     kq931cUnallocatedNumber       			= 1,
941     kq931cNoRouteToTransitNet     			= 2,
942     kq931cNoRouteToDest           			= 3,
943 	kq931cSendSpecialInfoTone				= 4,
944 	kq931cMisdialedTrunkPrefix				= 5,
945     kq931cChannelUnacceptable     			= 6,
946     kq931cCallAwarded             			= 7,
947 	kq931cPreemption						= 8,
948 	kq931cPreemptionCircuitReuse			= 9,
949 	kq931cQoR_PortedNumber					= 14,
950     kq931cNormalCallClear         			= 16,
951     kq931cUserBusy                			= 17,
952     kq931cNoUserResponding        			= 18,
953     kq931cNoAnswerFromUser        			= 19,
954 	kq931cSubscriberAbsent					= 20,
955     kq931cCallRejected            			= 21,
956     kq931cNumberChanged           			= 22,
957 	kq931cRedirectionToNewDest				= 23,
958 	kq931cCallRejectedFeatureDest			= 24,
959 	kq931cExchangeRoutingError				= 25,
960     kq931cNonSelectedUserClear    			= 26,
961     kq931cDestinationOutOfOrder   			= 27,
962     kq931cInvalidNumberFormat     			= 28,
963     kq931cFacilityRejected        			= 29,
964     kq931cRespStatusEnquiry       			= 30,
965     kq931cNormalUnspecified       			= 31,
966     kq931cNoCircuitChannelAvail   			= 34,
967     kq931cNetworkOutOfOrder       			= 38,
968 	kq931cPermanentFrameConnOutOfService	= 39,
969 	kq931cPermanentFrameConnOperational		= 40,
970     kq931cTemporaryFailure          		= 41,
971     kq931cSwitchCongestion          		= 42,
972     kq931cAccessInfoDiscarded       		= 43,
973     kq931cRequestedChannelUnav      		= 44,
974 	kq931cPrecedenceCallBlocked				= 46,
975     kq931cResourceUnavailable       		= 47,
976     kq931cQosUnavailable            		= 49,
977     kq931cReqFacilityNotSubsc       		= 50,
978 	kq931cOutCallsBarredWithinCUG			= 53,
979 	kq931cInCallsBarredWithinCUG			= 55,
980     kq931cBearerCapabNotAuthor      		= 57,
981     kq931cBearerCapabNotAvail       		= 58,
982 	kq931cInconsistency						= 62,
983     kq931cServiceNotAvailable       		= 63,
984     kq931cBcNotImplemented          		= 65,
985     kq931cChannelTypeNotImplem      		= 66,
986     kq931cReqFacilityNotImplem      		= 69,
987     kq931cOnlyRestrictedBcAvail     		= 70,
988     kq931cServiceNotImplemented     		= 79,
989     kq931cInvalidCrv                		= 81,
990     kq931cChannelDoesNotExist       		= 82,
991     kq931cCallIdDoesNotExist        		= 83,
992     kq931cCallIdInUse               		= 84,
993     kq931cNoCallSuspended           		= 85,
994     kq931cCallIdCleared             		= 86,
995 	kq931cUserNotMemberofCUG				= 87,
996     kq931cIncompatibleDestination   		= 88,
997     kq931cInvalidTransitNetSel      		= 91,
998     kq931cInvalidMessage            		= 95,
999     kq931cMissingMandatoryIe        		= 96,
1000     kq931cMsgTypeNotImplemented     		= 97,
1001     kq931cMsgIncompatWithState      		= 98,
1002     kq931cIeNotImplemented          		= 99,
1003     kq931cInvalidIe                 		= 100,
1004     kq931cMsgIncompatWithState2     		= 101,
1005     kq931cRecoveryOnTimerExpiry     		= 102,
1006     kq931cProtocolError             		= 103,
1007 	kq931cMessageWithUnrecognizedParam		= 110,
1008 	kq931cProtocolErrorUnspecified			= 111,
1009     kq931cInterworking              		= 127,
1010     kq931cCallConnected             		= 128,
1011     kq931cCallTimedOut              		= 129,
1012     kq931cCallNotFound              		= 130,
1013     kq931cCantReleaseCall           		= 131,
1014     kq931cNetworkFailure            		= 132,
1015     kq931cNetworkRestart            		= 133,
1016     kq931cLastValidCause            		= kq931cNetworkRestart,
1017 };
1018 
1019 enum KQ931ProgressIndication
1020 {
1021     kq931pTonesMaybeAvailable       = 1,
1022     kq931pDestinationIsNonIsdn      = 2,
1023     kq931pOriginationIsNonIsdn      = 3,
1024     kq931pCallReturnedToIsdn        = 4,
1025     kq931pTonesAvailable            = 8,
1026 };
1027 
1028 enum KQ931Hlc
1029 {
1030     kq931hTelefony                  = 0x81,
1031     k1931hFaxGroup23                = 0x84,
1032     k1931hFaxGroup4                 = 0xa1,
1033     kq931hTeletexF184               = 0xa4,
1034     kq931hTeletexF220               = 0xa8,
1035     kq931hTeletexf200               = 0xb1,
1036     kq931hVideotex                  = 0xb2,
1037     kq931hTelexF60                  = 0xb5,
1038     kq931hMhs                       = 0xb8,
1039     kq931hOsiApp                    = 0xc1,
1040     kq931hMaintenance               = 0xde,
1041     kq931hManagement                = 0xdf,
1042 };
1043 
1044 enum KQ931BearerCapability
1045 {
1046     kq931bSpeech                    = 0x00,
1047     kq931bUnrestrictedDigital       = 0x08,
1048     kq931bAudio31kHz                = 0x10,
1049     kq931bAudio7kHz                 = 0x11,
1050     kq931bVideo                     = 0x18,
1051 };
1052 
1053 enum KQ931TypeOfNumber
1054 {
1055     kq931tUnknownNumber             = 0x00,
1056     kq931tInternationalNumber       = 0x10,
1057     kq931tNationalNumber            = 0x20,
1058     kq931tNetworkSpecificNumber     = 0x30,
1059     kq931tSubscriberNumber          = 0x40,
1060     kq931tAbbreviatedNumber         = 0x60,
1061     kq931tReservedNumber            = 0x70,
1062     kq931tDefaultNumber             = kq931tUnknownNumber,
1063 };
1064 
1065 enum KQ931NumberingPlan
1066 {
1067     kq931pUnknownPlan               = 0x00,
1068     kq931pIsdnPlan                  = 0x01,
1069     kq931pDataPlan                  = 0x03,
1070     kq931pTelexPlan                 = 0x04,
1071     kq931pNationalPlan              = 0x08,
1072     kq931pPrivatePlan               = 0x09,
1073     kq931pReservedPlan              = 0x0F,
1074     kq931pDefaultPlan               = kq931pUnknownPlan,
1075 };
1076 
1077 enum KQ931UserInfoProtocolDescriptor
1078 {
1079     kq931uuUserSpecific             = 0x00,
1080     kq931uuOSI_HighLayer            = 0x01,
1081     kq931uuX244                     = 0x02,
1082     kq931uuIA5_Chars                = 0x04,
1083     kq931uuX208_X209                = 0x05,
1084     kq931uuV120                     = 0x07,
1085     kq931uuQ931_CallControl         = 0x08,
1086     kq931uuNational                 = 0x40
1087 };
1088 enum KQ931PresentationIndicator
1089 {
1090 	kq931piPresentationAllowed					= 0x00,
1091 	kq931piPresentationRestricted				= 0x01,
1092 	kq931piNumberNotAvailableDueToInterworking	= 0x02,
1093 };
1094 enum KQ931ScreeningIndicator
1095 {
1096 	kq931siUserProvidedNotScreened				= 0x00,
1097 	kq931siUserProvidedVerifiedAndPassed		= 0x01,
1098 	kq931siUserProvidedVerifiedAndFailed		= 0x02,
1099 	kq931siNetworkProvided						= 0x03,
1100 };
1101 enum KQ931TypeOfSubaddress
1102 {
1103     kq931tsNSAP                                 = 0x00,
1104     kq931tsUserSpecified                        = 0x01,
1105 };
1106 #endif
1107 #ifndef KGSM_H
1108 #define KGSM_H
1109 
1110 enum KGsmCallCause
1111 {
1112     kgccNone                      = 0,
1113     kgccUnallocatedNumber         = 1,
1114     kgccNoRouteToDest             = 3,
1115     kgccChannelUnacceptable       = 6,
1116     kgccOperatorDeterminedBarring = 8,
1117     kgccNormalCallClear           = 16,
1118     kgccUserBusy                  = 17,
1119     kgccNoUserResponding          = 18,
1120     kgccNoAnswerFromUser          = 19,
1121     kgccCallRejected              = 21,
1122     kgccNumberChanged             = 22,
1123     kgccNonSelectedUserClear      = 26,
1124     kgccDestinationOutOfOrder     = 27,
1125     kgccInvalidNumberFormat       = 28,
1126     kgccFacilityRejected          = 29,
1127     kgccRespStatusEnquiry         = 30,
1128     kgccNormalUnspecified         = 31,
1129     kgccNoCircuitChannelAvail     = 34,
1130     kgccNetworkOutOfOrder         = 38,
1131     kgccTemporaryFailure          = 41,
1132     kgccSwitchCongestion          = 42,
1133     kgccAccessInfoDiscarded       = 43,
1134     kgccRequestedChannelUnav      = 44,
1135     kgccResourceUnavailable       = 47,
1136     kgccQosUnavailable            = 49,
1137     kgccReqFacilityNotSubsc       = 50,
1138     kgccCallBarredWitchCUG        = 55,
1139     kgccBearerCapabNotAuthor      = 57,
1140     kgccBearerCapabNotAvail       = 58,
1141     kgccServiceNotAvailable       = 63,
1142     kgccBcNotImplemented          = 65,
1143     kgccReqFacilityNotImplem      = 69,
1144     kgccOnlyRestrictedBcAvail     = 70,
1145     kgccServiceNotImplemented     = 79,
1146     kgccInvalidCrv                = 81,
1147     kgccUserNotMemberOfCUG        = 82,
1148     kgccIncompatibleDestination   = 88,
1149     kgccInvalidTransitNetSel      = 91,
1150     kgccInvalidMessage            = 95,
1151     kgccMissingMandatoryIe        = 96,
1152     kgccMsgTypeNotImplemented     = 97,
1153     kgccMsgIncompatWithState      = 98,
1154     kgccIeNotImplemented          = 99,
1155     kgccInvalidIe                 = 100,
1156     kgccMsgIncompatWithState2     = 101,
1157     kgccRecoveryOnTimerExpiry     = 102,
1158     kgccProtocolError             = 111,
1159     kgccInterworking              = 127,
1160 };
1161 
1162 enum KGsmMobileCause
1163 {
1164     kgmcPhoneFailure                = 0,
1165     kgmcNoConnectionToPhone         = 1,
1166     kgmcPhoneAdaptorLinkReserved    = 2,
1167     kgmcOperationNotAllowed         = 3,
1168     kgmcOperationNotSupported       = 4,
1169     kgmcPH_SIMPINRequired           = 5,
1170     kgmcPH_FSIMPINRequired          = 6,
1171     kgmcPH_FSIMPUKRequired          = 7,
1172     kgmcSIMNotInserted              = 10,
1173     kgmcSIMPINRequired              = 11,
1174     kgmcSIMPUKRequired              = 12,
1175     kgmcSIMFailure                  = 13,
1176     kgmcSIMBusy                     = 14,
1177     kgmcSIMWrong                    = 15,
1178     kgmcIncorrectPassword           = 16,
1179     kgmcSIMPIN2Required             = 17,
1180     kgmcSIMPUK2Required             = 18,
1181     kgmcMemoryFull                  = 20,
1182     kgmcInvalidIndex                = 21,
1183     kgmcNotFound                    = 22,
1184     kgmcMemoryFailure               = 23,
1185     kgmcTextStringTooLong           = 24,
1186     kgmcInvalidCharInTextString     = 25,
1187     kgmcDialStringTooLong           = 26,
1188     kgmcInvalidCharInDialString     = 27,
1189     kgmcNoNetworkService            = 30,
1190     kgmcNetworkTimeout              = 31,
1191     kgmcNetworkNotAllowed           = 32,
1192     kgmcCommandAborted              = 33,
1193     kgmcNumParamInsteadTextParam    = 34,
1194     kgmcTextParamInsteadNumParam    = 35,
1195     kgmcNumericParamOutOfBounds     = 36,
1196     kgmcTextStringTooShort          = 37,
1197     kgmcNetworkPINRequired          = 40,
1198     kgmcNetworkPUKRequired          = 41,
1199     kgmcNetworkSubsetPINRequired    = 42,
1200     kgmcNetworkSubnetPUKRequired    = 43,
1201     kgmcServiceProviderPINRequired  = 44,
1202     kgmcServiceProviderPUKRequired  = 45,
1203     kgmcCorporatePINRequired        = 46,
1204     kgmcCorporatePUKRequired        = 47,
1205     kgmcSIMServiceOptNotSupported   = 60,
1206     kgmcUnknown                     = 100,
1207     kgmcIllegalMS_N3                = 103,
1208     kgmcIllegalME_N6                = 106,
1209     kgmcGPRSServicesNotAllowed_N7   = 107,
1210     kgmcPLMNNotAllowed_No11         = 111,
1211     kgmcLocationAreaNotAllowed_N12  = 112,
1212     kgmcRoamingNotAllowed_N13       = 113,
1213     kgmcServiceOptNotSupported_N32  = 132,
1214     kgmcReqServOptNotSubscribed_N33 = 133,
1215     kgmcServOptTempOutOfOrder_N34   = 134,
1216     kgmcLongContextActivation       = 147,
1217     kgmcUnspecifiedGPRSError        = 148,
1218     kgmcPDPAuthenticationFailure    = 149,
1219     kgmcInvalidMobileClass          = 150,
1220     kgmcGPRSDisconnectionTmrActive  = 151,
1221     kgmcTooManyActiveCalls          = 256,
1222     kgmcCallRejected                = 257,
1223     kgmcUnansweredCallPending       = 258,
1224     kgmcUnknownCallingError         = 259,
1225     kgmcNoPhoneNumRecognized        = 260,
1226     kgmcCallStateNotIdle            = 261,
1227     kgmcCallInProgress              = 262,
1228     kgmcDialStateError              = 263,
1229     kgmcUnlockCodeRequired          = 264,
1230     kgmcNetworkBusy                 = 265,
1231     kgmcInvalidPhoneNumber          = 266,
1232     kgmcNumberEntryAlreadyStarted   = 267,
1233     kgmcCancelledByUser             = 268,
1234     kgmcNumEntryCouldNotBeStarted   = 269,
1235     kgmcDataLost                    = 280,
1236     kgmcInvalidBessageBodyLength    = 281,
1237     kgmcInactiveSocket              = 282,
1238     kgmcSocketAlreadyOpen           = 283,
1239 
1240     kgmcSuccess                     = 0x7fff
1241 };
1242 
1243 enum KGsmSmsCause
1244 {
1245     kgscNone                        = 0,
1246     kgscUnassigned                  = 1,
1247     kgscOperatorDeterminedBarring   = 8,
1248     kgscCallBarred                  = 10,
1249     kgscSMSTransferRejected         = 21,
1250     kgscDestinationOutOfService     = 27,
1251     kgscUnidentifiedSubscriber      = 28,
1252     kgscFacilityRejected            = 29,
1253     kgscUnknownSubscriber           = 30,
1254     kgscNetworkOutOfOrder           = 38,
1255     kgscTemporaryFailure            = 41,
1256     kgscCongestion                  = 42,
1257     kgscResourcesUnavailable        = 47,
1258     kgscFacilityNotSubscribed       = 50,
1259     kgscFacilityNotImplemented      = 69,
1260     kgscInvalidSMSTransferRefValue  = 81,
1261     kgscInvalidMessage              = 95,
1262     kgscInvalidMandatoryInformation = 96,
1263     kgscMessageTypeNonExistent      = 97,
1264     kgscMsgNotCompatWithSMProtState = 98,
1265     kgscInformationElementNonExiste = 99,
1266     kgscProtocolError               = 111,
1267     kgscInterworking                = 127,
1268     kgscTelematicInterworkingNotSup = 128,
1269     kgscSMSTypeZeroNotSupported     = 129,
1270     kgscCannotReplaceSMS            = 130,
1271     kgscUnspecifiedTPPIDError       = 143,
1272     kgscAlphabetNotSupported        = 144,
1273     kgscMessageClassNotSupported    = 145,
1274     kgscUnspecifiedTPDCSError       = 159,
1275     kgscCommandCannotBeActioned     = 160,
1276     kgscCommandUnsupported          = 161,
1277     kgscUnspecifiedTPCommandError   = 175,
1278     kgscTPDUNotSupported            = 176,
1279     kgscSCBusy                      = 192,
1280     kgscNoSCSubscription            = 193,
1281     kgscSCSystemFailure             = 194,
1282     kgscInvalidSMEAddress           = 195,
1283     kgscDestinationSMEBarred        = 196,
1284     kgscSMRejectedDuplicateSM       = 197,
1285     kgscTPVPFNotSupported           = 198,
1286     kgscTPVPNotSupported            = 199,
1287     kgscSIMSMSStorageFull           = 208,
1288     kgscNoSMSStorageCapabilityInSIM = 209,
1289     kgscErrorInMS                   = 210,
1290     kgscMemoryCapacityExceeded      = 211,
1291     kgscSIMDataDownloadError        = 213,
1292     kgscUnspecifiedError            = 255,
1293     kgscPhoneFailure                = 300,
1294     kgscSmsServiceReserved          = 301,
1295     kgscOperationNotAllowed         = 302,
1296     kgscOperationNotSupported       = 303,
1297     kgscInvalidPDUModeParameter     = 304,
1298     kgscInvalidTextModeParameter    = 305,
1299     kgscSIMNotInserted              = 310,
1300     kgscSIMPINNecessary             = 311,
1301     kgscPH_SIMPINNecessary          = 312,
1302     kgscSIMFailure                  = 313,
1303     kgscSIMBusy                     = 314,
1304     kgscSIMWrong                    = 315,
1305     kgscMemoryFailure               = 320,
1306     kgscInvalidMemoryIndex          = 321,
1307     kgscMemoryFull                  = 322,
1308     kgscSMSCAddressUnknown          = 330,
1309     kgscNoNetworkService            = 331,
1310     kgscNetworkTimeout              = 332,
1311     kgscUnknownError                = 500,
1312     kgscNetworkBusy                 = 512,
1313     kgscInvalidDestinationAddress   = 513,
1314     kgscInvalidMessageBodyLength    = 514,
1315     kgscPhoneIsNotInService         = 515,
1316     kgscInvalidPreferredMemStorage  = 516,
1317     kgscUserTerminated              = 517
1318 };
1319 
1320 enum KGsmRegistryStatus
1321 {
1322 	kgrsNotRegistered = 0x00,
1323 	kgrsRegistered    = 0x01,
1324 	kgrsSearching     = 0x02,
1325 	kgrsDenied        = 0x03,
1326 	kgrsUnknown       = 0x04,
1327 	kgrsRoaming       = 0x05,
1328 	kgrsInitializing  = 0xff,
1329 };
1330 enum KGsmCallStatus
1331 {
1332 	kgcstActive   = 0x0,
1333 	kgcstHeld     = 0x1,
1334 	kgcstDialing  = 0x2,
1335 	kgcstAlerting = 0x3,
1336 	kgcstIncoming = 0x4,
1337 	kgcstWaiting  = 0x5,
1338 	kgcstReleased = 0x6,
1339 };
1340 enum KGsmCallMode
1341 {
1342 	kgcmVoice   = 0x0,
1343 	kgcmData    = 0x1,
1344 	kgcmFax     = 0x2,
1345 	kgcmUnknown = 0x3
1346 };
1347 enum KGsmCallFlags
1348 {
1349 	kgcflMultiparty           = 0x01,
1350 	kgcflInternationalNumber  = 0x02,
1351 	kgcflMobileTerminatedCall = 0x04,
1352 };
1353 enum KGsmChannelFeatures
1354 {
1355 	kgcfMultiparty  = 0x01,
1356 	kgcfCallForward = 0x02,
1357 };
1358 #endif
1359 #ifndef K3L_STATS_H
1360 #define K3L_STATS_H
1361 
1362 enum KGeneralCallStatIndex
1363 {
1364     kcsiInbound,
1365     kcsiOutbound,
1366     kcsiOutCompleted,
1367     kcsiOutFailed,
1368     kcsiRemoteDisc,
1369     kcsiLocalDisc,
1370     kcsiLastGeneralCallStat
1371 };
1372 
1373 enum KFailedCallStatIndex
1374 {
1375     kcsiFailedBusy = kcsiLastGeneralCallStat,
1376     kcsiFailedNoAnswer,
1377     kcsiFailedRejected,
1378     kcsiFailedAddrChanged,
1379     kcsiFailedInvalidAddr,
1380     kcsiFailedOutOfService,
1381     kcsiFailedCongestion,
1382     kcsiFailedNetworkFailure,
1383     kcsiFailedOther,
1384     kcsiLastFailedCallStat
1385 };
1386 const uint32 kcsiMaxCallStats = kcsiLastFailedCallStat;
1387 typedef uint32 KStatIndex;
1388 
1389 #endif
1390 #ifndef k3lVersion_h
1391 #define k3lVersion_h
1392 #define k3lApiMajorVersion	2
1393 #define k3lApiMinorVersion	1
1394 #define k3lApiBuildVersion	0
1395 #endif
1396 #if !defined K3L_H
1397 #define K3L_H
1398 
1399 enum KDeviceType
1400 {
1401 	kdtE1           = 0,
1402 	kdtFXO          = 1,
1403 	kdtConf         = 2,
1404 	kdtPR           = 3,
1405 	kdtE1GW         = 4,
1406 	kdtFXOVoIP      = 5,
1407 	kdtE1IP	        = 6,
1408 	kdtE1Spx        = 7,
1409     kdtGWIP         = 8,
1410     kdtFXS          = 9,
1411     kdtFXSSpx       = 10,
1412     kdtGSM          = 11,
1413     kdtGSMSpx       = 12,
1414 	kdtReserved1  	= 13,
1415     kdtGSMUSB       = 14,
1416     kdtGSMUSBSpx    = 15,
1417     kdtE1FXSSpx 	= 16,
1418 	kdtDevTypeCount
1419 };
1420 enum KSignaling
1421 {
1422 	ksigInactive		= 0,
1423 	ksigR2Digital		= 1,
1424 	ksigContinuousEM	= 2,
1425 	ksigPulsedEM		= 3,
1426 	ksigUserR2Digital	= 4,
1427 	ksigAnalog			= 5,
1428 	ksigOpenCAS			= 6,
1429 	ksigOpenR2			= 7,
1430 	ksigSIP 			= 8,
1431     ksigOpenCCS         = 9,
1432     ksigPRI_EndPoint    = 10,
1433     ksigAnalogTerminal  = 11,
1434     ksigPRI_Network     = 12,
1435     ksigPRI_Passive     = 13,
1436 	ksigLineSide  		= 14,
1437 	ksigCAS_EL7			= 15,
1438     ksigGSM             = 16,
1439 	ksigE1LC			= 17,
1440 	ksigISUP			= 18,
1441 	ksigFax				= 19,
1442 };
1443 enum KE1DeviceModel
1444 {
1445 	kdmE1600	= 0,
1446 	kdmE1600E	= 1,
1447 	kdmE1600EX  = 2
1448 };
1449 enum KE1GWDeviceModel
1450 {
1451 	kdmE1GW640   = 1,
1452     kdmE1GW640EX = 2
1453 };
1454 enum KE1IPDeviceModel
1455 {
1456 	kdmE1IP   = 1,
1457     kdmE1IPEX = 2
1458 };
1459 enum KGWIPDeviceModel
1460 {
1461 	kdmGWIP   = 1,
1462 	kdmGWIPEX = 2
1463 };
1464 enum KFXODeviceModel
1465 {
1466 	kdmFXO80    = 0,
1467 	kdmFXOHI    = 1,
1468 	kdmFXO160HI = 2,
1469     kdmFXO240HI = 3
1470 };
1471 enum KFXOVoIPDeviceModel
1472 {
1473 	kdmFXGW180 = kdmFXO80
1474 };
1475 enum KConfDeviceModel
1476 {
1477 	kdmConf240   = 0,
1478 	kdmConf120   = 1,
1479 	kdmConf240EX = 2,
1480 	kdmConf120EX = 3
1481 };
1482 enum KPRDeviceModel
1483 {
1484 	kdmPR300v1         = 0,
1485     kdmPR300           = 1,
1486 	kdmPR300SpxBased   = 2,
1487     kdmPR300EX         = 3
1488 };
1489 enum KFXSDeviceModel
1490 {
1491     kdmFXS300   = 1,
1492     kdmFXS300EX = 2
1493 };
1494 enum KFXSSpxDeviceModel
1495 {
1496     kdmFXSSpx300      = 0,
1497     kdmFXSSpx2E1Based = 1,
1498     kdmFXSSpx300EX    = 2
1499 };
1500 enum KE1SpxDeviceModel
1501 {
1502 	kdmE1Spx    = 0,
1503 	kdm2E1Based = 1,
1504     kdmE1SpxEX  = 2
1505 };
1506 enum KGSMDeviceModel
1507 {
1508     kdmGSM      = 0,
1509     kdmGSMEX    = 1
1510 };
1511 enum KGSMSpxDeviceModel
1512 {
1513     kdmGSMSpx   = 0,
1514     kdmGSMSpxEX = 1
1515 };
1516 enum KGSMUSBDeviceModel
1517 {
1518     kdmGSMUSB      = 0
1519 };
1520 enum KGSMUSBSpxDeviceModel
1521 {
1522     kdmGSMUSBSpx   = 0
1523 };
1524 enum KE1FXSDeviceModel
1525 {
1526     kdmE1FXSSpx     = 0,
1527     kdmE1FXSSpxEX   = 1
1528 };
1529 enum KSystemObject
1530 {
1531 	ksoLink       = 0x00,
1532 	ksoLinkMon    = 0x20,
1533 	ksoFirmware   = 0x80,
1534 	ksoDevice     = 0x100,
1535 	ksoAPI        = 0x150,
1536 	ksoH100       = 0x200,
1537 	ksoChannel	  = 0x1000,
1538 	ksoGsmChannel = 0x2000,
1539 };
1540 enum KFirmwareId
1541 {
1542 	kfiE1600A,
1543 	kfiE1600B,
1544 	kfiFXO80,
1545     kfiGSM40,
1546     kfiGSMUSB
1547 };
1548 enum KE1Status
1549 {
1550 	kesOk					= 0x00,
1551 	kesSignalLost			= 0x01,
1552 	kesNetworkAlarm			= 0x02,
1553 	kesFrameSyncLost		= 0x04,
1554 	kesMultiframeSyncLost	= 0x08,
1555 	kesRemoteAlarm			= 0x10,
1556 	kesHighErrorRate		= 0x20,
1557 	kesUnknownAlarm			= 0x40,
1558 	kesE1Error				= 0x80,
1559     kesNotInitialized       = 0xFF
1560 };
1561 enum KE1ChannelStatus
1562 {
1563 	kecsFree			= 0x00,
1564 	kecsBusy			= 0x01,
1565 	kecsOutgoing		= 0x02,
1566 	kecsIncoming		= 0x04,
1567 	kecsLocked			= 0x06,
1568 	kecsOutgoingLock	= 0x10,
1569 	kecsLocalFail		= 0x20,
1570 	kecsIncomingLock	= 0x40,
1571 	kecsRemoteLock		= 0x80
1572 };
1573 enum KVoIPChannelStatus
1574 {
1575 	kipcsFree			= kecsFree,
1576 	kipcsOutgoingLock	= kecsOutgoingLock,
1577 	kipcsIncomingLock	= kecsIncomingLock
1578 };
1579 enum KFXOChannelStatus
1580 {
1581 	kfcsDisabled	= 0x00,
1582 	kfcsEnabled		= 0x01
1583 };
1584 enum KFXSChannelStatus
1585 {
1586     kfxsOnHook,
1587     kfxsOffHook,
1588     kfxsRinging,
1589     kfxsFail
1590 };
1591 enum KGsmChannelStatus
1592 {
1593     kgsmIdle,
1594     kgsmCallInProgress,
1595     kgsmSMSInProgress,
1596     kgsmModemError,
1597     kgsmSIMCardError,
1598     kgsmNetworkError,
1599     kgsmNotReady
1600 };
1601 enum KCallStatus
1602 {
1603 	kcsFree		= 0x00,
1604 	kcsIncoming = 0x01,
1605 	kcsOutgoing = 0x02,
1606 	kcsFail		= 0x04
1607 };
1608 enum KCallStartInfo
1609 {
1610     kcsiHumanAnswer,
1611     kcsiAnsweringMachine,
1612     kcsiCellPhoneMessageBox,
1613     kcsiUnknown,
1614     kcsiCarrierMessage
1615 };
1616 enum KChannelFeatures
1617 {
1618 	kcfDtmfSuppression	= 0x0001,
1619 	kcfCallProgress		= 0x0002,
1620 	kcfPulseDetection	= 0x0004,
1621 	kcfAudioNotification= 0x0008,
1622 	kcfEchoCanceller	= 0x0010,
1623 	kcfAutoGainControl	= 0x0020,
1624 	kcfHighImpEvents	= 0x0080,
1625     kcfCallAnswerInfo   = 0x0100,
1626     kcfOutputVolume     = 0x0200,
1627     kcfPlayerAGC        = 0x0400
1628 };
1629 enum KMixerSource
1630 {
1631 	kmsChannel,
1632 	kmsPlay,
1633 	kmsGenerator,
1634 	kmsCTbus,
1635     kmsNoDelayChannel
1636 };
1637 struct KMixerCommand
1638 {
1639     int32 Track;
1640     int32 Source;
1641     int32 SourceIndex;
1642 };
1643 struct KPlayFromStreamCommand
1644 {
1645 	void *Buffer;
1646 	uint32 BufferSize;
1647 	int32 CodecIndex;
1648 };
1649 struct KBufferParam
1650 {
1651 	void *Buffer;
1652 	uint32 BufferSize;
1653 };
1654 enum KMixerTone
1655 {
1656 	kmtSilence	= 0x00,
1657 	kmtDial		= 0x01,
1658 	kmtBusy		= 0x02,
1659 	kmtFax		= 0x03,
1660 	kmtVoice	= 0x04,
1661 	kmtEndOf425 = 0x05,
1662     kmtCollect  = 0x06,
1663     kmtEndOfDtmf= 0x07,
1664 };
1665 struct K3L_CHANNEL_STATUS
1666 {
1667  	KCallStatus CallStatus;
1668 	KMixerTone AudioStatus;
1669 	int32 AddInfo;
1670 	int32 EnabledFeatures;
1671 };
1672 struct K3L_GSM_CALL_STATUS
1673 {
1674 	KGsmCallStatus Status;
1675 	KGsmCallMode Mode;
1676 	char Number[ KMAX_DIAL_NUMBER ];
1677 	int32 Flags;
1678 };
1679 struct K3L_GSM_CHANNEL_STATUS
1680 {
1681 	uint8 SignalStrength;
1682 	uint8 ErrorRate;
1683 	KGsmRegistryStatus RegistryStatus;
1684 	char OperName[ KMAX_GSM_OPER_NAME ];
1685 	K3L_GSM_CALL_STATUS CallStatus[ KMAX_GSM_CALLS ];
1686 	int32 UnreadSmsCount;
1687 	int32 EnabledFeatures;
1688     char IMEI[ KMAX_GSM_IMEI_SIZE ];
1689     unsigned char SIM;
1690     unsigned char Reserved[15];
1691 };
1692 struct K3L_LINK_STATUS
1693 {
1694 	int16 E1;
1695 	byte Channels[ KMAX_E1_CHANNELS ];
1696 };
1697 enum KPllErrors
1698 {
1699 	kpeClockAError    = 0x01,
1700 	kpeClockBError    = 0x02,
1701 	kpeSCbusError     = 0x04,
1702 	kpeMVIPError	  = 0x08,
1703 	kpeMasterPllError = 0x10,
1704 	kpeModeError      = 0x20,
1705 	kpeLocalRefError  = 0x40,
1706 	kpeInternalError  = 0x80
1707 };
1708 struct K3L_H100_STATUS
1709 {
1710 	int32 Mode;
1711 	int32 MasterClock;
1712 	int32 Enable;
1713 	int32 Reference;
1714 	int32 SCbus;
1715 	int32 HMVIP;
1716 	int32 MVIP90;
1717 	int32 CT_NETREF;
1718 	int32 PllLocalRef;
1719 	int32 PllErrors;
1720 };
1721 enum KEchoLocation
1722 {
1723 	kelNetwork	= 0x0,
1724 	kelCtBus	= 0x1
1725 };
1726 enum KCodecIndex
1727 {
1728 	kci8kHzALAW	= 0x00,
1729 	kci8kHzPCM	= 0x01,
1730 	kci11kHzPCM	= 0x02,
1731 	kci8kHzGSM	= 0x03,
1732 	kci8kHzADPCM= 0x04,
1733 	kci8kHzULAW	= 0x05,
1734 	kciLastCodecEntryMark
1735 };
1736 enum KEchoCancellerConfig
1737 {
1738     keccNotPresent,
1739     keccOneSingleBank,
1740     keccOneDoubleBank,
1741     keccTwoSingleBank,
1742     keccTwoDoubleBank,
1743     keccFail
1744 };
1745 struct K3L_DEVICE_CONFIG
1746 {
1747 	int32 LinkCount;
1748 	int32 ChannelCount;
1749 	int32 EnabledChannelCount;
1750 	int32 MixerCount;
1751 	int32 MixerCapacity;
1752 	int32 WorkStatus;
1753 	int32 DeviceModel;
1754 	int32 H100_Mode;
1755 	int32 PciBus;
1756 	int32 PciSlot;
1757 	int32 PlayerCount;
1758 	int32 VoIPChannelCount;
1759     int32 CTbusCount;
1760     KEchoCancellerConfig EchoConfig;
1761     KEchoLocation EchoLocation;
1762 	sbyte SerialNumber[ KMAX_SERIAL_NUMBER ];
1763 };
1764 
1765 typedef K3L_DEVICE_CONFIG K3L_E1_DEVICE_CONFIG;
1766 typedef K3L_DEVICE_CONFIG K3L_FX_DEVICE_CONFIG;
1767 struct K3L_API_CONFIG
1768 {
1769 	int32 MajorVersion;
1770 	int32 MinorVersion;
1771 	int32 BuildVersion;
1772     int32 SvnRevision;
1773 	int32 RawCmdLogging;
1774 	int32 VpdVersionNeeded;
1775 	sbyte StrVersion[ KMAX_STR_VERSION ];
1776 };
1777 struct K3L_LINK_CONFIG
1778 {
1779 	KSignaling Signaling;
1780 	int32 IncomingDigitsRequest;
1781 	int32 IdentificationRequestPos;
1782 	int32 ChannelCount;
1783 	int32 ReceivingClock;
1784 	sbyte NumberA[ KMAX_DIAL_NUMBER + 1 + 3 ];
1785 };
1786 struct K3L_CHANNEL_CONFIG
1787 {
1788 	KSignaling Signaling;
1789     int32 AutoEnableFeatures;
1790     int32 CapableFeatures;
1791 };
1792 struct K3L_E1600A_FW_CONFIG
1793 {
1794 	int32 MfcExchangersCount;
1795 	int32 MonitorBufferSize;
1796 	sbyte FwVersion[ KMAX_STR_VERSION ];
1797 	sbyte DspVersion[ KMAX_DSP_NAME ];
1798 };
1799 struct K3L_E1600B_FW_CONFIG
1800 {
1801 	int32 AudioBufferSize;
1802 	int32 FilterCount;
1803 	int32 MixerCount;
1804 	int32 MixerCapacity;
1805 	sbyte FwVersion[ KMAX_STR_VERSION ];
1806 	sbyte DspVersion[ KMAX_DSP_NAME ];
1807 };
1808 typedef K3L_E1600B_FW_CONFIG K3L_GSM40_FW_CONFIG;
1809 typedef K3L_E1600B_FW_CONFIG K3L_FXO80_FW_CONFIG;
1810 typedef K3L_E1600B_FW_CONFIG K3L_GSMUSB_FW_CONFIG;
1811 struct K3L_COMMAND
1812 {
1813 	int32 Object;
1814 	int32 Cmd;
1815 	byte *Params;
1816 };
1817 
1818 enum KEventObjectId
1819 {
1820 	koiDevice		= 0x00,
1821 	koiChannel		= 0x01,
1822 	koiPlayer		= 0x02,
1823 	koiLink			= 0x03,
1824     koiSystem       = 0x04
1825 };
1826 
1827 struct K3L_EVENT
1828 {
1829 	int32 Code;
1830 	int32 AddInfo;
1831 	int32 DeviceId;
1832 	int32 ObjectInfo;
1833 	void *Params;
1834 	int32 ParamSize;
1835 	int32 ObjectId;
1836 };
1837 struct KIncomingSeizeParams
1838 {
1839 	sbyte NumberB[ KMAX_DIAL_NUMBER + 1 ];
1840 	sbyte NumberA[ KMAX_DIAL_NUMBER + 1 ];
1841 	sbyte Padding[2];
1842 };
1843 struct KCtbusCommand
1844 {
1845 	int32 Stream;
1846 	int32 TimeSlot;
1847 	int32 Enable;
1848 };
1849 struct KUserInformation
1850 {
1851     int32 ProtocolDescriptor;
1852     int32 UserInfoLength;
1853     byte  UserInfo[ KMAX_USER_USER_LEN ];
1854 };
1855 struct KUserInformationEx
1856 {
1857     int32 ProtocolDescriptor;
1858     int32 UserInfoLength;
1859     byte  UserInfo[ KMAX_USER_USER_EX_LEN ];
1860 };
1861 struct KISDNSubaddressInformation
1862 {
1863     KQ931TypeOfSubaddress TypeOfSubaddress;
1864     bool  OddNumberOfSignals;
1865     int32 InformationLength;
1866     byte  Information[ KMAX_SUBADRESS_INFORMATION_LEN ];
1867 };
1868 struct KISDNSubaddresses
1869 {
1870     KISDNSubaddressInformation Called;
1871     KISDNSubaddressInformation Calling;
1872 };
1873 enum KCTTransferResult
1874 {
1875     TransferByJoin          = 0,
1876     TransferByRerouteing    = 1
1877 };
1878 enum KLinkErrorCounter
1879 {
1880 	klecChangesToLock		=  0,
1881 	klecLostOfSignal		=  1,
1882 	klecAlarmNotification   =  2,
1883 	klecLostOfFrame         =  3,
1884 	klecLostOfMultiframe    =  4,
1885 	klecRemoteAlarm			=  5,
1886     klecSlipAlarm           =  6,
1887 	klecUnknowAlarm			=  klecSlipAlarm,
1888 	klecPRBS				=  7,
1889 	klecWrogrBits			=  8,
1890 	klecJitterVariation		=  9,
1891 	klecFramesWithoutSync	= 10,
1892 	klecMultiframeSignal	= 11,
1893 	klecFrameError			= 12,
1894 	klecBipolarViolation	= 13,
1895 	klecCRC4				= 14,
1896 	klecCount				= 15
1897 };
1898 struct K3L_LINK_ERROR_COUNTER
1899 {
1900 	int32 ErrorCounters[ klecCount ];
1901 };
1902 struct KSipData
1903 {
1904     int32 DataLength;
1905     byte  Data[ KMAX_SIP_DATA ];
1906 };
1907 
1908 enum KLibParams
1909 {
1910 	klpDebugFirmware,
1911     klpResetFwOnStartup,
1912     klpResetFwOnShutdown,
1913     klpSeizureEventCompat,
1914     klpDisableTDMBufferWarnings,
1915     klpDisableInternalVoIP,
1916     klpLogCallControl,
1917     klpDoNotLogApiInterface,
1918 	klpMaxParams
1919 };
1920 
1921 enum KFaxChannelStatus
1922 {
1923 	kfaxcsFree,
1924 	kfaxcsWaitingForFaxSignal,
1925 	kfaxcsSendingFax,
1926 	kfaxcsReceivingFax,
1927 	kfaxcsFail
1928 };
1929 enum KFaxResult
1930 {
1931 	kfaxrEndOfTransmission,
1932 	kfaxrStoppedByCommand,
1933 	kfaxrProtocolTimeout,
1934 	kfaxrProtocolError,
1935 	kfaxrRemoteDisconnection,
1936 	kfaxrFileError,
1937 	kfaxrUnknown,
1938     kfaxrEndOfReception,
1939 	kfaxrCompatibilityError,
1940 	kfaxrQualityError,
1941 	kfaxrChannelReleased
1942 };
1943 enum KFaxFileErrorCause
1944 {
1945 	kfaxfecTransmissionStopped,
1946 	kfaxfecTransmissionError,
1947 	kfaxfecListCleared,
1948 	kfaxfecCouldNotOpen,
1949 	kfaxfecInvalidHeader,
1950 	kfaxfecDataNotFound,
1951 	kfaxfecInvalidHeight,
1952 	kfaxfecUnsupportedWidth,
1953 	kfaxfecUnsupportedCompression,
1954 	kfaxfecUnsupportedRowsPerStrip,
1955 	kfaxfecUnknown
1956 };
1957 
1958 typedef stt_code ( Kstdcall K3L_CALLBACK )();
1959 typedef stt_code ( Kstdcall K3L_MONITOR_CALLBACK )( byte *, byte );
1960 typedef stt_code ( Kstdcall K3L_EVENT_CALLBACK )( int32 Object, K3L_EVENT * );
1961 typedef stt_code ( Kstdcall *K3L_THREAD_CALLBACK )( void * );
1962 typedef void	 ( Kstdcall K3L_AUDIO_CALLBACK )( int32 DevId, int32 Channel, byte *Buffer, int32 Size );
1963 #if __GNUC__ >= 4
1964 #pragma GCC visibility push(default)
1965 #endif
1966 extern "C"
1967 {
1968 sbyte *Kstdcall k3lStart( int32 Major, int32 Minor, int32 Build );
1969 void Kstdcall k3lStop();
1970 void Kstdcall k3lRegisterEventHandler( K3L_EVENT_CALLBACK *Function );
1971 void Kstdcall k3lRegisterAudioListener( K3L_AUDIO_CALLBACK *Player, K3L_AUDIO_CALLBACK *Recorder );
1972 int32 Kstdcall k3lSendCommand( int32 DeviceId, K3L_COMMAND *Cmd );
1973 int32 Kstdcall k3lSendRawCommand( int32 DeviceId, int32 IntfId, void *Command, int32 CmdSize );
1974 int32 Kstdcall k3lRegisterMonitor( K3L_MONITOR_CALLBACK *EventMonitor, K3L_MONITOR_CALLBACK *CommandMonitor, K3L_MONITOR_CALLBACK *BufferMonitor );
1975 int32 Kstdcall k3lGetDeviceConfig( int32 DeviceId, int32 Object, void *Data, int32 DataSize );
1976 int32 Kstdcall k3lGetDeviceStatus( int32 DeviceId, int32 Object, void *Data, int32 DataSize );
1977 int32 Kstdcall k3lGetDeviceCount();
1978 int32 Kstdcall k3lGetDeviceType( int32 DeviceId );
1979 int32 Kstdcall k3lGetEventParam( K3L_EVENT *Evt, const sbyte *Name, sbyte *Buffer, int32 BufferSize );
1980 int32 Kstdcall k3lSetGlobalParam( int32 ParamIndex, int32 ParamValue );
1981 int32 Kstdcall k3lGetChannelStats( int32 DevId, int32 Channel, KStatIndex si, uint32 *StatData );
1982 }
1983 #if __GNUC__ >= 4
1984 #pragma GCC visibility pop
1985 #endif
1986 #endif
1987 
1988 
1989 enum KISDNDebugFlag
1990 {
1991     kidfQ931                        = 0x01,
1992     kidfLAPD                        = 0x02,
1993     kidfSystem                      = 0x04,
1994     kidfInvalid                     = 0x08,
1995 };
1996 
1997 #define CM_VOIP_START_DEBUG      0x20
1998 #define CM_VOIP_STOP_DEBUG       0x21
1999 #define CM_VOIP_DUMP_STAT        0x22
2000 
2001 #define CM_ISDN_DEBUG            0x24
2002 
2003 #define CM_PING     0x123456
2004 #define EV_PONG     0x654321
2005 
2006 #define CM_LOG_UPDATE            0x100
2007 #define EV_LOG_UPDATE            0x100
2008 
2009 #endif /* _GENERATED_K3L_H_ */
2010