ieee1394: merge from Linus
[linux-2.6] / include / net / llc_c_st.h
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 */