49 lines
		
	
	
	
		
			1.7 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			49 lines
		
	
	
	
		
			1.7 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#ifndef LLC_C_ST_H
							 | 
						||
| 
								 | 
							
								#define LLC_C_ST_H
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Copyright (c) 1997 by Procom Technology,Inc.
							 | 
						||
| 
								 | 
							
								 *		2001 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * This program can be redistributed or modified under the terms of the
							 | 
						||
| 
								 | 
							
								 * GNU General Public License as published by the Free Software Foundation.
							 | 
						||
| 
								 | 
							
								 * This program is distributed without any warranty or implied warranty
							 | 
						||
| 
								 | 
							
								 * of merchantability or fitness for a particular purpose.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * See the GNU General Public License for more details.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								/* Connection component state management */
							 | 
						||
| 
								 | 
							
								/* connection states */
							 | 
						||
| 
								 | 
							
								#define LLC_CONN_OUT_OF_SVC		 0	/* prior to allocation */
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								#define LLC_CONN_STATE_ADM		 1	/* disc, initial state */
							 | 
						||
| 
								 | 
							
								#define LLC_CONN_STATE_SETUP		 2	/* disconnected state */
							 | 
						||
| 
								 | 
							
								#define LLC_CONN_STATE_NORMAL		 3	/* connected state */
							 | 
						||
| 
								 | 
							
								#define LLC_CONN_STATE_BUSY		 4	/* connected state */
							 | 
						||
| 
								 | 
							
								#define LLC_CONN_STATE_REJ		 5	/* connected state */
							 | 
						||
| 
								 | 
							
								#define LLC_CONN_STATE_AWAIT		 6	/* connected state */
							 | 
						||
| 
								 | 
							
								#define LLC_CONN_STATE_AWAIT_BUSY	 7	/* connected state */
							 | 
						||
| 
								 | 
							
								#define LLC_CONN_STATE_AWAIT_REJ	 8	/* connected state */
							 | 
						||
| 
								 | 
							
								#define LLC_CONN_STATE_D_CONN		 9	/* disconnected state */
							 | 
						||
| 
								 | 
							
								#define LLC_CONN_STATE_RESET		10	/* disconnected state */
							 | 
						||
| 
								 | 
							
								#define LLC_CONN_STATE_ERROR		11	/* disconnected state */
							 | 
						||
| 
								 | 
							
								#define LLC_CONN_STATE_TEMP		12	/* disconnected state */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define NBR_CONN_STATES			12	/* size of state table */
							 | 
						||
| 
								 | 
							
								#define NO_STATE_CHANGE			100
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Connection state table structure */
							 | 
						||
| 
								 | 
							
								struct llc_conn_state_trans {
							 | 
						||
| 
								 | 
							
									llc_conn_ev_t	   ev;
							 | 
						||
| 
								 | 
							
									u8		   next_state;
							 | 
						||
| 
								 | 
							
									llc_conn_ev_qfyr_t *ev_qualifiers;
							 | 
						||
| 
								 | 
							
									llc_conn_action_t  *ev_actions;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								struct llc_conn_state {
							 | 
						||
| 
								 | 
							
									u8			    current_state;
							 | 
						||
| 
								 | 
							
									struct llc_conn_state_trans **transitions;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								extern struct llc_conn_state llc_conn_state_table[];
							 | 
						||
| 
								 | 
							
								#endif /* LLC_C_ST_H */
							 |