diff options
Diffstat (limited to 'drivers/isdn/pcbit/edss1.h')
-rw-r--r-- | drivers/isdn/pcbit/edss1.h | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/drivers/isdn/pcbit/edss1.h b/drivers/isdn/pcbit/edss1.h new file mode 100644 index 000000000000..6bb587005b86 --- /dev/null +++ b/drivers/isdn/pcbit/edss1.h | |||
@@ -0,0 +1,99 @@ | |||
1 | /* | ||
2 | * DSS.1 module definitions | ||
3 | * | ||
4 | * Copyright (C) 1996 Universidade de Lisboa | ||
5 | * | ||
6 | * Written by Pedro Roque Marques (roque@di.fc.ul.pt) | ||
7 | * | ||
8 | * This software may be used and distributed according to the terms of | ||
9 | * the GNU General Public License, incorporated herein by reference. | ||
10 | */ | ||
11 | |||
12 | #ifndef EDSS1_H | ||
13 | #define EDSS1_H | ||
14 | |||
15 | /* ISDN states */ | ||
16 | |||
17 | #define ST_NULL 0 | ||
18 | #define ST_CALL_INIT 1 /* Call initiated */ | ||
19 | #define ST_OVER_SEND 2 /* Overlap sending - Requests More Info 4 call */ | ||
20 | #define ST_CALL_PROC 3 /* Call Proceeding */ | ||
21 | #define ST_CALL_DELV 4 | ||
22 | #define ST_CALL_PRES 6 /* Call Present - Received CONN.IND */ | ||
23 | #define ST_CALL_RECV 7 /* Alerting sent */ | ||
24 | #define ST_CONN_REQ 8 /* Answered - waiting 4 CONN.CONF */ | ||
25 | #define ST_INCM_PROC 9 | ||
26 | #define ST_ACTIVE 10 | ||
27 | #define ST_DISC_REQ 11 | ||
28 | #define ST_DISC_IND 12 | ||
29 | #define ST_SUSP_REQ 15 | ||
30 | #define ST_RESM_REQ 17 | ||
31 | #define ST_RELS_REQ 19 | ||
32 | #define ST_OVER_RECV 25 | ||
33 | |||
34 | #define ST_ACTIVE_SELP 26 /* Select protocol on B-Channel */ | ||
35 | #define ST_ACTIVE_ACTV 27 /* Activate B-channel protocol */ | ||
36 | |||
37 | #define MAX_STATE ST_ACTIVE_ACTV | ||
38 | |||
39 | #define EV_NULL 0 | ||
40 | #define EV_USR_SETUP_REQ 1 | ||
41 | #define EV_USR_SETUP_RESP 2 | ||
42 | #define EV_USR_PROCED_REQ 3 | ||
43 | #define EV_USR_RELEASE_REQ 4 | ||
44 | #define EV_USR_REJECT_REQ 4 | ||
45 | |||
46 | #define EV_NET_SETUP 16 | ||
47 | #define EV_NET_CALL_PROC 17 | ||
48 | #define EV_NET_SETUP_ACK 18 | ||
49 | #define EV_NET_CONN 19 | ||
50 | #define EV_NET_CONN_ACK 20 | ||
51 | |||
52 | #define EV_NET_SELP_RESP 21 | ||
53 | #define EV_NET_ACTV_RESP 22 | ||
54 | |||
55 | #define EV_NET_DISC 23 | ||
56 | #define EV_NET_RELEASE 24 | ||
57 | #define EV_NET_RELEASE_COMP 25 | ||
58 | |||
59 | #define EV_TIMER 26 | ||
60 | #define EV_ERROR 32 | ||
61 | |||
62 | /* | ||
63 | * Cause values | ||
64 | * only the ones we use | ||
65 | */ | ||
66 | |||
67 | #define CAUSE_NORMAL 0x10U | ||
68 | #define CAUSE_NOCHAN 0x22U | ||
69 | |||
70 | struct callb_data { | ||
71 | unsigned short type; | ||
72 | union { | ||
73 | struct ConnInfo { | ||
74 | char *CalledPN; | ||
75 | char *CallingPN; | ||
76 | } setup; | ||
77 | unsigned short cause; | ||
78 | } data; | ||
79 | }; | ||
80 | |||
81 | struct fsm_entry { | ||
82 | unsigned short init; | ||
83 | unsigned short final; | ||
84 | unsigned short event; | ||
85 | void (*callb)(struct pcbit_dev *, struct pcbit_chan *, struct callb_data*); | ||
86 | }; | ||
87 | |||
88 | struct fsm_timer_entry { | ||
89 | unsigned short init; | ||
90 | unsigned long timeout; /* in seconds */ | ||
91 | }; | ||
92 | |||
93 | |||
94 | extern void pcbit_fsm_event(struct pcbit_dev *, struct pcbit_chan *, | ||
95 | unsigned short event, struct callb_data *); | ||
96 | #endif | ||
97 | |||
98 | |||
99 | |||