libosmovty 1.10.0.57-8972
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. More... | |
#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) static int funcname (struct cmd_element *, struct vty *, int, const char *[]); \ |
#define | DEFUN_CMD_FUNC_TEXT(funcname) |
#define | DEFUN(funcname, cmdname, cmdstr, helpstr) |
Macro for defining a VTY node and function. More... | |
#define | gDEFUN(funcname, cmdname, cmdstr, helpstr) |
Macro for defining a non-static (global) VTY node and function. More... | |
#define | DEFUN_ATTR(funcname, cmdname, cmdstr, helpstr, attr) |
#define | DEFUN_HIDDEN(funcname, cmdname, cmdstr, helpstr) DEFUN_ATTR (funcname, cmdname, cmdstr, helpstr, CMD_ATTR_HIDDEN) |
#define | DEFUN_DEPRECATED(funcname, cmdname, cmdstr, helpstr) DEFUN_ATTR (funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED) |
#define | DEFUN_ATTR_USRATTR(funcname, cmdname, attr, usrattr, cmdstr, helpstr) |
Macro for defining a VTY node and function with global & program specific attributes. More... | |
#define | DEFUN_USRATTR(funcname, cmdname, usrattr, cmdstr, helpstr) DEFUN_ATTR_USRATTR(funcname, cmdname, 0, usrattr, cmdstr, helpstr) |
#define | DEFUN_NOSH(funcname, cmdname, cmdstr, helpstr) DEFUN(funcname, cmdname, cmdstr, helpstr) |
#define | DEFSH(daemon, cmdname, cmdstr, helpstr) DEFUN_CMD_ELEMENT(NULL, cmdname, cmdstr, helpstr, 0, daemon) \ |
#define | DEFUNSH(daemon, funcname, cmdname, cmdstr, helpstr) |
#define | DEFUNSH_ATTR(daemon, funcname, cmdname, cmdstr, helpstr, attr) |
#define | DEFUNSH_HIDDEN(daemon, funcname, cmdname, cmdstr, helpstr) DEFUNSH_ATTR (daemon, funcname, cmdname, cmdstr, helpstr, CMD_ATTR_HIDDEN) |
#define | DEFUNSH_DEPRECATED(daemon, funcname, cmdname, cmdstr, helpstr) DEFUNSH_ATTR (daemon, funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED) |
#define | ALIAS(funcname, cmdname, cmdstr, helpstr) DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, 0, 0) |
#define | gALIAS(funcname, cmdname, cmdstr, helpstr) gDEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, 0, 0) |
#define | ALIAS_ATTR(funcname, cmdname, cmdstr, helpstr, attr) DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, attr, 0) |
#define | ALIAS_HIDDEN(funcname, cmdname, cmdstr, helpstr) DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, CMD_ATTR_HIDDEN, 0) |
#define | ALIAS_DEPRECATED(funcname, cmdname, cmdstr, helpstr) DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED, 0) |
#define | ALIAS_SH(daemon, funcname, cmdname, cmdstr, helpstr) DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, 0, daemon) |
#define | ALIAS_SH_HIDDEN(daemon, funcname, cmdname, cmdstr, helpstr) DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, CMD_ATTR_HIDDEN, daemon) |
#define | ALIAS_SH_DEPRECATED(daemon, funcname, cmdname, cmdstr, helpstr) DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED, daemon) |
#define | CMD_OPTION(S) ((S[0]) == '[') |
#define | CMD_VARIABLE(S) (((S[0]) >= 'A' && (S[0]) <= 'Z') || ((S[0]) == '<')) |
#define | CMD_VARARG(S) ((S[0]) == '.') |
#define | CMD_RANGE(S) ((S[0] == '<')) |
#define | CMD_IPV4(S) ((strcmp ((S), "A.B.C.D") == 0)) |
#define | CMD_IPV4_PREFIX(S) ((strcmp ((S), "A.B.C.D/M") == 0)) |
#define | CMD_IPV6(S) ((strcmp ((S), "X:X::X:X") == 0)) |
#define | CMD_IPV6_PREFIX(S) ((strcmp ((S), "X:X::X:X/M") == 0)) |
#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. More... | |
void | install_default (int node) |
Deprecated, now happens implicitly when calling install_node(). More... | |
void | install_element (int ntype, struct cmd_element *cmd) |
Install a command into a node. More... | |
void | install_lib_element (int ntype, struct cmd_element *cmd) |
Install a library command into a node. More... | |
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. More... | |
void | vty_install_default (int node) |
Deprecated, now happens implicitly when calling install_node(). More... | |
char * | argv_concat (const char **argv, int argc, int shift) |
vector | cmd_make_strvec (const char *string) |
Breaking up string into each command piece. More... | |
int | cmd_make_strvec2 (const char *string, char **indent, vector *strvec_p) |
Break up string in command tokens. More... | |
void | cmd_free_strvec (vector v) |
Free allocated string vector. More... | |
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. More... | |
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 More... | |
void | print_version (int print_copyright) |
print the version (and optionally copyright) information More... | |
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. More... | |
int | vty_dump_xml_ref (FILE *stream) |
Print the XML reference of all VTY nodes to the given stream. More... | |
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'. More... | |
static void | install_node_bare (struct cmd_node *node, int(*func)(struct vty *)) |
Install top node of command vector, without adding basic node commands. More... | |
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. More... | |
static vector | cmd_make_descvec (const char *string, const char *descstr) |
New string vector. More... | |
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'. More... | |
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. More... | |
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. More... | |
int | osmo_vty_save_config_file (void) |
Save the current state to the config file. More... | |
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 | |||
) | DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, 0, 0) |
#define ALIAS_ATTR | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr, | |||
attr | |||
) | DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, attr, 0) |
#define ALIAS_DEPRECATED | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr | |||
) | DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED, 0) |
#define ALIAS_HIDDEN | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr | |||
) | DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, CMD_ATTR_HIDDEN, 0) |
#define ALIAS_SH | ( | daemon, | |
funcname, | |||
cmdname, | |||
cmdstr, | |||
helpstr | |||
) | DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, 0, daemon) |
#define ALIAS_SH_DEPRECATED | ( | daemon, | |
funcname, | |||
cmdname, | |||
cmdstr, | |||
helpstr | |||
) | DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED, daemon) |
#define ALIAS_SH_HIDDEN | ( | daemon, | |
funcname, | |||
cmdname, | |||
cmdstr, | |||
helpstr | |||
) | DEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, CMD_ATTR_HIDDEN, daemon) |
#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 |
#define CMD_ATTR_PUBLIC_MASK (CMD_ATTR_HIDDEN | CMD_ATTR_IMMEDIATE | CMD_ATTR_NODE_EXIT) |
#define CMD_COMPLETE_FULL_MATCH 7 |
#define CMD_COMPLETE_LIST_MATCH 9 |
#define CMD_COMPLETE_MATCH 8 |
#define CMD_ERR_AMBIGUOUS 3 |
#define CMD_ERR_EXEED_ARGC_MAX 5 |
#define CMD_ERR_INCOMPLETE 4 |
#define CMD_ERR_INVALID_INDENT 11 |
#define CMD_ERR_NO_MATCH 2 |
#define CMD_ERR_NOTHING_TODO 6 |
#define CMD_SUCCESS 0 |
Return value of the commands.
#define CMD_SUCCESS_DAEMON 10 |
#define CMD_WARNING 1 |
#define CONF_BACKUP_EXT ".sav" |
#define CONFIGFILE_MASK 022 |
#define DEBUG_STR "Debugging functions (see also 'undebug')\n" |
#define DEFSH | ( | daemon, | |
cmdname, | |||
cmdstr, | |||
helpstr | |||
) | DEFUN_CMD_ELEMENT(NULL, cmdname, cmdstr, helpstr, 0, daemon) \ |
#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 | ) | static int funcname (struct cmd_element *, struct vty *, int, const char *[]); \ |
#define DEFUN_CMD_FUNC_TEXT | ( | funcname | ) |
#define DEFUN_DEPRECATED | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr | |||
) | DEFUN_ATTR (funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED) |
#define DEFUN_HIDDEN | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr | |||
) | DEFUN_ATTR (funcname, cmdname, cmdstr, helpstr, CMD_ATTR_HIDDEN) |
#define DEFUN_NOSH | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr | |||
) | DEFUN(funcname, cmdname, cmdstr, helpstr) |
#define DEFUN_USRATTR | ( | funcname, | |
cmdname, | |||
usrattr, | |||
cmdstr, | |||
helpstr | |||
) | DEFUN_ATTR_USRATTR(funcname, cmdname, 0, 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 | |||
) | DEFUNSH_ATTR (daemon, funcname, cmdname, cmdstr, helpstr, CMD_ATTR_DEPRECATED) |
#define DEFUNSH_HIDDEN | ( | daemon, | |
funcname, | |||
cmdname, | |||
cmdstr, | |||
helpstr | |||
) | DEFUNSH_ATTR (daemon, funcname, cmdname, cmdstr, helpstr, CMD_ATTR_HIDDEN) |
#define gALIAS | ( | funcname, | |
cmdname, | |||
cmdstr, | |||
helpstr | |||
) | gDEFUN_CMD_ELEMENT(funcname, cmdname, cmdstr, helpstr, 0, 0) |
#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 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 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 osmo_clock_gettime(), and 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, host::enable, and host::enable_encrypt.
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, host::enable, host::enable_encrypt, host::encrypt, 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" | |||
) |
ALIAS | ( | config_write_terminal | , |
show_running_config_cmd | , | ||
"show running-config" | , | ||
SHOW_STR "running configuration\n" | |||
) |
References CMD_SUCCESS, CMD_WARNING, host::config, VTY_NEWLINE, and vty_out().
char * argv_concat | ( | const char ** | argv, |
int | argc, | ||
int | shift | ||
) |
References argc, argv, len(), 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(), len(), 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 |
References len().
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 start, 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(), k, 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(), llist_add(), 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(), vector_slot, and vty.
Referenced by config_from_file().
|
static |
References ANY_MATCH, desc::cmd, cmd_match(), level, 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, time, 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(), len(), OSMO_ASSERT, 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, start, 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, OSMO_ASSERT, 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 | ) |
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, llist_add(), 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 * | , | ||
... | |||
) |
|
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, and host::name.
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, and vty::lines.
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, and host::motdfile.
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, and host::lines.
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.
References CMD_SUCCESS, and vty_dump_xml_ref_to_vty().
References CMD_SUCCESS, 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, starttime, vty_out(), vty_out_newline(), and vty_out_uptime().
References host::app_info, CMD_SUCCESS, vty_app_info::copyright, vty_app_info::name, 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, DLGLOBAL, LOGL_INFO, LOGP, 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 | ) |
for | ( | ) |
gDEFUN | ( | config_end | , |
config_end_cmd | , | ||
"end" | , | ||
"End current mode and change to enable mode." | |||
) |
References CMD_SUCCESS, 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_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, 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, and print_attr_list().
gDEFUN | ( | show_vty_attr_all | , |
show_vty_attr_all_cmd | , | ||
"show vty-attributes" | , | ||
SHOW_STR "List of VTY attributes\n" | |||
) |
References CMD_SUCCESS, and print_attr_list().
const char * host_config_file | ( | void | ) |
References host::config.
void host_config_set | ( | const char * | filename | ) |
References host::config, osmo_talloc_replace_string(), and tall_vty_cmd_ctx.
Referenced by DEFUN(), and vty_read_config_file().
if | ( | vty-> | type = = VTY_SHELL_SERV | ) |
References cmdvec, cmd_node::func, node, vector_active, vector_slot, vty, VTY_NEWLINE, vty_out(), and cmd_node::vtysh.
Referenced by DEFUN(), osmo_log_vty2tgt(), and osmo_stat_item_handler().
|
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.
References len().
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.
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, OSMO_ASSERT, 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(), cmd_node::node, 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 cmd_node::cmd_vector, cmdvec, cmd_node::func, cmd_node::name, cmd_node::node, node, node_name_from_prompt(), cmd_node::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, type, 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.
Referenced by argv_concat(), cmd_complete_command_real(), cmd_deopt(), cmd_make_descvec(), indent_cmp(), osmo_asciidoc_escape(), parse_cpu_hex_mask(), procname2pid(), rate_ctr_handler_fmt(), telnet_new_connection(), vty_cmd_string_from_valstr(), vty_describe_command(), vty_insert_word_overwrite(), vty_out_va(), and xml_escape().
|
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 len(), and 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 |
References _OSMO_CORE_LIB_ATTR_COUNT, host::app_info, ARRAY_SIZE, ATTR_TYPE_APP, ATTR_TYPE_GLOBAL, ATTR_TYPE_LIB, cmd_attr_desc, cmd_attr_get_flag(), cmd_lib_attr_desc, cmd_lib_attr_letters, value_string::str, vty_app_info::usr_attr_desc, vty_app_info::usr_attr_letters, VTY_CMD_USR_ATTR_NUM, VTY_NEWLINE, and vty_out().
Referenced by gDEFUN().
|
static |
References data.
Referenced by vty_dump_xml_ref_mode().
|
static |
References data, and 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, ARRAY_SIZE, 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, data, value_string::str, desc::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, data, 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, mode, 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(), and vty_down_level().
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.
vty_out | ( | vty | , |
"!%s" | , | ||
VTY_NEWLINE | |||
) |
Referenced by ALIAS(), config_write_host(), DEFUN(), DEFUN_HIDDEN(), gDEFUN(), if(), print_attr_list(), and write_config_file().
|
static |
References entry, llist_first_entry_or_null, 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, llist_del(), 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, fd, vty::fd, cmd_node::func, 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, len(), 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 |
Referenced by ALIAS(), cmd_describe_command_real(), cmd_make_strvec2(), config_from_file(), DEFUN(), DEFUN_HIDDEN(), and gDEFUN().
vector cmdvec |
write Write running configuration to or terminal n Write configuration to the copy running config startup config |
|
extern |
Referenced by install_basic_node_commands(), and vty_command_is_common().
|
extern |
Referenced by cmd_init(), install_basic_node_commands(), vty_command_is_common(), and vty_down_level().
|
extern |
Referenced by cmd_init(), install_basic_node_commands(), and vty_command_is_common().
|
extern |
Referenced by cmd_init(), 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().
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 |
Referenced by cmd_prompt(), cmd_try_do_shortcut(), if(), install_basic_node_commands(), install_node(), install_node_bare(), and write_config_file().
|
static |
Referenced by __attribute__(), DEFUN(), 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(), 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(), 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[] |