Re-work iff, addr, fec, nexthop life cycle.
[mpls-ldp-portable.git] / ldp / ldp_if.h
blob7b5f3adca40961ad4fdb0c24deb650bc84e47a04
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_IF_H_
11 #define _LDP_IF_H_
13 #include "ldp_struct.h"
15 extern ldp_if *ldp_if_create(ldp_global *g);
16 extern void ldp_if_delete(ldp_global *g, ldp_if * i);
17 extern ldp_if *ldp_if_insert(ldp_global *g, mpls_if_handle handle);
18 extern void ldp_if_remove(ldp_global *g, ldp_if *iff);
19 extern void ldp_if_add_nexthop(ldp_if * i, ldp_nexthop * n);
20 extern void ldp_if_del_nexthop(ldp_global *g, ldp_if * i, ldp_nexthop * n);
21 extern ldp_addr *ldp_if_addr_find(ldp_if *i, mpls_inet_addr *a);
22 extern mpls_return_enum ldp_if_find_addr_index(ldp_if *i, int index,
23 ldp_addr **a);
24 extern void ldp_if_del_addr(ldp_global *g, ldp_if * i, ldp_addr * a);
25 extern void ldp_if_add_addr(ldp_if * i, ldp_addr * a);
26 extern mpls_return_enum ldp_if_startup(ldp_global * g, ldp_if * i);
27 extern mpls_return_enum ldp_if_shutdown(ldp_global * g, ldp_if * i);
28 extern mpls_bool ldp_if_is_active(ldp_if * i);
29 extern mpls_return_enum _ldp_if_add_entity(ldp_if * i, ldp_entity * e);
30 extern ldp_entity *ldp_if_get_entity(ldp_if * i);
31 extern mpls_return_enum _ldp_if_del_entity(ldp_if * i);
32 extern uint32_t _ldp_if_get_next_index();
34 #endif