Don't allow the user to delete a fec that still has nexthops
[mpls-ldp-portable.git] / ldp / ldp_outlabel.h
blob061a3eabb06477bdd7a8ccae9f648b42ba0ebb91
2 /*
3 * Copyright (C) James R. Leu 2000
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 _LDP_OUTLABEL_H_
11 #define _LDP_OUTLABEL_H_
13 #include "ldp_struct.h"
15 extern ldp_outlabel *ldp_outlabel_create();
16 extern void ldp_outlabel_delete(ldp_outlabel * i);
18 extern ldp_outlabel *ldp_outlabel_create_complete(ldp_global * g,
19 ldp_session * s, ldp_attr * a, ldp_nexthop *nh);
20 extern void ldp_outlabel_delete_complete(ldp_global * g, ldp_outlabel * out);
22 extern void _ldp_outlabel_add_inlabel(ldp_outlabel *, ldp_inlabel *);
23 extern void _ldp_outlabel_del_inlabel(ldp_outlabel *, ldp_inlabel *);
25 extern void _ldp_outlabel_add_session(ldp_outlabel *, ldp_session *);
26 extern void _ldp_outlabel_del_session(ldp_outlabel * o);
28 extern void _ldp_outlabel_add_attr(ldp_outlabel * o, ldp_attr * a);
29 extern void _ldp_outlabel_del_attr(ldp_outlabel * o);
31 extern void ldp_outlabel_add_nexthop(ldp_outlabel * o, ldp_nexthop * nh);
32 extern void ldp_outlabel_del_nexthop(ldp_global *g, ldp_outlabel * o, ldp_nexthop * nh);
34 extern void ldp_outlabel_add_nexthop2(ldp_outlabel * o, ldp_nexthop * nh);
35 extern void ldp_outlabel_del_nexthop2(ldp_global *g, ldp_outlabel * o);
37 extern void _ldp_outlabel_add_tunnel(ldp_outlabel * o, ldp_tunnel * t);
38 extern void _ldp_outlabel_del_tunnel(ldp_outlabel * o, ldp_tunnel * t);
40 extern uint32_t _ldp_outlabel_get_next_index();
41 #endif