📄 fea_base.hh
字号:
/* * Copyright (c) 2001-2007 International Computer Science Institute * See LICENSE file for licensing, conditions, and warranties on use. * * DO NOT EDIT THIS FILE - IT IS PROGRAMMATICALLY GENERATED * * Generated by 'tgt-gen'. * * $XORP: xorp/xrl/targets/fea_base.hh,v 1.67 2007/02/16 22:47:50 pavlin Exp $ */#ifndef __XRL_TARGETS_FEA_BASE_HH__#define __XRL_TARGETS_FEA_BASE_HH__#undef XORP_LIBRARY_NAME#define XORP_LIBRARY_NAME "XrlFeaTarget"#include "libxorp/xlog.h"#include "libxipc/xrl_cmd_map.hh"class XrlFeaTargetBase {protected: XrlCmdMap* _cmds;public: /** * Constructor. * * @param cmds an XrlCmdMap that the commands associated with the target * should be added to. This is typically the XrlRouter * associated with the target. */ XrlFeaTargetBase(XrlCmdMap* cmds = 0); /** * Destructor. * * Dissociates instance commands from command map. */ virtual ~XrlFeaTargetBase(); /** * Set command map. * * @param cmds pointer to command map to associate commands with. This * argument is typically a pointer to the XrlRouter associated with the * target. * * @return true on success, false if cmds is null or a command map has * already been supplied. */ bool set_command_map(XrlCmdMap* cmds); /** * Get Xrl instance name associated with command map. */ inline const string& name() const { return _cmds->name(); } /** * Get version string of instance. */ inline const char* version() const { return "fea/0.0"; }protected: /** * Pure-virtual function that needs to be implemented to: * * Get name of Xrl Target */ virtual XrlCmdError common_0_1_get_target_name( // Output values, string& name) = 0; /** * Pure-virtual function that needs to be implemented to: * * Get version string from Xrl Target */ virtual XrlCmdError common_0_1_get_version( // Output values, string& version) = 0; /** * Pure-virtual function that needs to be implemented to: * * Get status of Xrl Target */ virtual XrlCmdError common_0_1_get_status( // Output values, uint32_t& status, string& reason) = 0; /** * Pure-virtual function that needs to be implemented to: * * Request clean shutdown of Xrl Target */ virtual XrlCmdError common_0_1_shutdown() = 0; /** * Pure-virtual function that needs to be implemented to: * * Enable/disable Click FEA support. * * @param enable if true, then enable the Click FEA support, otherwise * disable it. */ virtual XrlCmdError fea_click_0_1_enable_click( // Input values, const bool& enable) = 0; /** * Pure-virtual function that needs to be implemented to: * * Start Click FEA support. */ virtual XrlCmdError fea_click_0_1_start_click() = 0; /** * Pure-virtual function that needs to be implemented to: * * Stop Click FEA support. */ virtual XrlCmdError fea_click_0_1_stop_click() = 0; /** * Pure-virtual function that needs to be implemented to: * * Enable/disable duplicating the Click routes to the system kernel. * * @param enable if true, then enable duplicating the Click routes to the * system kernel, otherwise disable it. */ virtual XrlCmdError fea_click_0_1_enable_duplicate_routes_to_kernel( // Input values, const bool& enable) = 0; /** * Pure-virtual function that needs to be implemented to: * * Enable/disable kernel-level Click FEA support. * * @param enable if true, then enable the kernel-level Click FEA support, * otherwise disable it. */ virtual XrlCmdError fea_click_0_1_enable_kernel_click( // Input values, const bool& enable) = 0; /** * Pure-virtual function that needs to be implemented to: * * Enable/disable installing kernel-level Click on startup. * * @param enable if true, then install kernel-level Click on startup. */ virtual XrlCmdError fea_click_0_1_enable_kernel_click_install_on_startup( // Input values, const bool& enable) = 0; /** * Pure-virtual function that needs to be implemented to: * * Specify the list of kernel Click modules to load on startup if * installing kernel-level Click on startup is enabled. The file names of * the kernel modules are separated by colon. * * @param modules the list of kernel Click modules (separated by colon) to * load. */ virtual XrlCmdError fea_click_0_1_set_kernel_click_modules( // Input values, const string& modules) = 0; /** * Pure-virtual function that needs to be implemented to: * * Specify the kernel-level Click mount directory. * * @param directory the kernel-level Click mount directory. */ virtual XrlCmdError fea_click_0_1_set_kernel_click_mount_directory( // Input values, const string& directory) = 0; /** * Pure-virtual function that needs to be implemented to: * * Specify the external program to generate the kernel-level Click * configuration. * * @param kernel_click_config_generator_file the name of the external * program to generate the kernel-level Click configuration. */ virtual XrlCmdError fea_click_0_1_set_kernel_click_config_generator_file( // Input values, const string& kernel_click_config_generator_file) = 0; /** * Pure-virtual function that needs to be implemented to: * * Enable/disable user-level Click FEA support. * * @param enable if true, then enable the user-level Click FEA support, * otherwise disable it. */ virtual XrlCmdError fea_click_0_1_enable_user_click( // Input values, const bool& enable) = 0; /** * Pure-virtual function that needs to be implemented to: * * Specify the user-level Click command file. * * @param user_click_command_file the name of the user-level Click command * file. */ virtual XrlCmdError fea_click_0_1_set_user_click_command_file( // Input values, const string& user_click_command_file) = 0; /** * Pure-virtual function that needs to be implemented to: * * Specify the extra arguments to the user-level Click command. * * @param user_click_command_extra_arguments the extra arguments to the * user-level Click command. */ virtual XrlCmdError fea_click_0_1_set_user_click_command_extra_arguments( // Input values, const string& user_click_command_extra_arguments) = 0; /** * Pure-virtual function that needs to be implemented to: * * Specify whether to execute on startup the user-level Click command. * * @param user_click_command_execute_on_startup if true, then execute the * user-level Click command on startup. */ virtual XrlCmdError fea_click_0_1_set_user_click_command_execute_on_startup( // Input values, const bool& user_click_command_execute_on_startup) = 0; /** * Pure-virtual function that needs to be implemented to: * * Specify the address to use for control access to the user-level Click. * * @param user_click_control_address the address to use for control access * to the user-level Click. */ virtual XrlCmdError fea_click_0_1_set_user_click_control_address( // Input values, const IPv4& user_click_control_address) = 0; /** * Pure-virtual function that needs to be implemented to: * * Specify the socket port to use for control access to the user-level * Click. * * @param user_click_control_socket_port the socket port to use for * control access to the user-level Click. */ virtual XrlCmdError fea_click_0_1_set_user_click_control_socket_port( // Input values, const uint32_t& user_click_control_socket_port) = 0; /** * Pure-virtual function that needs to be implemented to: * * Specify the configuration file to be used by user-level Click on * startup. * * @param user_click_startup_config_file the name of the configuration * file to be used by user-level Click on startup. */ virtual XrlCmdError fea_click_0_1_set_user_click_startup_config_file( // Input values, const string& user_click_startup_config_file) = 0; /** * Pure-virtual function that needs to be implemented to: * * Specify the external program to generate the user-level Click * configuration. * * @param user_click_config_generator_file the name of the external * program to generate the user-level Click configuration. */ virtual XrlCmdError fea_click_0_1_set_user_click_config_generator_file( // Input values, const string& user_click_config_generator_file) = 0; /** * Pure-virtual function that needs to be implemented to: * * Add a FIB client. * * @param client_target_name the target name of the FIB client to add. * * @param send_updates whether updates should be sent. * * @param send_resolves whether resolution requests should be sent. */ virtual XrlCmdError fea_fib_0_1_add_fib_client4( // Input values, const string& client_target_name, const bool& send_updates, const bool& send_resolves) = 0; virtual XrlCmdError fea_fib_0_1_add_fib_client6( // Input values, const string& client_target_name, const bool& send_updates, const bool& send_resolves) = 0; /** * Pure-virtual function that needs to be implemented to: * * Delete a FIB client. * * @param client_target_name the target name of the FIB client to delete. */ virtual XrlCmdError fea_fib_0_1_delete_fib_client4( // Input values, const string& client_target_name) = 0; virtual XrlCmdError fea_fib_0_1_delete_fib_client6( // Input values, const string& client_target_name) = 0; virtual XrlCmdError ifmgr_0_1_set_restore_original_config_on_shutdown( // Input values, const bool& enable) = 0; virtual XrlCmdError ifmgr_0_1_get_configured_interface_names( // Output values, XrlAtomList& ifnames) = 0; virtual XrlCmdError ifmgr_0_1_get_configured_vif_names( // Input values, const string& ifname, // Output values, XrlAtomList& vifs) = 0; virtual XrlCmdError ifmgr_0_1_get_configured_vif_flags( // Input values, const string& ifname, const string& vif, // Output values, bool& enabled, bool& broadcast, bool& loopback, bool& point_to_point, bool& multicast) = 0; virtual XrlCmdError ifmgr_0_1_get_configured_vif_pif_index( // Input values, const string& ifname, const string& vif, // Output values, uint32_t& pif_index) = 0; virtual XrlCmdError ifmgr_0_1_get_configured_vif_addresses4( // Input values, const string& ifname, const string& vif, // Output values, XrlAtomList& addresses) = 0; virtual XrlCmdError ifmgr_0_1_get_configured_vif_addresses6( // Input values, const string& ifname, const string& vif, // Output values, XrlAtomList& addresses) = 0; virtual XrlCmdError ifmgr_0_1_get_configured_address_flags4( // Input values, const string& ifname, const string& vif, const IPv4& address, // Output values, bool& enabled, bool& broadcast, bool& loopback, bool& point_to_point, bool& multicast) = 0; virtual XrlCmdError ifmgr_0_1_get_configured_address_flags6( // Input values, const string& ifname, const string& vif, const IPv6& address, // Output values, bool& enabled, bool& loopback, bool& point_to_point, bool& multicast) = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -