File: /usr/src/linux/drivers/isdn/hisax/l3dss1.h
1 /* $Id: l3dss1.h,v 1.10.6.1 2001/02/16 16:43:28 kai Exp $
2 *
3 * DSS1 (Euro) D-channel protocol defines
4 *
5 * This file is (c) under GNU General Public License
6 *
7 */
8
9 #ifndef l3dss1_process
10
11 #define T302 15000
12 #define T303 4000
13 #define T304 30000
14 #define T305 30000
15 #define T308 4000
16 /* for layer 1 certification T309 < layer1 T3 (e.g. 4000) */
17 /* This makes some tests easier and quicker */
18 #define T309 40000
19 #define T310 30000
20 #define T313 4000
21 #define T318 4000
22 #define T319 4000
23
24 /*
25 * Message-Types
26 */
27
28 #define MT_ALERTING 0x01
29 #define MT_CALL_PROCEEDING 0x02
30 #define MT_CONNECT 0x07
31 #define MT_CONNECT_ACKNOWLEDGE 0x0f
32 #define MT_PROGRESS 0x03
33 #define MT_SETUP 0x05
34 #define MT_SETUP_ACKNOWLEDGE 0x0d
35 #define MT_RESUME 0x26
36 #define MT_RESUME_ACKNOWLEDGE 0x2e
37 #define MT_RESUME_REJECT 0x22
38 #define MT_SUSPEND 0x25
39 #define MT_SUSPEND_ACKNOWLEDGE 0x2d
40 #define MT_SUSPEND_REJECT 0x21
41 #define MT_USER_INFORMATION 0x20
42 #define MT_DISCONNECT 0x45
43 #define MT_RELEASE 0x4d
44 #define MT_RELEASE_COMPLETE 0x5a
45 #define MT_RESTART 0x46
46 #define MT_RESTART_ACKNOWLEDGE 0x4e
47 #define MT_SEGMENT 0x60
48 #define MT_CONGESTION_CONTROL 0x79
49 #define MT_INFORMATION 0x7b
50 #define MT_FACILITY 0x62
51 #define MT_NOTIFY 0x6e
52 #define MT_STATUS 0x7d
53 #define MT_STATUS_ENQUIRY 0x75
54
55 #define IE_SEGMENT 0x00
56 #define IE_BEARER 0x04
57 #define IE_CAUSE 0x08
58 #define IE_CALL_ID 0x10
59 #define IE_CALL_STATE 0x14
60 #define IE_CHANNEL_ID 0x18
61 #define IE_FACILITY 0x1c
62 #define IE_PROGRESS 0x1e
63 #define IE_NET_FAC 0x20
64 #define IE_NOTIFY 0x27
65 #define IE_DISPLAY 0x28
66 #define IE_DATE 0x29
67 #define IE_KEYPAD 0x2c
68 #define IE_SIGNAL 0x34
69 #define IE_INFORATE 0x40
70 #define IE_E2E_TDELAY 0x42
71 #define IE_TDELAY_SEL 0x43
72 #define IE_PACK_BINPARA 0x44
73 #define IE_PACK_WINSIZE 0x45
74 #define IE_PACK_SIZE 0x46
75 #define IE_CUG 0x47
76 #define IE_REV_CHARGE 0x4a
77 #define IE_CONNECT_PN 0x4c
78 #define IE_CONNECT_SUB 0x4d
79 #define IE_CALLING_PN 0x6c
80 #define IE_CALLING_SUB 0x6d
81 #define IE_CALLED_PN 0x70
82 #define IE_CALLED_SUB 0x71
83 #define IE_REDIR_NR 0x74
84 #define IE_TRANS_SEL 0x78
85 #define IE_RESTART_IND 0x79
86 #define IE_LLC 0x7c
87 #define IE_HLC 0x7d
88 #define IE_USER_USER 0x7e
89 #define IE_ESCAPE 0x7f
90 #define IE_SHIFT 0x90
91 #define IE_MORE_DATA 0xa0
92 #define IE_COMPLETE 0xa1
93 #define IE_CONGESTION 0xb0
94 #define IE_REPEAT 0xd0
95
96 #define IE_MANDATORY 0x0100
97 /* mandatory not in every case */
98 #define IE_MANDATORY_1 0x0200
99
100 #define ERR_IE_COMPREHENSION 1
101 #define ERR_IE_UNRECOGNIZED -1
102 #define ERR_IE_LENGTH -2
103 #define ERR_IE_SEQUENCE -3
104
105 #else /* only l3dss1_process */
106
107 /* l3dss1 specific data in l3 process */
108 typedef struct
109 { unsigned char invoke_id; /* used invoke id in remote ops, 0 = not active */
110 ulong ll_id; /* remebered ll id */
111 u_char remote_operation; /* handled remote operation, 0 = not active */
112 int proc; /* rememered procedure */
113 ulong remote_result; /* result of remote operation for statcallb */
114 char uus1_data[35]; /* data send during alerting or disconnect */
115 } dss1_proc_priv;
116
117 /* l3dss1 specific data in protocol stack */
118 typedef struct
119 { unsigned char last_invoke_id; /* last used value for invoking */
120 unsigned char invoke_used[32]; /* 256 bits for 256 values */
121 } dss1_stk_priv;
122
123 #endif /* only l3dss1_process */
124