1 
2 /*
3  *
4  Copyright (c) Eicon Networks, 2002.
5  *
6  This source file is supplied for the use with
7  Eicon Networks range of DIVA Server Adapters.
8  *
9  Eicon File Revision :    2.1
10  *
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)
14  any later version.
15  *
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.
20  *
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.
24  *
25  */
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 /* =====================================================================
33    DCD_OFF Message:
34    <word> time of DCD off (sampled from counter at 8kHz)
35    DCD_ON Message:
36    <word> time of DCD on (sampled from counter at 8kHz)
37    <byte> connected norm
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
131 /*
132   returns:
133   <byte> cause
134 */
135 /* ==========================================================
136    DLC: B2 modem configuration
137    ========================================================== */
138 /*
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
152 */
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    ========================================================== */
177 /*
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
183   <byte> reserved
184   <word> packet length
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
204 */
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 /* ==========================================================
314    DCD/CTS State
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 /* ==========================================================
321    CAPI NCPI Constants
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
346 #endif
347