Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
edss1.h
Go to the documentation of this file.
1 /*
2  * DSS.1 module definitions
3  *
4  * Copyright (C) 1996 Universidade de Lisboa
5  *
6  * Written by Pedro Roque Marques ([email protected])
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 
89  unsigned short init;
90  unsigned long timeout; /* in seconds */
91 };
92 
93 extern const char * const isdn_state_table[];
94 
95 void pcbit_fsm_event(struct pcbit_dev *, struct pcbit_chan *,
96  unsigned short event, struct callb_data *);
97 char *strisdnevent(ushort ev);
98 
99 #endif