mutex: add atomic_dec_and_mutex_lock(), fix
[linux-2.6/libata-dev.git] / include / net / llc_c_st.h
blob0e79cfba4b3bef44f98e069f57c227739ff4ff6e
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>
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.
12 * See the GNU General Public License for more details.
14 /* Connection component state management */
15 /* connection states */
16 #define LLC_CONN_OUT_OF_SVC 0 /* prior to allocation */
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 */
31 #define NBR_CONN_STATES 12 /* size of state table */
32 #define NO_STATE_CHANGE 100
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;
42 struct llc_conn_state {
43 u8 current_state;
44 struct llc_conn_state_trans **transitions;
47 extern struct llc_conn_state llc_conn_state_table[];
48 #endif /* LLC_C_ST_H */