xref: /linux/include/net/llc_c_st.h (revision 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2)
1*1da177e4SLinus Torvalds #ifndef LLC_C_ST_H
2*1da177e4SLinus Torvalds #define LLC_C_ST_H
3*1da177e4SLinus Torvalds /*
4*1da177e4SLinus Torvalds  * Copyright (c) 1997 by Procom Technology,Inc.
5*1da177e4SLinus Torvalds  *		2001 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
6*1da177e4SLinus Torvalds  *
7*1da177e4SLinus Torvalds  * This program can be redistributed or modified under the terms of the
8*1da177e4SLinus Torvalds  * GNU General Public License as published by the Free Software Foundation.
9*1da177e4SLinus Torvalds  * This program is distributed without any warranty or implied warranty
10*1da177e4SLinus Torvalds  * of merchantability or fitness for a particular purpose.
11*1da177e4SLinus Torvalds  *
12*1da177e4SLinus Torvalds  * See the GNU General Public License for more details.
13*1da177e4SLinus Torvalds  */
14*1da177e4SLinus Torvalds /* Connection component state management */
15*1da177e4SLinus Torvalds /* connection states */
16*1da177e4SLinus Torvalds #define LLC_CONN_OUT_OF_SVC		 0	/* prior to allocation */
17*1da177e4SLinus Torvalds 
18*1da177e4SLinus Torvalds #define LLC_CONN_STATE_ADM		 1	/* disc, initial state */
19*1da177e4SLinus Torvalds #define LLC_CONN_STATE_SETUP		 2	/* disconnected state */
20*1da177e4SLinus Torvalds #define LLC_CONN_STATE_NORMAL		 3	/* connected state */
21*1da177e4SLinus Torvalds #define LLC_CONN_STATE_BUSY		 4	/* connected state */
22*1da177e4SLinus Torvalds #define LLC_CONN_STATE_REJ		 5	/* connected state */
23*1da177e4SLinus Torvalds #define LLC_CONN_STATE_AWAIT		 6	/* connected state */
24*1da177e4SLinus Torvalds #define LLC_CONN_STATE_AWAIT_BUSY	 7	/* connected state */
25*1da177e4SLinus Torvalds #define LLC_CONN_STATE_AWAIT_REJ	 8	/* connected state */
26*1da177e4SLinus Torvalds #define LLC_CONN_STATE_D_CONN		 9	/* disconnected state */
27*1da177e4SLinus Torvalds #define LLC_CONN_STATE_RESET		10	/* disconnected state */
28*1da177e4SLinus Torvalds #define LLC_CONN_STATE_ERROR		11	/* disconnected state */
29*1da177e4SLinus Torvalds #define LLC_CONN_STATE_TEMP		12	/* disconnected state */
30*1da177e4SLinus Torvalds 
31*1da177e4SLinus Torvalds #define NBR_CONN_STATES			12	/* size of state table */
32*1da177e4SLinus Torvalds #define NO_STATE_CHANGE			100
33*1da177e4SLinus Torvalds 
34*1da177e4SLinus Torvalds /* Connection state table structure */
35*1da177e4SLinus Torvalds struct llc_conn_state_trans {
36*1da177e4SLinus Torvalds 	llc_conn_ev_t	   ev;
37*1da177e4SLinus Torvalds 	u8		   next_state;
38*1da177e4SLinus Torvalds 	llc_conn_ev_qfyr_t *ev_qualifiers;
39*1da177e4SLinus Torvalds 	llc_conn_action_t  *ev_actions;
40*1da177e4SLinus Torvalds };
41*1da177e4SLinus Torvalds 
42*1da177e4SLinus Torvalds struct llc_conn_state {
43*1da177e4SLinus Torvalds 	u8			    current_state;
44*1da177e4SLinus Torvalds 	struct llc_conn_state_trans **transitions;
45*1da177e4SLinus Torvalds };
46*1da177e4SLinus Torvalds 
47*1da177e4SLinus Torvalds extern struct llc_conn_state llc_conn_state_table[];
48*1da177e4SLinus Torvalds #endif /* LLC_C_ST_H */
49