/*
*
Copyright (c) Eicon Networks, 2002.
*
This source file is supplied for the use with
Eicon Networks range of DIVA Server Adapters.
*
Eicon File Revision : 2.1
*
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
*
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
*
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
#ifndef __EICON_MDM_MSG_H__
#define __EICON_MDM_MSG_H__
#define DSP_UDATA_INDICATION_DCD_OFF 0x01
#define DSP_UDATA_INDICATION_DCD_ON 0x02
#define DSP_UDATA_INDICATION_CTS_OFF 0x03
#define DSP_UDATA_INDICATION_CTS_ON 0x04
/* =====================================================================
DCD_OFF Message:
<word> time of DCD off (sampled from counter at 8kHz)
DCD_ON Message:
<word> time of DCD on (sampled from counter at 8kHz)
<byte> connected norm
<word> connected options
<dword> connected speed (bit/s, max of tx and rx speed)
<word> roundtrip delay (ms)
<dword> connected speed tx (bit/s)
<dword> connected speed rx (bit/s)
Size of this message == 19 bytes, but we will receive only 11
===================================================================== */
#define DSP_CONNECTED_NORM_UNSPECIFIED 0
#define DSP_CONNECTED_NORM_V21 1
#define DSP_CONNECTED_NORM_V23 2
#define DSP_CONNECTED_NORM_V22 3
#define DSP_CONNECTED_NORM_V22_BIS 4
#define DSP_CONNECTED_NORM_V32_BIS 5
#define DSP_CONNECTED_NORM_V34 6
#define DSP_CONNECTED_NORM_V8 7
#define DSP_CONNECTED_NORM_BELL_212A 8
#define DSP_CONNECTED_NORM_BELL_103 9
#define DSP_CONNECTED_NORM_V29_LEASED_LINE 10
#define DSP_CONNECTED_NORM_V33_LEASED_LINE 11
#define DSP_CONNECTED_NORM_V90 12
#define DSP_CONNECTED_NORM_V21_CH2 13
#define DSP_CONNECTED_NORM_V27_TER 14
#define DSP_CONNECTED_NORM_V29 15
#define DSP_CONNECTED_NORM_V33 16
#define DSP_CONNECTED_NORM_V17 17
#define DSP_CONNECTED_NORM_V32 18
#define DSP_CONNECTED_NORM_K56_FLEX 19
#define DSP_CONNECTED_NORM_X2 20
#define DSP_CONNECTED_NORM_V18 21
#define DSP_CONNECTED_NORM_V18_LOW_HIGH 22
#define DSP_CONNECTED_NORM_V18_HIGH_LOW 23
#define DSP_CONNECTED_NORM_V21_LOW_HIGH 24
#define DSP_CONNECTED_NORM_V21_HIGH_LOW 25
#define DSP_CONNECTED_NORM_BELL103_LOW_HIGH 26
#define DSP_CONNECTED_NORM_BELL103_HIGH_LOW 27
#define DSP_CONNECTED_NORM_V23_75_1200 28
#define DSP_CONNECTED_NORM_V23_1200_75 29
#define DSP_CONNECTED_NORM_EDT_110 30
#define DSP_CONNECTED_NORM_BAUDOT_45 31
#define DSP_CONNECTED_NORM_BAUDOT_47 32
#define DSP_CONNECTED_NORM_BAUDOT_50 33
#define DSP_CONNECTED_NORM_DTMF 34
#define DSP_CONNECTED_NORM_V18_RESERVED_13 35
#define DSP_CONNECTED_NORM_V18_RESERVED_14 36
#define DSP_CONNECTED_NORM_V18_RESERVED_15 37
#define DSP_CONNECTED_NORM_VOWN 38
#define DSP_CONNECTED_NORM_V23_OFF_HOOK 39
#define DSP_CONNECTED_NORM_V23_ON_HOOK 40
#define DSP_CONNECTED_NORM_VOWN_RESERVED_3 41
#define DSP_CONNECTED_NORM_VOWN_RESERVED_4 42
#define DSP_CONNECTED_NORM_VOWN_RESERVED_5 43
#define DSP_CONNECTED_NORM_VOWN_RESERVED_6 44
#define DSP_CONNECTED_NORM_VOWN_RESERVED_7 45
#define DSP_CONNECTED_NORM_VOWN_RESERVED_8 46
#define DSP_CONNECTED_NORM_VOWN_RESERVED_9 47
#define DSP_CONNECTED_NORM_VOWN_RESERVED_10 48
#define DSP_CONNECTED_NORM_VOWN_RESERVED_11 49
#define DSP_CONNECTED_NORM_VOWN_RESERVED_12 50
#define DSP_CONNECTED_NORM_VOWN_RESERVED_13 51
#define DSP_CONNECTED_NORM_VOWN_RESERVED_14 52
#define DSP_CONNECTED_NORM_VOWN_RESERVED_15 53
#define DSP_CONNECTED_NORM_VOWN_RESERVED_16 54
#define DSP_CONNECTED_NORM_VOWN_RESERVED_17 55
#define DSP_CONNECTED_NORM_VOWN_RESERVED_18 56
#define DSP_CONNECTED_NORM_VOWN_RESERVED_19 57
#define DSP_CONNECTED_NORM_VOWN_RESERVED_20 58
#define DSP_CONNECTED_NORM_VOWN_RESERVED_21 59
#define DSP_CONNECTED_NORM_VOWN_RESERVED_22 60
#define DSP_CONNECTED_NORM_VOWN_RESERVED_23 61
#define DSP_CONNECTED_NORM_VOWN_RESERVED_24 62
#define DSP_CONNECTED_NORM_VOWN_RESERVED_25 63
#define DSP_CONNECTED_NORM_VOWN_RESERVED_26 64
#define DSP_CONNECTED_NORM_VOWN_RESERVED_27 65
#define DSP_CONNECTED_NORM_VOWN_RESERVED_28 66
#define DSP_CONNECTED_NORM_VOWN_RESERVED_29 67
#define DSP_CONNECTED_NORM_VOWN_RESERVED_30 68
#define DSP_CONNECTED_NORM_VOWN_RESERVED_31 69
#define DSP_CONNECTED_OPTION_TRELLIS 0x0001
#define DSP_CONNECTED_OPTION_V42_TRANS 0x0002
#define DSP_CONNECTED_OPTION_V42_LAPM 0x0004
#define DSP_CONNECTED_OPTION_SHORT_TRAIN 0x0008
#define DSP_CONNECTED_OPTION_TALKER_ECHO_PROTECT 0x0010
#define DSP_CONNECTED_OPTION_V42BIS 0x0020
#define DSP_CONNECTED_OPTION_MNP2 0x0040
#define DSP_CONNECTED_OPTION_MNP3 0x0080
#define DSP_CONNECTED_OPTION_MNP4 0x00c0
#define DSP_CONNECTED_OPTION_MNP5 0x0100
#define DSP_CONNECTED_OPTION_MNP10 0x0200
#define DSP_CONNECTED_OPTION_MASK_V42 0x0024
#define DSP_CONNECTED_OPTION_MASK_MNP 0x03c0
#define DSP_CONNECTED_OPTION_MASK_ERROR_CORRECT 0x03e4
#define DSP_CONNECTED_OPTION_MASK_COMPRESSION 0x0320
#define DSP_UDATA_INDICATION_DISCONNECT 5
/*
returns:
<byte> cause
*/
/* ==========================================================
DLC: B2 modem configuration
========================================================== */
/*
Fields in assign DLC information element for modem protocol V.42/MNP:
<byte> length of information element
<word> information field length
<byte> address A (not used, default 3)
<byte> address B (not used, default 1)
<byte> modulo mode (not used, default 7)
<byte> window size (not used, default 7)
<word> XID length (not used, default 0)
... XID information (not used, default empty)
<byte> modem protocol negotiation options
<byte> modem protocol options
<byte> modem protocol break configuration
<byte> modem protocol application options
*/
#define DLC_MODEMPROT_DISABLE_V42_V42BIS 0x01
#define DLC_MODEMPROT_DISABLE_MNP_MNP5 0x02
#define DLC_MODEMPROT_REQUIRE_PROTOCOL 0x04
#define DLC_MODEMPROT_DISABLE_V42_DETECT 0x08
#define DLC_MODEMPROT_DISABLE_COMPRESSION 0x10
#define DLC_MODEMPROT_REQUIRE_PROTOCOL_V34UP 0x20
#define DLC_MODEMPROT_NO_PROTOCOL_IF_1200 0x01
#define DLC_MODEMPROT_BUFFER_IN_V42_DETECT 0x02
#define DLC_MODEMPROT_DISABLE_V42_SREJ 0x04
#define DLC_MODEMPROT_DISABLE_MNP3 0x08
#define DLC_MODEMPROT_DISABLE_MNP4 0x10
#define DLC_MODEMPROT_DISABLE_MNP10 0x20
#define DLC_MODEMPROT_NO_PROTOCOL_IF_V22BIS 0x40
#define DLC_MODEMPROT_NO_PROTOCOL_IF_V32BIS 0x80
#define DLC_MODEMPROT_BREAK_DISABLED 0x00
#define DLC_MODEMPROT_BREAK_NORMAL 0x01
#define DLC_MODEMPROT_BREAK_EXPEDITED 0x02
#define DLC_MODEMPROT_BREAK_DESTRUCTIVE 0x03
#define DLC_MODEMPROT_BREAK_CONFIG_MASK 0x03
#define DLC_MODEMPROT_APPL_EARLY_CONNECT 0x01
#define DLC_MODEMPROT_APPL_PASS_INDICATIONS 0x02
/* ==========================================================
CAI parameters used for the modem L1 configuration
========================================================== */
/*
Fields in assign CAI information element:
<byte> length of information element
<byte> info field and B-channel hardware
<byte> rate adaptation bit rate
<byte> async framing parameters
<byte> reserved
<word> packet length
<byte> modem line taking options
<byte> modem modulation negotiation parameters
<byte> modem modulation options
<byte> modem disabled modulations mask low
<byte> modem disabled modulations mask high
<byte> modem enabled modulations mask
<word> modem min TX speed
<word> modem max TX speed
<word> modem min RX speed
<word> modem max RX speed
<byte> modem disabled symbol rates mask
<byte> modem info options mask
<byte> modem transmit level adjust
<byte> modem speaker parameters
<word> modem private debug config
<struct> modem reserved
<struct> v18 config parameters
<struct> v18 probing sequence
<struct> v18 probing message
*/
#define DSP_CAI_HARDWARE_HDLC_64K 0x05
#define DSP_CAI_HARDWARE_HDLC_56K 0x08
#define DSP_CAI_HARDWARE_TRANSP 0x09
#define DSP_CAI_HARDWARE_V110_SYNC 0x0c
#define DSP_CAI_HARDWARE_V110_ASYNC 0x0d
#define DSP_CAI_HARDWARE_HDLC_128K 0x0f
#define DSP_CAI_HARDWARE_FAX 0x10
#define DSP_CAI_HARDWARE_MODEM_ASYNC 0x11
#define DSP_CAI_HARDWARE_MODEM_SYNC 0x12
#define DSP_CAI_HARDWARE_V110_HDLCA 0x13
#define DSP_CAI_HARDWARE_ADVANCED_VOICE 0x14
#define DSP_CAI_HARDWARE_TRANSP_DTMF 0x16
#define DSP_CAI_HARDWARE_DTMF_VOICE_ISDN 0x17
#define DSP_CAI_HARDWARE_DTMF_VOICE_LOCAL 0x18
#define DSP_CAI_HARDWARE_MASK 0x3f
#define DSP_CAI_ENABLE_INFO_INDICATIONS 0x80
#define DSP_CAI_RATE_ADAPTATION_300 0x00
#define DSP_CAI_RATE_ADAPTATION_600 0x01
#define DSP_CAI_RATE_ADAPTATION_1200 0x02
#define DSP_CAI_RATE_ADAPTATION_2400 0x03
#define DSP_CAI_RATE_ADAPTATION_4800 0x04
#define DSP_CAI_RATE_ADAPTATION_9600 0x05
#define DSP_CAI_RATE_ADAPTATION_19200 0x06
#define DSP_CAI_RATE_ADAPTATION_38400 0x07
#define DSP_CAI_RATE_ADAPTATION_48000 0x08
#define DSP_CAI_RATE_ADAPTATION_56000 0x09
#define DSP_CAI_RATE_ADAPTATION_7200 0x0a
#define DSP_CAI_RATE_ADAPTATION_14400 0x0b
#define DSP_CAI_RATE_ADAPTATION_28800 0x0c
#define DSP_CAI_RATE_ADAPTATION_12000 0x0d
#define DSP_CAI_RATE_ADAPTATION_1200_75 0x0e
#define DSP_CAI_RATE_ADAPTATION_75_1200 0x0f
#define DSP_CAI_RATE_ADAPTATION_MASK 0x0f
#define DSP_CAI_ASYNC_PARITY_ENABLE 0x01
#define DSP_CAI_ASYNC_PARITY_SPACE 0x00
#define DSP_CAI_ASYNC_PARITY_ODD 0x02
#define DSP_CAI_ASYNC_PARITY_EVEN 0x04
#define DSP_CAI_ASYNC_PARITY_MARK 0x06
#define DSP_CAI_ASYNC_PARITY_MASK 0x06
#define DSP_CAI_ASYNC_ONE_STOP_BIT 0x00
#define DSP_CAI_ASYNC_TWO_STOP_BITS 0x20
#define DSP_CAI_ASYNC_CHAR_LENGTH_8 0x00
#define DSP_CAI_ASYNC_CHAR_LENGTH_7 0x40
#define DSP_CAI_ASYNC_CHAR_LENGTH_6 0x80
#define DSP_CAI_ASYNC_CHAR_LENGTH_5 0xc0
#define DSP_CAI_ASYNC_CHAR_LENGTH_MASK 0xc0
#define DSP_CAI_MODEM_LEASED_LINE_MODE 0x01
#define DSP_CAI_MODEM_4_WIRE_OPERATION 0x02
#define DSP_CAI_MODEM_DISABLE_BUSY_DETECT 0x04
#define DSP_CAI_MODEM_DISABLE_CALLING_TONE 0x08
#define DSP_CAI_MODEM_DISABLE_ANSWER_TONE 0x10
#define DSP_CAI_MODEM_ENABLE_DIAL_TONE_DET 0x20
#define DSP_CAI_MODEM_USE_POTS_INTERFACE 0x40
#define DSP_CAI_MODEM_FORCE_RAY_TAYLOR_FAX 0x80
#define DSP_CAI_MODEM_NEGOTIATE_HIGHEST 0x00
#define DSP_CAI_MODEM_NEGOTIATE_DISABLED 0x01
#define DSP_CAI_MODEM_NEGOTIATE_IN_CLASS 0x02
#define DSP_CAI_MODEM_NEGOTIATE_V100 0x03
#define DSP_CAI_MODEM_NEGOTIATE_V8 0x04
#define DSP_CAI_MODEM_NEGOTIATE_V8BIS 0x05
#define DSP_CAI_MODEM_NEGOTIATE_MASK 0x07
#define DSP_CAI_MODEM_GUARD_TONE_NONE 0x00
#define DSP_CAI_MODEM_GUARD_TONE_550HZ 0x40
#define DSP_CAI_MODEM_GUARD_TONE_1800HZ 0x80
#define DSP_CAI_MODEM_GUARD_TONE_MASK 0xc0
#define DSP_CAI_MODEM_DISABLE_RETRAIN 0x01
#define DSP_CAI_MODEM_DISABLE_STEPUPDOWN 0x02
#define DSP_CAI_MODEM_DISABLE_SPLIT_SPEED 0x04
#define DSP_CAI_MODEM_DISABLE_TRELLIS 0x08
#define DSP_CAI_MODEM_ALLOW_RDL_TEST_LOOP 0x10
#define DSP_CAI_MODEM_DISABLE_FLUSH_TIMER 0x40
#define DSP_CAI_MODEM_REVERSE_DIRECTION 0x80
#define DSP_CAI_MODEM_DISABLE_V21 0x01
#define DSP_CAI_MODEM_DISABLE_V23 0x02
#define DSP_CAI_MODEM_DISABLE_V22 0x04
#define DSP_CAI_MODEM_DISABLE_V22BIS 0x08
#define DSP_CAI_MODEM_DISABLE_V32 0x10
#define DSP_CAI_MODEM_DISABLE_V32BIS 0x20
#define DSP_CAI_MODEM_DISABLE_V34 0x40
#define DSP_CAI_MODEM_DISABLE_V90 0x80
#define DSP_CAI_MODEM_DISABLE_BELL103 0x01
#define DSP_CAI_MODEM_DISABLE_BELL212A 0x02
#define DSP_CAI_MODEM_DISABLE_VFC 0x04
#define DSP_CAI_MODEM_DISABLE_K56FLEX 0x08
#define DSP_CAI_MODEM_DISABLE_X2 0x10
#define DSP_CAI_MODEM_ENABLE_V29FDX 0x01
#define DSP_CAI_MODEM_ENABLE_V33 0x02
#define DSP_CAI_MODEM_DISABLE_2400_SYMBOLS 0x01
#define DSP_CAI_MODEM_DISABLE_2743_SYMBOLS 0x02
#define DSP_CAI_MODEM_DISABLE_2800_SYMBOLS 0x04
#define DSP_CAI_MODEM_DISABLE_3000_SYMBOLS 0x08
#define DSP_CAI_MODEM_DISABLE_3200_SYMBOLS 0x10
#define DSP_CAI_MODEM_DISABLE_3429_SYMBOLS 0x20
#define DSP_CAI_MODEM_DISABLE_TX_REDUCTION 0x01
#define DSP_CAI_MODEM_DISABLE_PRECODING 0x02
#define DSP_CAI_MODEM_DISABLE_PREEMPHASIS 0x04
#define DSP_CAI_MODEM_DISABLE_SHAPING 0x08
#define DSP_CAI_MODEM_DISABLE_NONLINEAR_EN 0x10
#define DSP_CAI_MODEM_SPEAKER_OFF 0x00
#define DSP_CAI_MODEM_SPEAKER_DURING_TRAIN 0x01
#define DSP_CAI_MODEM_SPEAKER_TIL_CONNECT 0x02
#define DSP_CAI_MODEM_SPEAKER_ALWAYS_ON 0x03
#define DSP_CAI_MODEM_SPEAKER_CONTROL_MASK 0x03
#define DSP_CAI_MODEM_SPEAKER_VOLUME_MIN 0x00
#define DSP_CAI_MODEM_SPEAKER_VOLUME_LOW 0x04
#define DSP_CAI_MODEM_SPEAKER_VOLUME_HIGH 0x08
#define DSP_CAI_MODEM_SPEAKER_VOLUME_MAX 0x0c
#define DSP_CAI_MODEM_SPEAKER_VOLUME_MASK 0x0c
/* ==========================================================
DCD/CTS State
========================================================== */
#define MDM_WANT_CONNECT_B3_ACTIVE_I 0x01
#define MDM_NCPI_VALID 0x02
#define MDM_NCPI_CTS_ON_RECEIVED 0x04
#define MDM_NCPI_DCD_ON_RECEIVED 0x08
/* ==========================================================
CAPI NCPI Constants
========================================================== */
#define MDM_NCPI_ECM_V42 0x0001
#define MDM_NCPI_ECM_MNP 0x0002
#define MDM_NCPI_TRANSPARENT 0x0004
#define MDM_NCPI_COMPRESSED 0x0010
/* ==========================================================
CAPI B2 Config Constants
========================================================== */
#define MDM_B2_DISABLE_V42bis 0x0001
#define MDM_B2_DISABLE_MNP 0x0002
#define MDM_B2_DISABLE_TRANS 0x0004
#define MDM_B2_DISABLE_V42 0x0008
#define MDM_B2_DISABLE_COMP 0x0010
/* ==========================================================
CAPI B1 Config Constants
========================================================== */
#define MDM_CAPI_DISABLE_RETRAIN 0x0001
#define MDM_CAPI_DISABLE_RING_TONE 0x0002
#define MDM_CAPI_GUARD_1800 0x0004
#define MDM_CAPI_GUARD_550 0x0008
#define MDM_CAPI_NEG_V8 0x0003
#define MDM_CAPI_NEG_V100 0x0002
#define MDM_CAPI_NEG_MOD_CLASS 0x0001
#define MDM_CAPI_NEG_DISABLED 0x0000
#endif