libosmovty 1.11.1
Osmocom VTY library
|
VTY command handling More...
Files | |
file | command.h |
Zebra configuration command interface routine. | |
file | command.c |
Data Structures | |
struct | host |
Host configuration variable. More... | |
struct | cmd_node |
Node which has some commands and prompt string and configuration function pointer . More... | |
struct | cmd_element |
Structure of a command element. More... | |
struct | desc |
Command description structure. More... | |
struct | vty_parent_node |
Macros | |
#define | CMD_SUCCESS 0 |
Return value of the commands. | |
#define | CMD_WARNING 1 |
#define | CMD_ERR_NO_MATCH 2 |
#define | CMD_ERR_AMBIGUOUS 3 |
#define | CMD_ERR_INCOMPLETE 4 |
#define | CMD_ERR_EXEED_ARGC_MAX 5 |
#define | CMD_ERR_NOTHING_TODO 6 |
#define | CMD_COMPLETE_FULL_MATCH 7 |
#define | CMD_COMPLETE_MATCH 8 |
#define | CMD_COMPLETE_LIST_MATCH 9 |
#define | CMD_SUCCESS_DAEMON 10 |
#define | CMD_ERR_INVALID_INDENT 11 |
#define | CMD_ARGC_MAX 256 |
#define | DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, attrs, dnum) |
#define | gDEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, attrs, dnum) |
#define | DEFUN_CMD_ELEMENT_ATTR_USRATTR(funcname, cmdname, cmdstr, helpstr, attrs, usrattrs) |
#define | DEFUN_CMD_FUNC_DECL(funcname) |
#define | DEFUN_CMD_FUNC_TEXT(funcname) |
#define | DEFUN(funcname, cmdname, cmdstr, helpstr) |
Macro for defining a VTY node and function. | |
#define | gDEFUN(funcname, cmdname, cmdstr, helpstr) |
Macro for defining a non-static (global) VTY node and function. | |
#define | DEFUN_ATTR(funcname, cmdname, cmdstr, helpstr, attr) |
#define | DEFUN_HIDDEN(funcname, cmdname, cmdstr, helpstr) |
#define | DEFUN_DEPRECATED(funcname, cmdname, cmdstr, helpstr) |
#define | DEFUN_ATTR_USRATTR(funcname, cmdname, attr, usrattr, cmdstr, helpstr) |
Macro for defining a VTY node and function with global & program specific attributes. | |
#define | DEFUN_USRATTR(funcname, cmdname, usrattr, cmdstr, helpstr) |
#define | DEFUN_NOSH(funcname, cmdname, cmdstr, helpstr) |
#define | DEFSH(daemon, cmdname, cmdstr, helpstr) |
#define | DEFUNSH(daemon, funcname, cmdname, cmdstr, helpstr) |
#define | DEFUNSH_ATTR(daemon, funcname, cmdname, cmdstr, helpstr, attr) |
#define | DEFUNSH_HIDDEN(daemon, funcname, cmdname, cmdstr, helpstr) |
#define | DEFUNSH_DEPRECATED(daemon, funcname, cmdname, cmdstr, helpstr) |
#define | ALIAS(funcname, cmdname, cmdstr, helpstr) |
#define | gALIAS(funcname, cmdname, cmdstr, helpstr) |
#define | ALIAS_ATTR(funcname, cmdname, cmdstr, helpstr, attr) |
#define | ALIAS_HIDDEN(funcname, cmdname, cmdstr, helpstr) |
#define | ALIAS_DEPRECATED(funcname, cmdname, cmdstr, helpstr) |
#define | ALIAS_SH(daemon, funcname, cmdname, cmdstr, helpstr) |
#define | ALIAS_SH_HIDDEN(daemon, funcname, cmdname, cmdstr, helpstr) |
#define | ALIAS_SH_DEPRECATED(daemon, funcname, cmdname, cmdstr, helpstr) |
#define | CMD_OPTION(S) |
#define | CMD_VARIABLE(S) |
#define | CMD_VARARG(S) |
#define | CMD_RANGE(S) |
#define | CMD_IPV4(S) |
#define | CMD_IPV4_PREFIX(S) |
#define | CMD_IPV6(S) |
#define | CMD_IPV6_PREFIX(S) |
#define | VTY_IPV4_CMD "A.B.C.D" |
#define | VTY_IPV6_CMD "X:X::X:X" |
#define | VTY_IPV46_CMD "(" VTY_IPV4_CMD "|" VTY_IPV6_CMD ")" |
#define | SHOW_STR "Show running system information\n" |
#define | IP_STR "IP information\n" |
#define | IPV6_STR "IPv6 information\n" |
#define | NO_STR "Negate a command or set its defaults\n" |
#define | CLEAR_STR "Reset functions\n" |
#define | RIP_STR "RIP information\n" |
#define | BGP_STR "BGP information\n" |
#define | OSPF_STR "OSPF information\n" |
#define | NEIGHBOR_STR "Specify neighbor router\n" |
#define | DEBUG_STR "Debugging functions (see also 'undebug')\n" |
#define | UNDEBUG_STR "Disable debugging functions (see also 'debug')\n" |
#define | ROUTER_STR "Enable a routing process\n" |
#define | AS_STR "AS number\n" |
#define | MBGP_STR "MBGP information\n" |
#define | MATCH_STR "Match values from routing table\n" |
#define | SET_STR "Set values in destination routing protocol\n" |
#define | OUT_STR "Filter outgoing routing updates\n" |
#define | IN_STR "Filter incoming routing updates\n" |
#define | V4NOTATION_STR "specify by IPv4 address notation(e.g. 0.0.0.0)\n" |
#define | OSPF6_NUMBER_STR "Specify by number\n" |
#define | INTERFACE_STR "Interface infomation\n" |
#define | IFNAME_STR "Interface name(e.g. ep0)\n" |
#define | IP6_STR "IPv6 Information\n" |
#define | OSPF6_STR "Open Shortest Path First (OSPF) for IPv6\n" |
#define | OSPF6_ROUTER_STR "Enable a routing process\n" |
#define | OSPF6_INSTANCE_STR "<1-65535> Instance ID\n" |
#define | SECONDS_STR "<1-65535> Seconds\n" |
#define | ROUTE_STR "Routing Table\n" |
#define | PREFIX_LIST_STR "Build a prefix list\n" |
#define | OSPF6_DUMP_TYPE_LIST "(neighbor|interface|area|lsa|zebra|config|dbex|spf|route|lsdb|redistribute|hook|asbr|prefix|abr)" |
#define | ISIS_STR "IS-IS information\n" |
#define | AREA_TAG_STR "[area tag]\n" |
#define | CONF_BACKUP_EXT ".sav" |
#define | NEIGHBOR_CMD "neighbor A.B.C.D " |
#define | NO_NEIGHBOR_CMD "no neighbor A.B.C.D " |
#define | NEIGHBOR_ADDR_STR "Neighbor address\n" |
#define | NEIGHBOR_CMD2 "neighbor (A.B.C.D|WORD) " |
#define | NO_NEIGHBOR_CMD2 "no neighbor (A.B.C.D|WORD) " |
#define | NEIGHBOR_ADDR_STR2 "Neighbor address\nNeighbor tag\n" |
#define | CONFIGFILE_MASK 022 |
#define | CMD_ATTR_PUBLIC_MASK (CMD_ATTR_HIDDEN | CMD_ATTR_IMMEDIATE | CMD_ATTR_NODE_EXIT) |
#define | IPV6_ADDR_STR "0123456789abcdefABCDEF:.%" |
#define | IPV6_PREFIX_STR "0123456789abcdefABCDEF:.%/" |
#define | STATE_START 1 |
#define | STATE_COLON 2 |
#define | STATE_DOUBLE 3 |
#define | STATE_ADDR 4 |
#define | STATE_DOT 5 |
#define | STATE_SLASH 6 |
#define | STATE_MASK 7 |
Typedefs | |
typedef int(* | print_func_t) (void *data, const char *fmt,...) |
Functions | |
void | install_node (struct cmd_node *node, int(*func)(struct vty *)) |
Install top node of command vector. | |
void | install_default (int node) |
Deprecated, now happens implicitly when calling install_node(). | |
void | install_element (int ntype, struct cmd_element *cmd) |
Install a command into a node. | |
void | install_lib_element (int ntype, struct cmd_element *cmd) |
Install a library command into a node. | |
void | install_element_ve (struct cmd_element *cmd) |
void | install_lib_element_ve (struct cmd_element *cmd) |
void | sort_node (void) |
Sort each node's command element according to command string. | |
void | vty_install_default (int node) |
Deprecated, now happens implicitly when calling install_node(). | |
char * | argv_concat (const char **argv, int argc, int shift) |
vector | cmd_make_strvec (const char *string) |
Breaking up string into each command piece. | |
int | cmd_make_strvec2 (const char *string, char **indent, vector *strvec_p) |
Break up string in command tokens. | |
void | cmd_free_strvec (vector v) |
Free allocated string vector. | |
vector | cmd_describe_command (vector vline, struct vty *vty, int *status) |
char ** | cmd_complete_command (vector vline, struct vty *vty, int *status) |
const char * | cmd_prompt (enum node_type node) |
Return prompt character of specified node. | |
int | config_from_file (struct vty *, FILE *) |
enum node_type | node_parent (enum node_type) |
int | cmd_execute_command (vector, struct vty *, struct cmd_element **, int) |
int | cmd_execute_command_strict (vector, struct vty *, struct cmd_element **) |
void | config_replace_string (struct cmd_element *, char *,...) |
void | cmd_init (int) |
const char * | host_config_file (void) |
void | host_config_set (const char *) |
char * | osmo_asciidoc_escape (const char *inp) |
escape all special asciidoc symbols | |
void | print_version (int print_copyright) |
print the version (and optionally copyright) information | |
int | vty_dump_xml_ref_mode (FILE *stream, enum vty_ref_gen_mode mode) |
Print the XML reference of all VTY nodes to the given stream. | |
int | vty_dump_xml_ref (FILE *stream) |
Print the XML reference of all VTY nodes to the given stream. | |
int | vty_cmd_range_match (const char *range, const char *str) |
static const char * | node_name_from_prompt (const char *prompt, char *name_buf, size_t name_buf_size) |
static void | install_basic_node_commands (int node) |
Install common commands like 'exit' and 'list'. | |
static void | install_node_bare (struct cmd_node *node, int(*func)(struct vty *)) |
Install top node of command vector, without adding basic node commands. | |
static int | cmp_node (const void *p, const void *q) |
static int | cmp_desc (const void *p, const void *q) |
static char * | cmd_desc_str (const char **string) |
Fetch next description. | |
static vector | cmd_make_descvec (const char *string, const char *descstr) |
New string vector. | |
static int | cmd_cmdsize (vector strvec) |
static char * | xml_escape (const char *inp) |
static char | cmd_attr_get_flag (unsigned int attr) |
static int | vty_dump_element (const struct cmd_element *cmd, print_func_t print_func, void *data, const char *newline) |
static bool | vty_command_is_common (const struct cmd_element *cmd) |
Return true if a node is installed by install_basic_node_commands(), so that we can avoid repeating them for each and every node during 'show running-config'. | |
static int | vty_dump_nodes (print_func_t print_func, void *data, const char *newline, unsigned char gflag_mask, bool match) |
static int | print_func_vty (void *data, const char *format,...) |
static int | vty_dump_xml_ref_to_vty (struct vty *vty) |
static int | print_func_stream (void *data, const char *format,...) |
static int | check_element_exists (struct cmd_node *cnode, const char *cmdstring) |
static int | config_write_host (struct vty *vty) |
static vector | cmd_node_vector (vector v, enum node_type ntype) |
static enum match_type | cmd_ipv4_match (const char *str) |
static enum match_type | cmd_ipv4_prefix_match (const char *str) |
static int | check_base (const char *str) |
static char * | cmd_deopt (void *ctx, const char *str) |
static enum match_type | cmd_match (const char *str, const char *command, enum match_type min, bool recur) |
static enum match_type | cmd_filter (char *command, vector v, unsigned int index, enum match_type level) |
static int | is_cmd_ambiguous (char *command, vector v, int index, enum match_type type) |
static const char * | cmd_entry_function (const char *src, const char *dst) |
static const char * | cmd_entry_function_desc (const char *src, const char *dst) |
static int | cmd_unique_string (vector v, const char *str) |
static int | desc_unique_string (vector v, const char *str) |
static int | cmd_try_do_shortcut (enum node_type node, char *first_word) |
static vector | cmd_describe_command_real (vector vline, struct vty *vty, int *status) |
static int | cmd_lcd (char **matched) |
static char ** | cmd_complete_command_real (vector vline, struct vty *vty, int *status) |
static struct vty_parent_node * | vty_parent (struct vty *vty) |
static bool | vty_pop_parent (struct vty *vty) |
static void | vty_clear_parents (struct vty *vty) |
int | vty_go_parent (struct vty *vty) |
static int | cmd_execute_command_real (vector vline, struct vty *vty, struct cmd_element **cmd) |
static size_t | len (const char *str) |
static int | indent_cmp (const char *a, const char *b) |
Make sure the common length of strings a and b is identical, then compare their lengths. | |
DEFUN (config_terminal, config_terminal_cmd, "configure [terminal]", "Configuration from vty interface\n" "Configuration terminal\n") | |
DEFUN (enable, config_enable_cmd, "enable [expert-mode]", "Turn on privileged mode command\n" "Enable the expert mode (show hidden commands)\n") | |
DEFUN (disable, config_disable_cmd, "disable", "Turn off privileged mode command\n") | |
gDEFUN (config_exit, config_exit_cmd, "exit", "Exit current mode and down to previous mode\n") | |
gDEFUN (config_end, config_end_cmd, "end", "End current mode and change to enable mode.") | |
DEFUN (shutdown, shutdown_cmd, "shutdown", "Request a shutdown of the program\n") | |
DEFUN (show_version, show_version_cmd, "show version", SHOW_STR "Displays program version\n") | |
DEFUN (show_online_help, show_online_help_cmd, "show online-help", SHOW_STR "Online help\n") | |
DEFUN (show_pid, show_pid_cmd, "show pid", SHOW_STR "Displays the process ID\n") | |
DEFUN (show_uptime, show_uptime_cmd, "show uptime", SHOW_STR "Displays how long the program has been running\n") | |
gDEFUN (config_help, config_help_cmd, "help", "Description of the interactive help system\n") | |
static void | print_attr_list (struct vty *vty, unsigned int attr_mask) |
gDEFUN (show_vty_attr_all, show_vty_attr_all_cmd, "show vty-attributes", SHOW_STR "List of VTY attributes\n") | |
gDEFUN (show_vty_attr, show_vty_attr_cmd, "show vty-attributes (application|library|global)", SHOW_STR "List of VTY attributes\n" "Application specific attributes only\n" "Library specific attributes only\n" "Global attributes only\n") | |
static unsigned int | node_flag_mask (const struct cmd_node *cnode, bool expert_mode) |
static const char * | cmd_gflag_mask (const struct cmd_element *cmd) |
static const char * | cmd_flag_mask (const struct cmd_element *cmd, unsigned int flag_mask) |
gDEFUN (config_list, config_list_cmd, "list [with-flags]", "Print command list\n" "Also print the VTY attribute flags\n") | |
static int | write_config_file (const char *config_file, char **outpath) |
DEFUN (config_write_file, config_write_file_cmd, "write file [PATH]", "Write running configuration to memory, network, or terminal\n" "Write to configuration file\n" "Set file path to store the config, or replace if already exists\n") | |
ALIAS (config_write_file, config_write_cmd, "write", "Write running configuration to memory, network, or terminal\n") ALIAS(config_write_file | |
write Write running configuration to or terminal n Write configuration to the | file (same as write file)\n") ALIAS(config_write_file |
write Write running configuration to or terminal n Write configuration to the copy running config startup Copy configuration n Copy running config to n Copy running config to startup | config (same as write file)\n") DEFUN(config_write_terminal |
if (vty->type==VTY_SHELL_SERV) | |
vty_out (vty, "!%s", VTY_NEWLINE) | |
for (i=0;i< vector_active(cmdvec);i++) if((node | |
ALIAS (config_write_terminal, show_running_config_cmd, "show running-config", SHOW_STR "running configuration\n") | |
DEFUN (config_hostname, hostname_cmd, "hostname WORD", "Set system's network name\n" "This system's network name\n") | |
DEFUN (config_no_hostname, no_hostname_cmd, "no hostname [HOSTNAME]", NO_STR "Reset system's network name\n" "Host name of this router\n") | |
DEFUN (config_password, password_cmd, "password (8|) WORD", "Assign the terminal connection password\n" "Specifies a HIDDEN password will follow\n" "dummy string \n" "The HIDDEN line password string\n") | |
ALIAS (config_password, password_text_cmd, "password LINE", "Assign the terminal connection password\n" "The UNENCRYPTED (cleartext) line password\n") | |
ALIAS (config_enable_password, enable_password_text_cmd, "enable password LINE", "Modify enable password parameters\n" "Assign the privileged level password\n" "The UNENCRYPTED (cleartext) 'enable' password\n") | |
DEFUN (config_terminal_length, config_terminal_length_cmd, "terminal length <0-512>", "Set terminal line parameters\n" "Set number of lines on a screen\n" "Number of lines on screen (0 for no pausing)\n") | |
DEFUN (config_terminal_no_length, config_terminal_no_length_cmd, "terminal no length", "Set terminal line parameters\n" NO_STR "Set number of lines on a screen\n") | |
DEFUN (service_terminal_length, service_terminal_length_cmd, "service terminal-length <0-512>", "Set up miscellaneous service\n" "System wide terminal length configuration\n" "Number of lines of VTY (0 means no line control)\n") | |
DEFUN (no_service_terminal_length, no_service_terminal_length_cmd, "no service terminal-length [<0-512>]", NO_STR "Set up miscellaneous service\n" "System wide terminal length configuration\n" "Number of lines of VTY (0 means no line control)\n") | |
DEFUN_HIDDEN (do_echo, echo_cmd, "echo .MESSAGE", "Echo a message back to the vty\n" "The message to echo\n") | |
DEFUN (banner_motd_file, banner_motd_file_cmd, "banner motd file [FILE]", "Set banner\n" "Banner for motd\n" "Banner from a file\n" "Filename\n") | |
DEFUN (banner_motd_default, banner_motd_default_cmd, "banner motd default", "Set banner string\n" "Strings for motd\n" "Default string\n") | |
DEFUN (no_banner_motd, no_banner_motd_cmd, "no banner motd", NO_STR "Set banner string\n" "Strings for motd\n") | |
int | osmo_vty_write_config_file (const char *filename) |
Write the current running config to a given file. | |
int | osmo_vty_save_config_file (void) |
Save the current state to the config file. | |
static | __attribute__ ((constructor)) |
Variables | |
struct cmd_element | config_exit_cmd |
struct cmd_element | config_help_cmd |
struct cmd_element | config_list_cmd |
struct cmd_element | config_end_cmd |
void * | tall_vty_cmd_ctx |
const struct value_string | vty_ref_gen_mode_names [] |
const struct value_string | vty_ref_gen_mode_desc [] |
void * | tall_vty_cmd_ctx |
static struct timespec | starttime |
vector | cmdvec |
struct host | host |
struct cmd_node | auth_node |
struct cmd_node | view_node |
struct cmd_node | auth_enable_node |
struct cmd_node | enable_node |
struct cmd_node | config_node |
const char * | default_motd = "" |
static const struct value_string | cmd_attr_desc [] |
static const char *const | cmd_lib_attr_desc [32] |
static const char | cmd_lib_attr_letters [32] |
const struct value_string | vty_ref_gen_mode_names [] |
const struct value_string | vty_ref_gen_mode_desc [] |
config_write_memory_cmd | |
write | memory |
write Write running configuration to | network |
write Write running configuration to or terminal n Write configuration to the | copy_runningconfig_startupconfig_cmd |
write Write running configuration to or terminal n Write configuration to the copy running config startup | config |
write Write running configuration to or terminal n Write configuration to the copy running config startup Copy configuration n Copy running config to n Copy running config to startup | config_write_terminal_cmd |
write Write running configuration to or terminal n Write configuration to the copy running config startup Copy configuration n Copy running config to n Copy running config to startup write | terminal |
write Write running configuration to or terminal n Write configuration to the copy running config startup Copy configuration n Copy running config to n Copy running config to startup write Write running configuration to or terminal n Write to terminal | n |
struct cmd_node * | node |
else | |
return | CMD_SUCCESS |
enum gsmtap_um_voice_type | __attribute__ |
VTY command handling
#define ALIAS | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr ) |
#define ALIAS_ATTR | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr, | |||
attr ) |
#define ALIAS_DEPRECATED | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr ) |
#define ALIAS_HIDDEN | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr ) |
#define ALIAS_SH | ( | daemon, | |
funcname, | |||
cmdname, | |||
cmdstr, | |||
helpstr ) |
#define ALIAS_SH_DEPRECATED | ( | daemon, | |
funcname, | |||
cmdname, | |||
cmdstr, | |||
helpstr ) |
#define ALIAS_SH_HIDDEN | ( | daemon, | |
funcname, | |||
cmdname, | |||
cmdstr, | |||
helpstr ) |
#define AREA_TAG_STR "[area tag]\n" |
#define AS_STR "AS number\n" |
#define BGP_STR "BGP information\n" |
#define CLEAR_STR "Reset functions\n" |
#define CMD_ARGC_MAX 256 |
Referenced by cmd_execute_command_real(), and cmd_execute_command_strict().
#define CMD_ATTR_PUBLIC_MASK (CMD_ATTR_HIDDEN | CMD_ATTR_IMMEDIATE | CMD_ATTR_NODE_EXIT) |
Referenced by vty_dump_element().
#define CMD_COMPLETE_FULL_MATCH 7 |
Referenced by cmd_complete_command_real(), and vty_complete_command().
#define CMD_COMPLETE_LIST_MATCH 9 |
Referenced by cmd_complete_command_real(), and vty_complete_command().
#define CMD_COMPLETE_MATCH 8 |
Referenced by cmd_complete_command_real(), and vty_complete_command().
#define CMD_ERR_AMBIGUOUS 3 |
#define CMD_ERR_EXEED_ARGC_MAX 5 |
Referenced by cmd_execute_command_real(), and cmd_execute_command_strict().
#define CMD_ERR_INCOMPLETE 4 |
Referenced by cmd_execute_command_real(), cmd_execute_command_strict(), and vty_command().
#define CMD_ERR_INVALID_INDENT 11 |
Referenced by cmd_make_strvec2(), config_from_file(), and vty_read_config_filep().
#define CMD_ERR_NO_MATCH 2 |
#define CMD_ERR_NOTHING_TODO 6 |
Referenced by cmd_complete_command_real(), config_from_file(), and vty_complete_command().
#define CMD_IPV4 | ( | S | ) |
Referenced by cmd_entry_function(), cmd_entry_function_desc(), cmd_match(), and is_cmd_ambiguous().
#define CMD_IPV4_PREFIX | ( | S | ) |
Referenced by cmd_entry_function(), cmd_entry_function_desc(), and cmd_match().
#define CMD_IPV6 | ( | S | ) |
Referenced by cmd_entry_function_desc(), cmd_match(), and is_cmd_ambiguous().
#define CMD_IPV6_PREFIX | ( | S | ) |
Referenced by cmd_entry_function_desc(), and cmd_match().
#define CMD_OPTION | ( | S | ) |
Referenced by cmd_cmdsize(), cmd_complete_command_real(), cmd_entry_function(), cmd_entry_function_desc(), cmd_execute_command_real(), cmd_execute_command_strict(), cmd_match(), and is_cmd_ambiguous().
#define CMD_RANGE | ( | S | ) |
Referenced by cmd_entry_function(), cmd_entry_function_desc(), and cmd_match().
#define CMD_SUCCESS 0 |
Return value of the commands.
Referenced by ALIAS(), ALIAS(), ALIAS(), cmd_describe_command_real(), cmd_make_strvec2(), config_from_file(), config_write_sched(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN_ATTR(), DEFUN_ATTR(), DEFUN_DEPRECATED(), DEFUN_HIDDEN(), gDEFUN(), gDEFUN(), gDEFUN(), gDEFUN(), gDEFUN(), gDEFUN(), gDEFUN(), gDEFUN(), log_deprecated_func(), osmo_tdef_vty_set_cmd(), osmo_tdef_vty_show_cmd(), set_srep_parameter_int(), set_srep_parameter_str(), vty_command(), vty_config_write(), vty_execute(), and vty_read_config_filep().
#define CMD_SUCCESS_DAEMON 10 |
Referenced by cmd_execute_command_real(), and cmd_execute_command_strict().
#define CMD_VARARG | ( | S | ) |
Referenced by cmd_entry_function(), cmd_entry_function_desc(), cmd_execute_command_real(), cmd_execute_command_strict(), and cmd_match().
#define CMD_VARIABLE | ( | S | ) |
Referenced by cmd_entry_function(), cmd_entry_function_desc(), cmd_execute_command_real(), cmd_execute_command_strict(), cmd_match(), and is_cmd_ambiguous().
#define CMD_WARNING 1 |
Referenced by ALIAS(), ALIAS(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN_ATTR(), DEFUN_ATTR(), gDEFUN(), gDEFUN(), osmo_tdef_vty_set_cmd(), osmo_tdef_vty_show_cmd(), set_srep_parameter_int(), set_srep_parameter_str(), and vty_command().
#define CONF_BACKUP_EXT ".sav" |
Referenced by write_config_file().
#define CONFIGFILE_MASK 022 |
Referenced by write_config_file().
#define DEBUG_STR "Debugging functions (see also 'undebug')\n" |
#define DEFSH | ( | daemon, | |
cmdname, | |||
cmdstr, | |||
helpstr ) |
#define DEFUN | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr ) |
Macro for defining a VTY node and function.
[in] | funcname | Name of the function implementing the node |
[in] | cmdname | Name of the command node |
[in] | cmdstr | String with syntax of node |
[in] | helpstr | String with help message of node |
#define DEFUN_ATTR | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr, | |||
attr ) |
#define DEFUN_ATTR_USRATTR | ( | funcname, | |
cmdname, | |||
attr, | |||
usrattr, | |||
cmdstr, | |||
helpstr ) |
Macro for defining a VTY node and function with global & program specific attributes.
[in] | funcname | Name of the function implementing the node. |
[in] | cmdname | Name of the command node. |
[in] | attr | Global attributes (see CMD_ATTR_*). |
[in] | usrattr | Program specific attributes. |
[in] | cmdstr | String with syntax of node. |
[in] | helpstr | String with help message of node. |
#define DEFUN_CMD_ELEMENT | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr, | |||
attrs, | |||
dnum ) |
#define DEFUN_CMD_ELEMENT_ATTR_USRATTR | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr, | |||
attrs, | |||
usrattrs ) |
#define DEFUN_CMD_FUNC_DECL | ( | funcname | ) |
#define DEFUN_CMD_FUNC_TEXT | ( | funcname | ) |
#define DEFUN_DEPRECATED | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr ) |
#define DEFUN_HIDDEN | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr ) |
#define DEFUN_NOSH | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr ) |
#define DEFUN_USRATTR | ( | funcname, | |
cmdname, | |||
usrattr, | |||
cmdstr, | |||
helpstr ) |
#define DEFUNSH | ( | daemon, | |
funcname, | |||
cmdname, | |||
cmdstr, | |||
helpstr ) |
#define DEFUNSH_ATTR | ( | daemon, | |
funcname, | |||
cmdname, | |||
cmdstr, | |||
helpstr, | |||
attr ) |
#define DEFUNSH_DEPRECATED | ( | daemon, | |
funcname, | |||
cmdname, | |||
cmdstr, | |||
helpstr ) |
#define DEFUNSH_HIDDEN | ( | daemon, | |
funcname, | |||
cmdname, | |||
cmdstr, | |||
helpstr ) |
#define gALIAS | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr ) |
#define gDEFUN | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr ) |
Macro for defining a non-static (global) VTY node and function.
[in] | funcname | Name of the function implementing the node |
[in] | cmdname | Name of the command node |
[in] | cmdstr | String with syntax of node |
[in] | helpstr | String with help message of node |
#define gDEFUN_CMD_ELEMENT | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr, | |||
attrs, | |||
dnum ) |
#define IFNAME_STR "Interface name(e.g. ep0)\n" |
#define IN_STR "Filter incoming routing updates\n" |
#define INTERFACE_STR "Interface infomation\n" |
#define IP6_STR "IPv6 Information\n" |
#define IP_STR "IP information\n" |
#define IPV6_ADDR_STR "0123456789abcdefABCDEF:.%" |
#define IPV6_PREFIX_STR "0123456789abcdefABCDEF:.%/" |
#define IPV6_STR "IPv6 information\n" |
#define ISIS_STR "IS-IS information\n" |
#define MATCH_STR "Match values from routing table\n" |
#define MBGP_STR "MBGP information\n" |
#define NEIGHBOR_ADDR_STR "Neighbor address\n" |
#define NEIGHBOR_ADDR_STR2 "Neighbor address\nNeighbor tag\n" |
#define NEIGHBOR_CMD "neighbor A.B.C.D " |
#define NEIGHBOR_CMD2 "neighbor (A.B.C.D|WORD) " |
#define NEIGHBOR_STR "Specify neighbor router\n" |
#define NO_NEIGHBOR_CMD "no neighbor A.B.C.D " |
#define NO_NEIGHBOR_CMD2 "no neighbor (A.B.C.D|WORD) " |
#define NO_STR "Negate a command or set its defaults\n" |
#define OSPF6_DUMP_TYPE_LIST "(neighbor|interface|area|lsa|zebra|config|dbex|spf|route|lsdb|redistribute|hook|asbr|prefix|abr)" |
#define OSPF6_INSTANCE_STR "<1-65535> Instance ID\n" |
#define OSPF6_NUMBER_STR "Specify by number\n" |
#define OSPF6_ROUTER_STR "Enable a routing process\n" |
#define OSPF6_STR "Open Shortest Path First (OSPF) for IPv6\n" |
#define OSPF_STR "OSPF information\n" |
#define OUT_STR "Filter outgoing routing updates\n" |
#define PREFIX_LIST_STR "Build a prefix list\n" |
#define RIP_STR "RIP information\n" |
#define ROUTE_STR "Routing Table\n" |
#define ROUTER_STR "Enable a routing process\n" |
#define SECONDS_STR "<1-65535> Seconds\n" |
#define SET_STR "Set values in destination routing protocol\n" |
#define SHOW_STR "Show running system information\n" |
#define STATE_ADDR 4 |
#define STATE_COLON 2 |
#define STATE_DOT 5 |
#define STATE_DOUBLE 3 |
#define STATE_MASK 7 |
#define STATE_SLASH 6 |
#define STATE_START 1 |
#define UNDEBUG_STR "Disable debugging functions (see also 'debug')\n" |
#define V4NOTATION_STR "specify by IPv4 address notation(e.g. 0.0.0.0)\n" |
#define VTY_IPV46_CMD "(" VTY_IPV4_CMD "|" VTY_IPV6_CMD ")" |
#define VTY_IPV4_CMD "A.B.C.D" |
#define VTY_IPV6_CMD "X:X::X:X" |
typedef int(* print_func_t) (void *data, const char *fmt,...) |
anonymous enum |
Attributes (flags) for cmd_element.
Enumerator | |
---|---|
CMD_ATTR_DEPRECATED | |
CMD_ATTR_HIDDEN | |
CMD_ATTR_IMMEDIATE | |
CMD_ATTR_NODE_EXIT | |
CMD_ATTR_LIB_COMMAND |
anonymous enum |
enum match_type |
enum node_type |
There are some command levels which called from command node.
enum vty_ref_gen_mode |
|
static |
References starttime.
ALIAS | ( | config_enable_password | , |
enable_password_text_cmd | , | ||
"enable password LINE" | , | ||
"Modify enable password parameters\n" "Assign the privileged level password\n" "The UNENCRYPTED (cleartext) 'enable' password\n" | ) |
References CMD_SUCCESS, DEFUN, host::enable, host::enable_encrypt, if(), and NO_STR.
ALIAS | ( | config_password | , |
password_text_cmd | , | ||
"password LINE" | , | ||
"Assign the terminal connection password\n" "The UNENCRYPTED (cleartext) line password\n" | ) |
References argc, argv, CMD_SUCCESS, CMD_WARNING, DEFUN, host::enable, host::enable_encrypt, host::encrypt, if(), tall_vty_cmd_ctx, VTY_NEWLINE, and vty_out().
ALIAS | ( | config_write_file | , |
config_write_cmd | , | ||
"write" | , | ||
"Write running configuration to | memory, | ||
network | , | ||
or terminal\n" | ) |
References ALIAS.
ALIAS | ( | config_write_terminal | , |
show_running_config_cmd | , | ||
"show running-config" | , | ||
SHOW_STR "running configuration\n" | ) |
References CMD_SUCCESS, CMD_WARNING, host::config, SHOW_STR, VTY_NEWLINE, and vty_out().
char * argv_concat | ( | const char ** | argv, |
int | argc, | ||
int | shift ) |
References argc, argv, and tall_vty_cmd_ctx.
Referenced by DEFUN(), DEFUN_HIDDEN(), and gDEFUN().
|
static |
Referenced by vty_cmd_range_match().
|
static |
References cmd_node::cmd_vector, cmd_element::string, vector_active, and vector_slot.
Referenced by install_element().
|
static |
References CMD_ATTR_HIDDEN, CMD_ATTR_IMMEDIATE, and CMD_ATTR_NODE_EXIT.
Referenced by cmd_gflag_mask(), print_attr_list(), and vty_dump_element().
|
static |
References desc::cmd, CMD_OPTION, vector_active, and vector_slot.
Referenced by install_element().
References cmd_complete_command_real(), cmd_try_do_shortcut(), ENABLE_NODE, vty::node, vector_active, vector_count(), vector_free(), vector_init(), vector_lookup(), vector_set_index(), and vector_slot.
Referenced by vty_complete_command().
References ANY_MATCH, desc::cmd, CMD_COMPLETE_FULL_MATCH, CMD_COMPLETE_LIST_MATCH, CMD_COMPLETE_MATCH, cmd_deopt(), cmd_entry_function(), CMD_ERR_AMBIGUOUS, CMD_ERR_NO_MATCH, CMD_ERR_NOTHING_TODO, cmd_filter(), cmd_lcd(), cmd_node_vector(), CMD_OPTION, cmd_unique_string(), cmdvec, _vector::index, INIT_MATCHVEC_SIZE, is_cmd_ambiguous(), vty::node, cmd_element::strvec, tall_vty_cmd_ctx, vector_active, vector_copy(), vector_free(), vector_init(), vector_only_wrapper_free(), vector_set(), and vector_slot.
Referenced by cmd_complete_command().
|
static |
Referenced by cmd_complete_command_real(), cmd_execute_command_real(), cmd_match(), and is_cmd_ambiguous().
|
static |
Fetch next description.
Used in cmd_make_descvec().
References cmd_element::string, and tall_vty_cmd_ctx.
Referenced by cmd_make_descvec().
References cmd_describe_command_real(), cmd_try_do_shortcut(), ENABLE_NODE, vty::node, vector_active, vector_count(), vector_free(), vector_init(), vector_lookup(), vector_set_index(), and vector_slot.
Referenced by vty_describe_command().
References ANY_MATCH, cmd_element::attr, desc::cmd, CMD_ATTR_DEPRECATED, CMD_ATTR_HIDDEN, cmd_entry_function_desc(), CMD_ERR_AMBIGUOUS, CMD_ERR_NO_MATCH, cmd_filter(), cmd_node_vector(), CMD_SUCCESS, cmdvec, desc_unique_string(), vty::expert_mode, INIT_MATCHVEC_SIZE, is_cmd_ambiguous(), vty::node, cmd_element::strvec, VARARG_MATCH, vector_active, vector_copy(), vector_free(), vector_init(), vector_set(), and vector_slot.
Referenced by cmd_describe_command().
|
static |
References CMD_IPV4, CMD_IPV4_PREFIX, CMD_OPTION, CMD_RANGE, CMD_VARARG, and CMD_VARIABLE.
Referenced by cmd_complete_command_real().
|
static |
References CMD_IPV4, cmd_ipv4_match(), CMD_IPV4_PREFIX, cmd_ipv4_prefix_match(), CMD_IPV6, CMD_IPV6_PREFIX, CMD_OPTION, CMD_RANGE, CMD_VARARG, CMD_VARIABLE, and vty_cmd_range_match().
Referenced by cmd_describe_command_real().
int cmd_execute_command | ( | vector | vline, |
struct vty * | vty, | ||
struct cmd_element ** | cmd, | ||
int | vtysh ) |
References cmd_execute_command_real(), cmd_try_do_shortcut(), ENABLE_NODE, vty_parent_node::index, vty::node, vector_active, vector_count(), vector_free(), vector_init(), vector_lookup(), vector_set_index(), and vector_slot.
Referenced by vty_command().
|
static |
References ANY_MATCH, argc, argv, desc::cmd, CMD_ARGC_MAX, cmd_deopt(), CMD_ERR_AMBIGUOUS, CMD_ERR_EXEED_ARGC_MAX, CMD_ERR_INCOMPLETE, CMD_ERR_NO_MATCH, cmd_filter(), cmd_match(), cmd_node_vector(), CMD_OPTION, CMD_SUCCESS_DAEMON, CMD_VARARG, CMD_VARIABLE, cmd_element::cmdsize, cmdvec, CONFIG_NODE, cmd_element::daemon, vty_parent_node::entry, cmd_element::func, vty::indent, vty::index, vty_parent_node::index, is_cmd_ambiguous(), NO_MATCH, vty::node, vty_parent_node::node, vty::parent_nodes, vty::priv, cmd_element::string, cmd_element::strvec, tall_vty_cmd_ctx, VARARG_MATCH, vector_active, vector_copy(), vector_free(), vector_slot, and vty_parent().
Referenced by cmd_execute_command().
int cmd_execute_command_strict | ( | vector | vline, |
struct vty * | vty, | ||
struct cmd_element ** | cmd ) |
References argc, argv, desc::cmd, CMD_ARGC_MAX, CMD_ERR_AMBIGUOUS, CMD_ERR_EXEED_ARGC_MAX, CMD_ERR_INCOMPLETE, CMD_ERR_NO_MATCH, cmd_filter(), cmd_node_vector(), CMD_OPTION, CMD_SUCCESS_DAEMON, CMD_VARARG, CMD_VARIABLE, cmd_element::cmdsize, cmdvec, cmd_element::daemon, EXACT_MATCH, cmd_element::func, vty_parent_node::index, is_cmd_ambiguous(), vty::node, cmd_element::strvec, VARARG_MATCH, vector_active, vector_copy(), vector_free(), and vector_slot.
Referenced by config_from_file().
|
static |
References ANY_MATCH, desc::cmd, cmd_match(), NO_MATCH, cmd_element::strvec, vector_active, and vector_slot.
Referenced by cmd_complete_command_real(), cmd_describe_command_real(), cmd_execute_command_real(), and cmd_execute_command_strict().
|
static |
References host::app_info, cmd_element::attr, CMD_ATTR_LIB_COMMAND, cmd_lib_attr_letters, vty_app_info::usr_attr_letters, cmd_element::usrattr, and VTY_CMD_USR_ATTR_NUM.
Referenced by gDEFUN().
void cmd_free_strvec | ( | vector | v | ) |
Free allocated string vector.
References vector_active, vector_free(), and vector_slot.
Referenced by config_from_file(), vty_command(), vty_complete_command(), and vty_describe_command().
|
static |
References cmd_element::attr, cmd_attr_get_flag(), CMD_ATTR_HIDDEN, CMD_ATTR_IMMEDIATE, and CMD_ATTR_NODE_EXIT.
Referenced by gDEFUN().
void cmd_init | ( | int | terminal | ) |
References auth_enable_node, auth_node, cmdvec, host::config, config_exit_cmd, config_help_cmd, config_list_cmd, CONFIG_NODE, config_node, config_write_host(), copy_runningconfig_startupconfig_cmd, default_motd, host::enable, ENABLE_NODE, enable_node, install_lib_element(), install_node(), install_node_bare(), host::lines, host::logfile, host::motd, host::motdfile, host::name, host::password, terminal, vector_init(), VECTOR_MIN_SIZE, VIEW_NODE, and view_node.
Referenced by vty_init().
|
static |
References EXACT_MATCH, NO_MATCH, and PARTLY_MATCH.
Referenced by cmd_entry_function_desc(), and cmd_match().
|
static |
References EXACT_MATCH, NO_MATCH, and PARTLY_MATCH.
Referenced by cmd_entry_function_desc(), cmd_match(), and is_cmd_ambiguous().
|
static |
Referenced by cmd_complete_command_real().
|
static |
New string vector.
References desc::cmd, cmd_desc_str(), desc::str, cmd_element::strvec, tall_vty_cmd_ctx, vector_init(), VECTOR_MIN_SIZE, and vector_set().
Referenced by install_element().
vector cmd_make_strvec | ( | const char * | string | ) |
Breaking up string into each command piece.
I assume given character is separated by a space character. Return value is a vector which includes char ** data element.
References cmd_make_strvec2(), and cmd_element::strvec.
Referenced by vty_command(), vty_complete_command(), and vty_describe_command().
int cmd_make_strvec2 | ( | const char * | string, |
char ** | indent, | ||
vector * | strvec_p ) |
Break up string in command tokens.
Return leading indents.
[in] | string | String to split. |
[out] | indent | If not NULL, return a talloc_strdup of indent characters. |
[out] | strvec_p | Returns vector of split tokens, must not be NULL. |
If indent is passed non-NULL, only simple space ' ' indents are allowed, so that indent can simply return the count of leading spaces. Otherwise any isspace() characters are allowed for indenting (backwards compat).
References CMD_ERR_INVALID_INDENT, CMD_SUCCESS, cmd_element::string, cmd_element::strvec, tall_vty_cmd_ctx, vector_init(), VECTOR_MIN_SIZE, and vector_set().
Referenced by cmd_make_strvec(), and config_from_file().
|
static |
References cmd_deopt(), CMD_IPV4, cmd_ipv4_match(), CMD_IPV4_PREFIX, cmd_ipv4_prefix_match(), CMD_IPV6, CMD_IPV6_PREFIX, cmd_match(), CMD_OPTION, CMD_RANGE, CMD_VARARG, CMD_VARIABLE, EXACT_MATCH, EXTEND_MATCH, IPV4_MATCH, IPV4_PREFIX_MATCH, IPV6_MATCH, IPV6_PREFIX_MATCH, NO_MATCH, PARTLY_MATCH, RANGE_MATCH, tall_vty_cmd_ctx, VARARG_MATCH, and vty_cmd_range_match().
Referenced by cmd_execute_command_real(), cmd_filter(), and cmd_match().
References cmd_node::cmd_vector, and vector_slot.
Referenced by cmd_complete_command_real(), cmd_describe_command_real(), cmd_execute_command_real(), and cmd_execute_command_strict().
const char * cmd_prompt | ( | enum node_type | node | ) |
Return prompt character of specified node.
References cmdvec, node, cmd_node::prompt, and vector_slot.
Referenced by vty_prompt().
|
static |
References AUTH_ENABLE_NODE, AUTH_NODE, ENABLE_NODE, node, and VIEW_NODE.
Referenced by cmd_complete_command(), cmd_describe_command(), and cmd_execute_command().
|
static |
References desc::str, vector_active, and vector_slot.
Referenced by cmd_complete_command_real().
|
static |
References desc::cmd.
Referenced by sort_node().
|
static |
References cmd_element::string.
Referenced by sort_node().
write Write running configuration to or terminal n Write configuration to the copy running config startup Copy configuration n Copy running config to n Copy running config to startup config | ( | same as write | file | ) |
References DEFUN.
int config_from_file | ( | struct vty * | vty, |
FILE * | fp ) |
References vty::buf, CMD_ERR_INVALID_INDENT, CMD_ERR_NOTHING_TODO, cmd_execute_command_strict(), cmd_free_strvec(), cmd_make_strvec2(), CMD_SUCCESS, vty_parent_node::entry, vty::indent, vty_parent_node::indent, indent_cmp(), vty::index, vty::node, vty_parent_node::node, vty::parent_nodes, vty::priv, VTY_BUFSIZ, vty_go_parent(), and vty_parent().
Referenced by vty_read_config_filep().
void config_replace_string | ( | struct cmd_element * | , |
char * | , | ||
... ) |
References config_end_cmd, config_exit_cmd, config_help_cmd, config_list_cmd, and tall_vty_cmd_ctx.
|
static |
References host::advanced, host::enable, host::enable_encrypt, host::encrypt, host::lines, host::motd, host::motdfile, host::name, host::password, host::password_encrypt, VTY_NEWLINE, and vty_out().
Referenced by cmd_init().
DEFUN | ( | banner_motd_default | , |
banner_motd_default_cmd | , | ||
"banner motd default" | , | ||
"Set banner string\n" "Strings for motd\n" "Default string\n" | ) |
References CMD_SUCCESS, default_motd, and host::motd.
DEFUN | ( | banner_motd_file | , |
banner_motd_file_cmd | , | ||
"banner motd file " | [FILE], | ||
"Set banner\n" "Banner for motd\n" "Banner from a file\n" "Filename\n" | ) |
References argv, CMD_SUCCESS, host::motdfile, and tall_vty_cmd_ctx.
DEFUN | ( | config_hostname | , |
hostname_cmd | , | ||
"hostname WORD" | , | ||
"Set system's network name\n" "This system's network name\n" | ) |
References argv, CMD_SUCCESS, CMD_WARNING, host::name, tall_vty_cmd_ctx, VTY_NEWLINE, and vty_out().
DEFUN | ( | config_no_hostname | , |
no_hostname_cmd | , | ||
"no hostname " | [HOSTNAME], | ||
NO_STR "Reset system's network name\n" "Host name of this router\n" | ) |
References CMD_SUCCESS, host::name, and NO_STR.
DEFUN | ( | config_password | , |
password_cmd | , | ||
"password (8|) WORD" | , | ||
"Assign the terminal connection password\n" "Specifies a HIDDEN password will follow\n" "dummy string \n" "The HIDDEN line password string\n" | ) |
References argc, argv, CMD_SUCCESS, CMD_WARNING, host::encrypt, host::password, host::password_encrypt, tall_vty_cmd_ctx, VTY_NEWLINE, and vty_out().
DEFUN | ( | config_terminal | , |
config_terminal_cmd | , | ||
"configure " | [terminal], | ||
"Configuration from vty interface\n" "Configuration terminal\n" | ) |
References CMD_SUCCESS, CMD_WARNING, CONFIG_NODE, vty::node, vty_config_lock(), VTY_NEWLINE, and vty_out().
DEFUN | ( | config_terminal_length | , |
config_terminal_length_cmd | , | ||
"terminal length <0-512>" | , | ||
"Set terminal line parameters\n" "Set number of lines on a screen\n" "Number of lines on screen (0 for no pausing)\n" | ) |
References argv, CMD_SUCCESS, and vty::lines.
DEFUN | ( | config_terminal_no_length | , |
config_terminal_no_length_cmd | , | ||
"terminal no length" | , | ||
"Set terminal line parameters\n" NO_STR "Set number of lines on a screen\n" | ) |
References CMD_SUCCESS, vty::lines, and NO_STR.
DEFUN | ( | disable | , |
config_disable_cmd | , | ||
"disable" | , | ||
"Turn off privileged mode command\n" | ) |
References CMD_SUCCESS, ENABLE_NODE, vty::expert_mode, vty::node, and VIEW_NODE.
DEFUN | ( | enable | , |
config_enable_cmd | , | ||
"enable " | [expert-mode], | ||
"Turn on privileged mode command\n" "Enable the expert mode (show hidden commands)\n" | ) |
References argc, AUTH_ENABLE_NODE, CMD_SUCCESS, host::enable, host::enable_encrypt, ENABLE_NODE, vty::expert_mode, vty::node, vty::type, and VTY_SHELL_SERV.
DEFUN | ( | no_banner_motd | , |
no_banner_motd_cmd | , | ||
"no banner motd" | , | ||
NO_STR "Set banner string\n" "Strings for motd\n" | ) |
References CMD_SUCCESS, host::motd, host::motdfile, and NO_STR.
DEFUN | ( | no_service_terminal_length | , |
no_service_terminal_length_cmd | , | ||
"no service terminal-length " | [< 0-512 >], | ||
NO_STR "Set up miscellaneous service\n" "System wide terminal length configuration\n" "Number of lines of VTY (0 means no line control)\n" | ) |
References CMD_SUCCESS, host::lines, and NO_STR.
DEFUN | ( | service_terminal_length | , |
service_terminal_length_cmd | , | ||
"service terminal-length <0-512>" | , | ||
"Set up miscellaneous service\n" "System wide terminal length configuration\n" "Number of lines of VTY (0 means no line control)\n" | ) |
References argv, CMD_SUCCESS, and host::lines.
DEFUN | ( | show_online_help | , |
show_online_help_cmd | , | ||
"show online-help" | , | ||
SHOW_STR "Online help\n" | ) |
References CMD_SUCCESS, SHOW_STR, and vty_dump_xml_ref_to_vty().
DEFUN | ( | show_pid | , |
show_pid_cmd | , | ||
"show pid" | , | ||
SHOW_STR "Displays the process ID\n" | ) |
References CMD_SUCCESS, SHOW_STR, VTY_NEWLINE, and vty_out().
DEFUN | ( | show_uptime | , |
show_uptime_cmd | , | ||
"show uptime" | , | ||
SHOW_STR "Displays how long the program has been running\n" | ) |
References host::app_info, CMD_SUCCESS, vty_app_info::name, SHOW_STR, starttime, vty_out(), vty_out_newline(), and vty_out_uptime().
DEFUN | ( | show_version | , |
show_version_cmd | , | ||
"show version" | , | ||
SHOW_STR "Displays program version\n" | ) |
References host::app_info, CMD_SUCCESS, vty_app_info::copyright, vty_app_info::name, SHOW_STR, vty_app_info::version, VTY_NEWLINE, and vty_out().
DEFUN | ( | shutdown | , |
shutdown_cmd | , | ||
"shutdown" | , | ||
"Request a shutdown of the program\n" | ) |
References host::app_info, CMD_SUCCESS, vty_app_info::name, VTY_NEWLINE, and vty_out().
DEFUN_HIDDEN | ( | do_echo | , |
echo_cmd | , | ||
"echo .MESSAGE" | , | ||
"Echo a message back to the vty\n" "The message to echo\n" | ) |
References argc, argv, argv_concat(), CMD_SUCCESS, VTY_NEWLINE, and vty_out().
|
static |
References desc::cmd, desc::str, vector_active, and vector_slot.
Referenced by cmd_describe_command_real().
write Write running configuration to or terminal n Write configuration to the file | ( | same as write | file | ) |
References ALIAS.
for | ( | ) |
References cmdvec, node, and VTY_NEWLINE.
gDEFUN | ( | config_end | , |
config_end_cmd | , | ||
"end" | , | ||
"End current mode and change to enable mode." | ) |
References CMD_SUCCESS, config_end_cmd, CONFIG_NODE, ENABLE_NODE, vty::index, vty::index_sub, vty::node, vty_config_unlock(), and vty_go_parent().
gDEFUN | ( | config_exit | , |
config_exit_cmd | , | ||
"exit" | , | ||
"Exit current mode and down to previous mode\n" | ) |
References AUTH_NODE, CMD_SUCCESS, config_exit_cmd, CONFIG_NODE, ENABLE_NODE, vty::node, vty::status, VIEW_NODE, vty_config_unlock(), and vty_go_parent().
gDEFUN | ( | config_help | , |
config_help_cmd | , | ||
"help" | , | ||
"Description of the interactive help system\n" | ) |
References CMD_SUCCESS, config_help_cmd, VTY_NEWLINE, and vty_out().
gDEFUN | ( | config_list | , |
config_list_cmd | , | ||
"list " | [with-flags], | ||
"Print command list\n" "Also print the VTY attribute flags\n" | ) |
gDEFUN | ( | show_vty_attr | , |
show_vty_attr_cmd | , | ||
"show vty-attributes (application|library|global)" | , | ||
SHOW_STR "List of VTY attributes\n" "Application specific attributes only\n" "Library specific attributes only\n" "Global attributes only\n" | ) |
References argv, ATTR_TYPE_APP, ATTR_TYPE_GLOBAL, ATTR_TYPE_LIB, CMD_SUCCESS, print_attr_list(), and SHOW_STR.
gDEFUN | ( | show_vty_attr_all | , |
show_vty_attr_all_cmd | , | ||
"show vty-attributes" | , | ||
SHOW_STR "List of VTY attributes\n" | ) |
References CMD_SUCCESS, print_attr_list(), and SHOW_STR.
const char * host_config_file | ( | void | ) |
References host::config.
void host_config_set | ( | const char * | filename | ) |
References host::config, and tall_vty_cmd_ctx.
Referenced by DEFUN(), and vty_read_config_file().
if | ( | vty-> | type = = VTY_SHELL_SERV | ) |
References VTY_SHELL_SERV.
|
static |
Make sure the common length of strings a and b is identical, then compare their lengths.
I.e., if a is longer than b, a must start with exactly b, and vice versa.
Referenced by config_from_file().
|
static |
Install common commands like 'exit' and 'list'.
References config_end_cmd, config_exit_cmd, config_help_cmd, config_list_cmd, CONFIG_NODE, config_write_memory_cmd, config_write_terminal_cmd, install_lib_element(), and node.
Referenced by install_node().
void install_default | ( | int | node | ) |
Deprecated, now happens implicitly when calling install_node().
Users of the API may still attempt to call this function, hence leave it here as a no-op.
References node.
void install_element | ( | int | ntype, |
struct cmd_element * | cmd ) |
Install a command into a node.
[in] | ntype | Node Type |
[cmd] | element to be installed |
References check_element_exists(), cmd_cmdsize(), cmd_make_descvec(), cmd_node::cmd_vector, cmd_element::cmdsize, cmdvec, cmd_element::doc, cmd_element::string, cmd_element::strvec, vector_set(), and vector_slot.
Referenced by install_element_ve(), and install_lib_element().
void install_element_ve | ( | struct cmd_element * | cmd | ) |
References ENABLE_NODE, install_element(), and VIEW_NODE.
Referenced by install_lib_element_ve().
void install_lib_element | ( | int | ntype, |
struct cmd_element * | cmd ) |
Install a library command into a node.
[in] | ntype | Node Type |
[in] | cmd | element to be installed |
References cmd_element::attr, CMD_ATTR_LIB_COMMAND, and install_element().
Referenced by cmd_init(), install_basic_node_commands(), logging_vty_add_cmds(), logging_vty_add_deprecated_subsys(), osmo_cpu_sched_vty_init(), osmo_stats_vty_add_cmds(), osmo_tdef_vty_groups_init(), and vty_init().
void install_lib_element_ve | ( | struct cmd_element * | cmd | ) |
Install top node of command vector.
References cmd_node::func, install_basic_node_commands(), install_node_bare(), and node.
Referenced by cmd_init(), logging_vty_add_cmds(), osmo_cpu_sched_vty_init(), osmo_stats_vty_add_cmds(), and vty_init().
Install top node of command vector, without adding basic node commands.
References cmdvec, cmd_node::func, node, node_name_from_prompt(), vector_init(), VECTOR_MIN_SIZE, and vector_set_index().
Referenced by cmd_init(), and install_node().
|
static |
References desc::cmd, cmd_deopt(), CMD_IPV4, cmd_ipv4_prefix_match(), CMD_IPV6, CMD_OPTION, CMD_VARIABLE, EXACT_MATCH, EXTEND_MATCH, IPV4_MATCH, IPV4_PREFIX_MATCH, IPV6_MATCH, IPV6_PREFIX_MATCH, NO_MATCH, PARTLY_MATCH, RANGE_MATCH, desc::str, cmd_element::strvec, tall_vty_cmd_ctx, vector_active, vector_slot, and vty_cmd_range_match().
Referenced by cmd_complete_command_real(), cmd_describe_command_real(), cmd_execute_command_real(), and cmd_execute_command_strict().
|
inlinestatic |
References desc::str.
|
static |
|
static |
References cmd_node::prompt.
Referenced by install_node_bare().
enum node_type node_parent | ( | enum | node_type | ) |
char * osmo_asciidoc_escape | ( | const char * | inp | ) |
escape all special asciidoc symbols
unsafe | string |
References tall_vty_cmd_ctx.
Referenced by asciidoc_handle_counter(), asciidoc_osmo_stat_item_group_handler(), asciidoc_osmo_stat_item_handler(), asciidoc_rate_ctr_group_handler(), and asciidoc_rate_ctr_handler().
int osmo_vty_save_config_file | ( | void | ) |
Save the current state to the config file.
If the filename already exists create a filename.sav version with the current code.
References host::config, and write_config_file().
int osmo_vty_write_config_file | ( | const char * | filename | ) |
Write the current running config to a given file.
[in] | vty | the vty of the code |
[in] | filename | where to store the file |
If the filename already exists create a filename.sav version with the current code.
References write_config_file().
|
static |
|
static |
Referenced by vty_dump_xml_ref_mode().
|
static |
References vty_out_va().
Referenced by vty_dump_xml_ref_to_vty().
void print_version | ( | int | print_copyright | ) |
print the version (and optionally copyright) information
This is called from main when a daemon is invoked with -v or –version.
References host::app_info, vty_app_info::copyright, vty_app_info::name, and vty_app_info::version.
void sort_node | ( | void | ) |
Sort each node's command element according to command string.
References cmd_node::cmd_vector, cmdvec, cmp_desc(), cmp_node(), _vector::index, cmd_element::strvec, vector_active, and vector_slot.
|
static |
References vty_pop_parent().
Referenced by vty_go_parent().
int vty_cmd_range_match | ( | const char * | range, |
const char * | str ) |
References check_base().
Referenced by cmd_entry_function_desc(), cmd_match(), and is_cmd_ambiguous().
|
static |
Return true if a node is installed by install_basic_node_commands(), so that we can avoid repeating them for each and every node during 'show running-config'.
References config_end_cmd, config_exit_cmd, config_help_cmd, config_list_cmd, config_write_memory_cmd, and config_write_terminal_cmd.
Referenced by vty_dump_nodes().
|
static |
References host::app_info, cmd_element::attr, desc::cmd, cmd_attr_desc, cmd_attr_get_flag(), CMD_ATTR_LIB_COMMAND, CMD_ATTR_PUBLIC_MASK, cmd_lib_attr_desc, cmd_lib_attr_letters, desc::str, value_string::str, cmd_element::string, cmd_element::strvec, vty_app_info::usr_attr_desc, vty_app_info::usr_attr_letters, cmd_element::usrattr, value_string::value, vector_active, vector_count(), vector_slot, and xml_escape().
Referenced by vty_dump_nodes().
|
static |
References cmd_element::attr, cmd_node::cmd_vector, cmdvec, CONFIG_NODE, cmd_node::name, cmd_node::node, vector_active, vector_slot, vty_command_is_common(), and vty_dump_element().
Referenced by vty_dump_xml_ref_mode(), and vty_dump_xml_ref_to_vty().
int vty_dump_xml_ref | ( | FILE * | stream | ) |
Print the XML reference of all VTY nodes to the given stream.
[out] | stream | Output stream to print the XML reference to. |
NOTE: this function is deprecated because it does not allow to specify the XML reference generation mode (default mode is hard-coded). Use vty_dump_xml_ref_mode() instead.
References vty_dump_xml_ref_mode(), and VTY_REF_GEN_MODE_DEFAULT.
int vty_dump_xml_ref_mode | ( | FILE * | stream, |
enum vty_ref_gen_mode | mode ) |
Print the XML reference of all VTY nodes to the given stream.
[out] | stream | Output stream to print the XML reference to. |
[in] | mode | The XML reference generation mode. |
References CMD_ATTR_DEPRECATED, CMD_ATTR_HIDDEN, print_func_stream(), vty_dump_nodes(), VTY_REF_GEN_MODE_DEFAULT, VTY_REF_GEN_MODE_EXPERT, and VTY_REF_GEN_MODE_HIDDEN.
Referenced by vty_dump_xml_ref().
|
static |
References CMD_ATTR_DEPRECATED, CMD_ATTR_HIDDEN, vty::expert_mode, print_func_vty(), vty_dump_nodes(), and VTY_NEWLINE.
Referenced by DEFUN().
int vty_go_parent | ( | struct vty * | vty | ) |
References host::app_info, AUTH_ENABLE_NODE, AUTH_NODE, CONFIG_NODE, ENABLE_NODE, vty_app_info::go_parent_cb, vty::node, VIEW_NODE, vty_clear_parents(), and vty_pop_parent().
Referenced by config_from_file(), gDEFUN(), gDEFUN(), vty_down_level(), and vty_log().
void vty_install_default | ( | int | node | ) |
Deprecated, now happens implicitly when calling install_node().
Users of the API may still attempt to call this function, hence leave it here as a no-op.
References node.
vty_out | ( | vty | , |
"!%s" | , | ||
VTY_NEWLINE | ) |
References VTY_NEWLINE.
Referenced by ALIAS(), ALIAS(), config_write_host(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN(), DEFUN_HIDDEN(), gDEFUN(), gDEFUN(), print_attr_list(), and write_config_file().
|
static |
References vty_parent_node::entry, and vty::parent_nodes.
Referenced by cmd_execute_command_real(), config_from_file(), and vty_pop_parent().
|
static |
References vty_parent_node::entry, vty::indent, vty_parent_node::indent, vty::index, vty_parent_node::index, vty::node, vty_parent_node::node, vty::priv, vty_parent_node::priv, and vty_parent().
Referenced by vty_clear_parents(), and vty_go_parent().
|
static |
References host::app_info, cmdvec, CONF_BACKUP_EXT, CONFIGFILE_MASK, vty::fd, vty_app_info::name, node, tall_vty_cmd_ctx, vty::type, vector_active, vector_slot, vty_app_info::version, vty_close(), VTY_FILE, vty_new(), and vty_out().
Referenced by DEFUN(), osmo_vty_save_config_file(), and osmo_vty_write_config_file().
|
static |
References ADD, and tall_vty_cmd_ctx.
Referenced by vty_dump_element().
struct cmd_node auth_enable_node |
Referenced by cmd_init().
struct cmd_node auth_node |
Referenced by cmd_init().
|
static |
Referenced by print_attr_list(), and vty_dump_element().
|
static |
Referenced by print_attr_list(), and vty_dump_element().
|
static |
Referenced by cmd_flag_mask(), node_flag_mask(), print_attr_list(), and vty_dump_element().
return CMD_SUCCESS |
vector cmdvec |
write Write running configuration to or terminal n Write configuration to the copy running config startup config |
|
extern |
Referenced by config_replace_string(), gDEFUN(), install_basic_node_commands(), and vty_command_is_common().
|
extern |
Referenced by cmd_init(), config_replace_string(), gDEFUN(), install_basic_node_commands(), vty_command_is_common(), and vty_down_level().
|
extern |
Referenced by cmd_init(), config_replace_string(), gDEFUN(), install_basic_node_commands(), and vty_command_is_common().
|
extern |
Referenced by cmd_init(), config_replace_string(), gDEFUN(), install_basic_node_commands(), and vty_command_is_common().
struct cmd_node config_node |
Referenced by cmd_init().
config_write_memory_cmd |
Referenced by install_basic_node_commands(), and vty_command_is_common().
write Write running configuration to or terminal n Write configuration to the copy running config startup Copy configuration n Copy running config to n Copy running config to startup config_write_terminal_cmd |
Referenced by install_basic_node_commands(), and vty_command_is_common().
write Write running configuration to or terminal n Write configuration to the copy_runningconfig_startupconfig_cmd |
Referenced by cmd_init().
const char* default_motd = "" |
Referenced by cmd_init(), and DEFUN().
else |
struct cmd_node enable_node |
Referenced by cmd_init().
struct host host |
write Write running configuration to or terminal n Write configuration to the copy running config startup Copy configuration n Copy running config to n Copy running config to startup write Write running configuration to memory |
write Write running configuration to or terminal n Write configuration to the copy running config startup Copy configuration n Copy running config to n Copy running config to startup write Write running configuration to or terminal n Write to terminal n |
write Write running configuration to or terminal n Write configuration to the copy running config startup Copy configuration n Copy running config to n Copy running config to startup write Write running configuration to network |
struct cmd_node* node |
|
static |
Referenced by __attribute__(), DEFUN(), vty_out(), and vty_out_uptime().
|
extern |
Referenced by ALIAS(), argv_concat(), cmd_complete_command_real(), cmd_desc_str(), cmd_execute_command_real(), cmd_make_descvec(), cmd_make_strvec2(), cmd_match(), config_replace_string(), DEFUN(), DEFUN(), DEFUN(), host_config_set(), is_cmd_ambiguous(), osmo_asciidoc_escape(), timer_command_string(), timer_doc_string(), vty_init(), write_config_file(), and xml_escape().
void* tall_vty_cmd_ctx |
Referenced by ALIAS(), argv_concat(), cmd_complete_command_real(), cmd_desc_str(), cmd_execute_command_real(), cmd_make_descvec(), cmd_make_strvec2(), cmd_match(), config_replace_string(), DEFUN(), DEFUN(), DEFUN(), host_config_set(), is_cmd_ambiguous(), osmo_asciidoc_escape(), timer_command_string(), timer_doc_string(), vty_init(), write_config_file(), and xml_escape().
write Write running configuration to or terminal n Write configuration to the copy running config startup Copy configuration n Copy running config to n Copy running config to startup write terminal |
Referenced by cmd_init().
struct cmd_node view_node |
Referenced by cmd_init().
|
extern |
const struct value_string vty_ref_gen_mode_desc[] |
|
extern |
const struct value_string vty_ref_gen_mode_names[] |