/* * Copyright (C) James R. Leu 2000 * jleu@mindspring.com * * This software is covered under the LGPL, for more * info check out http://www.gnu.org/copyleft/lgpl.html */ #ifndef _LDP_LABEL_MAPPING_H_ #define _LDP_LABEL_MAPPING_H_ #include "ldp_struct.h" extern void map2attr(mplsLdpLblMapMsg_t* map,ldp_attr* attr,uint32_t flag); extern void attr2map(ldp_attr* attr,mplsLdpLblMapMsg_t* map); extern void ldp_label_mapping_initial_callback(ldp_timer_handle timer, void* extra,ldp_cfg_handle g); extern ldp_msg* ldp_label_mapping_create_msg(uint32_t msgid,ldp_attr* s_attr); extern ldp_return_enum ldp_label_mapping_send(ldp_global* g,ldp_session* s, ldp_attr* a); extern ldp_return_enum ldp_label_mapping_process(ldp_global *g,ldp_session *s, ldp_adj *a, ldp_entity *e,ldp_attr* r_attr,ldp_fec* fec); extern ldp_return_enum Check_Received_Attributes(ldp_global* g,ldp_session* s, ldp_attr* r_attr,uint16_t type); extern ldp_return_enum ldp_get_next_hop_session_for_fec(ldp_global* g, ldp_fec* fec,ldp_addr** next_hop,ldp_session** next_hop_session); extern ldp_session* ldp_get_session_by_next_hop(ldp_global* g,ldp_inet_addr* a, ldp_addr** next_hop); extern void Prepare_Label_Mapping_Attributes(ldp_global* g,ldp_session* s, ldp_fec* fec,ldp_attr* r_attr,ldp_attr* s_attr,ldp_bool propogating, ldp_bool already); extern ldp_return_enum ldp_label_request_for_xc(ldp_global* g,ldp_session* s, ldp_fec* fec,ldp_attr* r_attr); #endif