]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - sys/i4b/layer3/i4b_l3fsm.h
Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.
[FreeBSD/releng/7.2.git] / sys / i4b / layer3 / i4b_l3fsm.h
1 /*-
2  * Copyright (c) 1997, 2002 Hellmuth Michaelis. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23  * SUCH DAMAGE.
24  */
25
26 /*---------------------------------------------------------------------------
27  *
28  *      i4b_l3fsm.c - layer 3 FSM
29  *      -------------------------
30  * 
31  * $FreeBSD$
32  *
33  *      last edit-date: [Sat Mar  9 19:34:51 2002]
34  *
35  *---------------------------------------------------------------------------*/
36
37 #ifndef _I4B_L3FSM_H_
38 #define _I4B_L3FSM_H_
39
40 enum Q931_states {
41         ST_U0,
42         ST_U1,
43         ST_U3,
44         ST_U4,
45         ST_U6,
46         ST_U7,
47         ST_U8,
48         ST_U9,
49         ST_U10,
50         ST_U11,
51         ST_U12,
52         ST_U19,
53
54         ST_IWA,         /* incoming call, wait establish, then accept */
55         ST_IWR,         /* incoming call, wait establish, then reject */
56         ST_OW,          /* outgoing call, wait establish */
57         ST_IWL,         /* incoming call, wait establish, then alert */
58         
59         ST_SUSE,        /* SUBroutine SETs new state on exit */
60         ST_ILL,         /* Illegal */
61         
62         N_STATES        /* number of states */
63 };
64
65 enum Q931_events {
66
67         EV_SETUPRQ,     /* setup request from L4                */
68         EV_DISCRQ,      /* disconnect request from L4           */
69         EV_RELRQ,       /* release request from L4              */
70         EV_ALERTRQ,     /* alerting request from L4             */
71         EV_SETACRS,     /* setup response accept from l4        */
72         EV_SETRJRS,     /* setup response reject from l4        */
73         EV_SETDCRS,     /* setup response dontcare from l4      */
74         
75         EV_SETUP,       /* incoming SETUP message from L2       */
76         EV_STATUS,      /* incoming STATUS message from L2      */
77         EV_RELEASE,     /* incoming RELEASE message from L2     */
78         EV_RELCOMP,     /* incoming RELEASE COMPLETE from L2    */
79         EV_SETUPAK,     /* incoming SETUP ACK message from L2   */
80         EV_CALLPRC,     /* incoming CALL PROCEEDING from L2     */
81         EV_ALERT,       /* incoming ALERT message from L2       */
82         EV_CONNECT,     /* incoming CONNECT message from L2     */      
83         EV_PROGIND,     /* incoming Progress IND from L2        */
84         EV_DISCONN,     /* incoming DISCONNECT message from L2  */
85         EV_CONACK,      /* incoming CONNECT ACK message from L2 */
86         EV_STATENQ,     /* incoming STATUS ENQ message from L2  */
87         EV_INFO,        /* incoming INFO message from L2        */
88         EV_FACILITY,    /* FACILITY message                     */
89         
90         EV_T303EXP,     /* Timer T303 expired                   */      
91         EV_T305EXP,     /* Timer T305 expired                   */
92         EV_T308EXP,     /* Timer T308 expired                   */      
93         EV_T309EXP,     /* Timer T309 expired                   */      
94         EV_T310EXP,     /* Timer T310 expired                   */      
95         EV_T313EXP,     /* Timer T313 expired                   */      
96         
97         EV_DLESTIN,     /* dl establish indication from l2      */
98         EV_DLRELIN,     /* dl release indication from l2        */
99         EV_DLESTCF,     /* dl establish confirm from l2         */
100         EV_DLRELCF,     /* dl release indication from l2        */
101         
102         EV_ILL,         /* Illegal */   
103         N_EVENTS
104 };
105         
106 #endif /* _I4B_L3FSM_H_ */