Various bug fixes to get basic label distribution working again
[mpls-ldp-portable.git] / ldp / ldp_addr.h
blobf02f6a30eddd351823caa79a0048f9c82f2ccd9e
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_ADDR_H_
11 #define _LDP_ADDR_H_
13 #include "ldp_struct.h"
15 extern ldp_addr *ldp_addr_find(ldp_global *g, mpls_inet_addr * address);
16 extern mpls_return_enum ldp_addr_insert2(ldp_global *g, ldp_addr *addr);
17 extern ldp_addr *ldp_addr_insert(ldp_global *g, mpls_inet_addr * address);
18 extern void ldp_addr_remove(ldp_global *g, mpls_inet_addr * address);
19 extern ldp_addr *ldp_addr_create(ldp_global *g, mpls_inet_addr * inet);
20 extern void ldp_addr_delete(ldp_global *g, ldp_addr * a);
21 extern void ldp_addr_add_if(ldp_addr * a, ldp_if * i);
22 extern void ldp_addr_del_if(ldp_global *g, ldp_addr * a);
23 extern mpls_bool ldp_addr_is_empty(ldp_addr *a);
24 extern mpls_return_enum _ldp_addr_add_session(ldp_addr * a, ldp_session * s);
25 extern void _ldp_addr_del_session(ldp_addr * a, ldp_session * s);
26 extern void ldp_addr_add_nexthop(ldp_addr * a, ldp_nexthop * nh);
27 extern void ldp_addr_del_nexthop(ldp_global *g, ldp_addr * a, ldp_nexthop * nh);
28 extern uint32_t _ldp_addr_get_next_index();
30 extern void ldp_addr_mesg_prepare(ldp_mesg * msg, ldp_global * g,
31 uint32_t msgid, mpls_inet_addr * a);
33 extern mpls_return_enum ldp_addr_send(ldp_global * g, ldp_session * s,
34 mpls_inet_addr * a);
35 extern mpls_return_enum ldp_waddr_send(ldp_global * g, ldp_session * s,
36 mpls_inet_addr * a);
37 extern mpls_return_enum ldp_addr_process(ldp_global * g, ldp_session * s,
38 ldp_entity * e, ldp_mesg * msg);
40 #endif