Changes to the mpls_fib_impl API:
[mpls-ldp-portable.git] / lsr / lsr_cfg.h
blobe9fbbb8f672c920fb414cc3722ccab3d8b9fdecf
2 /*
3 * Copyright (C) James R. Leu 2002
4 * jleu@mindspring.com
6 * This software is covered under the LGPL, for more
7 * info check out http://www.gnu.org/copyleft/lgpl.html
8 */
10 #ifndef _LSR_CFG_H_
11 #define _LSR_CFG_H_
13 #include "lsr_struct.h"
15 #define LSR_CFG_ADD 0x00000001
16 #define LSR_CFG_DEL 0x10000000
18 #define LSR_GLOBAL_CFG_ADMIN_STATE 0x00000002
20 #define LSR_GLOBAL_CFG_WHEN_DOWN (0)
22 #define LSR_OUTSEGMENT_CFG_INDEX 0x00000002
23 #define LSR_OUTSEGMENT_CFG_PUSH_LABEL 0x00000004
24 #define LSR_OUTSEGMENT_CFG_OWNER 0x00000008
25 #define LSR_OUTSEGMENT_CFG_INTERFACE 0x00000010
26 #define LSR_OUTSEGMENT_CFG_LABEL 0x00000020
27 #define LSR_OUTSEGMENT_CFG_NEXTHOP 0x00000040
28 #define LSR_OUTSEGMENT_CFG_WHEN_DOWN (LSR_CFG_DEL|\
29 LSR_OUTSEGMENT_CFG_PUSH_LABEL|\
30 LSR_OUTSEGMENT_CFG_OWNER|\
31 LSR_OUTSEGMENT_CFG_INTERFACE|\
32 LSR_OUTSEGMENT_CFG_LABEL|\
33 LSR_OUTSEGMENT_CFG_NEXTHOP)
35 #define LSR_INSEGMENT_CFG_INDEX 0x00000002
36 #define LSR_INSEGMENT_CFG_NPOP 0x00000004
37 #define LSR_INSEGMENT_CFG_FAMILY 0x00000008
38 #define LSR_INSEGMENT_CFG_LABELSPACE 0x00000010
39 #define LSR_INSEGMENT_CFG_LABEL 0x00000020
40 #define LSR_INSEGMENT_CFG_OWNER 0x00000040
41 #define LSR_INSEGMENT_CFG_WHEN_DOWN (LSR_CFG_DEL|\
42 LSR_INSEGMENT_CFG_NPOP|\
43 LSR_INSEGMENT_CFG_FAMILY|\
44 LSR_INSEGMENT_CFG_LABELSPACE|\
45 LSR_INSEGMENT_CFG_LABEL|\
46 LSR_INSEGMENT_CFG_OWNER)
48 #define LSR_XCONNECT_CFG_INDEX 0x00000002
49 #define LSR_XCONNECT_CFG_OUTSEGMENT 0x00000004
50 #define LSR_XCONNECT_CFG_INSEGMENT 0x00000008
51 #define LSR_XCONNECT_CFG_LSPID 0x00000010
52 #define LSR_XCONNECT_CFG_LABELSTACK 0x00000020
53 #define LSR_XCONNECT_CFG_ADMIN_STATE 0x00000040
54 #define LSR_XCONNECT_CFG_OWNER 0x00000080
55 #define LSR_XCONNECT_CFG_WHEN_DOWN (LSR_CFG_DEL|\
56 LSR_XCONNECT_CFG_OUTSEGMENT|\
57 LSR_XCONNECT_CFG_INSEGMENT|\
58 LSR_XCONNECT_CFG_LSPID|\
59 LSR_XCONNECT_CFG_LABELSTACK|\
60 LSR_XCONNECT_CFG_OWNER)
62 #define LSR_IF_CFG_INDEX 0x00000002
63 #define LSR_IF_CFG_OPER_STATE 0x00000004
64 #define LSR_IF_CFG_NAME 0x00000008
65 #define LSR_IF_CFG_WHEN_DOWN (LSR_CFG_DEL|\
66 LSR_IF_CFG_NAME)
68 #define LSR_FTN_CFG_INDEX 0x00000002
69 #define LSR_FTN_CFG_OUTSEGMENT 0x00000004
70 #define LSR_FTN_CFG_FEC 0x00000008
71 #define LSR_FTN_CFG_WHEN_DOWN (LSR_CFG_DEL|\
72 LSR_FTN_CFG_FEC|\
73 LSR_FTN_CFG_OUTSEGMENT)
75 extern mpls_cfg_handle lsr_cfg_open(mpls_instance_handle data);
76 extern void lsr_cfg_close(mpls_cfg_handle handle);
78 extern mpls_return_enum lsr_cfg_global_get(mpls_cfg_handle handle, lsr_global * g, uint32_t flag);
79 extern mpls_return_enum lsr_cfg_global_set(mpls_cfg_handle handle, lsr_global * g, uint32_t flag);
81 extern mpls_return_enum lsr_cfg_outsegment_get(mpls_cfg_handle handle, lsr_outsegment * i, uint32_t flag);
82 extern mpls_return_enum lsr_cfg_outsegment_getnext(mpls_cfg_handle handle, lsr_outsegment * i, uint32_t flag);
83 extern mpls_return_enum lsr_cfg_outsegment_test(mpls_cfg_handle handle, lsr_outsegment * i, uint32_t flag);
84 extern mpls_return_enum lsr_cfg_outsegment_set(mpls_cfg_handle handle, lsr_outsegment * i, uint32_t flag);
87 extern mpls_return_enum lsr_cfg_insegment_get(mpls_cfg_handle handle, lsr_insegment * i, uint32_t flag);
88 extern mpls_return_enum lsr_cfg_insegment_getnext(mpls_cfg_handle handle, lsr_insegment * i, uint32_t flag);
89 extern mpls_return_enum lsr_cfg_insegment_test(mpls_cfg_handle handle, lsr_insegment * i, uint32_t flag);
90 extern mpls_return_enum lsr_cfg_insegment_set(mpls_cfg_handle handle, lsr_insegment * i, uint32_t flag);
93 extern mpls_return_enum lsr_cfg_xconnect_get(mpls_cfg_handle handle, lsr_xconnect * x, uint32_t flag);
94 extern mpls_return_enum lsr_cfg_xconnect_get2(mpls_cfg_handle handle, lsr_xconnect *x, uint32_t flag);
95 extern mpls_return_enum lsr_cfg_xconnect_getnext(mpls_cfg_handle handle, lsr_xconnect * x, uint32_t flag);
96 extern mpls_return_enum lsr_cfg_xconnect_test(mpls_cfg_handle handle, lsr_xconnect * x, uint32_t flag);
97 extern mpls_return_enum lsr_cfg_xconnect_set(mpls_cfg_handle handle, lsr_xconnect * x, uint32_t flag);
98 extern mpls_return_enum lsr_cfg_xconnect_set2(mpls_cfg_handle handle, lsr_xconnect * x, uint32_t flag);
101 extern mpls_return_enum lsr_cfg_if_get(mpls_cfg_handle handle, lsr_if * i, uint32_t flag);
102 extern mpls_return_enum lsr_cfg_if_getnext(mpls_cfg_handle handle, lsr_if * i, uint32_t flag);
103 extern mpls_return_enum lsr_cfg_if_test(mpls_cfg_handle handle, lsr_if * i, uint32_t flag);
104 extern mpls_return_enum lsr_cfg_if_set(mpls_cfg_handle handle, lsr_if * i, uint32_t flag);
106 extern mpls_return_enum lsr_cfg_ftn_get(mpls_cfg_handle handle, lsr_ftn * i, uint32_t flag);
107 extern mpls_return_enum lsr_cfg_ftn_get2(mpls_cfg_handle handle, lsr_ftn * i, uint32_t flag);
108 extern mpls_return_enum lsr_cfg_ftn_getnext(mpls_cfg_handle handle, lsr_ftn * i, uint32_t flag);
109 extern mpls_return_enum lsr_cfg_ftn_test(mpls_cfg_handle handle, lsr_ftn * i, uint32_t flag);
110 extern mpls_return_enum lsr_cfg_ftn_set(mpls_cfg_handle handle, lsr_ftn * i, uint32_t flag);
111 extern mpls_return_enum lsr_cfg_ftn_set2(mpls_cfg_handle handle, lsr_ftn * i, uint32_t flag);
113 #endif