Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids. Most
[dragonfly.git] / sys / net / i4b / layer3 / i4b_l3fsm.h
1 /*
2  * Copyright (c) 1997, 2000 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  *      i4b_l3fsm.c - layer 3 FSM
28  *      -------------------------
29  * 
30  *      $Id: i4b_l3fsm.h,v 1.8 2000/04/27 09:25:22 hm Exp $ 
31  *
32  * $FreeBSD: src/sys/i4b/layer3/i4b_l3fsm.h,v 1.6.2.1 2001/08/10 14:08:42 obrien Exp $
33  * $DragonFly: src/sys/net/i4b/layer3/i4b_l3fsm.h,v 1.2 2003/06/17 04:28:40 dillon Exp $
34  *
35  *      last edit-date: [Thu Apr 27 11:07:16 2000]
36  *
37  *---------------------------------------------------------------------------*/
38
39 #ifndef _I4B_L3FSM_H_
40 #define _I4B_L3FSM_H_
41
42 enum Q931_states {
43         ST_U0,
44         ST_U1,
45         ST_U3,
46         ST_U4,
47         ST_U6,
48         ST_U7,
49         ST_U8,
50         ST_U9,
51         ST_U10,
52         ST_U11,
53         ST_U12,
54         ST_U19,
55
56         ST_IWA,         /* incoming call, wait establish, then accept */
57         ST_IWR,         /* incoming call, wait establish, then reject */
58         ST_OW,          /* outgoing call, wait establish */
59         ST_IWL,         /* incoming call, wait establish, then alert */
60         
61         ST_SUSE,        /* SUBroutine SETs new state on exit */
62         ST_ILL,         /* Illegal */
63         
64         N_STATES        /* number of states */
65 };
66
67 enum Q931_events {
68
69         EV_SETUPRQ,     /* setup request from L4                */
70         EV_DISCRQ,      /* disconnect request from L4           */
71         EV_RELRQ,       /* release request from L4              */
72         EV_ALERTRQ,     /* alerting request from L4             */
73         EV_SETACRS,     /* setup response accept from l4        */
74         EV_SETRJRS,     /* setup response reject from l4        */
75         EV_SETDCRS,     /* setup response dontcare from l4      */
76         
77         EV_SETUP,       /* incoming SETUP message from L2       */
78         EV_STATUS,      /* incoming STATUS message from L2      */
79         EV_RELEASE,     /* incoming RELEASE message from L2     */
80         EV_RELCOMP,     /* incoming RELEASE COMPLETE from L2    */
81         EV_SETUPAK,     /* incoming SETUP ACK message from L2   */
82         EV_CALLPRC,     /* incoming CALL PROCEEDING from L2     */
83         EV_ALERT,       /* incoming ALERT message from L2       */
84         EV_CONNECT,     /* incoming CONNECT message from L2     */      
85         EV_PROGIND,     /* incoming Progress IND from L2        */
86         EV_DISCONN,     /* incoming DISCONNECT message from L2  */
87         EV_CONACK,      /* incoming CONNECT ACK message from L2 */
88         EV_STATENQ,     /* incoming STATUS ENQ message from L2  */
89         EV_INFO,        /* incoming INFO message from L2        */
90         EV_FACILITY,    /* FACILITY message                     */
91         
92         EV_T303EXP,     /* Timer T303 expired                   */      
93         EV_T305EXP,     /* Timer T305 expired                   */
94         EV_T308EXP,     /* Timer T308 expired                   */      
95         EV_T309EXP,     /* Timer T309 expired                   */      
96         EV_T310EXP,     /* Timer T310 expired                   */      
97         EV_T313EXP,     /* Timer T313 expired                   */      
98         
99         EV_DLESTIN,     /* dl establish indication from l2      */
100         EV_DLRELIN,     /* dl release indication from l2        */
101         EV_DLESTCF,     /* dl establish confirm from l2         */
102         EV_DLRELCF,     /* dl release indication from l2        */
103         
104         EV_ILL,         /* Illegal */   
105         N_EVENTS
106 };
107         
108 #endif /* _I4B_L3FSM_H_ */