4   Copyright (c) Eicon Networks, 2002.
 
   6   This source file is supplied for the use with
 
   7   Eicon Networks range of DIVA Server Adapters.
 
   9   Eicon File Revision :    2.1
 
  11   This program is free software; you can redistribute it and/or modify
 
  12   it under the terms of the GNU General Public License as published by
 
  13   the Free Software Foundation; either version 2, or (at your option)
 
  16   This program is distributed in the hope that it will be useful,
 
  17   but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY
 
  18   implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  19   See the GNU General Public License for more details.
 
  21   You should have received a copy of the GNU General Public License
 
  22   along with this program; if not, write to the Free Software
 
  23   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
  26 #ifndef __EICON_MDM_MSG_H__
 
  27 #define __EICON_MDM_MSG_H__
 
  28 #define DSP_UDATA_INDICATION_DCD_OFF  0x01
 
  29 #define DSP_UDATA_INDICATION_DCD_ON  0x02
 
  30 #define DSP_UDATA_INDICATION_CTS_OFF  0x03
 
  31 #define DSP_UDATA_INDICATION_CTS_ON  0x04
 
  32 /* =====================================================================
 
  34   <word> time of DCD off (sampled from counter at 8kHz)
 
  36   <word> time of DCD on (sampled from counter at 8kHz)
 
  38   <word> connected options
 
  39   <dword> connected speed (bit/s, max of tx and rx speed)
 
  40   <word> roundtrip delay (ms)
 
  41   <dword> connected speed tx (bit/s)
 
  42   <dword> connected speed rx (bit/s)
 
  43   Size of this message == 19 bytes, but we will receive only 11
 
  44   ===================================================================== */
 
  45 #define DSP_CONNECTED_NORM_UNSPECIFIED      0
 
  46 #define DSP_CONNECTED_NORM_V21              1
 
  47 #define DSP_CONNECTED_NORM_V23              2
 
  48 #define DSP_CONNECTED_NORM_V22              3
 
  49 #define DSP_CONNECTED_NORM_V22_BIS          4
 
  50 #define DSP_CONNECTED_NORM_V32_BIS          5
 
  51 #define DSP_CONNECTED_NORM_V34              6
 
  52 #define DSP_CONNECTED_NORM_V8               7
 
  53 #define DSP_CONNECTED_NORM_BELL_212A        8
 
  54 #define DSP_CONNECTED_NORM_BELL_103         9
 
  55 #define DSP_CONNECTED_NORM_V29_LEASED_LINE  10
 
  56 #define DSP_CONNECTED_NORM_V33_LEASED_LINE  11
 
  57 #define DSP_CONNECTED_NORM_V90              12
 
  58 #define DSP_CONNECTED_NORM_V21_CH2          13
 
  59 #define DSP_CONNECTED_NORM_V27_TER          14
 
  60 #define DSP_CONNECTED_NORM_V29              15
 
  61 #define DSP_CONNECTED_NORM_V33              16
 
  62 #define DSP_CONNECTED_NORM_V17              17
 
  63 #define DSP_CONNECTED_NORM_V32              18
 
  64 #define DSP_CONNECTED_NORM_K56_FLEX         19
 
  65 #define DSP_CONNECTED_NORM_X2               20
 
  66 #define DSP_CONNECTED_NORM_V18              21
 
  67 #define DSP_CONNECTED_NORM_V18_LOW_HIGH     22
 
  68 #define DSP_CONNECTED_NORM_V18_HIGH_LOW     23
 
  69 #define DSP_CONNECTED_NORM_V21_LOW_HIGH     24
 
  70 #define DSP_CONNECTED_NORM_V21_HIGH_LOW     25
 
  71 #define DSP_CONNECTED_NORM_BELL103_LOW_HIGH 26
 
  72 #define DSP_CONNECTED_NORM_BELL103_HIGH_LOW 27
 
  73 #define DSP_CONNECTED_NORM_V23_75_1200      28
 
  74 #define DSP_CONNECTED_NORM_V23_1200_75      29
 
  75 #define DSP_CONNECTED_NORM_EDT_110          30
 
  76 #define DSP_CONNECTED_NORM_BAUDOT_45        31
 
  77 #define DSP_CONNECTED_NORM_BAUDOT_47        32
 
  78 #define DSP_CONNECTED_NORM_BAUDOT_50        33
 
  79 #define DSP_CONNECTED_NORM_DTMF             34
 
  80 #define DSP_CONNECTED_NORM_V18_RESERVED_13  35
 
  81 #define DSP_CONNECTED_NORM_V18_RESERVED_14  36
 
  82 #define DSP_CONNECTED_NORM_V18_RESERVED_15  37
 
  83 #define DSP_CONNECTED_NORM_VOWN             38
 
  84 #define DSP_CONNECTED_NORM_V23_OFF_HOOK     39
 
  85 #define DSP_CONNECTED_NORM_V23_ON_HOOK      40
 
  86 #define DSP_CONNECTED_NORM_VOWN_RESERVED_3  41
 
  87 #define DSP_CONNECTED_NORM_VOWN_RESERVED_4  42
 
  88 #define DSP_CONNECTED_NORM_VOWN_RESERVED_5  43
 
  89 #define DSP_CONNECTED_NORM_VOWN_RESERVED_6  44
 
  90 #define DSP_CONNECTED_NORM_VOWN_RESERVED_7  45
 
  91 #define DSP_CONNECTED_NORM_VOWN_RESERVED_8  46
 
  92 #define DSP_CONNECTED_NORM_VOWN_RESERVED_9  47
 
  93 #define DSP_CONNECTED_NORM_VOWN_RESERVED_10 48
 
  94 #define DSP_CONNECTED_NORM_VOWN_RESERVED_11 49
 
  95 #define DSP_CONNECTED_NORM_VOWN_RESERVED_12 50
 
  96 #define DSP_CONNECTED_NORM_VOWN_RESERVED_13 51
 
  97 #define DSP_CONNECTED_NORM_VOWN_RESERVED_14 52
 
  98 #define DSP_CONNECTED_NORM_VOWN_RESERVED_15 53
 
  99 #define DSP_CONNECTED_NORM_VOWN_RESERVED_16 54
 
 100 #define DSP_CONNECTED_NORM_VOWN_RESERVED_17 55
 
 101 #define DSP_CONNECTED_NORM_VOWN_RESERVED_18 56
 
 102 #define DSP_CONNECTED_NORM_VOWN_RESERVED_19 57
 
 103 #define DSP_CONNECTED_NORM_VOWN_RESERVED_20 58
 
 104 #define DSP_CONNECTED_NORM_VOWN_RESERVED_21 59
 
 105 #define DSP_CONNECTED_NORM_VOWN_RESERVED_22 60
 
 106 #define DSP_CONNECTED_NORM_VOWN_RESERVED_23 61
 
 107 #define DSP_CONNECTED_NORM_VOWN_RESERVED_24 62
 
 108 #define DSP_CONNECTED_NORM_VOWN_RESERVED_25 63
 
 109 #define DSP_CONNECTED_NORM_VOWN_RESERVED_26 64
 
 110 #define DSP_CONNECTED_NORM_VOWN_RESERVED_27 65
 
 111 #define DSP_CONNECTED_NORM_VOWN_RESERVED_28 66
 
 112 #define DSP_CONNECTED_NORM_VOWN_RESERVED_29 67
 
 113 #define DSP_CONNECTED_NORM_VOWN_RESERVED_30 68
 
 114 #define DSP_CONNECTED_NORM_VOWN_RESERVED_31 69
 
 115 #define DSP_CONNECTED_OPTION_TRELLIS             0x0001
 
 116 #define DSP_CONNECTED_OPTION_V42_TRANS           0x0002
 
 117 #define DSP_CONNECTED_OPTION_V42_LAPM            0x0004
 
 118 #define DSP_CONNECTED_OPTION_SHORT_TRAIN         0x0008
 
 119 #define DSP_CONNECTED_OPTION_TALKER_ECHO_PROTECT 0x0010
 
 120 #define DSP_CONNECTED_OPTION_V42BIS              0x0020
 
 121 #define DSP_CONNECTED_OPTION_MNP2                0x0040
 
 122 #define DSP_CONNECTED_OPTION_MNP3                0x0080
 
 123 #define DSP_CONNECTED_OPTION_MNP4                0x00c0
 
 124 #define DSP_CONNECTED_OPTION_MNP5                0x0100
 
 125 #define DSP_CONNECTED_OPTION_MNP10               0x0200
 
 126 #define DSP_CONNECTED_OPTION_MASK_V42            0x0024
 
 127 #define DSP_CONNECTED_OPTION_MASK_MNP            0x03c0
 
 128 #define DSP_CONNECTED_OPTION_MASK_ERROR_CORRECT  0x03e4
 
 129 #define DSP_CONNECTED_OPTION_MASK_COMPRESSION    0x0320
 
 130 #define DSP_UDATA_INDICATION_DISCONNECT         5
 
 135 /* ==========================================================
 
 136     DLC: B2 modem configuration
 
 137    ========================================================== */
 
 139 Fields in assign DLC information element for modem protocol V.42/MNP:
 
 140   <byte> length of information element
 
 141   <word> information field length
 
 142   <byte> address A       (not used, default 3)
 
 143   <byte> address B       (not used, default 1)
 
 144   <byte> modulo mode     (not used, default 7)
 
 145   <byte> window size     (not used, default 7)
 
 146   <word> XID length      (not used, default 0)
 
 147   ...    XID information (not used, default empty)
 
 148   <byte> modem protocol negotiation options
 
 149   <byte> modem protocol options
 
 150   <byte> modem protocol break configuration
 
 151   <byte> modem protocol application options
 
 153 #define DLC_MODEMPROT_DISABLE_V42_V42BIS     0x01
 
 154 #define DLC_MODEMPROT_DISABLE_MNP_MNP5       0x02
 
 155 #define DLC_MODEMPROT_REQUIRE_PROTOCOL       0x04
 
 156 #define DLC_MODEMPROT_DISABLE_V42_DETECT     0x08
 
 157 #define DLC_MODEMPROT_DISABLE_COMPRESSION    0x10
 
 158 #define DLC_MODEMPROT_REQUIRE_PROTOCOL_V34UP 0x20
 
 159 #define DLC_MODEMPROT_NO_PROTOCOL_IF_1200    0x01
 
 160 #define DLC_MODEMPROT_BUFFER_IN_V42_DETECT   0x02
 
 161 #define DLC_MODEMPROT_DISABLE_V42_SREJ       0x04
 
 162 #define DLC_MODEMPROT_DISABLE_MNP3           0x08
 
 163 #define DLC_MODEMPROT_DISABLE_MNP4           0x10
 
 164 #define DLC_MODEMPROT_DISABLE_MNP10          0x20
 
 165 #define DLC_MODEMPROT_NO_PROTOCOL_IF_V22BIS  0x40
 
 166 #define DLC_MODEMPROT_NO_PROTOCOL_IF_V32BIS  0x80
 
 167 #define DLC_MODEMPROT_BREAK_DISABLED         0x00
 
 168 #define DLC_MODEMPROT_BREAK_NORMAL           0x01
 
 169 #define DLC_MODEMPROT_BREAK_EXPEDITED        0x02
 
 170 #define DLC_MODEMPROT_BREAK_DESTRUCTIVE      0x03
 
 171 #define DLC_MODEMPROT_BREAK_CONFIG_MASK      0x03
 
 172 #define DLC_MODEMPROT_APPL_EARLY_CONNECT     0x01
 
 173 #define DLC_MODEMPROT_APPL_PASS_INDICATIONS  0x02
 
 174 /* ==========================================================
 
 175     CAI parameters used for the modem L1 configuration
 
 176    ========================================================== */
 
 178 Fields in assign CAI information element:
 
 179   <byte> length of information element
 
 180   <byte> info field and B-channel hardware
 
 181   <byte> rate adaptation bit rate
 
 182   <byte> async framing parameters
 
 185   <byte> modem line taking options
 
 186   <byte> modem modulation negotiation parameters
 
 187   <byte> modem modulation options
 
 188   <byte> modem disabled modulations mask low
 
 189   <byte> modem disabled modulations mask high
 
 190   <byte> modem enabled modulations mask
 
 191   <word> modem min TX speed
 
 192   <word> modem max TX speed
 
 193   <word> modem min RX speed
 
 194   <word> modem max RX speed
 
 195   <byte> modem disabled symbol rates mask
 
 196   <byte> modem info options mask
 
 197   <byte> modem transmit level adjust
 
 198   <byte> modem speaker parameters
 
 199   <word> modem private debug config
 
 200   <struct> modem reserved
 
 201   <struct> v18 config parameters
 
 202   <struct> v18 probing sequence
 
 203   <struct> v18 probing message
 
 205 #define DSP_CAI_HARDWARE_HDLC_64K          0x05
 
 206 #define DSP_CAI_HARDWARE_HDLC_56K          0x08
 
 207 #define DSP_CAI_HARDWARE_TRANSP            0x09
 
 208 #define DSP_CAI_HARDWARE_V110_SYNC         0x0c
 
 209 #define DSP_CAI_HARDWARE_V110_ASYNC        0x0d
 
 210 #define DSP_CAI_HARDWARE_HDLC_128K         0x0f
 
 211 #define DSP_CAI_HARDWARE_FAX               0x10
 
 212 #define DSP_CAI_HARDWARE_MODEM_ASYNC       0x11
 
 213 #define DSP_CAI_HARDWARE_MODEM_SYNC        0x12
 
 214 #define DSP_CAI_HARDWARE_V110_HDLCA        0x13
 
 215 #define DSP_CAI_HARDWARE_ADVANCED_VOICE    0x14
 
 216 #define DSP_CAI_HARDWARE_TRANSP_DTMF       0x16
 
 217 #define DSP_CAI_HARDWARE_DTMF_VOICE_ISDN   0x17
 
 218 #define DSP_CAI_HARDWARE_DTMF_VOICE_LOCAL  0x18
 
 219 #define DSP_CAI_HARDWARE_MASK              0x3f
 
 220 #define DSP_CAI_ENABLE_INFO_INDICATIONS    0x80
 
 221 #define DSP_CAI_RATE_ADAPTATION_300        0x00
 
 222 #define DSP_CAI_RATE_ADAPTATION_600        0x01
 
 223 #define DSP_CAI_RATE_ADAPTATION_1200       0x02
 
 224 #define DSP_CAI_RATE_ADAPTATION_2400       0x03
 
 225 #define DSP_CAI_RATE_ADAPTATION_4800       0x04
 
 226 #define DSP_CAI_RATE_ADAPTATION_9600       0x05
 
 227 #define DSP_CAI_RATE_ADAPTATION_19200      0x06
 
 228 #define DSP_CAI_RATE_ADAPTATION_38400      0x07
 
 229 #define DSP_CAI_RATE_ADAPTATION_48000      0x08
 
 230 #define DSP_CAI_RATE_ADAPTATION_56000      0x09
 
 231 #define DSP_CAI_RATE_ADAPTATION_7200       0x0a
 
 232 #define DSP_CAI_RATE_ADAPTATION_14400      0x0b
 
 233 #define DSP_CAI_RATE_ADAPTATION_28800      0x0c
 
 234 #define DSP_CAI_RATE_ADAPTATION_12000      0x0d
 
 235 #define DSP_CAI_RATE_ADAPTATION_1200_75    0x0e
 
 236 #define DSP_CAI_RATE_ADAPTATION_75_1200    0x0f
 
 237 #define DSP_CAI_RATE_ADAPTATION_MASK       0x0f
 
 238 #define DSP_CAI_ASYNC_PARITY_ENABLE        0x01
 
 239 #define DSP_CAI_ASYNC_PARITY_SPACE         0x00
 
 240 #define DSP_CAI_ASYNC_PARITY_ODD           0x02
 
 241 #define DSP_CAI_ASYNC_PARITY_EVEN          0x04
 
 242 #define DSP_CAI_ASYNC_PARITY_MARK          0x06
 
 243 #define DSP_CAI_ASYNC_PARITY_MASK          0x06
 
 244 #define DSP_CAI_ASYNC_ONE_STOP_BIT         0x00
 
 245 #define DSP_CAI_ASYNC_TWO_STOP_BITS        0x20
 
 246 #define DSP_CAI_ASYNC_CHAR_LENGTH_8        0x00
 
 247 #define DSP_CAI_ASYNC_CHAR_LENGTH_7        0x40
 
 248 #define DSP_CAI_ASYNC_CHAR_LENGTH_6        0x80
 
 249 #define DSP_CAI_ASYNC_CHAR_LENGTH_5        0xc0
 
 250 #define DSP_CAI_ASYNC_CHAR_LENGTH_MASK     0xc0
 
 251 #define DSP_CAI_MODEM_LEASED_LINE_MODE     0x01
 
 252 #define DSP_CAI_MODEM_4_WIRE_OPERATION     0x02
 
 253 #define DSP_CAI_MODEM_DISABLE_BUSY_DETECT  0x04
 
 254 #define DSP_CAI_MODEM_DISABLE_CALLING_TONE 0x08
 
 255 #define DSP_CAI_MODEM_DISABLE_ANSWER_TONE  0x10
 
 256 #define DSP_CAI_MODEM_ENABLE_DIAL_TONE_DET 0x20
 
 257 #define DSP_CAI_MODEM_USE_POTS_INTERFACE   0x40
 
 258 #define DSP_CAI_MODEM_FORCE_RAY_TAYLOR_FAX 0x80
 
 259 #define DSP_CAI_MODEM_NEGOTIATE_HIGHEST    0x00
 
 260 #define DSP_CAI_MODEM_NEGOTIATE_DISABLED   0x01
 
 261 #define DSP_CAI_MODEM_NEGOTIATE_IN_CLASS   0x02
 
 262 #define DSP_CAI_MODEM_NEGOTIATE_V100       0x03
 
 263 #define DSP_CAI_MODEM_NEGOTIATE_V8         0x04
 
 264 #define DSP_CAI_MODEM_NEGOTIATE_V8BIS      0x05
 
 265 #define DSP_CAI_MODEM_NEGOTIATE_MASK       0x07
 
 266 #define DSP_CAI_MODEM_GUARD_TONE_NONE      0x00
 
 267 #define DSP_CAI_MODEM_GUARD_TONE_550HZ     0x40
 
 268 #define DSP_CAI_MODEM_GUARD_TONE_1800HZ    0x80
 
 269 #define DSP_CAI_MODEM_GUARD_TONE_MASK      0xc0
 
 270 #define DSP_CAI_MODEM_DISABLE_RETRAIN      0x01
 
 271 #define DSP_CAI_MODEM_DISABLE_STEPUPDOWN   0x02
 
 272 #define DSP_CAI_MODEM_DISABLE_SPLIT_SPEED  0x04
 
 273 #define DSP_CAI_MODEM_DISABLE_TRELLIS      0x08
 
 274 #define DSP_CAI_MODEM_ALLOW_RDL_TEST_LOOP  0x10
 
 275 #define DSP_CAI_MODEM_DISABLE_FLUSH_TIMER  0x40
 
 276 #define DSP_CAI_MODEM_REVERSE_DIRECTION    0x80
 
 277 #define DSP_CAI_MODEM_DISABLE_V21          0x01
 
 278 #define DSP_CAI_MODEM_DISABLE_V23          0x02
 
 279 #define DSP_CAI_MODEM_DISABLE_V22          0x04
 
 280 #define DSP_CAI_MODEM_DISABLE_V22BIS       0x08
 
 281 #define DSP_CAI_MODEM_DISABLE_V32          0x10
 
 282 #define DSP_CAI_MODEM_DISABLE_V32BIS       0x20
 
 283 #define DSP_CAI_MODEM_DISABLE_V34          0x40
 
 284 #define DSP_CAI_MODEM_DISABLE_V90          0x80
 
 285 #define DSP_CAI_MODEM_DISABLE_BELL103      0x01
 
 286 #define DSP_CAI_MODEM_DISABLE_BELL212A     0x02
 
 287 #define DSP_CAI_MODEM_DISABLE_VFC          0x04
 
 288 #define DSP_CAI_MODEM_DISABLE_K56FLEX      0x08
 
 289 #define DSP_CAI_MODEM_DISABLE_X2           0x10
 
 290 #define DSP_CAI_MODEM_ENABLE_V29FDX        0x01
 
 291 #define DSP_CAI_MODEM_ENABLE_V33           0x02
 
 292 #define DSP_CAI_MODEM_DISABLE_2400_SYMBOLS 0x01
 
 293 #define DSP_CAI_MODEM_DISABLE_2743_SYMBOLS 0x02
 
 294 #define DSP_CAI_MODEM_DISABLE_2800_SYMBOLS 0x04
 
 295 #define DSP_CAI_MODEM_DISABLE_3000_SYMBOLS 0x08
 
 296 #define DSP_CAI_MODEM_DISABLE_3200_SYMBOLS 0x10
 
 297 #define DSP_CAI_MODEM_DISABLE_3429_SYMBOLS 0x20
 
 298 #define DSP_CAI_MODEM_DISABLE_TX_REDUCTION 0x01
 
 299 #define DSP_CAI_MODEM_DISABLE_PRECODING    0x02
 
 300 #define DSP_CAI_MODEM_DISABLE_PREEMPHASIS  0x04
 
 301 #define DSP_CAI_MODEM_DISABLE_SHAPING      0x08
 
 302 #define DSP_CAI_MODEM_DISABLE_NONLINEAR_EN 0x10
 
 303 #define DSP_CAI_MODEM_SPEAKER_OFF          0x00
 
 304 #define DSP_CAI_MODEM_SPEAKER_DURING_TRAIN 0x01
 
 305 #define DSP_CAI_MODEM_SPEAKER_TIL_CONNECT  0x02
 
 306 #define DSP_CAI_MODEM_SPEAKER_ALWAYS_ON    0x03
 
 307 #define DSP_CAI_MODEM_SPEAKER_CONTROL_MASK 0x03
 
 308 #define DSP_CAI_MODEM_SPEAKER_VOLUME_MIN   0x00
 
 309 #define DSP_CAI_MODEM_SPEAKER_VOLUME_LOW   0x04
 
 310 #define DSP_CAI_MODEM_SPEAKER_VOLUME_HIGH  0x08
 
 311 #define DSP_CAI_MODEM_SPEAKER_VOLUME_MAX   0x0c
 
 312 #define DSP_CAI_MODEM_SPEAKER_VOLUME_MASK  0x0c
 
 313 /* ==========================================================
 
 315    ========================================================== */
 
 316 #define MDM_WANT_CONNECT_B3_ACTIVE_I  0x01
 
 317 #define MDM_NCPI_VALID                0x02
 
 318 #define MDM_NCPI_CTS_ON_RECEIVED      0x04
 
 319 #define MDM_NCPI_DCD_ON_RECEIVED      0x08
 
 320 /* ==========================================================
 
 322    ========================================================== */
 
 323 #define MDM_NCPI_ECM_V42              0x0001
 
 324 #define MDM_NCPI_ECM_MNP              0x0002
 
 325 #define MDM_NCPI_TRANSPARENT          0x0004
 
 326 #define MDM_NCPI_COMPRESSED           0x0010
 
 327 /* ==========================================================
 
 328     CAPI B2 Config Constants
 
 329    ========================================================== */
 
 330 #define MDM_B2_DISABLE_V42bis         0x0001
 
 331 #define MDM_B2_DISABLE_MNP            0x0002
 
 332 #define MDM_B2_DISABLE_TRANS          0x0004
 
 333 #define MDM_B2_DISABLE_V42            0x0008
 
 334 #define MDM_B2_DISABLE_COMP           0x0010
 
 335 /* ==========================================================
 
 336     CAPI B1 Config Constants
 
 337    ========================================================== */
 
 338 #define MDM_CAPI_DISABLE_RETRAIN      0x0001
 
 339 #define MDM_CAPI_DISABLE_RING_TONE    0x0002
 
 340 #define MDM_CAPI_GUARD_1800           0x0004
 
 341 #define MDM_CAPI_GUARD_550            0x0008
 
 342 #define MDM_CAPI_NEG_V8               0x0003
 
 343 #define MDM_CAPI_NEG_V100             0x0002
 
 344 #define MDM_CAPI_NEG_MOD_CLASS        0x0001
 
 345 #define MDM_CAPI_NEG_DISABLED         0x0000