3 * Copyright (C) James R. Leu 2000
6 * This software is covered under the LGPL, for more
7 * info check out http://www.gnu.org/copyleft/lgpl.html
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();