/* * 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_CFG_H_ #define _LDP_CFG_H_ #ifdef __LDP_LINUX__ #include "ldp_struct.h" #else #include #endif #define LDP_CFG_ADD 0x00000001 #define LDP_CFG_DEL 0x10000000 #define LDP_GLOBAL_CFG_ADMIN_STATE 0x00000002 #define LDP_GLOBAL_CFG_CONTROL_MODE 0x00000004 #define LDP_GLOBAL_CFG_RETENTION_MODE 0x00000008 #define LDP_GLOBAL_CFG_REPAIR_MODE 0x00000010 #define LDP_GLOBAL_CFG_PROPOGATE_RELEASE 0x00000020 #define LDP_GLOBAL_CFG_LABEL_MERGE 0x00000040 #define LDP_GLOBAL_CFG_LOOP_DETECTION_MODE 0x00000080 #define LDP_GLOBAL_CFG_TTLLESS_DOMAIN 0x00000100 #define LDP_GLOBAL_CFG_LOCAL_TCP_PORT 0x00000200 #define LDP_GLOBAL_CFG_LOCAL_UDP_PORT 0x00000400 #define LDP_GLOBAL_CFG_LSR_IDENTIFIER 0x00000800 #define LDP_GLOBAL_CFG_TRANS_ADDR 0x00001000 #define LDP_GLOBAL_CFG_KEEPALIVE_TIMER 0x00002000 #define LDP_GLOBAL_CFG_KEEPALIVE_INTERVAL 0x00004000 #define LDP_GLOBAL_CFG_HELLOTIME_TIMER 0x00008000 #define LDP_GLOBAL_CFG_HELLOTIME_INTERVAL 0x00010000 #define LDP_GLOBAL_CFG_WHEN_DOWN (LDP_GLOBAL_CFG_LOCAL_TCP_PORT|\ LDP_GLOBAL_CFG_LOCAL_UDP_PORT|\ LDP_GLOBAL_CFG_LSR_IDENTIFIER) #define LDP_ENTITY_CFG_TRANS_ADDR 0x00000002 #define LDP_ENTITY_CFG_PROTO_VER 0x00000004 #define LDP_ENTITY_CFG_REMOTE_TCP 0x00000008 #define LDP_ENTITY_CFG_REMOTE_UDP 0x00000010 #define LDP_ENTITY_CFG_MAX_PDU 0x00000020 #define LDP_ENTITY_CFG_KEEPALIVE_TIMER 0x00000040 #define LDP_ENTITY_CFG_KEEPALIVE_INTERVAL 0x00000080 #define LDP_ENTITY_CFG_HELLOTIME_TIMER 0x00000100 #define LDP_ENTITY_CFG_HELLOTIME_INTERVAL 0x00000200 #define LDP_ENTITY_CFG_SESSION_SETUP_COUNT 0x00000400 #define LDP_ENTITY_CFG_SESSION_BACKOFF_TIMER 0x00000800 #define LDP_ENTITY_CFG_DISTRIBUTION_MODE 0x00001000 #define LDP_ENTITY_CFG_PATHVECTOR_LIMIT 0x00002000 #define LDP_ENTITY_CFG_HOPCOUNT_LIMIT 0x00004000 #define LDP_ENTITY_CFG_REQUEST_TIMER 0x00008000 #define LDP_ENTITY_CFG_REQUEST_COUNT 0x00010000 #define LDP_ENTITY_CFG_ADMIN_STATE 0x00020000 #define LDP_ENTITY_CFG_ADJ_COUNT 0x00040000 #define LDP_ENTITY_CFG_TYPE 0x00080000 #define LDP_ENTITY_CFG_SUB_INDEX 0x00100000 #define LDP_ENTITY_CFG_INHERIT_FLAG 0x00200000 #define LDP_ENTITY_CFG_WHEN_DOWN (LDP_CFG_DEL|\ LDP_ENTITY_CFG_TRANS_ADDR|\ LDP_ENTITY_CFG_PROTO_VER|\ LDP_ENTITY_CFG_REMOTE_TCP|\ LDP_ENTITY_CFG_REMOTE_UDP|\ LDP_ENTITY_CFG_DISTRIBUTION_MODE|\ LDP_ENTITY_CFG_TYPE|\ LDP_ENTITY_CFG_SUB_INDEX) #define LDP_IF_CFG_LABEL_SPACE 0x00000002 #define LDP_IF_CFG_INDEX 0x00000004 #define LDP_IF_CFG_ENTITY_INDEX 0x00000008 #define LDP_IF_CFG_OPER_STATE 0x00000010 #define LDP_IF_CFG_LOCAL_SOURCE_ADDR 0x00000020 #define LDP_IF_CFG_NAME 0x00000040 #define LDP_IF_CFG_WHEN_DOWN (LDP_CFG_DEL|\ LDP_IF_CFG_LABEL_SPACE|\ LDP_IF_CFG_INDEX) #define LDP_PEER_CFG_LABEL_SPACE 0x00000002 #define LDP_PEER_CFG_DEST_ADDR 0x00000004 #define LDP_PEER_CFG_TARGET_ROLE 0x00000008 #define LDP_PEER_CFG_ENTITY_INDEX 0x00000010 #define LDP_PEER_CFG_OPER_STATE 0x00000020 #define LDP_PEER_CFG_PEER_NAME 0x00000040 #define LDP_PEER_CFG_LOCAL_SOURCE_ADDR 0x00000080 #define LDP_PEER_CFG_WHEN_DOWN (LDP_CFG_DEL|\ LDP_PEER_CFG_LABEL_SPACE|\ LDP_PEER_CFG_DEST_ADDR|\ LDP_PEER_CFG_TARGET_ROLE) #define LDP_RANGE_CFG_LABEL_SPACE 0x00000002 #define LDP_RANGE_CFG_TYPE 0x00000004 #define LDP_RANGE_CFG_GEN_MIN 0x00000008 #define LDP_RANGE_CFG_GEN_MAX 0x00000010 #define LDP_RANGE_CFG_ATM_VPI_MIN 0x00000020 #define LDP_RANGE_CFG_ATM_VPI_MAX 0x00000040 #define LDP_RANGE_CFG_ATM_VCI_MIN 0x00000080 #define LDP_RANGE_CFG_ATM_VCI_MAX 0x00000100 #define LDP_RANGE_CFG_FR_MIN 0x00000200 #define LDP_RANGE_CFG_FR_MAX 0x00000400 #define LDP_RANGE_CFG_WHEN_DOWN (LDP_CFG_DEL|\ LDP_RANGE_CFG_LABEL_SPACE|\ LDP_RANGE_CFG_TYPE|\ LDP_RANGE_CFG_GEN_MIN|\ LDP_RANGE_CFG_GEN_MAX|\ LDP_RANGE_CFG_ATM_VPI_MIN|\ LDP_RANGE_CFG_ATM_VPI_MAX|\ LDP_RANGE_CFG_ATM_VCI_MIN|\ LDP_RANGE_CFG_ATM_VCI_MAX|\ LDP_RANGE_CFG_FR_MIN|\ LDP_RANGE_CFG_FR_MAX) #define LDP_SESSION_CFG_INDEX 0x00000002 #define LDP_SESSION_CFG_STATE 0x00000004 #define LDP_SESSION_CFG_MAX_PDU 0x00000008 #define LDP_SESSION_CFG_KEEPALIVE 0x00000010 #define LDP_SESSION_CFG_PATH_LIMIT 0x00000020 #define LDP_SESSION_CFG_DIST_MODE 0x00000040 #define LDP_SESSION_CFG_LOOP_DETECTION 0x00000080 #define LDP_SESSION_CFG_REMOTE_MAX_PDU 0x00000100 #define LDP_SESSION_CFG_REMOTE_KEEPALIVE 0x00000200 #define LDP_SESSION_CFG_REMOTE_PATH_LIMIT 0x00000400 #define LDP_SESSION_CFG_REMOTE_DIST_MODE 0x00000800 #define LDP_SESSION_CFG_REMOTE_LOOP_DETECTION 0x00001000 #define LDP_SESSION_CFG_REMOTE_ADDR 0x00002000 #define LDP_SESSION_CFG_REMOTE_PORT 0x00004000 #define LDP_SESSION_CFG_LABEL_RESOURCE_STATE_LOCAL 0x00008000 #define LDP_SESSION_CFG_LABEL_RESOURCE_STATE_REMOTE 0x00010000 #define LDP_SESSION_CFG_ENTITY_INDEX 0x00020000 #define LDP_SESSION_CFG_ADJ_INDEX 0x00040000 #define LDP_ATTR_CFG_STATE 0x00000002 #define LDP_ATTR_CFG_FEC 0x00000004 #define LDP_ATTR_CFG_LABEL 0x00000008 #define LDP_ATTR_CFG_HOP_COUNT 0x00000010 #define LDP_ATTR_CFG_PATH 0x00000020 #define LDP_ATTR_CFG_SESSION_INDEX 0x00000040 #define LDP_ATTR_CFG_INLABEL_INDEX 0x00000080 #define LDP_ATTR_CFG_OUTLABEL_INDEX 0x00000100 #define LDP_ADJ_CFG_REMOTE_TRADDR 0x00000002 #define LDP_ADJ_CFG_REMOTE_SRCADDR 0x00000004 #define LDP_ADJ_CFG_REMOTE_LSRADDR 0x00000008 #define LDP_ADJ_CFG_REMOTE_CSN 0x00000010 #define LDP_ADJ_CFG_REMOTE_LABELSPACE 0x00000020 #define LDP_ADJ_CFG_REMOTE_HELLOTIME 0x00000040 #define LDP_ADJ_CFG_REMOTE_ENTITY_INDEX 0x00000080 #define LDP_ADJ_CFG_REMOTE_SESSION_INDEX 0x00000100 #define LDP_ADJ_CFG_ROLE 0x00000200 #define LDP_ADJ_CFG_BACKOFF 0x00000400 #define LDP_INLABEL_CFG_LABELSPACE 0x00000002 #define LDP_INLABEL_CFG_LABEL 0x00000004 #define LDP_INLABEL_CFG_OUTLABEL_INDEX 0x00000008 #define LDP_OUTLABEL_CFG_ADDR_INDEX 0x00000002 #define LDP_OUTLABEL_CFG_SESSION_INDEX 0x00000004 #define LDP_OUTLABEL_CFG_LABEL 0x00000008 #define LDP_OUTLABEL_CFG_MERGE_COUNT 0x00000010 extern ldp_cfg_handle ldp_cfg_open(ldp_instance_handle data); extern void ldp_cfg_close(ldp_cfg_handle handle); extern ldp_return_enum ldp_cfg_global_get(ldp_cfg_handle handle,ldp_global* g,uint32_t flag); extern ldp_return_enum ldp_cfg_global_set(ldp_cfg_handle handle,ldp_global* g,uint32_t flag); extern ldp_return_enum ldp_cfg_entity_get(ldp_cfg_handle handle,ldp_entity* e, uint32_t flag); extern ldp_return_enum ldp_cfg_entity_getnext(ldp_cfg_handle handle, ldp_entity* e, uint32_t flag); extern ldp_return_enum ldp_cfg_entity_test(ldp_cfg_handle handle,ldp_entity* e, uint32_t flag); extern ldp_return_enum ldp_cfg_entity_set(ldp_cfg_handle handle,ldp_entity* e, uint32_t flag); extern ldp_return_enum ldp_cfg_attr_get(ldp_cfg_handle handle,ldp_attr* a, uint32_t flag); extern ldp_return_enum ldp_cfg_attr_getnext(ldp_cfg_handle handle,ldp_attr* a, uint32_t flag); extern ldp_return_enum ldp_cfg_peer_get(ldp_cfg_handle handle,ldp_peer* p, uint32_t flag); extern ldp_return_enum ldp_cfg_peer_getnext(ldp_cfg_handle handle,ldp_peer* p, uint32_t flag); extern ldp_return_enum ldp_cfg_peer_test(ldp_cfg_handle handle,ldp_peer* p, uint32_t flag); extern ldp_return_enum ldp_cfg_peer_set(ldp_cfg_handle handle,ldp_peer* p, uint32_t flag); extern ldp_return_enum ldp_cfg_if_get(ldp_cfg_handle handle,ldp_if* i, uint32_t flag); extern ldp_return_enum ldp_cfg_if_getnext(ldp_cfg_handle handle,ldp_if* i, uint32_t flag); extern ldp_return_enum ldp_cfg_if_test(ldp_cfg_handle handle,ldp_if* i, uint32_t flag); extern ldp_return_enum ldp_cfg_if_set(ldp_cfg_handle handle,ldp_if* i, uint32_t flag); extern ldp_return_enum ldp_cfg_labelrange_get(ldp_cfg_handle handle,ldp_range* r,uint32_t flag); extern ldp_return_enum ldp_cfg_labelrange_test(ldp_cfg_handle handle,ldp_range* r,uint32_t flag); extern ldp_return_enum ldp_cfg_labelrange_set(ldp_cfg_handle handle,ldp_range* r,uint32_t flag); extern ldp_return_enum ldp_cfg_adj_get(ldp_cfg_handle handle,ldp_adj* a, uint32_t flag); extern ldp_return_enum ldp_cfg_adj_getnext(ldp_cfg_handle handle,ldp_adj* a, uint32_t flag); extern ldp_return_enum ldp_cfg_session_get(ldp_cfg_handle handle, ldp_session* s,uint32_t flag); extern ldp_return_enum ldp_cfg_session_getnext(ldp_cfg_handle handle, ldp_session* s,uint32_t flag); extern ldp_return_enum ldp_cfg_inlabel_get(ldp_cfg_handle handle,ldp_inlabel* i, uint32_t flag); ldp_return_enum ldp_cfg_inlabel_getnext(ldp_cfg_handle handle,ldp_inlabel* i, uint32_t flag); extern ldp_return_enum ldp_cfg_outlabel_get(ldp_cfg_handle handle, ldp_outlabel* o,uint32_t flag); ldp_return_enum ldp_cfg_outlabel_getnext(ldp_cfg_handle handle,ldp_outlabel* o, uint32_t flag); extern ldp_return_enum ldp_cfg_range_set(ldp_cfg_handle handle,ldp_range* r,uint32_t flag); extern ldp_return_enum ldp_cfg_range_test(ldp_cfg_handle handle,ldp_range* r,uint32_t flag); extern ldp_return_enum ldp_cfg_range_get(ldp_cfg_handle handle,ldp_range* r,uint32_t flag); #endif