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