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_ENTITY_H_
11 #define _LDP_ENTITY_H_
13 #include "ldp_struct.h"
15 extern void ldp_entity_set_defaults(ldp_entity
*e
);
16 extern ldp_entity
*ldp_entity_create();
17 extern void ldp_entity_delete(ldp_entity
* e
);
18 extern mpls_bool
ldp_entity_is_active(ldp_entity
* e
);
19 extern mpls_bool
ldp_entity_is_ready(ldp_entity
* e
);
20 extern int ldp_entity_label_space(ldp_entity
* e
);
21 extern ldp_mesg
*ldp_entity_get_message(ldp_entity
* e
);
23 extern mpls_return_enum
ldp_entity_startup(ldp_global
* g
, ldp_entity
* e
);
24 extern mpls_return_enum
ldp_entity_shutdown(ldp_global
* g
, ldp_entity
* e
,
27 extern void ldp_entity_register(ldp_global
* g
, ldp_entity
* e
);
28 extern void ldp_entity_unregister(ldp_global
* g
, ldp_entity
* e
);
30 extern void ldp_entity_add_if(ldp_entity
* e
, ldp_if
* i
);
31 extern void ldp_entity_del_if(ldp_entity
* e
);
33 extern void ldp_entity_add_peer(ldp_entity
* e
, ldp_peer
* p
);
34 extern void ldp_entity_del_peer(ldp_entity
* e
);
36 extern void ldp_entity_add_adj(ldp_entity
* e
, ldp_adj
* a
);
37 extern void ldp_entity_del_adj(ldp_entity
* e
, ldp_adj
* a
);
38 extern ldp_adj
*ldp_entity_find_adj(ldp_entity
* e
, ldp_mesg
* msg
);
40 extern mpls_return_enum
ldp_entity_set_admin_state(ldp_global
* g
,
41 ldp_entity
* e
, mpls_admin_state_enum state
);
43 extern uint32_t _ldp_entity_get_next_index();