]> git.proxmox.com Git - mirror_frr.git/blob - isisd/isis_csm.h
isisd: use an enum for circuit states
[mirror_frr.git] / isisd / isis_csm.h
1 /*
2 * IS-IS Rout(e)ing protocol - isis_csm.h
3 * IS-IS circuit state machine
4 *
5 * Copyright (C) 2001,2002 Sampo Saaristo
6 * Tampere University of Technology
7 * Institute of Communications Engineering
8 *
9 *
10 * This program is free software; you can redistribute it and/or modify it
11 * under the terms of the GNU General Public Licenseas published by the Free
12 * Software Foundation; either version 2 of the License, or (at your option)
13 * any later version.
14 *
15 * This program is distributed in the hope that it will be useful,but WITHOUT
16 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
17 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
18 * more details.
19 *
20 * You should have received a copy of the GNU General Public License along
21 * with this program; see the file COPYING; if not, write to the Free Software
22 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
23 */
24 #ifndef _ZEBRA_ISIS_CSM_H
25 #define _ZEBRA_ISIS_CSM_H
26
27 /*
28 * Circuit states
29 */
30 enum isis_circuit_state {
31 C_STATE_NA,
32 C_STATE_INIT, /* Connected to interface */
33 C_STATE_CONF, /* Configured for ISIS */
34 C_STATE_UP, /* CONN | CONF */
35 };
36
37 /*
38 * Circuit events
39 */
40 #define ISIS_ENABLE 1
41 #define IF_UP_FROM_Z 2
42 #define ISIS_DISABLE 3
43 #define IF_DOWN_FROM_Z 4
44
45 struct isis_circuit *
46 isis_csm_state_change(int event, struct isis_circuit *circuit, void *arg);
47
48 #endif /* _ZEBRA_ISIS_CSM_H */