\doxysection{VTY Command}
\label{group__command}\index{VTY Command@{VTY Command}}


VTY command handling.  


\doxysubsection*{Files}
\begin{DoxyCompactItemize}
\item 
file \textbf{ command.\+h}
\begin{DoxyCompactList}\small\item\em Zebra configuration command interface routine. \end{DoxyCompactList}\item 
file \textbf{ command.\+c}
\end{DoxyCompactItemize}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ host}
\begin{DoxyCompactList}\small\item\em Host configuration variable. \end{DoxyCompactList}\item 
struct \textbf{ cmd\+\_\+node}
\begin{DoxyCompactList}\small\item\em Node which has some commands and prompt string and configuration function pointer . \end{DoxyCompactList}\item 
struct \textbf{ cmd\+\_\+element}
\begin{DoxyCompactList}\small\item\em Structure of a command element. \end{DoxyCompactList}\item 
struct \textbf{ desc}
\begin{DoxyCompactList}\small\item\em Command description structure. \end{DoxyCompactList}\item 
struct \textbf{ vty\+\_\+parent\+\_\+node}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ CMD\+\_\+\+SUCCESS}~0
\begin{DoxyCompactList}\small\item\em Return value of the commands. \end{DoxyCompactList}\item 
\#define \textbf{ CMD\+\_\+\+WARNING}~1
\item 
\#define \textbf{ CMD\+\_\+\+ERR\+\_\+\+NO\+\_\+\+MATCH}~2
\item 
\#define \textbf{ CMD\+\_\+\+ERR\+\_\+\+AMBIGUOUS}~3
\item 
\#define \textbf{ CMD\+\_\+\+ERR\+\_\+\+INCOMPLETE}~4
\item 
\#define \textbf{ CMD\+\_\+\+ERR\+\_\+\+EXEED\+\_\+\+ARGC\+\_\+\+MAX}~5
\item 
\#define \textbf{ CMD\+\_\+\+ERR\+\_\+\+NOTHING\+\_\+\+TODO}~6
\item 
\#define \textbf{ CMD\+\_\+\+COMPLETE\+\_\+\+FULL\+\_\+\+MATCH}~7
\item 
\#define \textbf{ CMD\+\_\+\+COMPLETE\+\_\+\+MATCH}~8
\item 
\#define \textbf{ CMD\+\_\+\+COMPLETE\+\_\+\+LIST\+\_\+\+MATCH}~9
\item 
\#define \textbf{ CMD\+\_\+\+SUCCESS\+\_\+\+DAEMON}~10
\item 
\#define \textbf{ CMD\+\_\+\+ERR\+\_\+\+INVALID\+\_\+\+INDENT}~11
\item 
\#define \textbf{ CMD\+\_\+\+ARGC\+\_\+\+MAX}~256
\item 
\#define \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname,  cmdname,  cmdstr,  helpstr,  attrs,  dnum)
\item 
\#define \textbf{ g\+DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname,  cmdname,  cmdstr,  helpstr,  attrs,  dnum)
\item 
\#define \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT\+\_\+\+ATTR\+\_\+\+USRATTR}(funcname,  cmdname,  cmdstr,  helpstr,  attrs,  usrattrs)
\item 
\#define \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+FUNC\+\_\+\+DECL}(funcname)~  static int funcname (struct \textbf{ cmd\+\_\+element} $\ast$, struct \textbf{ vty} $\ast$, int, const char $\ast$[$\,$]); \textbackslash{}
\item 
\#define \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+FUNC\+\_\+\+TEXT}(funcname)
\item 
\#define \textbf{ DEFUN}(funcname,  cmdname,  cmdstr,  helpstr)
\begin{DoxyCompactList}\small\item\em Macro for defining a VTY node and function. \end{DoxyCompactList}\item 
\#define \textbf{ g\+DEFUN}(funcname,  cmdname,  cmdstr,  helpstr)
\begin{DoxyCompactList}\small\item\em Macro for defining a non-\/static (global) VTY node and function. \end{DoxyCompactList}\item 
\#define \textbf{ DEFUN\+\_\+\+ATTR}(funcname,  cmdname,  cmdstr,  helpstr,  attr)
\item 
\#define \textbf{ DEFUN\+\_\+\+HIDDEN}(funcname,  cmdname,  cmdstr,  helpstr)~  \textbf{ DEFUN\+\_\+\+ATTR} (funcname, cmdname, cmdstr, helpstr, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN})
\item 
\#define \textbf{ DEFUN\+\_\+\+DEPRECATED}(funcname,  cmdname,  cmdstr,  helpstr)~  \textbf{ DEFUN\+\_\+\+ATTR} (funcname, cmdname, cmdstr, helpstr, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+DEPRECATED})
\item 
\#define \textbf{ DEFUN\+\_\+\+ATTR\+\_\+\+USRATTR}(funcname,  cmdname,  attr,  usrattr,  cmdstr,  helpstr)
\begin{DoxyCompactList}\small\item\em Macro for defining a VTY node and function with global \& program specific attributes. \end{DoxyCompactList}\item 
\#define \textbf{ DEFUN\+\_\+\+USRATTR}(funcname,  cmdname,  usrattr,  cmdstr,  helpstr)~  \textbf{ DEFUN\+\_\+\+ATTR\+\_\+\+USRATTR}(funcname, cmdname, 0, usrattr, cmdstr, helpstr)
\item 
\#define \textbf{ DEFUN\+\_\+\+NOSH}(funcname,  cmdname,  cmdstr,  helpstr)~  \textbf{ DEFUN}(funcname, cmdname, cmdstr, helpstr)
\item 
\#define \textbf{ DEFSH}(daemon,  cmdname,  cmdstr,  helpstr)~  \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(NULL, cmdname, cmdstr, helpstr, 0, daemon) \textbackslash{}
\item 
\#define \textbf{ DEFUNSH}(daemon,  funcname,  cmdname,  cmdstr,  helpstr)
\item 
\#define \textbf{ DEFUNSH\+\_\+\+ATTR}(daemon,  funcname,  cmdname,  cmdstr,  helpstr,  attr)
\item 
\#define \textbf{ DEFUNSH\+\_\+\+HIDDEN}(daemon,  funcname,  cmdname,  cmdstr,  helpstr)~  \textbf{ DEFUNSH\+\_\+\+ATTR} (daemon, funcname, cmdname, cmdstr, helpstr, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN})
\item 
\#define \textbf{ DEFUNSH\+\_\+\+DEPRECATED}(daemon,  funcname,  cmdname,  cmdstr,  helpstr)~  \textbf{ DEFUNSH\+\_\+\+ATTR} (daemon, funcname, cmdname, cmdstr, helpstr, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+DEPRECATED})
\item 
\#define \textbf{ ALIAS}(funcname,  cmdname,  cmdstr,  helpstr)~  \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname, cmdname, cmdstr, helpstr, 0, 0)
\item 
\#define \textbf{ g\+ALIAS}(funcname,  cmdname,  cmdstr,  helpstr)~  \textbf{ g\+DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname, cmdname, cmdstr, helpstr, 0, 0)
\item 
\#define \textbf{ ALIAS\+\_\+\+ATTR}(funcname,  cmdname,  cmdstr,  helpstr,  attr)~  \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname, cmdname, cmdstr, helpstr, attr, 0)
\item 
\#define \textbf{ ALIAS\+\_\+\+HIDDEN}(funcname,  cmdname,  cmdstr,  helpstr)~  \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname, cmdname, cmdstr, helpstr, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN}, 0)
\item 
\#define \textbf{ ALIAS\+\_\+\+DEPRECATED}(funcname,  cmdname,  cmdstr,  helpstr)~  \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname, cmdname, cmdstr, helpstr, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+DEPRECATED}, 0)
\item 
\#define \textbf{ ALIAS\+\_\+\+SH}(daemon,  funcname,  cmdname,  cmdstr,  helpstr)~  \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname, cmdname, cmdstr, helpstr, 0, daemon)
\item 
\#define \textbf{ ALIAS\+\_\+\+SH\+\_\+\+HIDDEN}(daemon,  funcname,  cmdname,  cmdstr,  helpstr)~  \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname, cmdname, cmdstr, helpstr, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN}, daemon)
\item 
\#define \textbf{ ALIAS\+\_\+\+SH\+\_\+\+DEPRECATED}(daemon,  funcname,  cmdname,  cmdstr,  helpstr)~  \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname, cmdname, cmdstr, helpstr, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+DEPRECATED}, daemon)
\item 
\#define \textbf{ CMD\+\_\+\+OPTION}(\textbf{ S})~((\textbf{ S}[0]) == \textquotesingle{}[\textquotesingle{})
\item 
\#define \textbf{ CMD\+\_\+\+VARIABLE}(\textbf{ S})~(((\textbf{ S}[0]) $>$= \textquotesingle{}A\textquotesingle{} \&\& (\textbf{ S}[0]) $<$= \textquotesingle{}Z\textquotesingle{}) $\vert$$\vert$ ((\textbf{ S}[0]) == \textquotesingle{}$<$\textquotesingle{}))
\item 
\#define \textbf{ CMD\+\_\+\+VARARG}(\textbf{ S})~((\textbf{ S}[0]) == \textquotesingle{}.\textquotesingle{})
\item 
\#define \textbf{ CMD\+\_\+\+RANGE}(\textbf{ S})~((\textbf{ S}[0] == \textquotesingle{}$<$\textquotesingle{}))
\item 
\#define \textbf{ CMD\+\_\+\+IPV4}(\textbf{ S})~((strcmp ((\textbf{ S}), \char`\"{}A.\+B.\+C.\+D\char`\"{}) == 0))
\item 
\#define \textbf{ CMD\+\_\+\+IPV4\+\_\+\+PREFIX}(\textbf{ S})~((strcmp ((\textbf{ S}), \char`\"{}A.\+B.\+C.\+D/M\char`\"{}) == 0))
\item 
\#define \textbf{ CMD\+\_\+\+IPV6}(\textbf{ S})~((strcmp ((\textbf{ S}), \char`\"{}X\+:\+X\+::\+X\+:X\char`\"{}) == 0))
\item 
\#define \textbf{ CMD\+\_\+\+IPV6\+\_\+\+PREFIX}(\textbf{ S})~((strcmp ((\textbf{ S}), \char`\"{}X\+:\+X\+::\+X\+:X/M\char`\"{}) == 0))
\item 
\#define \textbf{ VTY\+\_\+\+IPV4\+\_\+\+CMD}~\char`\"{}A.\+B.\+C.\+D\char`\"{}
\item 
\#define \textbf{ VTY\+\_\+\+IPV6\+\_\+\+CMD}~\char`\"{}X\+:\+X\+::\+X\+:X\char`\"{}
\item 
\#define \textbf{ VTY\+\_\+\+IPV46\+\_\+\+CMD}~\char`\"{}(\char`\"{} \textbf{ VTY\+\_\+\+IPV4\+\_\+\+CMD} \char`\"{}$\vert$\char`\"{} \textbf{ VTY\+\_\+\+IPV6\+\_\+\+CMD} \char`\"{})\char`\"{}
\item 
\#define \textbf{ SHOW\+\_\+\+STR}~\char`\"{}Show running system \textbf{ information\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ IP\+\_\+\+STR}~\char`\"{}IP \textbf{ information\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ IPV6\+\_\+\+STR}~\char`\"{}IPv6 \textbf{ information\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ NO\+\_\+\+STR}~\char`\"{}Negate a command or set its \textbf{ defaults\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ CLEAR\+\_\+\+STR}~\char`\"{}Reset \textbf{ functions\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ RIP\+\_\+\+STR}~\char`\"{}RIP \textbf{ information\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ BGP\+\_\+\+STR}~\char`\"{}BGP \textbf{ information\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ OSPF\+\_\+\+STR}~\char`\"{}OSPF \textbf{ information\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ NEIGHBOR\+\_\+\+STR}~\char`\"{}Specify neighbor \textbf{ router\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ DEBUG\+\_\+\+STR}~\char`\"{}Debugging functions (see also \textquotesingle{}undebug\textquotesingle{})\textbackslash{}\textbf{ n}\char`\"{}
\item 
\#define \textbf{ UNDEBUG\+\_\+\+STR}~\char`\"{}Disable debugging functions (see also \textquotesingle{}debug\textquotesingle{})\textbackslash{}\textbf{ n}\char`\"{}
\item 
\#define \textbf{ ROUTER\+\_\+\+STR}~\char`\"{}Enable a routing \textbf{ process\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ AS\+\_\+\+STR}~\char`\"{}AS \textbf{ number\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ MBGP\+\_\+\+STR}~\char`\"{}MBGP \textbf{ information\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ MATCH\+\_\+\+STR}~\char`\"{}Match values from routing \textbf{ table\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ SET\+\_\+\+STR}~\char`\"{}Set values in destination routing \textbf{ protocol\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ OUT\+\_\+\+STR}~\char`\"{}Filter outgoing routing \textbf{ updates\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ IN\+\_\+\+STR}~\char`\"{}Filter incoming routing \textbf{ updates\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ V4\+NOTATION\+\_\+\+STR}~\char`\"{}specify by IPv4 address notation(e.\+g. 0.\+0.\+0.\+0)\textbackslash{}\textbf{ n}\char`\"{}
\item 
\#define \textbf{ OSPF6\+\_\+\+NUMBER\+\_\+\+STR}~\char`\"{}Specify by \textbf{ number\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ INTERFACE\+\_\+\+STR}~\char`\"{}Interface \textbf{ infomation\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ IFNAME\+\_\+\+STR}~\char`\"{}Interface \textbf{ name}(e.\+g. ep0)\textbackslash{}\textbf{ n}\char`\"{}
\item 
\#define \textbf{ IP6\+\_\+\+STR}~\char`\"{}IPv6 \textbf{ Information\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ OSPF6\+\_\+\+STR}~\char`\"{}Open Shortest Path First (OSPF) \textbf{ for} \textbf{ IPv6\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ OSPF6\+\_\+\+ROUTER\+\_\+\+STR}~\char`\"{}Enable a routing \textbf{ process\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ OSPF6\+\_\+\+INSTANCE\+\_\+\+STR}~\char`\"{}$<$1-\/65535$>$ Instance \textbf{ ID\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ SECONDS\+\_\+\+STR}~\char`\"{}$<$1-\/65535$>$ Seconds\textbackslash{}n\char`\"{}
\item 
\#define \textbf{ ROUTE\+\_\+\+STR}~\char`\"{}Routing \textbf{ Table\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ PREFIX\+\_\+\+LIST\+\_\+\+STR}~\char`\"{}Build a prefix \textbf{ list\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ OSPF6\+\_\+\+DUMP\+\_\+\+TYPE\+\_\+\+LIST}~\char`\"{}(neighbor$\vert$interface$\vert$area$\vert$lsa$\vert$zebra$\vert$\textbf{ config}$\vert$dbex$\vert$spf$\vert$route$\vert$lsdb$\vert$redistribute$\vert$hook$\vert$asbr$\vert$prefix$\vert$abr)\char`\"{}
\item 
\#define \textbf{ ISIS\+\_\+\+STR}~\char`\"{}IS-\/IS \textbf{ information\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ AREA\+\_\+\+TAG\+\_\+\+STR}~\char`\"{}[area tag]\textbackslash{}\textbf{ n}\char`\"{}
\item 
\#define \textbf{ CONF\+\_\+\+BACKUP\+\_\+\+EXT}~\char`\"{}.sav\char`\"{}
\item 
\#define \textbf{ NEIGHBOR\+\_\+\+CMD}~\char`\"{}neighbor A.\+B.\+C.\+D \char`\"{}
\item 
\#define \textbf{ NO\+\_\+\+NEIGHBOR\+\_\+\+CMD}~\char`\"{}no neighbor A.\+B.\+C.\+D \char`\"{}
\item 
\#define \textbf{ NEIGHBOR\+\_\+\+ADDR\+\_\+\+STR}~\char`\"{}Neighbor \textbf{ address\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ NEIGHBOR\+\_\+\+CMD2}~\char`\"{}neighbor (A.\+B.\+C.\+D$\vert$WORD) \char`\"{}
\item 
\#define \textbf{ NO\+\_\+\+NEIGHBOR\+\_\+\+CMD2}~\char`\"{}no neighbor (A.\+B.\+C.\+D$\vert$WORD) \char`\"{}
\item 
\#define \textbf{ NEIGHBOR\+\_\+\+ADDR\+\_\+\+STR2}~\char`\"{}Neighbor address\textbackslash{}n\+Neighbor \textbf{ tag\textbackslash{}n}\char`\"{}
\item 
\#define \textbf{ CONFIGFILE\+\_\+\+MASK}~022
\item 
\#define \textbf{ CMD\+\_\+\+ATTR\+\_\+\+PUBLIC\+\_\+\+MASK}~ (\textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN} $\vert$ \textbf{ CMD\+\_\+\+ATTR\+\_\+\+IMMEDIATE} $\vert$ \textbf{ CMD\+\_\+\+ATTR\+\_\+\+NODE\+\_\+\+EXIT})
\item 
\#define \textbf{ IPV6\+\_\+\+ADDR\+\_\+\+STR}~\char`\"{}0123456789abcdef\+ABCDEF\+:.\%\char`\"{}
\item 
\#define \textbf{ IPV6\+\_\+\+PREFIX\+\_\+\+STR}~\char`\"{}0123456789abcdef\+ABCDEF\+:.\%/\char`\"{}
\item 
\#define \textbf{ STATE\+\_\+\+START}~1
\item 
\#define \textbf{ STATE\+\_\+\+COLON}~2
\item 
\#define \textbf{ STATE\+\_\+\+DOUBLE}~3
\item 
\#define \textbf{ STATE\+\_\+\+ADDR}~4
\item 
\#define \textbf{ STATE\+\_\+\+DOT}~5
\item 
\#define \textbf{ STATE\+\_\+\+SLASH}~6
\item 
\#define \textbf{ STATE\+\_\+\+MASK}~7
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef int($\ast$ \textbf{ print\+\_\+func\+\_\+t}) (void $\ast$\textbf{ data}, const char $\ast$fmt,...)
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \textbf{ node\+\_\+type} \{ \newline
\textbf{ AUTH\+\_\+\+NODE}
, \newline
\textbf{ VIEW\+\_\+\+NODE}
, \newline
\textbf{ AUTH\+\_\+\+ENABLE\+\_\+\+NODE}
, \newline
\textbf{ ENABLE\+\_\+\+NODE}
, \newline
\textbf{ CONFIG\+\_\+\+NODE}
, \newline
\textbf{ SERVICE\+\_\+\+NODE}
, \newline
\textbf{ DEBUG\+\_\+\+NODE}
, \newline
\textbf{ CFG\+\_\+\+LOG\+\_\+\+NODE}
, \newline
\textbf{ CFG\+\_\+\+STATS\+\_\+\+NODE}
, \newline
\textbf{ VTY\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+E1\+INP\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+IPA\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+NS\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+BSSGP\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+CTRL\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+CS7\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+CS7\+\_\+\+AS\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+CS7\+\_\+\+ASP\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+CS7\+\_\+\+XUA\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+CS7\+\_\+\+RTABLE\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+CS7\+\_\+\+LINK\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+CS7\+\_\+\+LINKSET\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+CS7\+\_\+\+SCCPADDR\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+CS7\+\_\+\+SCCPADDR\+\_\+\+GT\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+CPU\+\_\+\+SCHED\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+NS\+\_\+\+BIND\+\_\+\+NODE}
, \newline
\textbf{ L\+\_\+\+NS\+\_\+\+NSE\+\_\+\+NODE}
, \newline
\textbf{ RESERVED1\+\_\+\+NODE}
, \newline
\textbf{ RESERVED2\+\_\+\+NODE}
, \newline
\textbf{ RESERVED3\+\_\+\+NODE}
, \newline
\textbf{ RESERVED4\+\_\+\+NODE}
, \newline
\textbf{ RESERVED5\+\_\+\+NODE}
, \newline
\textbf{ RESERVED6\+\_\+\+NODE}
, \newline
\textbf{ RESERVED7\+\_\+\+NODE}
, \newline
\textbf{ RESERVED8\+\_\+\+NODE}
, \newline
\textbf{ \+\_\+\+LAST\+\_\+\+OSMOVTY\+\_\+\+NODE}
 \}
\begin{DoxyCompactList}\small\item\em There are some command levels which called from command node. \end{DoxyCompactList}\item 
enum \{ \newline
\textbf{ CMD\+\_\+\+ATTR\+\_\+\+DEPRECATED} = (1 $<$$<$ 0)
, \newline
\textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN} = (1 $<$$<$ 1)
, \newline
\textbf{ CMD\+\_\+\+ATTR\+\_\+\+IMMEDIATE} = (1 $<$$<$ 2)
, \newline
\textbf{ CMD\+\_\+\+ATTR\+\_\+\+NODE\+\_\+\+EXIT} = (1 $<$$<$ 3)
, \newline
\textbf{ CMD\+\_\+\+ATTR\+\_\+\+LIB\+\_\+\+COMMAND} = (1 $<$$<$ 4)
 \}
\begin{DoxyCompactList}\small\item\em Attributes (flags) for \doxyref{cmd\+\_\+element}{p.}{structcmd__element}. \end{DoxyCompactList}\item 
enum \{ \newline
\textbf{ OSMO\+\_\+\+SCCP\+\_\+\+LIB\+\_\+\+ATTR\+\_\+\+RSTRT\+\_\+\+ASP}
, \newline
\textbf{ OSMO\+\_\+\+ABIS\+\_\+\+LIB\+\_\+\+ATTR\+\_\+\+IPA\+\_\+\+NEW\+\_\+\+LNK}
, \newline
\textbf{ OSMO\+\_\+\+ABIS\+\_\+\+LIB\+\_\+\+ATTR\+\_\+\+LINE\+\_\+\+UPD}
, \newline
\textbf{ \+\_\+\+OSMO\+\_\+\+CORE\+\_\+\+LIB\+\_\+\+ATTR\+\_\+\+COUNT}
 \}
\begin{DoxyCompactList}\small\item\em Attributes shared between libraries (up to 32 entries). \end{DoxyCompactList}\item 
enum \textbf{ vty\+\_\+ref\+\_\+gen\+\_\+mode} \{ \newline
\textbf{ VTY\+\_\+\+REF\+\_\+\+GEN\+\_\+\+MODE\+\_\+\+DEFAULT} = 0
, \newline
\textbf{ VTY\+\_\+\+REF\+\_\+\+GEN\+\_\+\+MODE\+\_\+\+EXPERT}
, \newline
\textbf{ VTY\+\_\+\+REF\+\_\+\+GEN\+\_\+\+MODE\+\_\+\+HIDDEN}
 \}
\begin{DoxyCompactList}\small\item\em VTY reference generation mode. \end{DoxyCompactList}\item 
enum \textbf{ match\+\_\+type} \{ \newline
\textbf{ NO\+\_\+\+MATCH} = 0
, \newline
\textbf{ ANY\+\_\+\+MATCH}
, \newline
\textbf{ EXTEND\+\_\+\+MATCH}
, \newline
\textbf{ IPV4\+\_\+\+PREFIX\+\_\+\+MATCH}
, \newline
\textbf{ IPV4\+\_\+\+MATCH}
, \newline
\textbf{ IPV6\+\_\+\+PREFIX\+\_\+\+MATCH}
, \newline
\textbf{ IPV6\+\_\+\+MATCH}
, \newline
\textbf{ RANGE\+\_\+\+MATCH}
, \newline
\textbf{ VARARG\+\_\+\+MATCH}
, \newline
\textbf{ PARTLY\+\_\+\+MATCH}
, \newline
\textbf{ EXACT\+\_\+\+MATCH}
 \}
\item 
enum \{ \newline
\textbf{ ATTR\+\_\+\+TYPE\+\_\+\+GLOBAL} = (1 $<$$<$ 0)
, \newline
\textbf{ ATTR\+\_\+\+TYPE\+\_\+\+LIB} = (1 $<$$<$ 1)
, \newline
\textbf{ ATTR\+\_\+\+TYPE\+\_\+\+APP} = (1 $<$$<$ 2)
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \textbf{ install\+\_\+node} (struct \textbf{ cmd\+\_\+node} $\ast$\textbf{ node}, int($\ast$func)(struct \textbf{ vty} $\ast$))
\begin{DoxyCompactList}\small\item\em Install top node of command vector. \end{DoxyCompactList}\item 
void \textbf{ install\+\_\+default} (int \textbf{ node})
\begin{DoxyCompactList}\small\item\em Deprecated, now happens implicitly when calling \doxyref{install\+\_\+node()}{p.}{group__command_ga7ee8a7c258e1e5a6e3ff6173dd1658e3}. \end{DoxyCompactList}\item 
void \textbf{ install\+\_\+element} (int ntype, struct \textbf{ cmd\+\_\+element} $\ast$cmd)
\begin{DoxyCompactList}\small\item\em Install a command into a node. \end{DoxyCompactList}\item 
void \textbf{ install\+\_\+lib\+\_\+element} (int ntype, struct \textbf{ cmd\+\_\+element} $\ast$cmd)
\begin{DoxyCompactList}\small\item\em Install a library command into a node. \end{DoxyCompactList}\item 
void \textbf{ install\+\_\+element\+\_\+ve} (struct \textbf{ cmd\+\_\+element} $\ast$cmd)
\item 
void \textbf{ install\+\_\+lib\+\_\+element\+\_\+ve} (struct \textbf{ cmd\+\_\+element} $\ast$cmd)
\item 
void \textbf{ sort\+\_\+node} (void)
\begin{DoxyCompactList}\small\item\em Sort each node\textquotesingle{}s command element according to command string. \end{DoxyCompactList}\item 
void \textbf{ vty\+\_\+install\+\_\+default} (int \textbf{ node})
\begin{DoxyCompactList}\small\item\em Deprecated, now happens implicitly when calling \doxyref{install\+\_\+node()}{p.}{group__command_ga7ee8a7c258e1e5a6e3ff6173dd1658e3}. \end{DoxyCompactList}\item 
char $\ast$ \textbf{ argv\+\_\+concat} (const char $\ast$$\ast$\textbf{ argv}, int \textbf{ argc}, int shift)
\item 
\textbf{ vector} \textbf{ cmd\+\_\+make\+\_\+strvec} (const char $\ast$string)
\begin{DoxyCompactList}\small\item\em Breaking up string into each command piece. \end{DoxyCompactList}\item 
int \textbf{ cmd\+\_\+make\+\_\+strvec2} (const char $\ast$string, char $\ast$$\ast$indent, \textbf{ vector} $\ast$strvec\+\_\+p)
\begin{DoxyCompactList}\small\item\em Break up string in command tokens. \end{DoxyCompactList}\item 
void \textbf{ cmd\+\_\+free\+\_\+strvec} (\textbf{ vector} v)
\begin{DoxyCompactList}\small\item\em Free allocated string vector. \end{DoxyCompactList}\item 
\textbf{ vector} \textbf{ cmd\+\_\+describe\+\_\+command} (\textbf{ vector} vline, struct \textbf{ vty} $\ast$\textbf{ vty}, int $\ast$status)
\item 
char $\ast$$\ast$ \textbf{ cmd\+\_\+complete\+\_\+command} (\textbf{ vector} vline, struct \textbf{ vty} $\ast$\textbf{ vty}, int $\ast$status)
\item 
const char $\ast$ \textbf{ cmd\+\_\+prompt} (enum \textbf{ node\+\_\+type} \textbf{ node})
\begin{DoxyCompactList}\small\item\em Return prompt character of specified node. \end{DoxyCompactList}\item 
int \textbf{ config\+\_\+from\+\_\+file} (struct \textbf{ vty} $\ast$, FILE $\ast$)
\item 
enum \textbf{ node\+\_\+type} \textbf{ node\+\_\+parent} (enum \textbf{ node\+\_\+type})
\item 
int \textbf{ cmd\+\_\+execute\+\_\+command} (\textbf{ vector}, struct \textbf{ vty} $\ast$, struct \textbf{ cmd\+\_\+element} $\ast$$\ast$, int)
\item 
int \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+strict} (\textbf{ vector}, struct \textbf{ vty} $\ast$, struct \textbf{ cmd\+\_\+element} $\ast$$\ast$)
\item 
void \textbf{ config\+\_\+replace\+\_\+string} (struct \textbf{ cmd\+\_\+element} $\ast$, char $\ast$,...)
\item 
void \textbf{ cmd\+\_\+init} (int)
\item 
const char $\ast$ \textbf{ host\+\_\+config\+\_\+file} (void)
\item 
void \textbf{ host\+\_\+config\+\_\+set} (const char $\ast$)
\item 
char $\ast$ \textbf{ osmo\+\_\+asciidoc\+\_\+escape} (const char $\ast$inp)
\begin{DoxyCompactList}\small\item\em escape all special asciidoc symbols \end{DoxyCompactList}\item 
void \textbf{ print\+\_\+version} (int print\+\_\+copyright)
\begin{DoxyCompactList}\small\item\em print the version (and optionally copyright) information \end{DoxyCompactList}\item 
int \textbf{ vty\+\_\+dump\+\_\+xml\+\_\+ref\+\_\+mode} (FILE $\ast$stream, enum \textbf{ vty\+\_\+ref\+\_\+gen\+\_\+mode} \textbf{ mode})
\begin{DoxyCompactList}\small\item\em Print the XML reference of all VTY nodes to the given stream. \end{DoxyCompactList}\item 
int \textbf{ vty\+\_\+dump\+\_\+xml\+\_\+ref} (FILE $\ast$stream)
\begin{DoxyCompactList}\small\item\em Print the XML reference of all VTY nodes to the given stream. \end{DoxyCompactList}\item 
int \textbf{ vty\+\_\+cmd\+\_\+range\+\_\+match} (const char $\ast$range, const char $\ast$str)
\item 
static const char $\ast$ \textbf{ node\+\_\+name\+\_\+from\+\_\+prompt} (const char $\ast$prompt, char $\ast$name\+\_\+buf, size\+\_\+t name\+\_\+buf\+\_\+size)
\item 
static void \textbf{ install\+\_\+basic\+\_\+node\+\_\+commands} (int \textbf{ node})
\begin{DoxyCompactList}\small\item\em Install common commands like \textquotesingle{}exit\textquotesingle{} and \textquotesingle{}list\textquotesingle{}. \end{DoxyCompactList}\item 
static void \textbf{ install\+\_\+node\+\_\+bare} (struct \textbf{ cmd\+\_\+node} $\ast$\textbf{ node}, int($\ast$func)(struct \textbf{ vty} $\ast$))
\begin{DoxyCompactList}\small\item\em Install top node of command vector, without adding basic node commands. \end{DoxyCompactList}\item 
static int \textbf{ cmp\+\_\+node} (const void $\ast$p, const void $\ast$q)
\item 
static int \textbf{ cmp\+\_\+desc} (const void $\ast$p, const void $\ast$q)
\item 
static char $\ast$ \textbf{ cmd\+\_\+desc\+\_\+str} (const char $\ast$$\ast$string)
\begin{DoxyCompactList}\small\item\em Fetch next description. \end{DoxyCompactList}\item 
static \textbf{ vector} \textbf{ cmd\+\_\+make\+\_\+descvec} (const char $\ast$string, const char $\ast$descstr)
\begin{DoxyCompactList}\small\item\em New string vector. \end{DoxyCompactList}\item 
static int \textbf{ cmd\+\_\+cmdsize} (\textbf{ vector} strvec)
\item 
static char $\ast$ \textbf{ xml\+\_\+escape} (const char $\ast$inp)
\item 
static char \textbf{ cmd\+\_\+attr\+\_\+get\+\_\+flag} (unsigned int attr)
\item 
static int \textbf{ vty\+\_\+dump\+\_\+element} (const struct \textbf{ cmd\+\_\+element} $\ast$cmd, \textbf{ print\+\_\+func\+\_\+t} print\+\_\+func, void $\ast$\textbf{ data}, const char $\ast$newline)
\item 
static bool \textbf{ vty\+\_\+command\+\_\+is\+\_\+common} (const struct \textbf{ cmd\+\_\+element} $\ast$cmd)
\begin{DoxyCompactList}\small\item\em Return true if a node is installed by \doxyref{install\+\_\+basic\+\_\+node\+\_\+commands()}{p.}{group__command_gae05ca117303c592ddf4b582a01cb3a73}, so that we can avoid repeating them for each and every node during \textquotesingle{}show running-\/config\textquotesingle{}. \end{DoxyCompactList}\item 
static int \textbf{ vty\+\_\+dump\+\_\+nodes} (\textbf{ print\+\_\+func\+\_\+t} print\+\_\+func, void $\ast$\textbf{ data}, const char $\ast$newline, unsigned char gflag\+\_\+mask, bool match)
\item 
static int \textbf{ print\+\_\+func\+\_\+vty} (void $\ast$\textbf{ data}, const char $\ast$format,...)
\item 
static int \textbf{ vty\+\_\+dump\+\_\+xml\+\_\+ref\+\_\+to\+\_\+vty} (struct \textbf{ vty} $\ast$\textbf{ vty})
\item 
static int \textbf{ print\+\_\+func\+\_\+stream} (void $\ast$\textbf{ data}, const char $\ast$format,...)
\item 
static int \textbf{ check\+\_\+element\+\_\+exists} (struct \textbf{ cmd\+\_\+node} $\ast$cnode, const char $\ast$cmdstring)
\item 
static int \textbf{ config\+\_\+write\+\_\+host} (struct \textbf{ vty} $\ast$\textbf{ vty})
\item 
static \textbf{ vector} \textbf{ cmd\+\_\+node\+\_\+vector} (\textbf{ vector} v, enum \textbf{ node\+\_\+type} ntype)
\item 
static enum \textbf{ match\+\_\+type} \textbf{ cmd\+\_\+ipv4\+\_\+match} (const char $\ast$str)
\item 
static enum \textbf{ match\+\_\+type} \textbf{ cmd\+\_\+ipv4\+\_\+prefix\+\_\+match} (const char $\ast$str)
\item 
static int \textbf{ check\+\_\+base} (const char $\ast$str)
\item 
static char $\ast$ \textbf{ cmd\+\_\+deopt} (void $\ast$ctx, const char $\ast$str)
\item 
static enum \textbf{ match\+\_\+type} \textbf{ cmd\+\_\+match} (const char $\ast$str, const char $\ast$command, enum \textbf{ match\+\_\+type} min, bool recur)
\item 
static enum \textbf{ match\+\_\+type} \textbf{ cmd\+\_\+filter} (char $\ast$command, \textbf{ vector} v, unsigned int index, enum \textbf{ match\+\_\+type} \textbf{ level})
\item 
static int \textbf{ is\+\_\+cmd\+\_\+ambiguous} (char $\ast$command, \textbf{ vector} v, int index, enum \textbf{ match\+\_\+type} \textbf{ type})
\item 
static const char $\ast$ \textbf{ cmd\+\_\+entry\+\_\+function} (const char $\ast$src, const char $\ast$dst)
\item 
static const char $\ast$ \textbf{ cmd\+\_\+entry\+\_\+function\+\_\+desc} (const char $\ast$src, const char $\ast$dst)
\item 
static int \textbf{ cmd\+\_\+unique\+\_\+string} (\textbf{ vector} v, const char $\ast$str)
\item 
static int \textbf{ desc\+\_\+unique\+\_\+string} (\textbf{ vector} v, const char $\ast$str)
\item 
static int \textbf{ cmd\+\_\+try\+\_\+do\+\_\+shortcut} (enum \textbf{ node\+\_\+type} \textbf{ node}, char $\ast$first\+\_\+word)
\item 
static \textbf{ vector} \textbf{ cmd\+\_\+describe\+\_\+command\+\_\+real} (\textbf{ vector} vline, struct \textbf{ vty} $\ast$\textbf{ vty}, int $\ast$status)
\item 
static int \textbf{ cmd\+\_\+lcd} (char $\ast$$\ast$matched)
\item 
static char $\ast$$\ast$ \textbf{ cmd\+\_\+complete\+\_\+command\+\_\+real} (\textbf{ vector} vline, struct \textbf{ vty} $\ast$\textbf{ vty}, int $\ast$status)
\item 
static struct \textbf{ vty\+\_\+parent\+\_\+node} $\ast$ \textbf{ vty\+\_\+parent} (struct \textbf{ vty} $\ast$\textbf{ vty})
\item 
static bool \textbf{ vty\+\_\+pop\+\_\+parent} (struct \textbf{ vty} $\ast$\textbf{ vty})
\item 
static void \textbf{ vty\+\_\+clear\+\_\+parents} (struct \textbf{ vty} $\ast$\textbf{ vty})
\item 
int \textbf{ vty\+\_\+go\+\_\+parent} (struct \textbf{ vty} $\ast$\textbf{ vty})
\item 
static int \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+real} (\textbf{ vector} vline, struct \textbf{ vty} $\ast$\textbf{ vty}, struct \textbf{ cmd\+\_\+element} $\ast$$\ast$cmd)
\item 
static size\+\_\+t \textbf{ len} (const char $\ast$str)
\item 
static int \textbf{ indent\+\_\+cmp} (const char $\ast$a, const char $\ast$b)
\begin{DoxyCompactList}\small\item\em Make sure the common length of strings a and b is identical, then compare their lengths. \end{DoxyCompactList}\item 
\textbf{ DEFUN} (config\+\_\+terminal, config\+\_\+terminal\+\_\+cmd, \char`\"{}configure [\textbf{ terminal}]\char`\"{}, \char`\"{}Configuration from \textbf{ vty} \textbf{ interface\textbackslash{}n}\char`\"{} \char`\"{}Configuration \textbf{ terminal\textbackslash{}n}\char`\"{})
\item 
\textbf{ DEFUN} (enable, config\+\_\+enable\+\_\+cmd, \char`\"{}enable [expert-\/\textbf{ mode}]\char`\"{}, \char`\"{}Turn on privileged \textbf{ mode} \textbf{ command\textbackslash{}n}\char`\"{} \char`\"{}Enable the expert \textbf{ mode} (show hidden commands)\textbackslash{}\textbf{ n}\char`\"{})
\item 
\textbf{ DEFUN} (disable, config\+\_\+disable\+\_\+cmd, \char`\"{}disable\char`\"{}, \char`\"{}Turn off privileged \textbf{ mode} \textbf{ command\textbackslash{}n}\char`\"{})
\item 
\textbf{ g\+DEFUN} (config\+\_\+exit, \textbf{ config\+\_\+exit\+\_\+cmd}, \char`\"{}exit\char`\"{}, \char`\"{}Exit current \textbf{ mode} and down to previous \textbf{ mode\textbackslash{}n}\char`\"{})
\item 
\textbf{ g\+DEFUN} (config\+\_\+end, \textbf{ config\+\_\+end\+\_\+cmd}, \char`\"{}end\char`\"{}, \char`\"{}End current \textbf{ mode} and change to enable mode.\char`\"{})
\item 
\textbf{ DEFUN} (shutdown, shutdown\+\_\+cmd, \char`\"{}shutdown\char`\"{}, \char`\"{}Request a shutdown of the \textbf{ program\textbackslash{}n}\char`\"{})
\item 
\textbf{ DEFUN} (show\+\_\+version, show\+\_\+version\+\_\+cmd, \char`\"{}show \textbf{ version}\char`\"{}, SHOW\+\_\+\+STR \char`\"{}Displays program \textbf{ version\textbackslash{}n}\char`\"{})
\item 
\textbf{ DEFUN} (show\+\_\+online\+\_\+help, show\+\_\+online\+\_\+help\+\_\+cmd, \char`\"{}show online-\/help\char`\"{}, SHOW\+\_\+\+STR \char`\"{}Online \textbf{ help\textbackslash{}n}\char`\"{})
\item 
\textbf{ DEFUN} (show\+\_\+pid, show\+\_\+pid\+\_\+cmd, \char`\"{}show \textbf{ pid}\char`\"{}, SHOW\+\_\+\+STR \char`\"{}Displays the process \textbf{ ID\textbackslash{}n}\char`\"{})
\item 
\textbf{ DEFUN} (show\+\_\+uptime, show\+\_\+uptime\+\_\+cmd, \char`\"{}show uptime\char`\"{}, SHOW\+\_\+\+STR \char`\"{}Displays how long the program has been \textbf{ running\textbackslash{}n}\char`\"{})
\item 
\textbf{ g\+DEFUN} (config\+\_\+help, \textbf{ config\+\_\+help\+\_\+cmd}, \char`\"{}help\char`\"{}, \char`\"{}Description of the interactive help \textbf{ system\textbackslash{}n}\char`\"{})
\item 
static void \textbf{ print\+\_\+attr\+\_\+list} (struct \textbf{ vty} $\ast$\textbf{ vty}, unsigned int attr\+\_\+mask)
\item 
\textbf{ g\+DEFUN} (show\+\_\+vty\+\_\+attr\+\_\+all, show\+\_\+vty\+\_\+attr\+\_\+all\+\_\+cmd, \char`\"{}show \textbf{ vty}-\/attributes\char`\"{}, SHOW\+\_\+\+STR \char`\"{}List of VTY \textbf{ attributes\textbackslash{}n}\char`\"{})
\item 
\textbf{ g\+DEFUN} (show\+\_\+vty\+\_\+attr, show\+\_\+vty\+\_\+attr\+\_\+cmd, \char`\"{}show \textbf{ vty}-\/attributes (application$\vert$library$\vert$global)\char`\"{}, SHOW\+\_\+\+STR \char`\"{}List of VTY \textbf{ attributes\textbackslash{}n}\char`\"{} \char`\"{}Application specific attributes \textbf{ only\textbackslash{}n}\char`\"{} \char`\"{}Library specific attributes \textbf{ only\textbackslash{}n}\char`\"{} \char`\"{}Global attributes \textbf{ only\textbackslash{}n}\char`\"{})
\item 
static unsigned int \textbf{ node\+\_\+flag\+\_\+mask} (const struct \textbf{ cmd\+\_\+node} $\ast$cnode, bool expert\+\_\+mode)
\item 
static const char $\ast$ \textbf{ cmd\+\_\+gflag\+\_\+mask} (const struct \textbf{ cmd\+\_\+element} $\ast$cmd)
\item 
static const char $\ast$ \textbf{ cmd\+\_\+flag\+\_\+mask} (const struct \textbf{ cmd\+\_\+element} $\ast$cmd, unsigned int flag\+\_\+mask)
\item 
\textbf{ g\+DEFUN} (config\+\_\+list, \textbf{ config\+\_\+list\+\_\+cmd}, \char`\"{}list [with-\/\textbf{ flags}]\char`\"{}, \char`\"{}Print command \textbf{ list\textbackslash{}n}\char`\"{} \char`\"{}Also print the VTY attribute \textbf{ flags\textbackslash{}n}\char`\"{})
\item 
static int \textbf{ write\+\_\+config\+\_\+file} (const char $\ast$config\+\_\+file, char $\ast$$\ast$outpath)
\item 
\textbf{ DEFUN} (config\+\_\+write\+\_\+file, config\+\_\+write\+\_\+file\+\_\+cmd, \char`\"{}write \textbf{ file} [PATH]\char`\"{}, \char`\"{}Write running configuration to \textbf{ memory}, \textbf{ network}, or \textbf{ terminal\textbackslash{}n}\char`\"{} \char`\"{}Write to configuration \textbf{ file\textbackslash{}n}\char`\"{} \char`\"{}Set \textbf{ file} path to store the \textbf{ config}, or replace \textbf{ if} already \textbf{ exists\textbackslash{}n}\char`\"{})
\item 
\textbf{ ALIAS} (config\+\_\+write\+\_\+file, config\+\_\+write\+\_\+cmd, \char`\"{}write\char`\"{}, \char`\"{}Write running configuration to \textbf{ memory}, \textbf{ network}, or \textbf{ terminal\textbackslash{}n}\char`\"{}) ALIAS(config\+\_\+write\+\_\+file
\item 
write Write running configuration to or \textbf{ terminal} \textbf{ n} Write configuration to the \textbf{ file} (same as write file)\textbackslash{}\textbf{ n}\char`\"{}) ALIAS(config\+\_\+write\+\_\+file
\item 
write Write running configuration to or \textbf{ terminal} \textbf{ n} Write configuration to the copy running config startup Copy configuration \textbf{ n} Copy running config to \textbf{ n} Copy running config to startup \textbf{ config} (same as write \textbf{ file})\textbackslash{}\textbf{ n}\char`\"{})  DEFUN(config\+\_\+write\+\_\+terminal
\item 
\textbf{ if} (\textbf{ vty}-\/$>$\textbf{ type}==\textbf{ VTY\+\_\+\+SHELL\+\_\+\+SERV})
\item 
\textbf{ vty\+\_\+out} (\textbf{ vty}, \char`\"{}!\%s\char`\"{}, VTY\+\_\+\+NEWLINE)
\item 
\textbf{ for} (i=0;i$<$ \textbf{ vector\+\_\+active}(\textbf{ cmdvec});i++) \textbf{ if}((\textbf{ node}
\item 
\textbf{ ALIAS} (config\+\_\+write\+\_\+terminal, show\+\_\+running\+\_\+config\+\_\+cmd, \char`\"{}show running-\/\textbf{ config}\char`\"{}, SHOW\+\_\+\+STR \char`\"{}running \textbf{ configuration\textbackslash{}n}\char`\"{})
\item 
\textbf{ DEFUN} (config\+\_\+hostname, hostname\+\_\+cmd, \char`\"{}hostname WORD\char`\"{}, \char`\"{}Set system\textquotesingle{}s \textbf{ network} \textbf{ name\textbackslash{}n}\char`\"{} \char`\"{}This system\textquotesingle{}s \textbf{ network} \textbf{ name\textbackslash{}n}\char`\"{})
\item 
\textbf{ DEFUN} (config\+\_\+no\+\_\+hostname, no\+\_\+hostname\+\_\+cmd, \char`\"{}no hostname [HOSTNAME]\char`\"{}, NO\+\_\+\+STR \char`\"{}Reset system\textquotesingle{}s \textbf{ network} \textbf{ name\textbackslash{}n}\char`\"{} \char`\"{}Host \textbf{ name} of this \textbf{ router\textbackslash{}n}\char`\"{})
\item 
\textbf{ DEFUN} (config\+\_\+password, password\+\_\+cmd, \char`\"{}password (8$\vert$) WORD\char`\"{}, \char`\"{}Assign the \textbf{ terminal} connection \textbf{ password\textbackslash{}n}\char`\"{} \char`\"{}Specifies a HIDDEN password will \textbf{ follow\textbackslash{}n}\char`\"{} \char`\"{}dummy string \textbackslash{}\textbf{ n}\char`\"{} \char`\"{}The HIDDEN line password \textbf{ string\textbackslash{}n}\char`\"{})
\item 
\textbf{ ALIAS} (config\+\_\+password, password\+\_\+text\+\_\+cmd, \char`\"{}password LINE\char`\"{}, \char`\"{}Assign the \textbf{ terminal} connection \textbf{ password\textbackslash{}n}\char`\"{} \char`\"{}The UNENCRYPTED (cleartext) line \textbf{ password\textbackslash{}n}\char`\"{})
\item 
\textbf{ ALIAS} (config\+\_\+enable\+\_\+password, enable\+\_\+password\+\_\+text\+\_\+cmd, \char`\"{}enable password LINE\char`\"{}, \char`\"{}Modify enable password \textbf{ parameters\textbackslash{}n}\char`\"{} \char`\"{}Assign the privileged \textbf{ level} \textbf{ password\textbackslash{}n}\char`\"{} \char`\"{}The UNENCRYPTED (cleartext) \textquotesingle{}enable\textquotesingle{} \textbf{ password\textbackslash{}n}\char`\"{})
\item 
\textbf{ DEFUN} (config\+\_\+terminal\+\_\+length, config\+\_\+terminal\+\_\+length\+\_\+cmd, \char`\"{}terminal \textbf{ length} $<$0-\/512$>$\char`\"{}, \char`\"{}Set \textbf{ terminal} line \textbf{ parameters\textbackslash{}n}\char`\"{} \char`\"{}Set number of lines on a \textbf{ screen\textbackslash{}n}\char`\"{} \char`\"{}Number of lines on screen (0 \textbf{ for} no pausing)\textbackslash{}\textbf{ n}\char`\"{})
\item 
\textbf{ DEFUN} (config\+\_\+terminal\+\_\+no\+\_\+length, config\+\_\+terminal\+\_\+no\+\_\+length\+\_\+cmd, \char`\"{}terminal no \textbf{ length}\char`\"{}, \char`\"{}Set \textbf{ terminal} line \textbf{ parameters\textbackslash{}n}\char`\"{} NO\+\_\+\+STR \char`\"{}Set number of lines on a \textbf{ screen\textbackslash{}n}\char`\"{})
\item 
\textbf{ DEFUN} (service\+\_\+terminal\+\_\+length, service\+\_\+terminal\+\_\+length\+\_\+cmd, \char`\"{}service \textbf{ terminal}-\/\textbf{ length} $<$0-\/512$>$\char`\"{}, \char`\"{}Set up miscellaneous \textbf{ service\textbackslash{}n}\char`\"{} \char`\"{}System wide \textbf{ terminal} \textbf{ length} \textbf{ configuration\textbackslash{}n}\char`\"{} \char`\"{}Number of lines of VTY (0 means no line control)\textbackslash{}\textbf{ n}\char`\"{})
\item 
\textbf{ DEFUN} (no\+\_\+service\+\_\+terminal\+\_\+length, no\+\_\+service\+\_\+terminal\+\_\+length\+\_\+cmd, \char`\"{}no service \textbf{ terminal}-\/\textbf{ length} [$<$0-\/512$>$]\char`\"{}, NO\+\_\+\+STR \char`\"{}Set up miscellaneous \textbf{ service\textbackslash{}n}\char`\"{} \char`\"{}System wide \textbf{ terminal} \textbf{ length} \textbf{ configuration\textbackslash{}n}\char`\"{} \char`\"{}Number of lines of VTY (0 means no line control)\textbackslash{}\textbf{ n}\char`\"{})
\item 
\textbf{ DEFUN\+\_\+\+HIDDEN} (do\+\_\+echo, echo\+\_\+cmd, \char`\"{}echo .MESSAGE\char`\"{}, \char`\"{}Echo a message back to the \textbf{ vty\textbackslash{}n}\char`\"{} \char`\"{}The message to \textbf{ echo\textbackslash{}n}\char`\"{})
\item 
\textbf{ DEFUN} (banner\+\_\+motd\+\_\+file, banner\+\_\+motd\+\_\+file\+\_\+cmd, \char`\"{}banner motd \textbf{ file} [FILE]\char`\"{}, \char`\"{}Set \textbf{ banner\textbackslash{}n}\char`\"{} \char`\"{}Banner \textbf{ for} \textbf{ motd\textbackslash{}n}\char`\"{} \char`\"{}Banner from a \textbf{ file\textbackslash{}n}\char`\"{} \char`\"{}\textbf{ Filename\textbackslash{}n}\char`\"{})
\item 
\textbf{ DEFUN} (banner\+\_\+motd\+\_\+default, banner\+\_\+motd\+\_\+default\+\_\+cmd, \char`\"{}banner motd default\char`\"{}, \char`\"{}Set banner \textbf{ string\textbackslash{}n}\char`\"{} \char`\"{}Strings \textbf{ for} \textbf{ motd\textbackslash{}n}\char`\"{} \char`\"{}Default \textbf{ string\textbackslash{}n}\char`\"{})
\item 
\textbf{ DEFUN} (no\+\_\+banner\+\_\+motd, no\+\_\+banner\+\_\+motd\+\_\+cmd, \char`\"{}no banner motd\char`\"{}, NO\+\_\+\+STR \char`\"{}Set banner \textbf{ string\textbackslash{}n}\char`\"{} \char`\"{}Strings \textbf{ for} \textbf{ motd\textbackslash{}n}\char`\"{})
\item 
int \textbf{ osmo\+\_\+vty\+\_\+write\+\_\+config\+\_\+file} (const char $\ast$filename)
\begin{DoxyCompactList}\small\item\em Write the current running config to a given file. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+vty\+\_\+save\+\_\+config\+\_\+file} (void)
\begin{DoxyCompactList}\small\item\em Save the current state to the config file. \end{DoxyCompactList}\item 
static \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+} ((constructor))
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ cmd\+\_\+element} \textbf{ config\+\_\+exit\+\_\+cmd}
\item 
struct \textbf{ cmd\+\_\+element} \textbf{ config\+\_\+help\+\_\+cmd}
\item 
struct \textbf{ cmd\+\_\+element} \textbf{ config\+\_\+list\+\_\+cmd}
\item 
struct \textbf{ cmd\+\_\+element} \textbf{ config\+\_\+end\+\_\+cmd}
\item 
void $\ast$ \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}
\item 
const struct \textbf{ value\+\_\+string} \textbf{ vty\+\_\+ref\+\_\+gen\+\_\+mode\+\_\+names} [$\,$]
\item 
const struct \textbf{ value\+\_\+string} \textbf{ vty\+\_\+ref\+\_\+gen\+\_\+mode\+\_\+desc} [$\,$]
\item 
void $\ast$ \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}
\item 
static struct timespec \textbf{ starttime}
\item 
\textbf{ vector} \textbf{ cmdvec}
\item 
struct \textbf{ host} \textbf{ host}
\item 
struct \textbf{ cmd\+\_\+node} \textbf{ auth\+\_\+node}
\item 
struct \textbf{ cmd\+\_\+node} \textbf{ view\+\_\+node}
\item 
struct \textbf{ cmd\+\_\+node} \textbf{ auth\+\_\+enable\+\_\+node}
\item 
struct \textbf{ cmd\+\_\+node} \textbf{ enable\+\_\+node}
\item 
struct \textbf{ cmd\+\_\+node} \textbf{ config\+\_\+node}
\item 
const char $\ast$ \textbf{ default\+\_\+motd} = \char`\"{}\char`\"{}
\item 
static const struct \textbf{ value\+\_\+string} \textbf{ cmd\+\_\+attr\+\_\+desc} [$\,$]
\item 
static const char $\ast$const \textbf{ cmd\+\_\+lib\+\_\+attr\+\_\+desc} [32]
\item 
static const char \textbf{ cmd\+\_\+lib\+\_\+attr\+\_\+letters} [32]
\item 
const struct \textbf{ value\+\_\+string} \textbf{ vty\+\_\+ref\+\_\+gen\+\_\+mode\+\_\+names} [$\,$]
\item 
const struct \textbf{ value\+\_\+string} \textbf{ vty\+\_\+ref\+\_\+gen\+\_\+mode\+\_\+desc} [$\,$]
\item 
\textbf{ config\+\_\+write\+\_\+memory\+\_\+cmd}
\item 
write \textbf{ memory}
\item 
write Write running configuration to \textbf{ network}
\item 
write Write running configuration to or \textbf{ terminal} \textbf{ n} Write configuration to the \textbf{ copy\+\_\+runningconfig\+\_\+startupconfig\+\_\+cmd}
\item 
write Write running configuration to or \textbf{ terminal} \textbf{ n} Write configuration to the copy running config startup \textbf{ config}
\item 
write Write running configuration to or \textbf{ terminal} \textbf{ n} Write configuration to the copy running \textbf{ config} startup Copy configuration \textbf{ n} Copy running \textbf{ config} to \textbf{ n} Copy running \textbf{ config} to startup \textbf{ config\+\_\+write\+\_\+terminal\+\_\+cmd}
\item 
write Write running configuration to or terminal \textbf{ n} Write configuration to the copy running \textbf{ config} startup Copy configuration \textbf{ n} Copy running \textbf{ config} to \textbf{ n} Copy running \textbf{ config} to startup write \textbf{ terminal}
\item 
write Write running configuration to or \textbf{ terminal} n Write configuration to the copy running \textbf{ config} startup Copy configuration n Copy running \textbf{ config} to n Copy running \textbf{ config} to startup write Write running configuration to or \textbf{ terminal} n Write to \textbf{ terminal} \textbf{ n}
\item 
struct \textbf{ cmd\+\_\+node} $\ast$ \textbf{ node}
\item 
\textbf{ else}
\item 
return \textbf{ CMD\+\_\+\+SUCCESS}
\item 
enum \textbf{ gsmtap\+\_\+um\+\_\+voice\+\_\+type} \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
VTY command handling. 



\doxysubsection{Macro Definition Documentation}
\mbox{\label{group__command_ga7a8f1df2b731617ea7ada9ba5cbdb704}} 
\index{VTY Command@{VTY Command}!ALIAS@{ALIAS}}
\index{ALIAS@{ALIAS}!VTY Command@{VTY Command}}
\doxysubsubsection{ALIAS}
{\footnotesize\ttfamily \#define ALIAS(\begin{DoxyParamCaption}\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})~  \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname, cmdname, cmdstr, helpstr, 0, 0)}

\mbox{\label{group__command_ga93297ce3c690450a4e63e41e3f34b5fb}} 
\index{VTY Command@{VTY Command}!ALIAS\_ATTR@{ALIAS\_ATTR}}
\index{ALIAS\_ATTR@{ALIAS\_ATTR}!VTY Command@{VTY Command}}
\doxysubsubsection{ALIAS\_ATTR}
{\footnotesize\ttfamily \#define ALIAS\+\_\+\+ATTR(\begin{DoxyParamCaption}\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr,  }\item[{}]{attr }\end{DoxyParamCaption})~  \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname, cmdname, cmdstr, helpstr, attr, 0)}

\mbox{\label{group__command_ga338f27c393b79c00fcace4b9887f8502}} 
\index{VTY Command@{VTY Command}!ALIAS\_DEPRECATED@{ALIAS\_DEPRECATED}}
\index{ALIAS\_DEPRECATED@{ALIAS\_DEPRECATED}!VTY Command@{VTY Command}}
\doxysubsubsection{ALIAS\_DEPRECATED}
{\footnotesize\ttfamily \#define ALIAS\+\_\+\+DEPRECATED(\begin{DoxyParamCaption}\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})~  \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname, cmdname, cmdstr, helpstr, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+DEPRECATED}, 0)}

\mbox{\label{group__command_gae3b574e878c0dba1c8c246684dba68d0}} 
\index{VTY Command@{VTY Command}!ALIAS\_HIDDEN@{ALIAS\_HIDDEN}}
\index{ALIAS\_HIDDEN@{ALIAS\_HIDDEN}!VTY Command@{VTY Command}}
\doxysubsubsection{ALIAS\_HIDDEN}
{\footnotesize\ttfamily \#define ALIAS\+\_\+\+HIDDEN(\begin{DoxyParamCaption}\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})~  \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname, cmdname, cmdstr, helpstr, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN}, 0)}

\mbox{\label{group__command_ga5f3c3029e3a4463e0bb09770149ca336}} 
\index{VTY Command@{VTY Command}!ALIAS\_SH@{ALIAS\_SH}}
\index{ALIAS\_SH@{ALIAS\_SH}!VTY Command@{VTY Command}}
\doxysubsubsection{ALIAS\_SH}
{\footnotesize\ttfamily \#define ALIAS\+\_\+\+SH(\begin{DoxyParamCaption}\item[{}]{daemon,  }\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})~  \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname, cmdname, cmdstr, helpstr, 0, daemon)}

\mbox{\label{group__command_gac557c7880f253b93c3590faed00936c9}} 
\index{VTY Command@{VTY Command}!ALIAS\_SH\_DEPRECATED@{ALIAS\_SH\_DEPRECATED}}
\index{ALIAS\_SH\_DEPRECATED@{ALIAS\_SH\_DEPRECATED}!VTY Command@{VTY Command}}
\doxysubsubsection{ALIAS\_SH\_DEPRECATED}
{\footnotesize\ttfamily \#define ALIAS\+\_\+\+SH\+\_\+\+DEPRECATED(\begin{DoxyParamCaption}\item[{}]{daemon,  }\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})~  \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname, cmdname, cmdstr, helpstr, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+DEPRECATED}, daemon)}

\mbox{\label{group__command_ga517a657ddbe602490679926e231bf645}} 
\index{VTY Command@{VTY Command}!ALIAS\_SH\_HIDDEN@{ALIAS\_SH\_HIDDEN}}
\index{ALIAS\_SH\_HIDDEN@{ALIAS\_SH\_HIDDEN}!VTY Command@{VTY Command}}
\doxysubsubsection{ALIAS\_SH\_HIDDEN}
{\footnotesize\ttfamily \#define ALIAS\+\_\+\+SH\+\_\+\+HIDDEN(\begin{DoxyParamCaption}\item[{}]{daemon,  }\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})~  \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname, cmdname, cmdstr, helpstr, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN}, daemon)}

\mbox{\label{group__command_ga5e57e5c61cf95c7b05c3f3e021fee5aa}} 
\index{VTY Command@{VTY Command}!AREA\_TAG\_STR@{AREA\_TAG\_STR}}
\index{AREA\_TAG\_STR@{AREA\_TAG\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{AREA\_TAG\_STR}
{\footnotesize\ttfamily \#define AREA\+\_\+\+TAG\+\_\+\+STR~\char`\"{}[area tag]\textbackslash{}\textbf{ n}\char`\"{}}

\mbox{\label{group__command_ga08051ff19b2d0b6fadba459bf0ed2df6}} 
\index{VTY Command@{VTY Command}!AS\_STR@{AS\_STR}}
\index{AS\_STR@{AS\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{AS\_STR}
{\footnotesize\ttfamily \#define AS\+\_\+\+STR~\char`\"{}AS \textbf{ number\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_ga44a223791487ad235e39f42a47d60005}} 
\index{VTY Command@{VTY Command}!BGP\_STR@{BGP\_STR}}
\index{BGP\_STR@{BGP\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{BGP\_STR}
{\footnotesize\ttfamily \#define BGP\+\_\+\+STR~\char`\"{}BGP \textbf{ information\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_ga315549aca62f71abb3dfe8fd1770039a}} 
\index{VTY Command@{VTY Command}!CLEAR\_STR@{CLEAR\_STR}}
\index{CLEAR\_STR@{CLEAR\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{CLEAR\_STR}
{\footnotesize\ttfamily \#define CLEAR\+\_\+\+STR~\char`\"{}Reset \textbf{ functions\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_gafd863d0b8b024ac84658f5f90087bd75}} 
\index{VTY Command@{VTY Command}!CMD\_ARGC\_MAX@{CMD\_ARGC\_MAX}}
\index{CMD\_ARGC\_MAX@{CMD\_ARGC\_MAX}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_ARGC\_MAX}
{\footnotesize\ttfamily \#define CMD\+\_\+\+ARGC\+\_\+\+MAX~256}

\mbox{\label{group__command_gafc4ddc647b807c0f88f42af9d0ac6d4e}} 
\index{VTY Command@{VTY Command}!CMD\_ATTR\_PUBLIC\_MASK@{CMD\_ATTR\_PUBLIC\_MASK}}
\index{CMD\_ATTR\_PUBLIC\_MASK@{CMD\_ATTR\_PUBLIC\_MASK}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_ATTR\_PUBLIC\_MASK}
{\footnotesize\ttfamily \#define CMD\+\_\+\+ATTR\+\_\+\+PUBLIC\+\_\+\+MASK~ (\textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN} $\vert$ \textbf{ CMD\+\_\+\+ATTR\+\_\+\+IMMEDIATE} $\vert$ \textbf{ CMD\+\_\+\+ATTR\+\_\+\+NODE\+\_\+\+EXIT})}

\mbox{\label{group__command_gad5ac7be44eb88dbf764939677e82b10f}} 
\index{VTY Command@{VTY Command}!CMD\_COMPLETE\_FULL\_MATCH@{CMD\_COMPLETE\_FULL\_MATCH}}
\index{CMD\_COMPLETE\_FULL\_MATCH@{CMD\_COMPLETE\_FULL\_MATCH}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_COMPLETE\_FULL\_MATCH}
{\footnotesize\ttfamily \#define CMD\+\_\+\+COMPLETE\+\_\+\+FULL\+\_\+\+MATCH~7}

\mbox{\label{group__command_ga9e0e784e45db546ff1a7f09b7b43ebb9}} 
\index{VTY Command@{VTY Command}!CMD\_COMPLETE\_LIST\_MATCH@{CMD\_COMPLETE\_LIST\_MATCH}}
\index{CMD\_COMPLETE\_LIST\_MATCH@{CMD\_COMPLETE\_LIST\_MATCH}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_COMPLETE\_LIST\_MATCH}
{\footnotesize\ttfamily \#define CMD\+\_\+\+COMPLETE\+\_\+\+LIST\+\_\+\+MATCH~9}

\mbox{\label{group__command_ga40e2355b69f7202cdd91b873749e2efc}} 
\index{VTY Command@{VTY Command}!CMD\_COMPLETE\_MATCH@{CMD\_COMPLETE\_MATCH}}
\index{CMD\_COMPLETE\_MATCH@{CMD\_COMPLETE\_MATCH}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_COMPLETE\_MATCH}
{\footnotesize\ttfamily \#define CMD\+\_\+\+COMPLETE\+\_\+\+MATCH~8}

\mbox{\label{group__command_gaaca9c63a322f9ed0311fd20404ce8e9a}} 
\index{VTY Command@{VTY Command}!CMD\_ERR\_AMBIGUOUS@{CMD\_ERR\_AMBIGUOUS}}
\index{CMD\_ERR\_AMBIGUOUS@{CMD\_ERR\_AMBIGUOUS}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_ERR\_AMBIGUOUS}
{\footnotesize\ttfamily \#define CMD\+\_\+\+ERR\+\_\+\+AMBIGUOUS~3}

\mbox{\label{group__command_ga7b262e3cccbc2ba5dc17c68bc10e3ead}} 
\index{VTY Command@{VTY Command}!CMD\_ERR\_EXEED\_ARGC\_MAX@{CMD\_ERR\_EXEED\_ARGC\_MAX}}
\index{CMD\_ERR\_EXEED\_ARGC\_MAX@{CMD\_ERR\_EXEED\_ARGC\_MAX}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_ERR\_EXEED\_ARGC\_MAX}
{\footnotesize\ttfamily \#define CMD\+\_\+\+ERR\+\_\+\+EXEED\+\_\+\+ARGC\+\_\+\+MAX~5}

\mbox{\label{group__command_ga9442a1eab547aab6955358c45814015c}} 
\index{VTY Command@{VTY Command}!CMD\_ERR\_INCOMPLETE@{CMD\_ERR\_INCOMPLETE}}
\index{CMD\_ERR\_INCOMPLETE@{CMD\_ERR\_INCOMPLETE}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_ERR\_INCOMPLETE}
{\footnotesize\ttfamily \#define CMD\+\_\+\+ERR\+\_\+\+INCOMPLETE~4}

\mbox{\label{group__command_ga2b3fbdfdf07e5388430a9493c1f74b85}} 
\index{VTY Command@{VTY Command}!CMD\_ERR\_INVALID\_INDENT@{CMD\_ERR\_INVALID\_INDENT}}
\index{CMD\_ERR\_INVALID\_INDENT@{CMD\_ERR\_INVALID\_INDENT}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_ERR\_INVALID\_INDENT}
{\footnotesize\ttfamily \#define CMD\+\_\+\+ERR\+\_\+\+INVALID\+\_\+\+INDENT~11}

\mbox{\label{group__command_ga007b585758677d61751303a88c8914d5}} 
\index{VTY Command@{VTY Command}!CMD\_ERR\_NO\_MATCH@{CMD\_ERR\_NO\_MATCH}}
\index{CMD\_ERR\_NO\_MATCH@{CMD\_ERR\_NO\_MATCH}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_ERR\_NO\_MATCH}
{\footnotesize\ttfamily \#define CMD\+\_\+\+ERR\+\_\+\+NO\+\_\+\+MATCH~2}

\mbox{\label{group__command_ga6f6aa6c6eb58a1df028034d288d79ddf}} 
\index{VTY Command@{VTY Command}!CMD\_ERR\_NOTHING\_TODO@{CMD\_ERR\_NOTHING\_TODO}}
\index{CMD\_ERR\_NOTHING\_TODO@{CMD\_ERR\_NOTHING\_TODO}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_ERR\_NOTHING\_TODO}
{\footnotesize\ttfamily \#define CMD\+\_\+\+ERR\+\_\+\+NOTHING\+\_\+\+TODO~6}

\mbox{\label{group__command_ga8f2fb270600cf013b5cd993e6ddce2b3}} 
\index{VTY Command@{VTY Command}!CMD\_IPV4@{CMD\_IPV4}}
\index{CMD\_IPV4@{CMD\_IPV4}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_IPV4}
{\footnotesize\ttfamily \#define CMD\+\_\+\+IPV4(\begin{DoxyParamCaption}\item[{}]{\textbf{ S} }\end{DoxyParamCaption})~((strcmp ((\textbf{ S}), \char`\"{}A.\+B.\+C.\+D\char`\"{}) == 0))}

\mbox{\label{group__command_ga66542c1c16474deb8fe0254926d72f27}} 
\index{VTY Command@{VTY Command}!CMD\_IPV4\_PREFIX@{CMD\_IPV4\_PREFIX}}
\index{CMD\_IPV4\_PREFIX@{CMD\_IPV4\_PREFIX}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_IPV4\_PREFIX}
{\footnotesize\ttfamily \#define CMD\+\_\+\+IPV4\+\_\+\+PREFIX(\begin{DoxyParamCaption}\item[{}]{\textbf{ S} }\end{DoxyParamCaption})~((strcmp ((\textbf{ S}), \char`\"{}A.\+B.\+C.\+D/M\char`\"{}) == 0))}

\mbox{\label{group__command_ga03d8bd415477f32d12390bebc5c33b48}} 
\index{VTY Command@{VTY Command}!CMD\_IPV6@{CMD\_IPV6}}
\index{CMD\_IPV6@{CMD\_IPV6}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_IPV6}
{\footnotesize\ttfamily \#define CMD\+\_\+\+IPV6(\begin{DoxyParamCaption}\item[{}]{\textbf{ S} }\end{DoxyParamCaption})~((strcmp ((\textbf{ S}), \char`\"{}X\+:\+X\+::\+X\+:X\char`\"{}) == 0))}

\mbox{\label{group__command_gacb226c956cf0cf6703b3db76066bcbf3}} 
\index{VTY Command@{VTY Command}!CMD\_IPV6\_PREFIX@{CMD\_IPV6\_PREFIX}}
\index{CMD\_IPV6\_PREFIX@{CMD\_IPV6\_PREFIX}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_IPV6\_PREFIX}
{\footnotesize\ttfamily \#define CMD\+\_\+\+IPV6\+\_\+\+PREFIX(\begin{DoxyParamCaption}\item[{}]{\textbf{ S} }\end{DoxyParamCaption})~((strcmp ((\textbf{ S}), \char`\"{}X\+:\+X\+::\+X\+:X/M\char`\"{}) == 0))}

\mbox{\label{group__command_gab1b77acbf364bfe2710e3773a80607c4}} 
\index{VTY Command@{VTY Command}!CMD\_OPTION@{CMD\_OPTION}}
\index{CMD\_OPTION@{CMD\_OPTION}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_OPTION}
{\footnotesize\ttfamily \#define CMD\+\_\+\+OPTION(\begin{DoxyParamCaption}\item[{}]{\textbf{ S} }\end{DoxyParamCaption})~((\textbf{ S}[0]) == \textquotesingle{}[\textquotesingle{})}

\mbox{\label{group__command_ga99df8c7f097a560e24b9e78ccafabfe0}} 
\index{VTY Command@{VTY Command}!CMD\_RANGE@{CMD\_RANGE}}
\index{CMD\_RANGE@{CMD\_RANGE}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_RANGE}
{\footnotesize\ttfamily \#define CMD\+\_\+\+RANGE(\begin{DoxyParamCaption}\item[{}]{\textbf{ S} }\end{DoxyParamCaption})~((\textbf{ S}[0] == \textquotesingle{}$<$\textquotesingle{}))}

\mbox{\label{group__command_gaa2008c1bc36d9ef42571a6ec52516d02}} 
\index{VTY Command@{VTY Command}!CMD\_SUCCESS@{CMD\_SUCCESS}}
\index{CMD\_SUCCESS@{CMD\_SUCCESS}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_SUCCESS}
{\footnotesize\ttfamily \#define CMD\+\_\+\+SUCCESS~0}



Return value of the commands. 

\mbox{\label{group__command_ga8d7629f3e6636982242e203d410b8bed}} 
\index{VTY Command@{VTY Command}!CMD\_SUCCESS\_DAEMON@{CMD\_SUCCESS\_DAEMON}}
\index{CMD\_SUCCESS\_DAEMON@{CMD\_SUCCESS\_DAEMON}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_SUCCESS\_DAEMON}
{\footnotesize\ttfamily \#define CMD\+\_\+\+SUCCESS\+\_\+\+DAEMON~10}

\mbox{\label{group__command_ga516b412fe075fb8ab8e86a0d3b8e15f9}} 
\index{VTY Command@{VTY Command}!CMD\_VARARG@{CMD\_VARARG}}
\index{CMD\_VARARG@{CMD\_VARARG}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_VARARG}
{\footnotesize\ttfamily \#define CMD\+\_\+\+VARARG(\begin{DoxyParamCaption}\item[{}]{\textbf{ S} }\end{DoxyParamCaption})~((\textbf{ S}[0]) == \textquotesingle{}.\textquotesingle{})}

\mbox{\label{group__command_ga905c839bec4d00c29b03a4dc5d1e0a1f}} 
\index{VTY Command@{VTY Command}!CMD\_VARIABLE@{CMD\_VARIABLE}}
\index{CMD\_VARIABLE@{CMD\_VARIABLE}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_VARIABLE}
{\footnotesize\ttfamily \#define CMD\+\_\+\+VARIABLE(\begin{DoxyParamCaption}\item[{}]{\textbf{ S} }\end{DoxyParamCaption})~(((\textbf{ S}[0]) $>$= \textquotesingle{}A\textquotesingle{} \&\& (\textbf{ S}[0]) $<$= \textquotesingle{}Z\textquotesingle{}) $\vert$$\vert$ ((\textbf{ S}[0]) == \textquotesingle{}$<$\textquotesingle{}))}

\mbox{\label{group__command_ga92dc6dc30d8ef3651eb9d47a6083b025}} 
\index{VTY Command@{VTY Command}!CMD\_WARNING@{CMD\_WARNING}}
\index{CMD\_WARNING@{CMD\_WARNING}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_WARNING}
{\footnotesize\ttfamily \#define CMD\+\_\+\+WARNING~1}

\mbox{\label{group__command_ga0837aaf45e6c54e1340b0d2df36cd599}} 
\index{VTY Command@{VTY Command}!CONF\_BACKUP\_EXT@{CONF\_BACKUP\_EXT}}
\index{CONF\_BACKUP\_EXT@{CONF\_BACKUP\_EXT}!VTY Command@{VTY Command}}
\doxysubsubsection{CONF\_BACKUP\_EXT}
{\footnotesize\ttfamily \#define CONF\+\_\+\+BACKUP\+\_\+\+EXT~\char`\"{}.sav\char`\"{}}

\mbox{\label{group__command_ga77d85df09aa155aae8cb8bafc4231cc9}} 
\index{VTY Command@{VTY Command}!CONFIGFILE\_MASK@{CONFIGFILE\_MASK}}
\index{CONFIGFILE\_MASK@{CONFIGFILE\_MASK}!VTY Command@{VTY Command}}
\doxysubsubsection{CONFIGFILE\_MASK}
{\footnotesize\ttfamily \#define CONFIGFILE\+\_\+\+MASK~022}

\mbox{\label{group__command_gaa32f22e2cc4c90e73981459688712288}} 
\index{VTY Command@{VTY Command}!DEBUG\_STR@{DEBUG\_STR}}
\index{DEBUG\_STR@{DEBUG\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{DEBUG\_STR}
{\footnotesize\ttfamily \#define DEBUG\+\_\+\+STR~\char`\"{}Debugging functions (see also \textquotesingle{}undebug\textquotesingle{})\textbackslash{}\textbf{ n}\char`\"{}}

\mbox{\label{group__command_ga86b046506937c447aecbb962745ebef7}} 
\index{VTY Command@{VTY Command}!DEFSH@{DEFSH}}
\index{DEFSH@{DEFSH}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFSH}
{\footnotesize\ttfamily \#define DEFSH(\begin{DoxyParamCaption}\item[{}]{daemon,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})~  \textbf{ DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(NULL, cmdname, cmdstr, helpstr, 0, daemon) \textbackslash{}}

\mbox{\label{group__command_gacc29190d35966eddbcfeceed3aab6d25}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN}
{\footnotesize\ttfamily \#define DEFUN(\begin{DoxyParamCaption}\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{  DEFUN\_CMD\_FUNC\_DECL(funcname) \(\backslash\)}
\DoxyCodeLine{  DEFUN\_CMD\_ELEMENT(funcname, cmdname, cmdstr, helpstr, 0, 0) \(\backslash\)}
\DoxyCodeLine{  DEFUN\_CMD\_FUNC\_TEXT(funcname)}

\end{DoxyCode}


Macro for defining a VTY node and function. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em funcname} & Name of the function implementing the node \\
\hline
\mbox{\texttt{ in}}  & {\em cmdname} & Name of the command node \\
\hline
\mbox{\texttt{ in}}  & {\em cmdstr} & String with syntax of node \\
\hline
\mbox{\texttt{ in}}  & {\em helpstr} & String with help message of node \\
\hline
\end{DoxyParams}
\mbox{\label{group__command_ga2c0e2d9569f693b35a347cab48e77700}} 
\index{VTY Command@{VTY Command}!DEFUN\_ATTR@{DEFUN\_ATTR}}
\index{DEFUN\_ATTR@{DEFUN\_ATTR}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN\_ATTR}
{\footnotesize\ttfamily \#define DEFUN\+\_\+\+ATTR(\begin{DoxyParamCaption}\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr,  }\item[{}]{attr }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{  DEFUN\_CMD\_FUNC\_DECL(funcname) \(\backslash\)}
\DoxyCodeLine{  DEFUN\_CMD\_ELEMENT(funcname, cmdname, cmdstr, helpstr, attr, 0) \(\backslash\)}
\DoxyCodeLine{  DEFUN\_CMD\_FUNC\_TEXT(funcname)}

\end{DoxyCode}
\mbox{\label{group__command_gab92e4a73daba7758da09cda0852c817a}} 
\index{VTY Command@{VTY Command}!DEFUN\_ATTR\_USRATTR@{DEFUN\_ATTR\_USRATTR}}
\index{DEFUN\_ATTR\_USRATTR@{DEFUN\_ATTR\_USRATTR}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN\_ATTR\_USRATTR}
{\footnotesize\ttfamily \#define DEFUN\+\_\+\+ATTR\+\_\+\+USRATTR(\begin{DoxyParamCaption}\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{attr,  }\item[{}]{usrattr,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{  DEFUN\_CMD\_FUNC\_DECL(funcname) \(\backslash\)}
\DoxyCodeLine{  DEFUN\_CMD\_ELEMENT\_ATTR\_USRATTR(funcname, cmdname, cmdstr, helpstr, attr, usrattr) \(\backslash\)}
\DoxyCodeLine{  DEFUN\_CMD\_FUNC\_TEXT(funcname)}

\end{DoxyCode}


Macro for defining a VTY node and function with global \& program specific attributes. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em funcname} & Name of the function implementing the node. \\
\hline
\mbox{\texttt{ in}}  & {\em cmdname} & Name of the command node. \\
\hline
\mbox{\texttt{ in}}  & {\em attr} & Global attributes (see CMD\+\_\+\+ATTR\+\_\+$\ast$). \\
\hline
\mbox{\texttt{ in}}  & {\em usrattr} & Program specific attributes. \\
\hline
\mbox{\texttt{ in}}  & {\em cmdstr} & String with syntax of node. \\
\hline
\mbox{\texttt{ in}}  & {\em helpstr} & String with help message of node. \\
\hline
\end{DoxyParams}
\mbox{\label{group__command_gaa80722e81119bded43eef3296ce7f3c0}} 
\index{VTY Command@{VTY Command}!DEFUN\_CMD\_ELEMENT@{DEFUN\_CMD\_ELEMENT}}
\index{DEFUN\_CMD\_ELEMENT@{DEFUN\_CMD\_ELEMENT}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN\_CMD\_ELEMENT}
{\footnotesize\ttfamily \#define DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT(\begin{DoxyParamCaption}\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr,  }\item[{}]{attrs,  }\item[{}]{dnum }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{  \textcolor{keyword}{static} \textcolor{keyword}{struct }cmd\_element cmdname = \(\backslash\)}
\DoxyCodeLine{  \{ \(\backslash\)}
\DoxyCodeLine{    .string = cmdstr, \(\backslash\)}
\DoxyCodeLine{    .func = funcname, \(\backslash\)}
\DoxyCodeLine{    .doc = helpstr, \(\backslash\)}
\DoxyCodeLine{    .attr = attrs, \(\backslash\)}
\DoxyCodeLine{    .daemon = dnum, \(\backslash\)}
\DoxyCodeLine{  \};}

\end{DoxyCode}
\mbox{\label{group__command_ga89e33c5156fe1b27c44720f989f65980}} 
\index{VTY Command@{VTY Command}!DEFUN\_CMD\_ELEMENT\_ATTR\_USRATTR@{DEFUN\_CMD\_ELEMENT\_ATTR\_USRATTR}}
\index{DEFUN\_CMD\_ELEMENT\_ATTR\_USRATTR@{DEFUN\_CMD\_ELEMENT\_ATTR\_USRATTR}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN\_CMD\_ELEMENT\_ATTR\_USRATTR}
{\footnotesize\ttfamily \#define DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT\+\_\+\+ATTR\+\_\+\+USRATTR(\begin{DoxyParamCaption}\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr,  }\item[{}]{attrs,  }\item[{}]{usrattrs }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{  \textcolor{keyword}{static} \textcolor{keyword}{struct }cmd\_element cmdname = \(\backslash\)}
\DoxyCodeLine{  \{ \(\backslash\)}
\DoxyCodeLine{    .string = cmdstr, \(\backslash\)}
\DoxyCodeLine{    .func = funcname, \(\backslash\)}
\DoxyCodeLine{    .doc = helpstr, \(\backslash\)}
\DoxyCodeLine{    .attr = attrs, \(\backslash\)}
\DoxyCodeLine{    .usrattr = usrattrs, \(\backslash\)}
\DoxyCodeLine{  \};}

\end{DoxyCode}
\mbox{\label{group__command_ga5d5641cde94e516925163a8a943440bd}} 
\index{VTY Command@{VTY Command}!DEFUN\_CMD\_FUNC\_DECL@{DEFUN\_CMD\_FUNC\_DECL}}
\index{DEFUN\_CMD\_FUNC\_DECL@{DEFUN\_CMD\_FUNC\_DECL}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN\_CMD\_FUNC\_DECL}
{\footnotesize\ttfamily \#define DEFUN\+\_\+\+CMD\+\_\+\+FUNC\+\_\+\+DECL(\begin{DoxyParamCaption}\item[{}]{funcname }\end{DoxyParamCaption})~  static int funcname (struct \textbf{ cmd\+\_\+element} $\ast$, struct \textbf{ vty} $\ast$, int, const char $\ast$[$\,$]); \textbackslash{}}

\mbox{\label{group__command_ga85be340126315c81c48bfbfbe84fe594}} 
\index{VTY Command@{VTY Command}!DEFUN\_CMD\_FUNC\_TEXT@{DEFUN\_CMD\_FUNC\_TEXT}}
\index{DEFUN\_CMD\_FUNC\_TEXT@{DEFUN\_CMD\_FUNC\_TEXT}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN\_CMD\_FUNC\_TEXT}
{\footnotesize\ttfamily \#define DEFUN\+\_\+\+CMD\+\_\+\+FUNC\+\_\+\+TEXT(\begin{DoxyParamCaption}\item[{}]{funcname }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{  \textcolor{keyword}{static} \textcolor{keywordtype}{int} funcname \(\backslash\)}
\DoxyCodeLine{    (\textcolor{keyword}{struct }cmd\_element *self, \textcolor{keyword}{struct }vty *vty, \textcolor{keywordtype}{int} argc, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *argv[])}

\end{DoxyCode}
\mbox{\label{group__command_ga58016d03af2b708a14d8067e4e1c0aa9}} 
\index{VTY Command@{VTY Command}!DEFUN\_DEPRECATED@{DEFUN\_DEPRECATED}}
\index{DEFUN\_DEPRECATED@{DEFUN\_DEPRECATED}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN\_DEPRECATED}
{\footnotesize\ttfamily \#define DEFUN\+\_\+\+DEPRECATED(\begin{DoxyParamCaption}\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})~  \textbf{ DEFUN\+\_\+\+ATTR} (funcname, cmdname, cmdstr, helpstr, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+DEPRECATED})}

\mbox{\label{group__command_ga84e1cbe9ca9aa1a82da741652ca25f2c}} 
\index{VTY Command@{VTY Command}!DEFUN\_HIDDEN@{DEFUN\_HIDDEN}}
\index{DEFUN\_HIDDEN@{DEFUN\_HIDDEN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN\_HIDDEN}
{\footnotesize\ttfamily \#define DEFUN\+\_\+\+HIDDEN(\begin{DoxyParamCaption}\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})~  \textbf{ DEFUN\+\_\+\+ATTR} (funcname, cmdname, cmdstr, helpstr, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN})}

\mbox{\label{group__command_gac523c4780e6daec7fecb90d074ec9e7d}} 
\index{VTY Command@{VTY Command}!DEFUN\_NOSH@{DEFUN\_NOSH}}
\index{DEFUN\_NOSH@{DEFUN\_NOSH}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN\_NOSH}
{\footnotesize\ttfamily \#define DEFUN\+\_\+\+NOSH(\begin{DoxyParamCaption}\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})~  \textbf{ DEFUN}(funcname, cmdname, cmdstr, helpstr)}

\mbox{\label{group__command_ga03786948111c4225c4949fde83c1d3ed}} 
\index{VTY Command@{VTY Command}!DEFUN\_USRATTR@{DEFUN\_USRATTR}}
\index{DEFUN\_USRATTR@{DEFUN\_USRATTR}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN\_USRATTR}
{\footnotesize\ttfamily \#define DEFUN\+\_\+\+USRATTR(\begin{DoxyParamCaption}\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{usrattr,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})~  \textbf{ DEFUN\+\_\+\+ATTR\+\_\+\+USRATTR}(funcname, cmdname, 0, usrattr, cmdstr, helpstr)}

\mbox{\label{group__command_ga09b9a6bc47d7a80648d8d1fdf33092a1}} 
\index{VTY Command@{VTY Command}!DEFUNSH@{DEFUNSH}}
\index{DEFUNSH@{DEFUNSH}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUNSH}
{\footnotesize\ttfamily \#define DEFUNSH(\begin{DoxyParamCaption}\item[{}]{daemon,  }\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{  DEFUN\_CMD\_FUNC\_DECL(funcname) \(\backslash\)}
\DoxyCodeLine{  DEFUN\_CMD\_ELEMENT(funcname, cmdname, cmdstr, helpstr, 0, daemon) \(\backslash\)}
\DoxyCodeLine{  DEFUN\_CMD\_FUNC\_TEXT(funcname)}

\end{DoxyCode}
\mbox{\label{group__command_ga612c08b1648a89b4e2e7495c2916c95b}} 
\index{VTY Command@{VTY Command}!DEFUNSH\_ATTR@{DEFUNSH\_ATTR}}
\index{DEFUNSH\_ATTR@{DEFUNSH\_ATTR}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUNSH\_ATTR}
{\footnotesize\ttfamily \#define DEFUNSH\+\_\+\+ATTR(\begin{DoxyParamCaption}\item[{}]{daemon,  }\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr,  }\item[{}]{attr }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{  DEFUN\_CMD\_FUNC\_DECL(funcname) \(\backslash\)}
\DoxyCodeLine{  DEFUN\_CMD\_ELEMENT(funcname, cmdname, cmdstr, helpstr, attr, daemon) \(\backslash\)}
\DoxyCodeLine{  DEFUN\_CMD\_FUNC\_TEXT(funcname)}

\end{DoxyCode}
\mbox{\label{group__command_ga30f376d4a7676935f618936582bc783b}} 
\index{VTY Command@{VTY Command}!DEFUNSH\_DEPRECATED@{DEFUNSH\_DEPRECATED}}
\index{DEFUNSH\_DEPRECATED@{DEFUNSH\_DEPRECATED}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUNSH\_DEPRECATED}
{\footnotesize\ttfamily \#define DEFUNSH\+\_\+\+DEPRECATED(\begin{DoxyParamCaption}\item[{}]{daemon,  }\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})~  \textbf{ DEFUNSH\+\_\+\+ATTR} (daemon, funcname, cmdname, cmdstr, helpstr, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+DEPRECATED})}

\mbox{\label{group__command_gaccfe5e755bd42f5143a681c95b6549cd}} 
\index{VTY Command@{VTY Command}!DEFUNSH\_HIDDEN@{DEFUNSH\_HIDDEN}}
\index{DEFUNSH\_HIDDEN@{DEFUNSH\_HIDDEN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUNSH\_HIDDEN}
{\footnotesize\ttfamily \#define DEFUNSH\+\_\+\+HIDDEN(\begin{DoxyParamCaption}\item[{}]{daemon,  }\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})~  \textbf{ DEFUNSH\+\_\+\+ATTR} (daemon, funcname, cmdname, cmdstr, helpstr, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN})}

\mbox{\label{group__command_ga34b7ab8b33614c0d0422643e60eff8cc}} 
\index{VTY Command@{VTY Command}!gALIAS@{gALIAS}}
\index{gALIAS@{gALIAS}!VTY Command@{VTY Command}}
\doxysubsubsection{gALIAS}
{\footnotesize\ttfamily \#define g\+ALIAS(\begin{DoxyParamCaption}\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})~  \textbf{ g\+DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT}(funcname, cmdname, cmdstr, helpstr, 0, 0)}

\mbox{\label{group__command_gaacece6481a1eb59021986679c2e20228}} 
\index{VTY Command@{VTY Command}!gDEFUN@{gDEFUN}}
\index{gDEFUN@{gDEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{gDEFUN}
{\footnotesize\ttfamily \#define g\+DEFUN(\begin{DoxyParamCaption}\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{  DEFUN\_CMD\_FUNC\_DECL(funcname) \(\backslash\)}
\DoxyCodeLine{  gDEFUN\_CMD\_ELEMENT(funcname, cmdname, cmdstr, helpstr, 0, 0) \(\backslash\)}
\DoxyCodeLine{  DEFUN\_CMD\_FUNC\_TEXT(funcname)}

\end{DoxyCode}


Macro for defining a non-\/static (global) VTY node and function. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em funcname} & Name of the function implementing the node \\
\hline
\mbox{\texttt{ in}}  & {\em cmdname} & Name of the command node \\
\hline
\mbox{\texttt{ in}}  & {\em cmdstr} & String with syntax of node \\
\hline
\mbox{\texttt{ in}}  & {\em helpstr} & String with help message of node \\
\hline
\end{DoxyParams}
\mbox{\label{group__command_ga56925b07e82c25db2ae6cf0abacb333f}} 
\index{VTY Command@{VTY Command}!gDEFUN\_CMD\_ELEMENT@{gDEFUN\_CMD\_ELEMENT}}
\index{gDEFUN\_CMD\_ELEMENT@{gDEFUN\_CMD\_ELEMENT}!VTY Command@{VTY Command}}
\doxysubsubsection{gDEFUN\_CMD\_ELEMENT}
{\footnotesize\ttfamily \#define g\+DEFUN\+\_\+\+CMD\+\_\+\+ELEMENT(\begin{DoxyParamCaption}\item[{}]{funcname,  }\item[{}]{cmdname,  }\item[{}]{cmdstr,  }\item[{}]{helpstr,  }\item[{}]{attrs,  }\item[{}]{dnum }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{  \textcolor{keyword}{struct }cmd\_element cmdname = \(\backslash\)}
\DoxyCodeLine{  \{ \(\backslash\)}
\DoxyCodeLine{    .string = cmdstr, \(\backslash\)}
\DoxyCodeLine{    .func = funcname, \(\backslash\)}
\DoxyCodeLine{    .doc = helpstr, \(\backslash\)}
\DoxyCodeLine{    .attr = attrs, \(\backslash\)}
\DoxyCodeLine{    .daemon = dnum, \(\backslash\)}
\DoxyCodeLine{  \};}

\end{DoxyCode}
\mbox{\label{group__command_ga3d906e204dcc40f82d2a7f0933e755a7}} 
\index{VTY Command@{VTY Command}!IFNAME\_STR@{IFNAME\_STR}}
\index{IFNAME\_STR@{IFNAME\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{IFNAME\_STR}
{\footnotesize\ttfamily \#define IFNAME\+\_\+\+STR~\char`\"{}Interface \textbf{ name}(e.\+g. ep0)\textbackslash{}\textbf{ n}\char`\"{}}

\mbox{\label{group__command_ga1891a946e81886add338bf517a1c7e4f}} 
\index{VTY Command@{VTY Command}!IN\_STR@{IN\_STR}}
\index{IN\_STR@{IN\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{IN\_STR}
{\footnotesize\ttfamily \#define IN\+\_\+\+STR~\char`\"{}Filter incoming routing \textbf{ updates\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_gabf6d0e1935a2b3a207e60a6a6148a748}} 
\index{VTY Command@{VTY Command}!INTERFACE\_STR@{INTERFACE\_STR}}
\index{INTERFACE\_STR@{INTERFACE\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{INTERFACE\_STR}
{\footnotesize\ttfamily \#define INTERFACE\+\_\+\+STR~\char`\"{}Interface \textbf{ infomation\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_ga878a4dd8ec43cd96c88a08ba2e3d68b7}} 
\index{VTY Command@{VTY Command}!IP6\_STR@{IP6\_STR}}
\index{IP6\_STR@{IP6\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{IP6\_STR}
{\footnotesize\ttfamily \#define IP6\+\_\+\+STR~\char`\"{}IPv6 \textbf{ Information\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_gaf45438f811eb6711be47ea2555b12f75}} 
\index{VTY Command@{VTY Command}!IP\_STR@{IP\_STR}}
\index{IP\_STR@{IP\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{IP\_STR}
{\footnotesize\ttfamily \#define IP\+\_\+\+STR~\char`\"{}IP \textbf{ information\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_ga0145bf20c30f29ad90dbf8d4900a0db4}} 
\index{VTY Command@{VTY Command}!IPV6\_ADDR\_STR@{IPV6\_ADDR\_STR}}
\index{IPV6\_ADDR\_STR@{IPV6\_ADDR\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{IPV6\_ADDR\_STR}
{\footnotesize\ttfamily \#define IPV6\+\_\+\+ADDR\+\_\+\+STR~\char`\"{}0123456789abcdef\+ABCDEF\+:.\%\char`\"{}}

\mbox{\label{group__command_gab9dcf4ad2e002c8ffd171fb223312ddc}} 
\index{VTY Command@{VTY Command}!IPV6\_PREFIX\_STR@{IPV6\_PREFIX\_STR}}
\index{IPV6\_PREFIX\_STR@{IPV6\_PREFIX\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{IPV6\_PREFIX\_STR}
{\footnotesize\ttfamily \#define IPV6\+\_\+\+PREFIX\+\_\+\+STR~\char`\"{}0123456789abcdef\+ABCDEF\+:.\%/\char`\"{}}

\mbox{\label{group__command_ga97fa3de206286c30e3efe26747c25352}} 
\index{VTY Command@{VTY Command}!IPV6\_STR@{IPV6\_STR}}
\index{IPV6\_STR@{IPV6\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{IPV6\_STR}
{\footnotesize\ttfamily \#define IPV6\+\_\+\+STR~\char`\"{}IPv6 \textbf{ information\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_gad2344e133bb5d84ce8df0fbe5531ce52}} 
\index{VTY Command@{VTY Command}!ISIS\_STR@{ISIS\_STR}}
\index{ISIS\_STR@{ISIS\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{ISIS\_STR}
{\footnotesize\ttfamily \#define ISIS\+\_\+\+STR~\char`\"{}IS-\/IS \textbf{ information\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_gaa209fb522314dc6fe1a295ae25d24a51}} 
\index{VTY Command@{VTY Command}!MATCH\_STR@{MATCH\_STR}}
\index{MATCH\_STR@{MATCH\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{MATCH\_STR}
{\footnotesize\ttfamily \#define MATCH\+\_\+\+STR~\char`\"{}Match values from routing \textbf{ table\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_ga1e4cc9c0c2f29229182af13058f339c3}} 
\index{VTY Command@{VTY Command}!MBGP\_STR@{MBGP\_STR}}
\index{MBGP\_STR@{MBGP\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{MBGP\_STR}
{\footnotesize\ttfamily \#define MBGP\+\_\+\+STR~\char`\"{}MBGP \textbf{ information\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_gadea1765cb4d5317694399cb0f03ba7b8}} 
\index{VTY Command@{VTY Command}!NEIGHBOR\_ADDR\_STR@{NEIGHBOR\_ADDR\_STR}}
\index{NEIGHBOR\_ADDR\_STR@{NEIGHBOR\_ADDR\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{NEIGHBOR\_ADDR\_STR}
{\footnotesize\ttfamily \#define NEIGHBOR\+\_\+\+ADDR\+\_\+\+STR~\char`\"{}Neighbor \textbf{ address\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_ga4de8407d56f37cd6c19eb0eec37c64d9}} 
\index{VTY Command@{VTY Command}!NEIGHBOR\_ADDR\_STR2@{NEIGHBOR\_ADDR\_STR2}}
\index{NEIGHBOR\_ADDR\_STR2@{NEIGHBOR\_ADDR\_STR2}!VTY Command@{VTY Command}}
\doxysubsubsection{NEIGHBOR\_ADDR\_STR2}
{\footnotesize\ttfamily \#define NEIGHBOR\+\_\+\+ADDR\+\_\+\+STR2~\char`\"{}Neighbor address\textbackslash{}n\+Neighbor \textbf{ tag\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_gaebb4a30acc8d3ddd8e4fc1ba12f579bc}} 
\index{VTY Command@{VTY Command}!NEIGHBOR\_CMD@{NEIGHBOR\_CMD}}
\index{NEIGHBOR\_CMD@{NEIGHBOR\_CMD}!VTY Command@{VTY Command}}
\doxysubsubsection{NEIGHBOR\_CMD}
{\footnotesize\ttfamily \#define NEIGHBOR\+\_\+\+CMD~\char`\"{}neighbor A.\+B.\+C.\+D \char`\"{}}

\mbox{\label{group__command_ga1fcf9d7faf91221a2240536d8e45dd26}} 
\index{VTY Command@{VTY Command}!NEIGHBOR\_CMD2@{NEIGHBOR\_CMD2}}
\index{NEIGHBOR\_CMD2@{NEIGHBOR\_CMD2}!VTY Command@{VTY Command}}
\doxysubsubsection{NEIGHBOR\_CMD2}
{\footnotesize\ttfamily \#define NEIGHBOR\+\_\+\+CMD2~\char`\"{}neighbor (A.\+B.\+C.\+D$\vert$WORD) \char`\"{}}

\mbox{\label{group__command_ga7ad323ae5bc0e42428860cf41bed909d}} 
\index{VTY Command@{VTY Command}!NEIGHBOR\_STR@{NEIGHBOR\_STR}}
\index{NEIGHBOR\_STR@{NEIGHBOR\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{NEIGHBOR\_STR}
{\footnotesize\ttfamily \#define NEIGHBOR\+\_\+\+STR~\char`\"{}Specify neighbor \textbf{ router\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_gaca3891de5d7f3d82be656811c65125c9}} 
\index{VTY Command@{VTY Command}!NO\_NEIGHBOR\_CMD@{NO\_NEIGHBOR\_CMD}}
\index{NO\_NEIGHBOR\_CMD@{NO\_NEIGHBOR\_CMD}!VTY Command@{VTY Command}}
\doxysubsubsection{NO\_NEIGHBOR\_CMD}
{\footnotesize\ttfamily \#define NO\+\_\+\+NEIGHBOR\+\_\+\+CMD~\char`\"{}no neighbor A.\+B.\+C.\+D \char`\"{}}

\mbox{\label{group__command_ga479280b457cb763e582d15586187a11d}} 
\index{VTY Command@{VTY Command}!NO\_NEIGHBOR\_CMD2@{NO\_NEIGHBOR\_CMD2}}
\index{NO\_NEIGHBOR\_CMD2@{NO\_NEIGHBOR\_CMD2}!VTY Command@{VTY Command}}
\doxysubsubsection{NO\_NEIGHBOR\_CMD2}
{\footnotesize\ttfamily \#define NO\+\_\+\+NEIGHBOR\+\_\+\+CMD2~\char`\"{}no neighbor (A.\+B.\+C.\+D$\vert$WORD) \char`\"{}}

\mbox{\label{group__command_ga5b14384572729c1d1b3755d1bea1f17d}} 
\index{VTY Command@{VTY Command}!NO\_STR@{NO\_STR}}
\index{NO\_STR@{NO\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{NO\_STR}
{\footnotesize\ttfamily \#define NO\+\_\+\+STR~\char`\"{}Negate a command or set its \textbf{ defaults\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_ga59a597b2067f56c4ebbec78ea4ae4857}} 
\index{VTY Command@{VTY Command}!OSPF6\_DUMP\_TYPE\_LIST@{OSPF6\_DUMP\_TYPE\_LIST}}
\index{OSPF6\_DUMP\_TYPE\_LIST@{OSPF6\_DUMP\_TYPE\_LIST}!VTY Command@{VTY Command}}
\doxysubsubsection{OSPF6\_DUMP\_TYPE\_LIST}
{\footnotesize\ttfamily \#define OSPF6\+\_\+\+DUMP\+\_\+\+TYPE\+\_\+\+LIST~\char`\"{}(neighbor$\vert$interface$\vert$area$\vert$lsa$\vert$zebra$\vert$\textbf{ config}$\vert$dbex$\vert$spf$\vert$route$\vert$lsdb$\vert$redistribute$\vert$hook$\vert$asbr$\vert$prefix$\vert$abr)\char`\"{}}

\mbox{\label{group__command_ga98e7f7f514b62cfe7a294a6a3bcfdf7b}} 
\index{VTY Command@{VTY Command}!OSPF6\_INSTANCE\_STR@{OSPF6\_INSTANCE\_STR}}
\index{OSPF6\_INSTANCE\_STR@{OSPF6\_INSTANCE\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{OSPF6\_INSTANCE\_STR}
{\footnotesize\ttfamily \#define OSPF6\+\_\+\+INSTANCE\+\_\+\+STR~\char`\"{}$<$1-\/65535$>$ Instance \textbf{ ID\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_ga726e97378ccce42e3b75e6b048de7ce4}} 
\index{VTY Command@{VTY Command}!OSPF6\_NUMBER\_STR@{OSPF6\_NUMBER\_STR}}
\index{OSPF6\_NUMBER\_STR@{OSPF6\_NUMBER\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{OSPF6\_NUMBER\_STR}
{\footnotesize\ttfamily \#define OSPF6\+\_\+\+NUMBER\+\_\+\+STR~\char`\"{}Specify by \textbf{ number\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_gac07eb44ce5dc0b660ebcaa9a21400168}} 
\index{VTY Command@{VTY Command}!OSPF6\_ROUTER\_STR@{OSPF6\_ROUTER\_STR}}
\index{OSPF6\_ROUTER\_STR@{OSPF6\_ROUTER\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{OSPF6\_ROUTER\_STR}
{\footnotesize\ttfamily \#define OSPF6\+\_\+\+ROUTER\+\_\+\+STR~\char`\"{}Enable a routing \textbf{ process\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_ga46e5b0a7baf38db964a69848c26aa96a}} 
\index{VTY Command@{VTY Command}!OSPF6\_STR@{OSPF6\_STR}}
\index{OSPF6\_STR@{OSPF6\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{OSPF6\_STR}
{\footnotesize\ttfamily \#define OSPF6\+\_\+\+STR~\char`\"{}Open Shortest Path First (OSPF) \textbf{ for} \textbf{ IPv6\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_ga9cb32c133bccb211caa112f8f2a9a831}} 
\index{VTY Command@{VTY Command}!OSPF\_STR@{OSPF\_STR}}
\index{OSPF\_STR@{OSPF\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{OSPF\_STR}
{\footnotesize\ttfamily \#define OSPF\+\_\+\+STR~\char`\"{}OSPF \textbf{ information\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_ga6cd1e3c0b9eaababe44650e5647acdc5}} 
\index{VTY Command@{VTY Command}!OUT\_STR@{OUT\_STR}}
\index{OUT\_STR@{OUT\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{OUT\_STR}
{\footnotesize\ttfamily \#define OUT\+\_\+\+STR~\char`\"{}Filter outgoing routing \textbf{ updates\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_ga60dc08d3413ebd5540cc1de7b58c7ba0}} 
\index{VTY Command@{VTY Command}!PREFIX\_LIST\_STR@{PREFIX\_LIST\_STR}}
\index{PREFIX\_LIST\_STR@{PREFIX\_LIST\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{PREFIX\_LIST\_STR}
{\footnotesize\ttfamily \#define PREFIX\+\_\+\+LIST\+\_\+\+STR~\char`\"{}Build a prefix \textbf{ list\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_gad9b312696778af2df6e93ee38d5f41f7}} 
\index{VTY Command@{VTY Command}!RIP\_STR@{RIP\_STR}}
\index{RIP\_STR@{RIP\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{RIP\_STR}
{\footnotesize\ttfamily \#define RIP\+\_\+\+STR~\char`\"{}RIP \textbf{ information\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_ga3a69ba452c509fe17fc1b2f448e62202}} 
\index{VTY Command@{VTY Command}!ROUTE\_STR@{ROUTE\_STR}}
\index{ROUTE\_STR@{ROUTE\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{ROUTE\_STR}
{\footnotesize\ttfamily \#define ROUTE\+\_\+\+STR~\char`\"{}Routing \textbf{ Table\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_ga985579e5d4576dda3605a03feb161017}} 
\index{VTY Command@{VTY Command}!ROUTER\_STR@{ROUTER\_STR}}
\index{ROUTER\_STR@{ROUTER\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{ROUTER\_STR}
{\footnotesize\ttfamily \#define ROUTER\+\_\+\+STR~\char`\"{}Enable a routing \textbf{ process\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_ga303bca05656f958426b6d3dee6d1e775}} 
\index{VTY Command@{VTY Command}!SECONDS\_STR@{SECONDS\_STR}}
\index{SECONDS\_STR@{SECONDS\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{SECONDS\_STR}
{\footnotesize\ttfamily \#define SECONDS\+\_\+\+STR~\char`\"{}$<$1-\/65535$>$ Seconds\textbackslash{}n\char`\"{}}

\mbox{\label{group__command_ga8a545523858bf4d634f845185fc5dc83}} 
\index{VTY Command@{VTY Command}!SET\_STR@{SET\_STR}}
\index{SET\_STR@{SET\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{SET\_STR}
{\footnotesize\ttfamily \#define SET\+\_\+\+STR~\char`\"{}Set values in destination routing \textbf{ protocol\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_gaa19b6d5257cb6f7622eb6b3da8966b32}} 
\index{VTY Command@{VTY Command}!SHOW\_STR@{SHOW\_STR}}
\index{SHOW\_STR@{SHOW\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{SHOW\_STR}
{\footnotesize\ttfamily \#define SHOW\+\_\+\+STR~\char`\"{}Show running system \textbf{ information\textbackslash{}n}\char`\"{}}

\mbox{\label{group__command_gafdeade9bd3ed24e66e354c2750b5fc7b}} 
\index{VTY Command@{VTY Command}!STATE\_ADDR@{STATE\_ADDR}}
\index{STATE\_ADDR@{STATE\_ADDR}!VTY Command@{VTY Command}}
\doxysubsubsection{STATE\_ADDR}
{\footnotesize\ttfamily \#define STATE\+\_\+\+ADDR~4}

\mbox{\label{group__command_gafd4c1fc30bcc4812f6633c8a24d41785}} 
\index{VTY Command@{VTY Command}!STATE\_COLON@{STATE\_COLON}}
\index{STATE\_COLON@{STATE\_COLON}!VTY Command@{VTY Command}}
\doxysubsubsection{STATE\_COLON}
{\footnotesize\ttfamily \#define STATE\+\_\+\+COLON~2}

\mbox{\label{group__command_ga3b2519ee6bbc29de56872be0e305ed9a}} 
\index{VTY Command@{VTY Command}!STATE\_DOT@{STATE\_DOT}}
\index{STATE\_DOT@{STATE\_DOT}!VTY Command@{VTY Command}}
\doxysubsubsection{STATE\_DOT}
{\footnotesize\ttfamily \#define STATE\+\_\+\+DOT~5}

\mbox{\label{group__command_ga55aac61ea5044cdefa5c1ca19819439d}} 
\index{VTY Command@{VTY Command}!STATE\_DOUBLE@{STATE\_DOUBLE}}
\index{STATE\_DOUBLE@{STATE\_DOUBLE}!VTY Command@{VTY Command}}
\doxysubsubsection{STATE\_DOUBLE}
{\footnotesize\ttfamily \#define STATE\+\_\+\+DOUBLE~3}

\mbox{\label{group__command_ga381c0e179fab7fffa9176649f23c957a}} 
\index{VTY Command@{VTY Command}!STATE\_MASK@{STATE\_MASK}}
\index{STATE\_MASK@{STATE\_MASK}!VTY Command@{VTY Command}}
\doxysubsubsection{STATE\_MASK}
{\footnotesize\ttfamily \#define STATE\+\_\+\+MASK~7}

\mbox{\label{group__command_ga5e4a1496854ee287e42b41cdf3ab1a41}} 
\index{VTY Command@{VTY Command}!STATE\_SLASH@{STATE\_SLASH}}
\index{STATE\_SLASH@{STATE\_SLASH}!VTY Command@{VTY Command}}
\doxysubsubsection{STATE\_SLASH}
{\footnotesize\ttfamily \#define STATE\+\_\+\+SLASH~6}

\mbox{\label{group__command_gaddcbd0eec71cda69580487f74a2c24c4}} 
\index{VTY Command@{VTY Command}!STATE\_START@{STATE\_START}}
\index{STATE\_START@{STATE\_START}!VTY Command@{VTY Command}}
\doxysubsubsection{STATE\_START}
{\footnotesize\ttfamily \#define STATE\+\_\+\+START~1}

\mbox{\label{group__command_ga464b26439f1e1dcaabab5d2e6a8f9299}} 
\index{VTY Command@{VTY Command}!UNDEBUG\_STR@{UNDEBUG\_STR}}
\index{UNDEBUG\_STR@{UNDEBUG\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{UNDEBUG\_STR}
{\footnotesize\ttfamily \#define UNDEBUG\+\_\+\+STR~\char`\"{}Disable debugging functions (see also \textquotesingle{}debug\textquotesingle{})\textbackslash{}\textbf{ n}\char`\"{}}

\mbox{\label{group__command_ga4e2f8b12e73773f1d932d3e79317acfa}} 
\index{VTY Command@{VTY Command}!V4NOTATION\_STR@{V4NOTATION\_STR}}
\index{V4NOTATION\_STR@{V4NOTATION\_STR}!VTY Command@{VTY Command}}
\doxysubsubsection{V4NOTATION\_STR}
{\footnotesize\ttfamily \#define V4\+NOTATION\+\_\+\+STR~\char`\"{}specify by IPv4 address notation(e.\+g. 0.\+0.\+0.\+0)\textbackslash{}\textbf{ n}\char`\"{}}

\mbox{\label{group__command_ga460deff0720846a20f216768b144fd28}} 
\index{VTY Command@{VTY Command}!VTY\_IPV46\_CMD@{VTY\_IPV46\_CMD}}
\index{VTY\_IPV46\_CMD@{VTY\_IPV46\_CMD}!VTY Command@{VTY Command}}
\doxysubsubsection{VTY\_IPV46\_CMD}
{\footnotesize\ttfamily \#define VTY\+\_\+\+IPV46\+\_\+\+CMD~\char`\"{}(\char`\"{} \textbf{ VTY\+\_\+\+IPV4\+\_\+\+CMD} \char`\"{}$\vert$\char`\"{} \textbf{ VTY\+\_\+\+IPV6\+\_\+\+CMD} \char`\"{})\char`\"{}}

\mbox{\label{group__command_ga3bd17dd9bd8254c60910a55b58aa461f}} 
\index{VTY Command@{VTY Command}!VTY\_IPV4\_CMD@{VTY\_IPV4\_CMD}}
\index{VTY\_IPV4\_CMD@{VTY\_IPV4\_CMD}!VTY Command@{VTY Command}}
\doxysubsubsection{VTY\_IPV4\_CMD}
{\footnotesize\ttfamily \#define VTY\+\_\+\+IPV4\+\_\+\+CMD~\char`\"{}A.\+B.\+C.\+D\char`\"{}}

\mbox{\label{group__command_ga0d6bd6a7beb61d525c3abcf16fc0f844}} 
\index{VTY Command@{VTY Command}!VTY\_IPV6\_CMD@{VTY\_IPV6\_CMD}}
\index{VTY\_IPV6\_CMD@{VTY\_IPV6\_CMD}!VTY Command@{VTY Command}}
\doxysubsubsection{VTY\_IPV6\_CMD}
{\footnotesize\ttfamily \#define VTY\+\_\+\+IPV6\+\_\+\+CMD~\char`\"{}X\+:\+X\+::\+X\+:X\char`\"{}}



\doxysubsection{Typedef Documentation}
\mbox{\label{group__command_gac51399e8f4c43f1ae6acbdd764eb560e}} 
\index{VTY Command@{VTY Command}!print\_func\_t@{print\_func\_t}}
\index{print\_func\_t@{print\_func\_t}!VTY Command@{VTY Command}}
\doxysubsubsection{print\_func\_t}
{\footnotesize\ttfamily typedef int($\ast$ print\+\_\+func\+\_\+t) (void $\ast$\textbf{ data}, const char $\ast$fmt,...)}



\doxysubsection{Enumeration Type Documentation}
\mbox{\label{group__command_ga06fc87d81c62e9abb8790b6e5713c55b}} 
\doxysubsubsection{anonymous enum}
{\footnotesize\ttfamily anonymous enum}



Attributes (flags) for \doxyref{cmd\+\_\+element}{p.}{structcmd__element}. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{CMD\_ATTR\_DEPRECATED@{CMD\_ATTR\_DEPRECATED}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!CMD\_ATTR\_DEPRECATED@{CMD\_ATTR\_DEPRECATED}}}\mbox{\label{group__command_gga06fc87d81c62e9abb8790b6e5713c55ba19e821e3d1e3b68e32d2cfa997bdb428}} 
CMD\+\_\+\+ATTR\+\_\+\+DEPRECATED&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{CMD\_ATTR\_HIDDEN@{CMD\_ATTR\_HIDDEN}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!CMD\_ATTR\_HIDDEN@{CMD\_ATTR\_HIDDEN}}}\mbox{\label{group__command_gga06fc87d81c62e9abb8790b6e5713c55ba33e05c75dfb0ebe4460ec9f3ec976d44}} 
CMD\+\_\+\+ATTR\+\_\+\+HIDDEN&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{CMD\_ATTR\_IMMEDIATE@{CMD\_ATTR\_IMMEDIATE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!CMD\_ATTR\_IMMEDIATE@{CMD\_ATTR\_IMMEDIATE}}}\mbox{\label{group__command_gga06fc87d81c62e9abb8790b6e5713c55ba8ee35b04b9b8d079491f38e309025f16}} 
CMD\+\_\+\+ATTR\+\_\+\+IMMEDIATE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{CMD\_ATTR\_NODE\_EXIT@{CMD\_ATTR\_NODE\_EXIT}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!CMD\_ATTR\_NODE\_EXIT@{CMD\_ATTR\_NODE\_EXIT}}}\mbox{\label{group__command_gga06fc87d81c62e9abb8790b6e5713c55bae7695a4ef2905c3290602d30b5068b93}} 
CMD\+\_\+\+ATTR\+\_\+\+NODE\+\_\+\+EXIT&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{CMD\_ATTR\_LIB\_COMMAND@{CMD\_ATTR\_LIB\_COMMAND}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!CMD\_ATTR\_LIB\_COMMAND@{CMD\_ATTR\_LIB\_COMMAND}}}\mbox{\label{group__command_gga06fc87d81c62e9abb8790b6e5713c55ba26c23b0e13d3704494a3f961f6c993ec}} 
CMD\+\_\+\+ATTR\+\_\+\+LIB\+\_\+\+COMMAND&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{group__command_gadf764cbdea00d65edcd07bb9953ad2b7}} 
\doxysubsubsection{anonymous enum}
{\footnotesize\ttfamily anonymous enum}



Attributes shared between libraries (up to 32 entries). 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_SCCP\_LIB\_ATTR\_RSTRT\_ASP@{OSMO\_SCCP\_LIB\_ATTR\_RSTRT\_ASP}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!OSMO\_SCCP\_LIB\_ATTR\_RSTRT\_ASP@{OSMO\_SCCP\_LIB\_ATTR\_RSTRT\_ASP}}}\mbox{\label{group__command_ggadf764cbdea00d65edcd07bb9953ad2b7a173509df8568d9001df2f0b6ab0b1cde}} 
OSMO\+\_\+\+SCCP\+\_\+\+LIB\+\_\+\+ATTR\+\_\+\+RSTRT\+\_\+\+ASP&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_ABIS\_LIB\_ATTR\_IPA\_NEW\_LNK@{OSMO\_ABIS\_LIB\_ATTR\_IPA\_NEW\_LNK}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!OSMO\_ABIS\_LIB\_ATTR\_IPA\_NEW\_LNK@{OSMO\_ABIS\_LIB\_ATTR\_IPA\_NEW\_LNK}}}\mbox{\label{group__command_ggadf764cbdea00d65edcd07bb9953ad2b7a640fa1a45efc52b1d62ee327e82d6925}} 
OSMO\+\_\+\+ABIS\+\_\+\+LIB\+\_\+\+ATTR\+\_\+\+IPA\+\_\+\+NEW\+\_\+\+LNK&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_ABIS\_LIB\_ATTR\_LINE\_UPD@{OSMO\_ABIS\_LIB\_ATTR\_LINE\_UPD}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!OSMO\_ABIS\_LIB\_ATTR\_LINE\_UPD@{OSMO\_ABIS\_LIB\_ATTR\_LINE\_UPD}}}\mbox{\label{group__command_ggadf764cbdea00d65edcd07bb9953ad2b7af09021f39c29a87d6c70b8fd4cb69a3c}} 
OSMO\+\_\+\+ABIS\+\_\+\+LIB\+\_\+\+ATTR\+\_\+\+LINE\+\_\+\+UPD&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{\_OSMO\_CORE\_LIB\_ATTR\_COUNT@{\_OSMO\_CORE\_LIB\_ATTR\_COUNT}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!\_OSMO\_CORE\_LIB\_ATTR\_COUNT@{\_OSMO\_CORE\_LIB\_ATTR\_COUNT}}}\mbox{\label{group__command_ggadf764cbdea00d65edcd07bb9953ad2b7abe8181c54ee808546bdbe33f8be34189}} 
\+\_\+\+OSMO\+\_\+\+CORE\+\_\+\+LIB\+\_\+\+ATTR\+\_\+\+COUNT&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{group__command_gabc6126af1d45847bc59afa0aa3216b04}} 
\doxysubsubsection{anonymous enum}
{\footnotesize\ttfamily anonymous enum}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{ATTR\_TYPE\_GLOBAL@{ATTR\_TYPE\_GLOBAL}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!ATTR\_TYPE\_GLOBAL@{ATTR\_TYPE\_GLOBAL}}}\mbox{\label{group__command_ggabc6126af1d45847bc59afa0aa3216b04aba9995f5d514bbfe534e18c9e104f940}} 
ATTR\+\_\+\+TYPE\+\_\+\+GLOBAL&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ATTR\_TYPE\_LIB@{ATTR\_TYPE\_LIB}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!ATTR\_TYPE\_LIB@{ATTR\_TYPE\_LIB}}}\mbox{\label{group__command_ggabc6126af1d45847bc59afa0aa3216b04abcc2b635efe5789fe211a22ed33d9755}} 
ATTR\+\_\+\+TYPE\+\_\+\+LIB&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ATTR\_TYPE\_APP@{ATTR\_TYPE\_APP}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!ATTR\_TYPE\_APP@{ATTR\_TYPE\_APP}}}\mbox{\label{group__command_ggabc6126af1d45847bc59afa0aa3216b04ab9bfbad2f40ef950bd69bf0a6a72f277}} 
ATTR\+\_\+\+TYPE\+\_\+\+APP&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{group__command_ga34b622da6948a0685ea1e99ac4a2b82c}} 
\index{VTY Command@{VTY Command}!match\_type@{match\_type}}
\index{match\_type@{match\_type}!VTY Command@{VTY Command}}
\doxysubsubsection{match\_type}
{\footnotesize\ttfamily enum \textbf{ match\+\_\+type}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{NO\_MATCH@{NO\_MATCH}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!NO\_MATCH@{NO\_MATCH}}}\mbox{\label{group__command_gga34b622da6948a0685ea1e99ac4a2b82ca57a25cf23f4c74ac64c7baa356c961c2}} 
NO\+\_\+\+MATCH&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ANY\_MATCH@{ANY\_MATCH}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!ANY\_MATCH@{ANY\_MATCH}}}\mbox{\label{group__command_gga34b622da6948a0685ea1e99ac4a2b82ca9763fbae79901c824c36513f62365ee6}} 
ANY\+\_\+\+MATCH&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EXTEND\_MATCH@{EXTEND\_MATCH}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!EXTEND\_MATCH@{EXTEND\_MATCH}}}\mbox{\label{group__command_gga34b622da6948a0685ea1e99ac4a2b82ca133ee399bf54fb3a8548170f6c1a145c}} 
EXTEND\+\_\+\+MATCH&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{IPV4\_PREFIX\_MATCH@{IPV4\_PREFIX\_MATCH}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!IPV4\_PREFIX\_MATCH@{IPV4\_PREFIX\_MATCH}}}\mbox{\label{group__command_gga34b622da6948a0685ea1e99ac4a2b82caa637a5fa0361c57c810b7e612b987cfb}} 
IPV4\+\_\+\+PREFIX\+\_\+\+MATCH&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{IPV4\_MATCH@{IPV4\_MATCH}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!IPV4\_MATCH@{IPV4\_MATCH}}}\mbox{\label{group__command_gga34b622da6948a0685ea1e99ac4a2b82ca77e423f18c5ed3ba09de6404617bece5}} 
IPV4\+\_\+\+MATCH&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{IPV6\_PREFIX\_MATCH@{IPV6\_PREFIX\_MATCH}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!IPV6\_PREFIX\_MATCH@{IPV6\_PREFIX\_MATCH}}}\mbox{\label{group__command_gga34b622da6948a0685ea1e99ac4a2b82cafce0f1902005a181c901bfd0b4aa0e1f}} 
IPV6\+\_\+\+PREFIX\+\_\+\+MATCH&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{IPV6\_MATCH@{IPV6\_MATCH}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!IPV6\_MATCH@{IPV6\_MATCH}}}\mbox{\label{group__command_gga34b622da6948a0685ea1e99ac4a2b82ca9bdf83fe2089ff9fae6655a804770cfe}} 
IPV6\+\_\+\+MATCH&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{RANGE\_MATCH@{RANGE\_MATCH}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!RANGE\_MATCH@{RANGE\_MATCH}}}\mbox{\label{group__command_gga34b622da6948a0685ea1e99ac4a2b82cad9c7442d447c697532e70a8699da1964}} 
RANGE\+\_\+\+MATCH&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{VARARG\_MATCH@{VARARG\_MATCH}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!VARARG\_MATCH@{VARARG\_MATCH}}}\mbox{\label{group__command_gga34b622da6948a0685ea1e99ac4a2b82ca874247f518d197d1d2ac60b863b7c86e}} 
VARARG\+\_\+\+MATCH&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PARTLY\_MATCH@{PARTLY\_MATCH}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!PARTLY\_MATCH@{PARTLY\_MATCH}}}\mbox{\label{group__command_gga34b622da6948a0685ea1e99ac4a2b82caafe21a5cd8f190f3226d1d347609b0d1}} 
PARTLY\+\_\+\+MATCH&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EXACT\_MATCH@{EXACT\_MATCH}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!EXACT\_MATCH@{EXACT\_MATCH}}}\mbox{\label{group__command_gga34b622da6948a0685ea1e99ac4a2b82cadfbe19133d0377544d453f088e2d8f79}} 
EXACT\+\_\+\+MATCH&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{group__command_ga6a276b85e2da28c5f9c3dbce61c55682}} 
\index{VTY Command@{VTY Command}!node\_type@{node\_type}}
\index{node\_type@{node\_type}!VTY Command@{VTY Command}}
\doxysubsubsection{node\_type}
{\footnotesize\ttfamily enum \textbf{ node\+\_\+type}}



There are some command levels which called from command node. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{AUTH\_NODE@{AUTH\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!AUTH\_NODE@{AUTH\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a302e1f38939b1a74bc848007bb70bfdf}} 
AUTH\+\_\+\+NODE&Authentication mode of vty interface. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{VIEW\_NODE@{VIEW\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!VIEW\_NODE@{VIEW\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682acfdc7d342a9640147533988ace5fac24}} 
VIEW\+\_\+\+NODE&View node. Default mode of vty interface. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{AUTH\_ENABLE\_NODE@{AUTH\_ENABLE\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!AUTH\_ENABLE\_NODE@{AUTH\_ENABLE\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a96b74116564789f517eef9284f18b472}} 
AUTH\+\_\+\+ENABLE\+\_\+\+NODE&Authentication mode for change enable. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ENABLE\_NODE@{ENABLE\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!ENABLE\_NODE@{ENABLE\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a8eeaebd59fec75e66abd261377c21a2d}} 
ENABLE\+\_\+\+NODE&Enable node. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{CONFIG\_NODE@{CONFIG\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!CONFIG\_NODE@{CONFIG\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a50754044f565f7421a152eaa411eebcc}} 
CONFIG\+\_\+\+NODE&Config node. Default mode of config file. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{SERVICE\_NODE@{SERVICE\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!SERVICE\_NODE@{SERVICE\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a08f3c0e0d651e5835e84cac733ba7d88}} 
SERVICE\+\_\+\+NODE&Service node. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{DEBUG\_NODE@{DEBUG\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!DEBUG\_NODE@{DEBUG\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a6528486974fa9575be1ad0e96261f7be}} 
DEBUG\+\_\+\+NODE&Debug node. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{CFG\_LOG\_NODE@{CFG\_LOG\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!CFG\_LOG\_NODE@{CFG\_LOG\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a6d719dc344643a9632aada5acc7154a8}} 
CFG\+\_\+\+LOG\+\_\+\+NODE&Configure the logging. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{CFG\_STATS\_NODE@{CFG\_STATS\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!CFG\_STATS\_NODE@{CFG\_STATS\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682adc4d3de4812f6c746272f7b0a48def03}} 
CFG\+\_\+\+STATS\+\_\+\+NODE&Configure the statistics. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{VTY\_NODE@{VTY\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!VTY\_NODE@{VTY\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a42e5cebd0265d2c03a8da6fa220e11c6}} 
VTY\+\_\+\+NODE&Vty node. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_E1INP\_NODE@{L\_E1INP\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_E1INP\_NODE@{L\_E1INP\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a5f84e381497e07f851acf5c48bd3bb38}} 
L\+\_\+\+E1\+INP\+\_\+\+NODE&E1 line in libosmo-\/abis. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_IPA\_NODE@{L\_IPA\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_IPA\_NODE@{L\_IPA\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a01cf2d22c41eeb5f4fd378a8d1120fa1}} 
L\+\_\+\+IPA\+\_\+\+NODE&IPA proxying commands in libosmo-\/abis. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_NS\_NODE@{L\_NS\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_NS\_NODE@{L\_NS\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a3636d17b2bf4309e5595fc78a8d5796d}} 
L\+\_\+\+NS\+\_\+\+NODE&NS node in libosmo-\/gb. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_BSSGP\_NODE@{L\_BSSGP\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_BSSGP\_NODE@{L\_BSSGP\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682add96913f11a587d6887d06e9b252568b}} 
L\+\_\+\+BSSGP\+\_\+\+NODE&BSSGP node in libosmo-\/gb. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_CTRL\_NODE@{L\_CTRL\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_CTRL\_NODE@{L\_CTRL\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a97175b6c396122970afeb97313b58147}} 
L\+\_\+\+CTRL\+\_\+\+NODE&Control interface node. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_CS7\_NODE@{L\_CS7\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_CS7\_NODE@{L\_CS7\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a1585ad5d58c223de2582326145218073}} 
L\+\_\+\+CS7\+\_\+\+NODE&SS7 root node. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_CS7\_AS\_NODE@{L\_CS7\_AS\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_CS7\_AS\_NODE@{L\_CS7\_AS\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a0c41eac6bf0019a8e9f5d61c71ff0beb}} 
L\+\_\+\+CS7\+\_\+\+AS\+\_\+\+NODE&SS7 Application Server. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_CS7\_ASP\_NODE@{L\_CS7\_ASP\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_CS7\_ASP\_NODE@{L\_CS7\_ASP\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682ae93a58145a5fcace109eca1b18a8f384}} 
L\+\_\+\+CS7\+\_\+\+ASP\+\_\+\+NODE&SS7 Application Server Process. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_CS7\_XUA\_NODE@{L\_CS7\_XUA\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_CS7\_XUA\_NODE@{L\_CS7\_XUA\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a66cf25a05c88062d8e1f965eed04d121}} 
L\+\_\+\+CS7\+\_\+\+XUA\+\_\+\+NODE&SS7 x\+UA Listener. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_CS7\_RTABLE\_NODE@{L\_CS7\_RTABLE\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_CS7\_RTABLE\_NODE@{L\_CS7\_RTABLE\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a00ad655a8ee1b393fa7c65915f4d8b73}} 
L\+\_\+\+CS7\+\_\+\+RTABLE\+\_\+\+NODE&SS7 Routing Table. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_CS7\_LINK\_NODE@{L\_CS7\_LINK\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_CS7\_LINK\_NODE@{L\_CS7\_LINK\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a1f61d1372f06c3d88113960b72ca6128}} 
L\+\_\+\+CS7\+\_\+\+LINK\+\_\+\+NODE&SS7 Link. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_CS7\_LINKSET\_NODE@{L\_CS7\_LINKSET\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_CS7\_LINKSET\_NODE@{L\_CS7\_LINKSET\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a0436862cf92508a271e84a460bd66715}} 
L\+\_\+\+CS7\+\_\+\+LINKSET\+\_\+\+NODE&SS7 Linkset. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_CS7\_SCCPADDR\_NODE@{L\_CS7\_SCCPADDR\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_CS7\_SCCPADDR\_NODE@{L\_CS7\_SCCPADDR\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a9f996e317d6ac10fabeeee621b48f39f}} 
L\+\_\+\+CS7\+\_\+\+SCCPADDR\+\_\+\+NODE&SS7 SCCP Address. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_CS7\_SCCPADDR\_GT\_NODE@{L\_CS7\_SCCPADDR\_GT\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_CS7\_SCCPADDR\_GT\_NODE@{L\_CS7\_SCCPADDR\_GT\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682ad8160f5ff81dc63cd70c46ac9e226a25}} 
L\+\_\+\+CS7\+\_\+\+SCCPADDR\+\_\+\+GT\+\_\+\+NODE&SS7 SCCP Global Title. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_CPU\_SCHED\_NODE@{L\_CPU\_SCHED\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_CPU\_SCHED\_NODE@{L\_CPU\_SCHED\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a82502649c3e7861aed2a9a8b53f31b15}} 
L\+\_\+\+CPU\+\_\+\+SCHED\+\_\+\+NODE&CPU Sched related options node. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_NS\_BIND\_NODE@{L\_NS\_BIND\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_NS\_BIND\_NODE@{L\_NS\_BIND\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a53be3d5a0006aad3912589c7d97b30a1}} 
L\+\_\+\+NS\+\_\+\+BIND\+\_\+\+NODE&NS bind node. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{L\_NS\_NSE\_NODE@{L\_NS\_NSE\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!L\_NS\_NSE\_NODE@{L\_NS\_NSE\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a8f23d5d1abf5b469d24faec25f439441}} 
L\+\_\+\+NS\+\_\+\+NSE\+\_\+\+NODE&NS NSE node. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{RESERVED1\_NODE@{RESERVED1\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!RESERVED1\_NODE@{RESERVED1\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a2f2d01908e2a1ab85f57efdcc07a7f04}} 
RESERVED1\+\_\+\+NODE&Reserved for later extensions. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{RESERVED2\_NODE@{RESERVED2\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!RESERVED2\_NODE@{RESERVED2\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a477d227940071a9207e355271e085664}} 
RESERVED2\+\_\+\+NODE&Reserved for later extensions. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{RESERVED3\_NODE@{RESERVED3\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!RESERVED3\_NODE@{RESERVED3\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682aaf854ce244cb3da385cffe562cbf4b6c}} 
RESERVED3\+\_\+\+NODE&Reserved for later extensions. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{RESERVED4\_NODE@{RESERVED4\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!RESERVED4\_NODE@{RESERVED4\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a09330c662127f58f4dc8ca66dab862cc}} 
RESERVED4\+\_\+\+NODE&Reserved for later extensions. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{RESERVED5\_NODE@{RESERVED5\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!RESERVED5\_NODE@{RESERVED5\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682ad7570e15a14ab1c54fd862dfb00138fe}} 
RESERVED5\+\_\+\+NODE&Reserved for later extensions. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{RESERVED6\_NODE@{RESERVED6\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!RESERVED6\_NODE@{RESERVED6\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a5ae688665e96299c42f3f068dc4fc4ae}} 
RESERVED6\+\_\+\+NODE&Reserved for later extensions. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{RESERVED7\_NODE@{RESERVED7\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!RESERVED7\_NODE@{RESERVED7\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682aabb20f48cf79b165a45f4b7c29318023}} 
RESERVED7\+\_\+\+NODE&Reserved for later extensions. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{RESERVED8\_NODE@{RESERVED8\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!RESERVED8\_NODE@{RESERVED8\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682a7a5acadc0a0522bb72f5a7b8c696d2cb}} 
RESERVED8\+\_\+\+NODE&Reserved for later extensions. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{\_LAST\_OSMOVTY\_NODE@{\_LAST\_OSMOVTY\_NODE}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!\_LAST\_OSMOVTY\_NODE@{\_LAST\_OSMOVTY\_NODE}}}\mbox{\label{group__command_gga6a276b85e2da28c5f9c3dbce61c55682aad50ebd93ab551be0d996e818bf28fe6}} 
\+\_\+\+LAST\+\_\+\+OSMOVTY\+\_\+\+NODE&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{group__command_ga8a93dace2b659a06d9103d9f82f22cb7}} 
\index{VTY Command@{VTY Command}!vty\_ref\_gen\_mode@{vty\_ref\_gen\_mode}}
\index{vty\_ref\_gen\_mode@{vty\_ref\_gen\_mode}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_ref\_gen\_mode}
{\footnotesize\ttfamily enum \textbf{ vty\+\_\+ref\+\_\+gen\+\_\+mode}}



VTY reference generation mode. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{VTY\_REF\_GEN\_MODE\_DEFAULT@{VTY\_REF\_GEN\_MODE\_DEFAULT}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!VTY\_REF\_GEN\_MODE\_DEFAULT@{VTY\_REF\_GEN\_MODE\_DEFAULT}}}\mbox{\label{group__command_gga8a93dace2b659a06d9103d9f82f22cb7a4da204690af1c55c59381b9fe0766025}} 
VTY\+\_\+\+REF\+\_\+\+GEN\+\_\+\+MODE\+\_\+\+DEFAULT&Default mode\+: all commands except deprecated and hidden. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{VTY\_REF\_GEN\_MODE\_EXPERT@{VTY\_REF\_GEN\_MODE\_EXPERT}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!VTY\_REF\_GEN\_MODE\_EXPERT@{VTY\_REF\_GEN\_MODE\_EXPERT}}}\mbox{\label{group__command_gga8a93dace2b659a06d9103d9f82f22cb7a3e755bc27af40c75cbf92205deb22418}} 
VTY\+\_\+\+REF\+\_\+\+GEN\+\_\+\+MODE\+\_\+\+EXPERT&Expert mode\+: all commands including hidden, excluding deprecated. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{VTY\_REF\_GEN\_MODE\_HIDDEN@{VTY\_REF\_GEN\_MODE\_HIDDEN}!VTY Command@{VTY Command}}\index{VTY Command@{VTY Command}!VTY\_REF\_GEN\_MODE\_HIDDEN@{VTY\_REF\_GEN\_MODE\_HIDDEN}}}\mbox{\label{group__command_gga8a93dace2b659a06d9103d9f82f22cb7a02c07b9e0b63d1c905fc6cd5aa361e2a}} 
VTY\+\_\+\+REF\+\_\+\+GEN\+\_\+\+MODE\+\_\+\+HIDDEN&\char`\"{}\+Inverse\char`\"{} mode\+: only hidden commands. \\
\hline

\end{DoxyEnumFields}


\doxysubsection{Function Documentation}
\mbox{\label{group__command_ga9ed16867a9394d9ccf1132194edae298}} 
\index{VTY Command@{VTY Command}!\_\_attribute\_\_@{\_\_attribute\_\_}}
\index{\_\_attribute\_\_@{\_\_attribute\_\_}!VTY Command@{VTY Command}}
\doxysubsubsection{\_\_attribute\_\_()}
{\footnotesize\ttfamily static \+\_\+\+\_\+attribute\+\_\+\+\_\+ (\begin{DoxyParamCaption}\item[{(constructor)}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+clock\+\_\+gettime()}, and \textbf{ starttime}.

\mbox{\label{group__command_ga6bf219bdeb54e0c0af190d2a32aae883}} 
\index{VTY Command@{VTY Command}!ALIAS@{ALIAS}}
\index{ALIAS@{ALIAS}!VTY Command@{VTY Command}}
\doxysubsubsection{ALIAS()\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily ALIAS (\begin{DoxyParamCaption}\item[{config\+\_\+enable\+\_\+password}]{,  }\item[{enable\+\_\+password\+\_\+text\+\_\+cmd}]{,  }\item[{\char`\"{}enable password LINE\char`\"{}}]{,  }\item[{\char`\"{}Modify enable password \textbf{ parameters\textbackslash{}n}\char`\"{} \char`\"{}Assign the privileged \textbf{ level} \textbf{ password\textbackslash{}n}\char`\"{} \char`\"{}The UNENCRYPTED (cleartext) \textquotesingle{}enable\textquotesingle{} \textbf{ password\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ host\+::enable}, and \textbf{ host\+::enable\+\_\+encrypt}.

\mbox{\label{group__command_ga404274824ca47759c96211cc4b45761a}} 
\index{VTY Command@{VTY Command}!ALIAS@{ALIAS}}
\index{ALIAS@{ALIAS}!VTY Command@{VTY Command}}
\doxysubsubsection{ALIAS()\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily ALIAS (\begin{DoxyParamCaption}\item[{config\+\_\+password}]{,  }\item[{password\+\_\+text\+\_\+cmd}]{,  }\item[{\char`\"{}password LINE\char`\"{}}]{,  }\item[{\char`\"{}Assign the \textbf{ terminal} connection \textbf{ password\textbackslash{}n}\char`\"{} \char`\"{}The UNENCRYPTED (cleartext) line \textbf{ password\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ argc}, \textbf{ argv}, \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ CMD\+\_\+\+WARNING}, \textbf{ host\+::enable}, \textbf{ host\+::enable\+\_\+encrypt}, \textbf{ host\+::encrypt}, \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}, \textbf{ VTY\+\_\+\+NEWLINE}, and \textbf{ vty\+\_\+out()}.

\mbox{\label{group__command_gab82e7f6c248b703f87bf79c6675173c8}} 
\index{VTY Command@{VTY Command}!ALIAS@{ALIAS}}
\index{ALIAS@{ALIAS}!VTY Command@{VTY Command}}
\doxysubsubsection{ALIAS()\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily ALIAS (\begin{DoxyParamCaption}\item[{config\+\_\+write\+\_\+file}]{,  }\item[{config\+\_\+write\+\_\+cmd}]{,  }\item[{\char`\"{}write\char`\"{}}]{,  }\item[{\char`\"{}Write running configuration to}]{memory,  }\item[{\textbf{ network}}]{,  }\item[{or \textbf{ terminal\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\label{group__command_ga969c13d54018c5124c1511e75e3ce081}} 
\index{VTY Command@{VTY Command}!ALIAS@{ALIAS}}
\index{ALIAS@{ALIAS}!VTY Command@{VTY Command}}
\doxysubsubsection{ALIAS()\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily ALIAS (\begin{DoxyParamCaption}\item[{config\+\_\+write\+\_\+terminal}]{,  }\item[{show\+\_\+running\+\_\+config\+\_\+cmd}]{,  }\item[{\char`\"{}show running-\/\textbf{ config}\char`\"{}}]{,  }\item[{\textbf{ SHOW\+\_\+\+STR} \char`\"{}running \textbf{ configuration\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ CMD\+\_\+\+WARNING}, \textbf{ host\+::config}, \textbf{ VTY\+\_\+\+NEWLINE}, and \textbf{ vty\+\_\+out()}.

\mbox{\label{group__command_ga05526517753343be3f361b6d997cd672}} 
\index{VTY Command@{VTY Command}!argv\_concat@{argv\_concat}}
\index{argv\_concat@{argv\_concat}!VTY Command@{VTY Command}}
\doxysubsubsection{argv\_concat()}
{\footnotesize\ttfamily char $\ast$ argv\+\_\+concat (\begin{DoxyParamCaption}\item[{const char $\ast$$\ast$}]{argv,  }\item[{int}]{argc,  }\item[{int}]{shift }\end{DoxyParamCaption})}



References \textbf{ argc}, \textbf{ argv}, \textbf{ len()}, and \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}.



Referenced by \textbf{ DEFUN()}, \textbf{ DEFUN\+\_\+\+HIDDEN()}, and \textbf{ g\+DEFUN()}.

\mbox{\label{group__command_gad9f5681ab9341b343dd524fe58259852}} 
\index{VTY Command@{VTY Command}!check\_base@{check\_base}}
\index{check\_base@{check\_base}!VTY Command@{VTY Command}}
\doxysubsubsection{check\_base()}
{\footnotesize\ttfamily static int check\+\_\+base (\begin{DoxyParamCaption}\item[{const char $\ast$}]{str }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ vty\+\_\+cmd\+\_\+range\+\_\+match()}.

\mbox{\label{group__command_ga37777a11696b150fab6657697eb80219}} 
\index{VTY Command@{VTY Command}!check\_element\_exists@{check\_element\_exists}}
\index{check\_element\_exists@{check\_element\_exists}!VTY Command@{VTY Command}}
\doxysubsubsection{check\_element\_exists()}
{\footnotesize\ttfamily static int check\+\_\+element\+\_\+exists (\begin{DoxyParamCaption}\item[{struct \textbf{ cmd\+\_\+node} $\ast$}]{cnode,  }\item[{const char $\ast$}]{cmdstring }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ cmd\+\_\+node\+::cmd\+\_\+vector}, \textbf{ cmd\+\_\+element\+::string}, \textbf{ vector\+\_\+active}, and \textbf{ vector\+\_\+slot}.



Referenced by \textbf{ install\+\_\+element()}.

\mbox{\label{group__command_gace010493b7c984ae9688280f3bc279f6}} 
\index{VTY Command@{VTY Command}!cmd\_attr\_get\_flag@{cmd\_attr\_get\_flag}}
\index{cmd\_attr\_get\_flag@{cmd\_attr\_get\_flag}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_attr\_get\_flag()}
{\footnotesize\ttfamily static char cmd\+\_\+attr\+\_\+get\+\_\+flag (\begin{DoxyParamCaption}\item[{unsigned int}]{attr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+IMMEDIATE}, and \textbf{ CMD\+\_\+\+ATTR\+\_\+\+NODE\+\_\+\+EXIT}.



Referenced by \textbf{ cmd\+\_\+gflag\+\_\+mask()}, \textbf{ print\+\_\+attr\+\_\+list()}, and \textbf{ vty\+\_\+dump\+\_\+element()}.

\mbox{\label{group__command_ga37dad9794a16e93117e893640c9de0d2}} 
\index{VTY Command@{VTY Command}!cmd\_cmdsize@{cmd\_cmdsize}}
\index{cmd\_cmdsize@{cmd\_cmdsize}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_cmdsize()}
{\footnotesize\ttfamily static int cmd\+\_\+cmdsize (\begin{DoxyParamCaption}\item[{\textbf{ vector}}]{strvec }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ desc\+::cmd}, \textbf{ CMD\+\_\+\+OPTION}, \textbf{ vector\+\_\+active}, and \textbf{ vector\+\_\+slot}.



Referenced by \textbf{ install\+\_\+element()}.

\mbox{\label{group__command_gae81bbe7da0e4d74e1ccbe3323942145a}} 
\index{VTY Command@{VTY Command}!cmd\_complete\_command@{cmd\_complete\_command}}
\index{cmd\_complete\_command@{cmd\_complete\_command}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_complete\_command()}
{\footnotesize\ttfamily char $\ast$$\ast$ cmd\+\_\+complete\+\_\+command (\begin{DoxyParamCaption}\item[{\textbf{ vector}}]{vline,  }\item[{struct \textbf{ vty} $\ast$}]{vty,  }\item[{int $\ast$}]{status }\end{DoxyParamCaption})}



References \textbf{ cmd\+\_\+complete\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+try\+\_\+do\+\_\+shortcut()}, \textbf{ ENABLE\+\_\+\+NODE}, \textbf{ vty\+::node}, \textbf{ vector\+\_\+active}, \textbf{ vector\+\_\+count()}, \textbf{ vector\+\_\+free()}, \textbf{ vector\+\_\+init()}, \textbf{ vector\+\_\+lookup()}, \textbf{ vector\+\_\+set\+\_\+index()}, and \textbf{ vector\+\_\+slot}.



Referenced by \textbf{ vty\+\_\+complete\+\_\+command()}.

\mbox{\label{group__command_gaa99024806028537cef653a3df1d5991d}} 
\index{VTY Command@{VTY Command}!cmd\_complete\_command\_real@{cmd\_complete\_command\_real}}
\index{cmd\_complete\_command\_real@{cmd\_complete\_command\_real}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_complete\_command\_real()}
{\footnotesize\ttfamily static char $\ast$$\ast$ cmd\+\_\+complete\+\_\+command\+\_\+real (\begin{DoxyParamCaption}\item[{\textbf{ vector}}]{vline,  }\item[{struct \textbf{ vty} $\ast$}]{vty,  }\item[{int $\ast$}]{status }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ ANY\+\_\+\+MATCH}, \textbf{ desc\+::cmd}, \textbf{ CMD\+\_\+\+COMPLETE\+\_\+\+FULL\+\_\+\+MATCH}, \textbf{ CMD\+\_\+\+COMPLETE\+\_\+\+LIST\+\_\+\+MATCH}, \textbf{ CMD\+\_\+\+COMPLETE\+\_\+\+MATCH}, \textbf{ cmd\+\_\+deopt()}, \textbf{ cmd\+\_\+entry\+\_\+function()}, \textbf{ CMD\+\_\+\+ERR\+\_\+\+AMBIGUOUS}, \textbf{ CMD\+\_\+\+ERR\+\_\+\+NO\+\_\+\+MATCH}, \textbf{ CMD\+\_\+\+ERR\+\_\+\+NOTHING\+\_\+\+TODO}, \textbf{ cmd\+\_\+filter()}, \textbf{ cmd\+\_\+lcd()}, \textbf{ cmd\+\_\+node\+\_\+vector()}, \textbf{ CMD\+\_\+\+OPTION}, \textbf{ cmd\+\_\+unique\+\_\+string()}, \textbf{ cmdvec}, \textbf{ \+\_\+vector\+::index}, \textbf{ INIT\+\_\+\+MATCHVEC\+\_\+\+SIZE}, \textbf{ is\+\_\+cmd\+\_\+ambiguous()}, \textbf{ len()}, \textbf{ vty\+::node}, \textbf{ cmd\+\_\+element\+::strvec}, \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}, \textbf{ vector\+\_\+active}, \textbf{ vector\+\_\+copy()}, \textbf{ vector\+\_\+free()}, \textbf{ vector\+\_\+init()}, \textbf{ vector\+\_\+only\+\_\+wrapper\+\_\+free()}, \textbf{ vector\+\_\+set()}, and \textbf{ vector\+\_\+slot}.



Referenced by \textbf{ cmd\+\_\+complete\+\_\+command()}.

\mbox{\label{group__command_ga39597a89282fa854854e4ac38da12149}} 
\index{VTY Command@{VTY Command}!cmd\_deopt@{cmd\_deopt}}
\index{cmd\_deopt@{cmd\_deopt}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_deopt()}
{\footnotesize\ttfamily static char $\ast$ cmd\+\_\+deopt (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx,  }\item[{const char $\ast$}]{str }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ len()}.



Referenced by \textbf{ cmd\+\_\+complete\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+match()}, and \textbf{ is\+\_\+cmd\+\_\+ambiguous()}.

\mbox{\label{group__command_ga7032957bb5a4e876847f73254f9fadda}} 
\index{VTY Command@{VTY Command}!cmd\_desc\_str@{cmd\_desc\_str}}
\index{cmd\_desc\_str@{cmd\_desc\_str}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_desc\_str()}
{\footnotesize\ttfamily static char $\ast$ cmd\+\_\+desc\+\_\+str (\begin{DoxyParamCaption}\item[{const char $\ast$$\ast$}]{string }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Fetch next description. 

Used in \doxyref{cmd\+\_\+make\+\_\+descvec()}{p.}{group__command_gaed6700eb18eb80b434e7f09e3829e4ca}. 

References \textbf{ start}, \textbf{ cmd\+\_\+element\+::string}, and \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}.



Referenced by \textbf{ cmd\+\_\+make\+\_\+descvec()}.

\mbox{\label{group__command_ga7cd7526d1c0ed77e854952eca9209502}} 
\index{VTY Command@{VTY Command}!cmd\_describe\_command@{cmd\_describe\_command}}
\index{cmd\_describe\_command@{cmd\_describe\_command}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_describe\_command()}
{\footnotesize\ttfamily \textbf{ vector} cmd\+\_\+describe\+\_\+command (\begin{DoxyParamCaption}\item[{\textbf{ vector}}]{vline,  }\item[{struct \textbf{ vty} $\ast$}]{vty,  }\item[{int $\ast$}]{status }\end{DoxyParamCaption})}



References \textbf{ cmd\+\_\+describe\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+try\+\_\+do\+\_\+shortcut()}, \textbf{ ENABLE\+\_\+\+NODE}, \textbf{ vty\+::node}, \textbf{ vector\+\_\+active}, \textbf{ vector\+\_\+count()}, \textbf{ vector\+\_\+free()}, \textbf{ vector\+\_\+init()}, \textbf{ vector\+\_\+lookup()}, \textbf{ vector\+\_\+set\+\_\+index()}, and \textbf{ vector\+\_\+slot}.



Referenced by \textbf{ vty\+\_\+describe\+\_\+command()}.

\mbox{\label{group__command_ga2b2008394165539ef5a425daf4cf2366}} 
\index{VTY Command@{VTY Command}!cmd\_describe\_command\_real@{cmd\_describe\_command\_real}}
\index{cmd\_describe\_command\_real@{cmd\_describe\_command\_real}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_describe\_command\_real()}
{\footnotesize\ttfamily static \textbf{ vector} cmd\+\_\+describe\+\_\+command\+\_\+real (\begin{DoxyParamCaption}\item[{\textbf{ vector}}]{vline,  }\item[{struct \textbf{ vty} $\ast$}]{vty,  }\item[{int $\ast$}]{status }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ ANY\+\_\+\+MATCH}, \textbf{ cmd\+\_\+element\+::attr}, \textbf{ desc\+::cmd}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+DEPRECATED}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN}, \textbf{ cmd\+\_\+entry\+\_\+function\+\_\+desc()}, \textbf{ CMD\+\_\+\+ERR\+\_\+\+AMBIGUOUS}, \textbf{ CMD\+\_\+\+ERR\+\_\+\+NO\+\_\+\+MATCH}, \textbf{ cmd\+\_\+filter()}, \textbf{ cmd\+\_\+node\+\_\+vector()}, \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ cmdvec}, \textbf{ desc\+\_\+unique\+\_\+string()}, \textbf{ vty\+::expert\+\_\+mode}, \textbf{ INIT\+\_\+\+MATCHVEC\+\_\+\+SIZE}, \textbf{ is\+\_\+cmd\+\_\+ambiguous()}, \textbf{ k}, \textbf{ vty\+::node}, \textbf{ cmd\+\_\+element\+::strvec}, \textbf{ VARARG\+\_\+\+MATCH}, \textbf{ vector\+\_\+active}, \textbf{ vector\+\_\+copy()}, \textbf{ vector\+\_\+free()}, \textbf{ vector\+\_\+init()}, \textbf{ vector\+\_\+set()}, and \textbf{ vector\+\_\+slot}.



Referenced by \textbf{ cmd\+\_\+describe\+\_\+command()}.

\mbox{\label{group__command_ga9da5660f90a0220e2fdd0ea379e78219}} 
\index{VTY Command@{VTY Command}!cmd\_entry\_function@{cmd\_entry\_function}}
\index{cmd\_entry\_function@{cmd\_entry\_function}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_entry\_function()}
{\footnotesize\ttfamily static const char $\ast$ cmd\+\_\+entry\+\_\+function (\begin{DoxyParamCaption}\item[{const char $\ast$}]{src,  }\item[{const char $\ast$}]{dst }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ CMD\+\_\+\+IPV4}, \textbf{ CMD\+\_\+\+IPV4\+\_\+\+PREFIX}, \textbf{ CMD\+\_\+\+OPTION}, \textbf{ CMD\+\_\+\+RANGE}, \textbf{ CMD\+\_\+\+VARARG}, and \textbf{ CMD\+\_\+\+VARIABLE}.



Referenced by \textbf{ cmd\+\_\+complete\+\_\+command\+\_\+real()}.

\mbox{\label{group__command_gaa6aeb1e7e5038d0981f0ce06ba29a5c1}} 
\index{VTY Command@{VTY Command}!cmd\_entry\_function\_desc@{cmd\_entry\_function\_desc}}
\index{cmd\_entry\_function\_desc@{cmd\_entry\_function\_desc}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_entry\_function\_desc()}
{\footnotesize\ttfamily static const char $\ast$ cmd\+\_\+entry\+\_\+function\+\_\+desc (\begin{DoxyParamCaption}\item[{const char $\ast$}]{src,  }\item[{const char $\ast$}]{dst }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ CMD\+\_\+\+IPV4}, \textbf{ cmd\+\_\+ipv4\+\_\+match()}, \textbf{ CMD\+\_\+\+IPV4\+\_\+\+PREFIX}, \textbf{ cmd\+\_\+ipv4\+\_\+prefix\+\_\+match()}, \textbf{ CMD\+\_\+\+IPV6}, \textbf{ CMD\+\_\+\+IPV6\+\_\+\+PREFIX}, \textbf{ CMD\+\_\+\+OPTION}, \textbf{ CMD\+\_\+\+RANGE}, \textbf{ CMD\+\_\+\+VARARG}, \textbf{ CMD\+\_\+\+VARIABLE}, and \textbf{ vty\+\_\+cmd\+\_\+range\+\_\+match()}.



Referenced by \textbf{ cmd\+\_\+describe\+\_\+command\+\_\+real()}.

\mbox{\label{group__command_ga285aab6a1670b297066c3ac6dbc89376}} 
\index{VTY Command@{VTY Command}!cmd\_execute\_command@{cmd\_execute\_command}}
\index{cmd\_execute\_command@{cmd\_execute\_command}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_execute\_command()}
{\footnotesize\ttfamily int cmd\+\_\+execute\+\_\+command (\begin{DoxyParamCaption}\item[{\textbf{ vector}}]{vline,  }\item[{struct \textbf{ vty} $\ast$}]{vty,  }\item[{struct \textbf{ cmd\+\_\+element} $\ast$$\ast$}]{cmd,  }\item[{int}]{vtysh }\end{DoxyParamCaption})}



References \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+try\+\_\+do\+\_\+shortcut()}, \textbf{ ENABLE\+\_\+\+NODE}, \textbf{ vty\+\_\+parent\+\_\+node\+::index}, \textbf{ vty\+::node}, \textbf{ vector\+\_\+active}, \textbf{ vector\+\_\+count()}, \textbf{ vector\+\_\+free()}, \textbf{ vector\+\_\+init()}, \textbf{ vector\+\_\+lookup()}, \textbf{ vector\+\_\+set\+\_\+index()}, and \textbf{ vector\+\_\+slot}.



Referenced by \textbf{ vty\+\_\+command()}.

\mbox{\label{group__command_gafdce5ca795c6db49de6a9e6373d3969a}} 
\index{VTY Command@{VTY Command}!cmd\_execute\_command\_real@{cmd\_execute\_command\_real}}
\index{cmd\_execute\_command\_real@{cmd\_execute\_command\_real}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_execute\_command\_real()}
{\footnotesize\ttfamily static int cmd\+\_\+execute\+\_\+command\+\_\+real (\begin{DoxyParamCaption}\item[{\textbf{ vector}}]{vline,  }\item[{struct \textbf{ vty} $\ast$}]{vty,  }\item[{struct \textbf{ cmd\+\_\+element} $\ast$$\ast$}]{cmd }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ ANY\+\_\+\+MATCH}, \textbf{ argc}, \textbf{ argv}, \textbf{ desc\+::cmd}, \textbf{ CMD\+\_\+\+ARGC\+\_\+\+MAX}, \textbf{ cmd\+\_\+deopt()}, \textbf{ CMD\+\_\+\+ERR\+\_\+\+AMBIGUOUS}, \textbf{ CMD\+\_\+\+ERR\+\_\+\+EXEED\+\_\+\+ARGC\+\_\+\+MAX}, \textbf{ CMD\+\_\+\+ERR\+\_\+\+INCOMPLETE}, \textbf{ CMD\+\_\+\+ERR\+\_\+\+NO\+\_\+\+MATCH}, \textbf{ cmd\+\_\+filter()}, \textbf{ cmd\+\_\+match()}, \textbf{ cmd\+\_\+node\+\_\+vector()}, \textbf{ CMD\+\_\+\+OPTION}, \textbf{ CMD\+\_\+\+SUCCESS\+\_\+\+DAEMON}, \textbf{ CMD\+\_\+\+VARARG}, \textbf{ CMD\+\_\+\+VARIABLE}, \textbf{ cmd\+\_\+element\+::cmdsize}, \textbf{ cmdvec}, \textbf{ CONFIG\+\_\+\+NODE}, \textbf{ cmd\+\_\+element\+::daemon}, \textbf{ vty\+\_\+parent\+\_\+node\+::entry}, \textbf{ cmd\+\_\+element\+::func}, \textbf{ vty\+::indent}, \textbf{ vty\+::index}, \textbf{ vty\+\_\+parent\+\_\+node\+::index}, \textbf{ is\+\_\+cmd\+\_\+ambiguous()}, \textbf{ llist\+\_\+add()}, \textbf{ NO\+\_\+\+MATCH}, \textbf{ vty\+::node}, \textbf{ vty\+\_\+parent\+\_\+node\+::node}, \textbf{ vty\+::parent\+\_\+nodes}, \textbf{ vty\+::priv}, \textbf{ cmd\+\_\+element\+::string}, \textbf{ cmd\+\_\+element\+::strvec}, \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}, \textbf{ VARARG\+\_\+\+MATCH}, \textbf{ vector\+\_\+active}, \textbf{ vector\+\_\+copy()}, \textbf{ vector\+\_\+free()}, \textbf{ vector\+\_\+slot}, and \textbf{ vty\+\_\+parent()}.



Referenced by \textbf{ cmd\+\_\+execute\+\_\+command()}.

\mbox{\label{group__command_gab4eeeded1223dc162afc25a764ec25fb}} 
\index{VTY Command@{VTY Command}!cmd\_execute\_command\_strict@{cmd\_execute\_command\_strict}}
\index{cmd\_execute\_command\_strict@{cmd\_execute\_command\_strict}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_execute\_command\_strict()}
{\footnotesize\ttfamily int cmd\+\_\+execute\+\_\+command\+\_\+strict (\begin{DoxyParamCaption}\item[{\textbf{ vector}}]{vline,  }\item[{struct \textbf{ vty} $\ast$}]{vty,  }\item[{struct \textbf{ cmd\+\_\+element} $\ast$$\ast$}]{cmd }\end{DoxyParamCaption})}



References \textbf{ argc}, \textbf{ argv}, \textbf{ desc\+::cmd}, \textbf{ CMD\+\_\+\+ARGC\+\_\+\+MAX}, \textbf{ CMD\+\_\+\+ERR\+\_\+\+AMBIGUOUS}, \textbf{ CMD\+\_\+\+ERR\+\_\+\+EXEED\+\_\+\+ARGC\+\_\+\+MAX}, \textbf{ CMD\+\_\+\+ERR\+\_\+\+INCOMPLETE}, \textbf{ CMD\+\_\+\+ERR\+\_\+\+NO\+\_\+\+MATCH}, \textbf{ cmd\+\_\+filter()}, \textbf{ cmd\+\_\+node\+\_\+vector()}, \textbf{ CMD\+\_\+\+OPTION}, \textbf{ CMD\+\_\+\+SUCCESS\+\_\+\+DAEMON}, \textbf{ CMD\+\_\+\+VARARG}, \textbf{ CMD\+\_\+\+VARIABLE}, \textbf{ cmd\+\_\+element\+::cmdsize}, \textbf{ cmdvec}, \textbf{ cmd\+\_\+element\+::daemon}, \textbf{ EXACT\+\_\+\+MATCH}, \textbf{ cmd\+\_\+element\+::func}, \textbf{ vty\+\_\+parent\+\_\+node\+::index}, \textbf{ is\+\_\+cmd\+\_\+ambiguous()}, \textbf{ vty\+::node}, \textbf{ cmd\+\_\+element\+::strvec}, \textbf{ VARARG\+\_\+\+MATCH}, \textbf{ vector\+\_\+active}, \textbf{ vector\+\_\+copy()}, \textbf{ vector\+\_\+free()}, \textbf{ vector\+\_\+slot}, and \textbf{ vty}.



Referenced by \textbf{ config\+\_\+from\+\_\+file()}.

\mbox{\label{group__command_ga2db7a680545e954f94ef07909555329b}} 
\index{VTY Command@{VTY Command}!cmd\_filter@{cmd\_filter}}
\index{cmd\_filter@{cmd\_filter}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_filter()}
{\footnotesize\ttfamily static enum \textbf{ match\+\_\+type} cmd\+\_\+filter (\begin{DoxyParamCaption}\item[{char $\ast$}]{command,  }\item[{\textbf{ vector}}]{v,  }\item[{unsigned int}]{index,  }\item[{enum \textbf{ match\+\_\+type}}]{level }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ ANY\+\_\+\+MATCH}, \textbf{ desc\+::cmd}, \textbf{ cmd\+\_\+match()}, \textbf{ level}, \textbf{ NO\+\_\+\+MATCH}, \textbf{ cmd\+\_\+element\+::strvec}, \textbf{ vector\+\_\+active}, and \textbf{ vector\+\_\+slot}.



Referenced by \textbf{ cmd\+\_\+complete\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+describe\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+real()}, and \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+strict()}.

\mbox{\label{group__command_gab482503644f9e15e0b29af66ba99803b}} 
\index{VTY Command@{VTY Command}!cmd\_flag\_mask@{cmd\_flag\_mask}}
\index{cmd\_flag\_mask@{cmd\_flag\_mask}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_flag\_mask()}
{\footnotesize\ttfamily static const char $\ast$ cmd\+\_\+flag\+\_\+mask (\begin{DoxyParamCaption}\item[{const struct \textbf{ cmd\+\_\+element} $\ast$}]{cmd,  }\item[{unsigned int}]{flag\+\_\+mask }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ host\+::app\+\_\+info}, \textbf{ cmd\+\_\+element\+::attr}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+LIB\+\_\+\+COMMAND}, \textbf{ cmd\+\_\+lib\+\_\+attr\+\_\+letters}, \textbf{ vty\+\_\+app\+\_\+info\+::usr\+\_\+attr\+\_\+letters}, \textbf{ cmd\+\_\+element\+::usrattr}, and \textbf{ VTY\+\_\+\+CMD\+\_\+\+USR\+\_\+\+ATTR\+\_\+\+NUM}.



Referenced by \textbf{ g\+DEFUN()}.

\mbox{\label{group__command_ga2d4e7d3f3fe917dafa06eb6d156d9a6e}} 
\index{VTY Command@{VTY Command}!cmd\_free\_strvec@{cmd\_free\_strvec}}
\index{cmd\_free\_strvec@{cmd\_free\_strvec}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_free\_strvec()}
{\footnotesize\ttfamily void cmd\+\_\+free\+\_\+strvec (\begin{DoxyParamCaption}\item[{\textbf{ vector}}]{v }\end{DoxyParamCaption})}



Free allocated string vector. 



References \textbf{ vector\+\_\+active}, \textbf{ vector\+\_\+free()}, and \textbf{ vector\+\_\+slot}.



Referenced by \textbf{ config\+\_\+from\+\_\+file()}, \textbf{ vty\+\_\+command()}, \textbf{ vty\+\_\+complete\+\_\+command()}, and \textbf{ vty\+\_\+describe\+\_\+command()}.

\mbox{\label{group__command_ga26a038f77ff5775f3f14d895e6566386}} 
\index{VTY Command@{VTY Command}!cmd\_gflag\_mask@{cmd\_gflag\_mask}}
\index{cmd\_gflag\_mask@{cmd\_gflag\_mask}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_gflag\_mask()}
{\footnotesize\ttfamily static const char $\ast$ cmd\+\_\+gflag\+\_\+mask (\begin{DoxyParamCaption}\item[{const struct \textbf{ cmd\+\_\+element} $\ast$}]{cmd }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ cmd\+\_\+element\+::attr}, \textbf{ cmd\+\_\+attr\+\_\+get\+\_\+flag()}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+IMMEDIATE}, and \textbf{ CMD\+\_\+\+ATTR\+\_\+\+NODE\+\_\+\+EXIT}.



Referenced by \textbf{ g\+DEFUN()}.

\mbox{\label{group__command_gac8aa19764b709737963069a30334afb5}} 
\index{VTY Command@{VTY Command}!cmd\_init@{cmd\_init}}
\index{cmd\_init@{cmd\_init}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_init()}
{\footnotesize\ttfamily void cmd\+\_\+init (\begin{DoxyParamCaption}\item[{int}]{terminal }\end{DoxyParamCaption})}



References \textbf{ auth\+\_\+enable\+\_\+node}, \textbf{ auth\+\_\+node}, \textbf{ cmdvec}, \textbf{ host\+::config}, \textbf{ config\+\_\+exit\+\_\+cmd}, \textbf{ config\+\_\+help\+\_\+cmd}, \textbf{ config\+\_\+list\+\_\+cmd}, \textbf{ CONFIG\+\_\+\+NODE}, \textbf{ config\+\_\+node}, \textbf{ config\+\_\+write\+\_\+host()}, \textbf{ copy\+\_\+runningconfig\+\_\+startupconfig\+\_\+cmd}, \textbf{ default\+\_\+motd}, \textbf{ host\+::enable}, \textbf{ ENABLE\+\_\+\+NODE}, \textbf{ enable\+\_\+node}, \textbf{ install\+\_\+lib\+\_\+element()}, \textbf{ install\+\_\+node()}, \textbf{ install\+\_\+node\+\_\+bare()}, \textbf{ host\+::lines}, \textbf{ host\+::logfile}, \textbf{ host\+::motd}, \textbf{ host\+::motdfile}, \textbf{ host\+::name}, \textbf{ host\+::password}, \textbf{ terminal}, \textbf{ time}, \textbf{ vector\+\_\+init()}, \textbf{ VECTOR\+\_\+\+MIN\+\_\+\+SIZE}, \textbf{ VIEW\+\_\+\+NODE}, and \textbf{ view\+\_\+node}.



Referenced by \textbf{ vty\+\_\+init()}.

\mbox{\label{group__command_ga342daaf8a56cf5fccd5f075f95bea71d}} 
\index{VTY Command@{VTY Command}!cmd\_ipv4\_match@{cmd\_ipv4\_match}}
\index{cmd\_ipv4\_match@{cmd\_ipv4\_match}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_ipv4\_match()}
{\footnotesize\ttfamily static enum \textbf{ match\+\_\+type} cmd\+\_\+ipv4\+\_\+match (\begin{DoxyParamCaption}\item[{const char $\ast$}]{str }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ EXACT\+\_\+\+MATCH}, \textbf{ NO\+\_\+\+MATCH}, and \textbf{ PARTLY\+\_\+\+MATCH}.



Referenced by \textbf{ cmd\+\_\+entry\+\_\+function\+\_\+desc()}, and \textbf{ cmd\+\_\+match()}.

\mbox{\label{group__command_ga8e4fffe84f41a3616a69c89228a3464f}} 
\index{VTY Command@{VTY Command}!cmd\_ipv4\_prefix\_match@{cmd\_ipv4\_prefix\_match}}
\index{cmd\_ipv4\_prefix\_match@{cmd\_ipv4\_prefix\_match}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_ipv4\_prefix\_match()}
{\footnotesize\ttfamily static enum \textbf{ match\+\_\+type} cmd\+\_\+ipv4\+\_\+prefix\+\_\+match (\begin{DoxyParamCaption}\item[{const char $\ast$}]{str }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ EXACT\+\_\+\+MATCH}, \textbf{ NO\+\_\+\+MATCH}, and \textbf{ PARTLY\+\_\+\+MATCH}.



Referenced by \textbf{ cmd\+\_\+entry\+\_\+function\+\_\+desc()}, \textbf{ cmd\+\_\+match()}, and \textbf{ is\+\_\+cmd\+\_\+ambiguous()}.

\mbox{\label{group__command_gaf0c44035c55b5155a6f4b271ddc5ac2a}} 
\index{VTY Command@{VTY Command}!cmd\_lcd@{cmd\_lcd}}
\index{cmd\_lcd@{cmd\_lcd}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_lcd()}
{\footnotesize\ttfamily static int cmd\+\_\+lcd (\begin{DoxyParamCaption}\item[{char $\ast$$\ast$}]{matched }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ cmd\+\_\+complete\+\_\+command\+\_\+real()}.

\mbox{\label{group__command_gaed6700eb18eb80b434e7f09e3829e4ca}} 
\index{VTY Command@{VTY Command}!cmd\_make\_descvec@{cmd\_make\_descvec}}
\index{cmd\_make\_descvec@{cmd\_make\_descvec}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_make\_descvec()}
{\footnotesize\ttfamily static \textbf{ vector} cmd\+\_\+make\+\_\+descvec (\begin{DoxyParamCaption}\item[{const char $\ast$}]{string,  }\item[{const char $\ast$}]{descstr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



New string vector. 



References \textbf{ desc\+::cmd}, \textbf{ cmd\+\_\+desc\+\_\+str()}, \textbf{ len()}, \textbf{ OSMO\+\_\+\+ASSERT}, \textbf{ desc\+::str}, \textbf{ cmd\+\_\+element\+::strvec}, \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}, \textbf{ vector\+\_\+init()}, \textbf{ VECTOR\+\_\+\+MIN\+\_\+\+SIZE}, and \textbf{ vector\+\_\+set()}.



Referenced by \textbf{ install\+\_\+element()}.

\mbox{\label{group__command_ga968b2f52fc543595fa4ce625f5fdb6a3}} 
\index{VTY Command@{VTY Command}!cmd\_make\_strvec@{cmd\_make\_strvec}}
\index{cmd\_make\_strvec@{cmd\_make\_strvec}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_make\_strvec()}
{\footnotesize\ttfamily \textbf{ vector} cmd\+\_\+make\+\_\+strvec (\begin{DoxyParamCaption}\item[{const char $\ast$}]{string }\end{DoxyParamCaption})}



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 $\ast$$\ast$ data element. 

References \textbf{ cmd\+\_\+make\+\_\+strvec2()}, and \textbf{ cmd\+\_\+element\+::strvec}.



Referenced by \textbf{ vty\+\_\+command()}, \textbf{ vty\+\_\+complete\+\_\+command()}, and \textbf{ vty\+\_\+describe\+\_\+command()}.

\mbox{\label{group__command_gaa92300860f962abd3c63c5425988209d}} 
\index{VTY Command@{VTY Command}!cmd\_make\_strvec2@{cmd\_make\_strvec2}}
\index{cmd\_make\_strvec2@{cmd\_make\_strvec2}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_make\_strvec2()}
{\footnotesize\ttfamily int cmd\+\_\+make\+\_\+strvec2 (\begin{DoxyParamCaption}\item[{const char $\ast$}]{string,  }\item[{char $\ast$$\ast$}]{indent,  }\item[{\textbf{ vector} $\ast$}]{strvec\+\_\+p }\end{DoxyParamCaption})}



Break up string in command tokens. 

Return leading indents. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em string} & String to split. \\
\hline
\mbox{\texttt{ out}}  & {\em indent} & If not NULL, return a talloc\+\_\+strdup of indent characters. \\
\hline
\mbox{\texttt{ out}}  & {\em strvec\+\_\+p} & Returns vector of split tokens, must not be NULL. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
CMD\+\_\+\+SUCCESS or CMD\+\_\+\+ERR\+\_\+\+INVALID\+\_\+\+INDENT
\end{DoxyReturn}
If {\itshape indent} is passed non-\/\+NULL, only simple space \textquotesingle{} \textquotesingle{} indents are allowed, so that {\itshape indent} can simply return the count of leading spaces. Otherwise any isspace() characters are allowed for indenting (backwards compat). 

References \textbf{ CMD\+\_\+\+ERR\+\_\+\+INVALID\+\_\+\+INDENT}, \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ start}, \textbf{ cmd\+\_\+element\+::string}, \textbf{ cmd\+\_\+element\+::strvec}, \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}, \textbf{ vector\+\_\+init()}, \textbf{ VECTOR\+\_\+\+MIN\+\_\+\+SIZE}, and \textbf{ vector\+\_\+set()}.



Referenced by \textbf{ cmd\+\_\+make\+\_\+strvec()}, and \textbf{ config\+\_\+from\+\_\+file()}.

\mbox{\label{group__command_ga2aac1b36cb54d0ba574a1f010a4e00be}} 
\index{VTY Command@{VTY Command}!cmd\_match@{cmd\_match}}
\index{cmd\_match@{cmd\_match}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_match()}
{\footnotesize\ttfamily static enum \textbf{ match\+\_\+type} cmd\+\_\+match (\begin{DoxyParamCaption}\item[{const char $\ast$}]{str,  }\item[{const char $\ast$}]{command,  }\item[{enum \textbf{ match\+\_\+type}}]{min,  }\item[{bool}]{recur }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ cmd\+\_\+deopt()}, \textbf{ CMD\+\_\+\+IPV4}, \textbf{ cmd\+\_\+ipv4\+\_\+match()}, \textbf{ CMD\+\_\+\+IPV4\+\_\+\+PREFIX}, \textbf{ cmd\+\_\+ipv4\+\_\+prefix\+\_\+match()}, \textbf{ CMD\+\_\+\+IPV6}, \textbf{ CMD\+\_\+\+IPV6\+\_\+\+PREFIX}, \textbf{ cmd\+\_\+match()}, \textbf{ CMD\+\_\+\+OPTION}, \textbf{ CMD\+\_\+\+RANGE}, \textbf{ CMD\+\_\+\+VARARG}, \textbf{ CMD\+\_\+\+VARIABLE}, \textbf{ EXACT\+\_\+\+MATCH}, \textbf{ EXTEND\+\_\+\+MATCH}, \textbf{ IPV4\+\_\+\+MATCH}, \textbf{ IPV4\+\_\+\+PREFIX\+\_\+\+MATCH}, \textbf{ IPV6\+\_\+\+MATCH}, \textbf{ IPV6\+\_\+\+PREFIX\+\_\+\+MATCH}, \textbf{ NO\+\_\+\+MATCH}, \textbf{ PARTLY\+\_\+\+MATCH}, \textbf{ RANGE\+\_\+\+MATCH}, \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}, \textbf{ VARARG\+\_\+\+MATCH}, and \textbf{ vty\+\_\+cmd\+\_\+range\+\_\+match()}.



Referenced by \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+filter()}, and \textbf{ cmd\+\_\+match()}.

\mbox{\label{group__command_ga6bf41e47d92a2728a7a35e8037e2f407}} 
\index{VTY Command@{VTY Command}!cmd\_node\_vector@{cmd\_node\_vector}}
\index{cmd\_node\_vector@{cmd\_node\_vector}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_node\_vector()}
{\footnotesize\ttfamily static \textbf{ vector} cmd\+\_\+node\+\_\+vector (\begin{DoxyParamCaption}\item[{\textbf{ vector}}]{v,  }\item[{enum \textbf{ node\+\_\+type}}]{ntype }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ cmd\+\_\+node\+::cmd\+\_\+vector}, \textbf{ OSMO\+\_\+\+ASSERT}, and \textbf{ vector\+\_\+slot}.



Referenced by \textbf{ cmd\+\_\+complete\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+describe\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+real()}, and \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+strict()}.

\mbox{\label{group__command_ga6700a24ff583beaf194b445c62d4d2d5}} 
\index{VTY Command@{VTY Command}!cmd\_prompt@{cmd\_prompt}}
\index{cmd\_prompt@{cmd\_prompt}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_prompt()}
{\footnotesize\ttfamily const char $\ast$ cmd\+\_\+prompt (\begin{DoxyParamCaption}\item[{enum \textbf{ node\+\_\+type}}]{node }\end{DoxyParamCaption})}



Return prompt character of specified node. 



References \textbf{ cmdvec}, \textbf{ node}, \textbf{ cmd\+\_\+node\+::prompt}, and \textbf{ vector\+\_\+slot}.



Referenced by \textbf{ vty\+\_\+prompt()}.

\mbox{\label{group__command_ga4d53f6ebf2594b52ba866576d9e2b1fb}} 
\index{VTY Command@{VTY Command}!cmd\_try\_do\_shortcut@{cmd\_try\_do\_shortcut}}
\index{cmd\_try\_do\_shortcut@{cmd\_try\_do\_shortcut}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_try\_do\_shortcut()}
{\footnotesize\ttfamily static int cmd\+\_\+try\+\_\+do\+\_\+shortcut (\begin{DoxyParamCaption}\item[{enum \textbf{ node\+\_\+type}}]{node,  }\item[{char $\ast$}]{first\+\_\+word }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ AUTH\+\_\+\+ENABLE\+\_\+\+NODE}, \textbf{ AUTH\+\_\+\+NODE}, \textbf{ ENABLE\+\_\+\+NODE}, \textbf{ node}, and \textbf{ VIEW\+\_\+\+NODE}.



Referenced by \textbf{ cmd\+\_\+complete\+\_\+command()}, \textbf{ cmd\+\_\+describe\+\_\+command()}, and \textbf{ cmd\+\_\+execute\+\_\+command()}.

\mbox{\label{group__command_ga33f9234dbe7cabc1a9513c48094c4752}} 
\index{VTY Command@{VTY Command}!cmd\_unique\_string@{cmd\_unique\_string}}
\index{cmd\_unique\_string@{cmd\_unique\_string}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_unique\_string()}
{\footnotesize\ttfamily static int cmd\+\_\+unique\+\_\+string (\begin{DoxyParamCaption}\item[{\textbf{ vector}}]{v,  }\item[{const char $\ast$}]{str }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ desc\+::str}, \textbf{ vector\+\_\+active}, and \textbf{ vector\+\_\+slot}.



Referenced by \textbf{ cmd\+\_\+complete\+\_\+command\+\_\+real()}.

\mbox{\label{group__command_gaedeab53f20d6c4df790b7a702780ed74}} 
\index{VTY Command@{VTY Command}!cmp\_desc@{cmp\_desc}}
\index{cmp\_desc@{cmp\_desc}!VTY Command@{VTY Command}}
\doxysubsubsection{cmp\_desc()}
{\footnotesize\ttfamily static int cmp\+\_\+desc (\begin{DoxyParamCaption}\item[{const void $\ast$}]{p,  }\item[{const void $\ast$}]{q }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ desc\+::cmd}.



Referenced by \textbf{ sort\+\_\+node()}.

\mbox{\label{group__command_ga9b66033af09501f16c900af654915d1e}} 
\index{VTY Command@{VTY Command}!cmp\_node@{cmp\_node}}
\index{cmp\_node@{cmp\_node}!VTY Command@{VTY Command}}
\doxysubsubsection{cmp\_node()}
{\footnotesize\ttfamily static int cmp\+\_\+node (\begin{DoxyParamCaption}\item[{const void $\ast$}]{p,  }\item[{const void $\ast$}]{q }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ cmd\+\_\+element\+::string}.



Referenced by \textbf{ sort\+\_\+node()}.

\mbox{\label{group__command_ga77ca0aabdcc19449d7a88f2e30b46348}} 
\index{VTY Command@{VTY Command}!config@{config}}
\index{config@{config}!VTY Command@{VTY Command}}
\doxysubsubsection{config()}
{\footnotesize\ttfamily write Write running configuration to or \textbf{ terminal} \textbf{ n} Write configuration to the copy running config startup Copy configuration \textbf{ n} Copy running config to \textbf{ n} Copy running config to startup config (\begin{DoxyParamCaption}\item[{same as write}]{file }\end{DoxyParamCaption})}

\mbox{\label{group__command_gab332bc3c1253a817322944ade0365c60}} 
\index{VTY Command@{VTY Command}!config\_from\_file@{config\_from\_file}}
\index{config\_from\_file@{config\_from\_file}!VTY Command@{VTY Command}}
\doxysubsubsection{config\_from\_file()}
{\footnotesize\ttfamily int config\+\_\+from\+\_\+file (\begin{DoxyParamCaption}\item[{struct \textbf{ vty} $\ast$}]{vty,  }\item[{FILE $\ast$}]{fp }\end{DoxyParamCaption})}



References \textbf{ vty\+::buf}, \textbf{ CMD\+\_\+\+ERR\+\_\+\+INVALID\+\_\+\+INDENT}, \textbf{ CMD\+\_\+\+ERR\+\_\+\+NOTHING\+\_\+\+TODO}, \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+strict()}, \textbf{ cmd\+\_\+free\+\_\+strvec()}, \textbf{ cmd\+\_\+make\+\_\+strvec2()}, \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ vty\+\_\+parent\+\_\+node\+::entry}, \textbf{ vty\+::indent}, \textbf{ vty\+\_\+parent\+\_\+node\+::indent}, \textbf{ indent\+\_\+cmp()}, \textbf{ vty\+::index}, \textbf{ llist\+\_\+add()}, \textbf{ vty\+::node}, \textbf{ vty\+\_\+parent\+\_\+node\+::node}, \textbf{ vty\+::parent\+\_\+nodes}, \textbf{ vty\+::priv}, \textbf{ VTY\+\_\+\+BUFSIZ}, \textbf{ vty\+\_\+go\+\_\+parent()}, and \textbf{ vty\+\_\+parent()}.



Referenced by \textbf{ vty\+\_\+read\+\_\+config\+\_\+filep()}.

\mbox{\label{group__command_gaf0bc22d9c8ba36a5d0e01352325f0f48}} 
\index{VTY Command@{VTY Command}!config\_replace\_string@{config\_replace\_string}}
\index{config\_replace\_string@{config\_replace\_string}!VTY Command@{VTY Command}}
\doxysubsubsection{config\_replace\_string()}
{\footnotesize\ttfamily void config\+\_\+replace\+\_\+string (\begin{DoxyParamCaption}\item[{struct \textbf{ cmd\+\_\+element} $\ast$}]{,  }\item[{char $\ast$}]{,  }\item[{}]{... }\end{DoxyParamCaption})}

\mbox{\label{group__command_ga348a5700e347f90e9fce07b8b9f0864d}} 
\index{VTY Command@{VTY Command}!config\_write\_host@{config\_write\_host}}
\index{config\_write\_host@{config\_write\_host}!VTY Command@{VTY Command}}
\doxysubsubsection{config\_write\_host()}
{\footnotesize\ttfamily static int config\+\_\+write\+\_\+host (\begin{DoxyParamCaption}\item[{struct \textbf{ vty} $\ast$}]{vty }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ host\+::advanced}, \textbf{ host\+::enable}, \textbf{ host\+::enable\+\_\+encrypt}, \textbf{ host\+::encrypt}, \textbf{ host\+::lines}, \textbf{ host\+::motd}, \textbf{ host\+::motdfile}, \textbf{ host\+::name}, \textbf{ host\+::password}, \textbf{ host\+::password\+\_\+encrypt}, \textbf{ VTY\+\_\+\+NEWLINE}, and \textbf{ vty\+\_\+out()}.



Referenced by \textbf{ cmd\+\_\+init()}.

\mbox{\label{group__command_ga24635011c7ce56a4ccea563e4ccad78f}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [1/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{banner\+\_\+motd\+\_\+default}]{,  }\item[{banner\+\_\+motd\+\_\+default\+\_\+cmd}]{,  }\item[{\char`\"{}banner motd default\char`\"{}}]{,  }\item[{\char`\"{}Set banner \textbf{ string\textbackslash{}n}\char`\"{} \char`\"{}Strings \textbf{ for} \textbf{ motd\textbackslash{}n}\char`\"{} \char`\"{}Default \textbf{ string\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ default\+\_\+motd}, and \textbf{ host\+::motd}.

\mbox{\label{group__command_ga002436a3bf052acb714e03736987e4f9}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [2/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{banner\+\_\+motd\+\_\+file}]{,  }\item[{banner\+\_\+motd\+\_\+file\+\_\+cmd}]{,  }\item[{\char`\"{}banner motd \textbf{ file} \char`\"{}}]{[\+FILE],  }\item[{\char`\"{}Set \textbf{ banner\textbackslash{}n}\char`\"{} \char`\"{}Banner \textbf{ for} \textbf{ motd\textbackslash{}n}\char`\"{} \char`\"{}Banner from a \textbf{ file\textbackslash{}n}\char`\"{} \char`\"{}\textbf{ Filename\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ argv}, \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ host\+::motdfile}, and \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}.

\mbox{\label{group__command_gac41d973334e0368b3c2ead5c9de657bd}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [3/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{config\+\_\+hostname}]{,  }\item[{hostname\+\_\+cmd}]{,  }\item[{\char`\"{}hostname WORD\char`\"{}}]{,  }\item[{\char`\"{}Set system\textquotesingle{}s \textbf{ network} \textbf{ name\textbackslash{}n}\char`\"{} \char`\"{}This system\textquotesingle{}s \textbf{ network} \textbf{ name\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ argv}, \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ CMD\+\_\+\+WARNING}, \textbf{ host\+::name}, \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}, \textbf{ VTY\+\_\+\+NEWLINE}, and \textbf{ vty\+\_\+out()}.

\mbox{\label{group__command_gabb8ef344d0b05c16394631d127191a07}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [4/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{config\+\_\+no\+\_\+hostname}]{,  }\item[{no\+\_\+hostname\+\_\+cmd}]{,  }\item[{\char`\"{}no hostname \char`\"{}}]{[\+HOSTNAME],  }\item[{\textbf{ NO\+\_\+\+STR} \char`\"{}Reset system\textquotesingle{}s \textbf{ network} \textbf{ name\textbackslash{}n}\char`\"{} \char`\"{}Host \textbf{ name} of this \textbf{ router\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ CMD\+\_\+\+SUCCESS}, and \textbf{ host\+::name}.

\mbox{\label{group__command_ga85e561ce17124a76585ce60949fe4a41}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [5/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{config\+\_\+password}]{,  }\item[{password\+\_\+cmd}]{,  }\item[{\char`\"{}password (8$\vert$) WORD\char`\"{}}]{,  }\item[{\char`\"{}Assign the \textbf{ terminal} connection \textbf{ password\textbackslash{}n}\char`\"{} \char`\"{}Specifies a HIDDEN password will \textbf{ follow\textbackslash{}n}\char`\"{} \char`\"{}dummy string \textbackslash{}\textbf{ n}\char`\"{} \char`\"{}The HIDDEN line password \textbf{ string\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ argc}, \textbf{ argv}, \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ CMD\+\_\+\+WARNING}, \textbf{ host\+::encrypt}, \textbf{ host\+::password}, \textbf{ host\+::password\+\_\+encrypt}, \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}, \textbf{ VTY\+\_\+\+NEWLINE}, and \textbf{ vty\+\_\+out()}.

\mbox{\label{group__command_ga8e6bf2a53a3760067299be038555280c}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [6/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{config\+\_\+terminal}]{,  }\item[{config\+\_\+terminal\+\_\+cmd}]{,  }\item[{\char`\"{}configure \char`\"{}}]{[terminal],  }\item[{\char`\"{}Configuration from \textbf{ vty} \textbf{ interface\textbackslash{}n}\char`\"{} \char`\"{}Configuration \textbf{ terminal\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ CMD\+\_\+\+WARNING}, \textbf{ CONFIG\+\_\+\+NODE}, \textbf{ vty\+::node}, \textbf{ vty\+\_\+config\+\_\+lock()}, \textbf{ VTY\+\_\+\+NEWLINE}, and \textbf{ vty\+\_\+out()}.

\mbox{\label{group__command_gab7ee944820be062b139675dbe8094f15}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [7/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{config\+\_\+terminal\+\_\+length}]{,  }\item[{config\+\_\+terminal\+\_\+length\+\_\+cmd}]{,  }\item[{\char`\"{}terminal \textbf{ length} $<$0-\/512$>$\char`\"{}}]{,  }\item[{\char`\"{}Set \textbf{ terminal} line \textbf{ parameters\textbackslash{}n}\char`\"{} \char`\"{}Set number of lines on a \textbf{ screen\textbackslash{}n}\char`\"{} \char`\"{}Number of lines on screen (0 \textbf{ for} no pausing)\textbackslash{}\textbf{ n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ argv}, \textbf{ CMD\+\_\+\+SUCCESS}, and \textbf{ vty\+::lines}.

\mbox{\label{group__command_gad636b3bba17422b252195c93eb408661}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [8/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{config\+\_\+terminal\+\_\+no\+\_\+length}]{,  }\item[{config\+\_\+terminal\+\_\+no\+\_\+length\+\_\+cmd}]{,  }\item[{\char`\"{}terminal no \textbf{ length}\char`\"{}}]{,  }\item[{\char`\"{}Set \textbf{ terminal} line \textbf{ parameters\textbackslash{}n}\char`\"{} NO\+\_\+\+STR \char`\"{}Set number of lines on a \textbf{ screen\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ CMD\+\_\+\+SUCCESS}, and \textbf{ vty\+::lines}.

\mbox{\label{group__command_ga49720130c911fc2f7792ea1808209348}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [9/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{config\+\_\+write\+\_\+file}]{,  }\item[{config\+\_\+write\+\_\+file\+\_\+cmd}]{,  }\item[{\char`\"{}write \textbf{ file} \char`\"{}}]{[\+PATH],  }\item[{\char`\"{}Write running configuration to}]{memory,  }\item[{\textbf{ network}}]{,  }\item[{or \textbf{ terminal\textbackslash{}n}\char`\"{} \char`\"{}Write to configuration \textbf{ file\textbackslash{}n}\char`\"{} \char`\"{}Set \textbf{ file} path to store the}]{config,  }\item[{or replace \textbf{ if} already \textbf{ exists\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ host\+::app\+\_\+info}, \textbf{ argc}, \textbf{ argv}, \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ CMD\+\_\+\+WARNING}, \textbf{ host\+::config}, \textbf{ vty\+\_\+app\+\_\+info\+::config\+\_\+is\+\_\+consistent}, \textbf{ host\+\_\+config\+\_\+set()}, \textbf{ VTY\+\_\+\+NEWLINE}, \textbf{ vty\+\_\+out()}, and \textbf{ write\+\_\+config\+\_\+file()}.

\mbox{\label{group__command_ga7eb42e326f87c217e72d79f4a1e575e7}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [10/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{disable}]{,  }\item[{config\+\_\+disable\+\_\+cmd}]{,  }\item[{\char`\"{}disable\char`\"{}}]{,  }\item[{\char`\"{}Turn off privileged \textbf{ mode} \textbf{ command\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ ENABLE\+\_\+\+NODE}, \textbf{ vty\+::expert\+\_\+mode}, \textbf{ vty\+::node}, and \textbf{ VIEW\+\_\+\+NODE}.

\mbox{\label{group__command_gaa2ea28135e6a09e8912c4eecdbe3f459}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [11/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{enable}]{,  }\item[{config\+\_\+enable\+\_\+cmd}]{,  }\item[{\char`\"{}enable \char`\"{}}]{[expert-\/mode],  }\item[{\char`\"{}Turn on privileged \textbf{ mode} \textbf{ command\textbackslash{}n}\char`\"{} \char`\"{}Enable the expert \textbf{ mode} (show hidden commands)\textbackslash{}\textbf{ n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ argc}, \textbf{ AUTH\+\_\+\+ENABLE\+\_\+\+NODE}, \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ host\+::enable}, \textbf{ host\+::enable\+\_\+encrypt}, \textbf{ ENABLE\+\_\+\+NODE}, \textbf{ vty\+::expert\+\_\+mode}, \textbf{ vty\+::node}, \textbf{ vty\+::type}, and \textbf{ VTY\+\_\+\+SHELL\+\_\+\+SERV}.

\mbox{\label{group__command_ga2be984ed09e3f3d217aa0c2164cdf6f8}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [12/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{no\+\_\+banner\+\_\+motd}]{,  }\item[{no\+\_\+banner\+\_\+motd\+\_\+cmd}]{,  }\item[{\char`\"{}no banner motd\char`\"{}}]{,  }\item[{\textbf{ NO\+\_\+\+STR} \char`\"{}Set banner \textbf{ string\textbackslash{}n}\char`\"{} \char`\"{}Strings \textbf{ for} \textbf{ motd\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ host\+::motd}, and \textbf{ host\+::motdfile}.

\mbox{\label{group__command_gac197e4596ef95095892209066f052605}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [13/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{no\+\_\+service\+\_\+terminal\+\_\+length}]{,  }\item[{no\+\_\+service\+\_\+terminal\+\_\+length\+\_\+cmd}]{,  }\item[{\char`\"{}no service \textbf{ terminal}-\/\textbf{ length} \char`\"{}}]{[$<$ 0-\/512 $>$],  }\item[{\textbf{ NO\+\_\+\+STR} \char`\"{}Set up miscellaneous \textbf{ service\textbackslash{}n}\char`\"{} \char`\"{}System wide \textbf{ terminal} \textbf{ length} \textbf{ configuration\textbackslash{}n}\char`\"{} \char`\"{}Number of lines of VTY (0 means no line control)\textbackslash{}\textbf{ n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ CMD\+\_\+\+SUCCESS}, and \textbf{ host\+::lines}.

\mbox{\label{group__command_ga2259b181d01810e71c7ba3c87bf7b326}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [14/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{service\+\_\+terminal\+\_\+length}]{,  }\item[{service\+\_\+terminal\+\_\+length\+\_\+cmd}]{,  }\item[{\char`\"{}service \textbf{ terminal}-\/\textbf{ length} $<$0-\/512$>$\char`\"{}}]{,  }\item[{\char`\"{}Set up miscellaneous \textbf{ service\textbackslash{}n}\char`\"{} \char`\"{}System wide \textbf{ terminal} \textbf{ length} \textbf{ configuration\textbackslash{}n}\char`\"{} \char`\"{}Number of lines of VTY (0 means no line control)\textbackslash{}\textbf{ n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ argv}, \textbf{ CMD\+\_\+\+SUCCESS}, and \textbf{ host\+::lines}.

\mbox{\label{group__command_ga2bbcebd3e2cbe9beb866508448decefc}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [15/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{show\+\_\+online\+\_\+help}]{,  }\item[{show\+\_\+online\+\_\+help\+\_\+cmd}]{,  }\item[{\char`\"{}show online-\/help\char`\"{}}]{,  }\item[{\textbf{ SHOW\+\_\+\+STR} \char`\"{}Online \textbf{ help\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ CMD\+\_\+\+SUCCESS}, and \textbf{ vty\+\_\+dump\+\_\+xml\+\_\+ref\+\_\+to\+\_\+vty()}.

\mbox{\label{group__command_gaa8b867cbf4490de5224c667249c77abd}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [16/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{show\+\_\+pid}]{,  }\item[{show\+\_\+pid\+\_\+cmd}]{,  }\item[{\char`\"{}show \textbf{ pid}\char`\"{}}]{,  }\item[{\textbf{ SHOW\+\_\+\+STR} \char`\"{}Displays the process \textbf{ ID\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ VTY\+\_\+\+NEWLINE}, and \textbf{ vty\+\_\+out()}.

\mbox{\label{group__command_ga9df05cf259b583e1023e95248be0b164}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [17/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{show\+\_\+uptime}]{,  }\item[{show\+\_\+uptime\+\_\+cmd}]{,  }\item[{\char`\"{}show uptime\char`\"{}}]{,  }\item[{\textbf{ SHOW\+\_\+\+STR} \char`\"{}Displays how long the program has been \textbf{ running\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ host\+::app\+\_\+info}, \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ vty\+\_\+app\+\_\+info\+::name}, \textbf{ starttime}, \textbf{ vty\+\_\+out()}, \textbf{ vty\+\_\+out\+\_\+newline()}, and \textbf{ vty\+\_\+out\+\_\+uptime()}.

\mbox{\label{group__command_ga54f9488f2d7fd27709ec987567c8af22}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [18/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{show\+\_\+version}]{,  }\item[{show\+\_\+version\+\_\+cmd}]{,  }\item[{\char`\"{}show \textbf{ version}\char`\"{}}]{,  }\item[{\textbf{ SHOW\+\_\+\+STR} \char`\"{}Displays program \textbf{ version\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ host\+::app\+\_\+info}, \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ vty\+\_\+app\+\_\+info\+::copyright}, \textbf{ vty\+\_\+app\+\_\+info\+::name}, \textbf{ vty\+\_\+app\+\_\+info\+::version}, \textbf{ VTY\+\_\+\+NEWLINE}, and \textbf{ vty\+\_\+out()}.

\mbox{\label{group__command_ga0f0d575a0cf7a4f09b7223a593e24e6d}} 
\index{VTY Command@{VTY Command}!DEFUN@{DEFUN}}
\index{DEFUN@{DEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [19/19]}}
{\footnotesize\ttfamily DEFUN (\begin{DoxyParamCaption}\item[{shutdown}]{,  }\item[{shutdown\+\_\+cmd}]{,  }\item[{\char`\"{}shutdown\char`\"{}}]{,  }\item[{\char`\"{}Request a shutdown of the \textbf{ program\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ host\+::app\+\_\+info}, \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ DLGLOBAL}, \textbf{ LOGL\+\_\+\+INFO}, \textbf{ LOGP}, \textbf{ vty\+\_\+app\+\_\+info\+::name}, \textbf{ VTY\+\_\+\+NEWLINE}, and \textbf{ vty\+\_\+out()}.

\mbox{\label{group__command_gaa1248c988cd118e05957fe8f1efbbd78}} 
\index{VTY Command@{VTY Command}!DEFUN\_HIDDEN@{DEFUN\_HIDDEN}}
\index{DEFUN\_HIDDEN@{DEFUN\_HIDDEN}!VTY Command@{VTY Command}}
\doxysubsubsection{DEFUN\_HIDDEN()}
{\footnotesize\ttfamily DEFUN\+\_\+\+HIDDEN (\begin{DoxyParamCaption}\item[{do\+\_\+echo}]{,  }\item[{echo\+\_\+cmd}]{,  }\item[{\char`\"{}echo .MESSAGE\char`\"{}}]{,  }\item[{\char`\"{}Echo a message back to the \textbf{ vty\textbackslash{}n}\char`\"{} \char`\"{}The message to \textbf{ echo\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ argc}, \textbf{ argv}, \textbf{ argv\+\_\+concat()}, \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ VTY\+\_\+\+NEWLINE}, and \textbf{ vty\+\_\+out()}.

\mbox{\label{group__command_ga48351417abf285824ae9b81877386f1e}} 
\index{VTY Command@{VTY Command}!desc\_unique\_string@{desc\_unique\_string}}
\index{desc\_unique\_string@{desc\_unique\_string}!VTY Command@{VTY Command}}
\doxysubsubsection{desc\_unique\_string()}
{\footnotesize\ttfamily static int desc\+\_\+unique\+\_\+string (\begin{DoxyParamCaption}\item[{\textbf{ vector}}]{v,  }\item[{const char $\ast$}]{str }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ desc\+::cmd}, \textbf{ desc\+::str}, \textbf{ vector\+\_\+active}, and \textbf{ vector\+\_\+slot}.



Referenced by \textbf{ cmd\+\_\+describe\+\_\+command\+\_\+real()}.

\mbox{\label{group__command_ga1c3e169d28a22aa5450db48ef73f3444}} 
\index{VTY Command@{VTY Command}!file@{file}}
\index{file@{file}!VTY Command@{VTY Command}}
\doxysubsubsection{file()}
{\footnotesize\ttfamily write Write running configuration to or \textbf{ terminal} \textbf{ n} Write configuration to the file (\begin{DoxyParamCaption}\item[{same as write}]{file }\end{DoxyParamCaption})}

\mbox{\label{group__command_gaa3d2145a36dc0250ca268fd4c2aa6be0}} 
\index{VTY Command@{VTY Command}!for@{for}}
\index{for@{for}!VTY Command@{VTY Command}}
\doxysubsubsection{for()}
{\footnotesize\ttfamily for (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\label{group__command_ga39169b7237f11a3cd0ff76a22547ac48}} 
\index{VTY Command@{VTY Command}!gDEFUN@{gDEFUN}}
\index{gDEFUN@{gDEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{gDEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}}
{\footnotesize\ttfamily g\+DEFUN (\begin{DoxyParamCaption}\item[{config\+\_\+end}]{,  }\item[{\textbf{ config\+\_\+end\+\_\+cmd}}]{,  }\item[{\char`\"{}end\char`\"{}}]{,  }\item[{\char`\"{}End current \textbf{ mode} and change to enable mode.\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ CONFIG\+\_\+\+NODE}, \textbf{ ENABLE\+\_\+\+NODE}, \textbf{ vty\+::index}, \textbf{ vty\+::index\+\_\+sub}, \textbf{ vty\+::node}, \textbf{ vty\+\_\+config\+\_\+unlock()}, and \textbf{ vty\+\_\+go\+\_\+parent()}.

\mbox{\label{group__command_ga4cb0437b409b4956cae6595684c2a26b}} 
\index{VTY Command@{VTY Command}!gDEFUN@{gDEFUN}}
\index{gDEFUN@{gDEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{gDEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}}
{\footnotesize\ttfamily g\+DEFUN (\begin{DoxyParamCaption}\item[{config\+\_\+exit}]{,  }\item[{\textbf{ config\+\_\+exit\+\_\+cmd}}]{,  }\item[{\char`\"{}exit\char`\"{}}]{,  }\item[{\char`\"{}Exit current \textbf{ mode} and down to previous \textbf{ mode\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ AUTH\+\_\+\+NODE}, \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ CONFIG\+\_\+\+NODE}, \textbf{ ENABLE\+\_\+\+NODE}, \textbf{ vty\+::node}, \textbf{ vty\+::status}, \textbf{ VIEW\+\_\+\+NODE}, \textbf{ vty\+\_\+config\+\_\+unlock()}, and \textbf{ vty\+\_\+go\+\_\+parent()}.

\mbox{\label{group__command_ga4749c0c5aed40d4a7b05f1802d8d5ebf}} 
\index{VTY Command@{VTY Command}!gDEFUN@{gDEFUN}}
\index{gDEFUN@{gDEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{gDEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}}
{\footnotesize\ttfamily g\+DEFUN (\begin{DoxyParamCaption}\item[{config\+\_\+help}]{,  }\item[{\textbf{ config\+\_\+help\+\_\+cmd}}]{,  }\item[{\char`\"{}help\char`\"{}}]{,  }\item[{\char`\"{}Description of the interactive help \textbf{ system\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ VTY\+\_\+\+NEWLINE}, and \textbf{ vty\+\_\+out()}.

\mbox{\label{group__command_gacbe6d0bb0d6af6bbd61861dacdee1c29}} 
\index{VTY Command@{VTY Command}!gDEFUN@{gDEFUN}}
\index{gDEFUN@{gDEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{gDEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}}
{\footnotesize\ttfamily g\+DEFUN (\begin{DoxyParamCaption}\item[{config\+\_\+list}]{,  }\item[{\textbf{ config\+\_\+list\+\_\+cmd}}]{,  }\item[{\char`\"{}list \char`\"{}}]{[with-\/flags],  }\item[{\char`\"{}Print command \textbf{ list\textbackslash{}n}\char`\"{} \char`\"{}Also print the VTY attribute \textbf{ flags\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ argc}, \textbf{ cmd\+\_\+element\+::attr}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+DEPRECATED}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN}, \textbf{ cmd\+\_\+flag\+\_\+mask()}, \textbf{ cmd\+\_\+gflag\+\_\+mask()}, \textbf{ CMD\+\_\+\+SUCCESS}, \textbf{ cmd\+\_\+node\+::cmd\+\_\+vector}, \textbf{ cmdvec}, \textbf{ vty\+::expert\+\_\+mode}, \textbf{ vty\+::node}, \textbf{ node\+\_\+flag\+\_\+mask()}, \textbf{ cmd\+\_\+element\+::string}, \textbf{ vector\+\_\+active}, \textbf{ vector\+\_\+slot}, \textbf{ VTY\+\_\+\+NEWLINE}, and \textbf{ vty\+\_\+out()}.

\mbox{\label{group__command_ga89f1739899102040cf3a088c321f2ce6}} 
\index{VTY Command@{VTY Command}!gDEFUN@{gDEFUN}}
\index{gDEFUN@{gDEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{gDEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}}
{\footnotesize\ttfamily g\+DEFUN (\begin{DoxyParamCaption}\item[{show\+\_\+vty\+\_\+attr}]{,  }\item[{show\+\_\+vty\+\_\+attr\+\_\+cmd}]{,  }\item[{\char`\"{}show \textbf{ vty}-\/attributes (application$\vert$library$\vert$global)\char`\"{}}]{,  }\item[{\textbf{ SHOW\+\_\+\+STR} \char`\"{}List of VTY \textbf{ attributes\textbackslash{}n}\char`\"{} \char`\"{}Application specific attributes \textbf{ only\textbackslash{}n}\char`\"{} \char`\"{}Library specific attributes \textbf{ only\textbackslash{}n}\char`\"{} \char`\"{}Global attributes \textbf{ only\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ argv}, \textbf{ ATTR\+\_\+\+TYPE\+\_\+\+APP}, \textbf{ ATTR\+\_\+\+TYPE\+\_\+\+GLOBAL}, \textbf{ ATTR\+\_\+\+TYPE\+\_\+\+LIB}, \textbf{ CMD\+\_\+\+SUCCESS}, and \textbf{ print\+\_\+attr\+\_\+list()}.

\mbox{\label{group__command_gada443595878bd6845d2624d70c66ecc6}} 
\index{VTY Command@{VTY Command}!gDEFUN@{gDEFUN}}
\index{gDEFUN@{gDEFUN}!VTY Command@{VTY Command}}
\doxysubsubsection{gDEFUN()\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}}
{\footnotesize\ttfamily g\+DEFUN (\begin{DoxyParamCaption}\item[{show\+\_\+vty\+\_\+attr\+\_\+all}]{,  }\item[{show\+\_\+vty\+\_\+attr\+\_\+all\+\_\+cmd}]{,  }\item[{\char`\"{}show \textbf{ vty}-\/attributes\char`\"{}}]{,  }\item[{\textbf{ SHOW\+\_\+\+STR} \char`\"{}List of VTY \textbf{ attributes\textbackslash{}n}\char`\"{}}]{ }\end{DoxyParamCaption})}



References \textbf{ CMD\+\_\+\+SUCCESS}, and \textbf{ print\+\_\+attr\+\_\+list()}.

\mbox{\label{group__command_ga1095869b92be18e3aa85c70c1a429d9e}} 
\index{VTY Command@{VTY Command}!host\_config\_file@{host\_config\_file}}
\index{host\_config\_file@{host\_config\_file}!VTY Command@{VTY Command}}
\doxysubsubsection{host\_config\_file()}
{\footnotesize\ttfamily const char $\ast$ host\+\_\+config\+\_\+file (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



References \textbf{ host\+::config}.

\mbox{\label{group__command_ga2feebdf3a44e5fd7a8d87623e62fc7a9}} 
\index{VTY Command@{VTY Command}!host\_config\_set@{host\_config\_set}}
\index{host\_config\_set@{host\_config\_set}!VTY Command@{VTY Command}}
\doxysubsubsection{host\_config\_set()}
{\footnotesize\ttfamily void host\+\_\+config\+\_\+set (\begin{DoxyParamCaption}\item[{const char $\ast$}]{filename }\end{DoxyParamCaption})}



References \textbf{ host\+::config}, \textbf{ osmo\+\_\+talloc\+\_\+replace\+\_\+string()}, and \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}.



Referenced by \textbf{ DEFUN()}, and \textbf{ vty\+\_\+read\+\_\+config\+\_\+file()}.

\mbox{\label{group__command_ga8b4aa99198493b39bae714a8b9dc2993}} 
\index{VTY Command@{VTY Command}!if@{if}}
\index{if@{if}!VTY Command@{VTY Command}}
\doxysubsubsection{if()}
{\footnotesize\ttfamily if (\begin{DoxyParamCaption}\item[{\textbf{ vty}-\/$>$}]{type = {\ttfamily =~\textbf{ VTY\+\_\+\+SHELL\+\_\+\+SERV}} }\end{DoxyParamCaption})}



References \textbf{ cmdvec}, \textbf{ cmd\+\_\+node\+::func}, \textbf{ node}, \textbf{ vector\+\_\+active}, \textbf{ vector\+\_\+slot}, \textbf{ vty}, \textbf{ VTY\+\_\+\+NEWLINE}, \textbf{ vty\+\_\+out()}, and \textbf{ cmd\+\_\+node\+::vtysh}.



Referenced by \textbf{ DEFUN()}, \textbf{ osmo\+\_\+log\+\_\+vty2tgt()}, and \textbf{ osmo\+\_\+stat\+\_\+item\+\_\+handler()}.

\mbox{\label{group__command_gafbf2fb3e92209dbb83728c51eeb0f770}} 
\index{VTY Command@{VTY Command}!indent\_cmp@{indent\_cmp}}
\index{indent\_cmp@{indent\_cmp}!VTY Command@{VTY Command}}
\doxysubsubsection{indent\_cmp()}
{\footnotesize\ttfamily static int indent\+\_\+cmp (\begin{DoxyParamCaption}\item[{const char $\ast$}]{a,  }\item[{const char $\ast$}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [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. \begin{DoxyReturn}{Returns}
EINVAL on mismatch, -\/1 for a $<$ b, 0 for a == b, 1 for a $>$ b. 
\end{DoxyReturn}


References \textbf{ len()}.



Referenced by \textbf{ config\+\_\+from\+\_\+file()}.

\mbox{\label{group__command_gae05ca117303c592ddf4b582a01cb3a73}} 
\index{VTY Command@{VTY Command}!install\_basic\_node\_commands@{install\_basic\_node\_commands}}
\index{install\_basic\_node\_commands@{install\_basic\_node\_commands}!VTY Command@{VTY Command}}
\doxysubsubsection{install\_basic\_node\_commands()}
{\footnotesize\ttfamily static void install\+\_\+basic\+\_\+node\+\_\+commands (\begin{DoxyParamCaption}\item[{int}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Install common commands like \textquotesingle{}exit\textquotesingle{} and \textquotesingle{}list\textquotesingle{}. 



References \textbf{ config\+\_\+end\+\_\+cmd}, \textbf{ config\+\_\+exit\+\_\+cmd}, \textbf{ config\+\_\+help\+\_\+cmd}, \textbf{ config\+\_\+list\+\_\+cmd}, \textbf{ CONFIG\+\_\+\+NODE}, \textbf{ config\+\_\+write\+\_\+memory\+\_\+cmd}, \textbf{ config\+\_\+write\+\_\+terminal\+\_\+cmd}, \textbf{ install\+\_\+lib\+\_\+element()}, and \textbf{ node}.



Referenced by \textbf{ install\+\_\+node()}.

\mbox{\label{group__command_ga8df75af896e7b46b1944da6e7f390959}} 
\index{VTY Command@{VTY Command}!install\_default@{install\_default}}
\index{install\_default@{install\_default}!VTY Command@{VTY Command}}
\doxysubsubsection{install\_default()}
{\footnotesize\ttfamily void install\+\_\+default (\begin{DoxyParamCaption}\item[{int}]{node }\end{DoxyParamCaption})}



Deprecated, now happens implicitly when calling \doxyref{install\+\_\+node()}{p.}{group__command_ga7ee8a7c258e1e5a6e3ff6173dd1658e3}. 

Users of the API may still attempt to call this function, hence leave it here as a no-\/op. \mbox{\label{group__command_ga467b443599a979792bde0a4aad42b54a}} 
\index{VTY Command@{VTY Command}!install\_element@{install\_element}}
\index{install\_element@{install\_element}!VTY Command@{VTY Command}}
\doxysubsubsection{install\_element()}
{\footnotesize\ttfamily void install\+\_\+element (\begin{DoxyParamCaption}\item[{int}]{ntype,  }\item[{struct \textbf{ cmd\+\_\+element} $\ast$}]{cmd }\end{DoxyParamCaption})}



Install a command into a node. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em ntype} & Node Type \\
\hline
 & {\em \mbox{[}cmd\mbox{]}} & element to be installed \\
\hline
\end{DoxyParams}


References \textbf{ check\+\_\+element\+\_\+exists()}, \textbf{ cmd\+\_\+cmdsize()}, \textbf{ cmd\+\_\+make\+\_\+descvec()}, \textbf{ cmd\+\_\+node\+::cmd\+\_\+vector}, \textbf{ cmd\+\_\+element\+::cmdsize}, \textbf{ cmdvec}, \textbf{ cmd\+\_\+element\+::doc}, \textbf{ OSMO\+\_\+\+ASSERT}, \textbf{ cmd\+\_\+element\+::string}, \textbf{ cmd\+\_\+element\+::strvec}, \textbf{ vector\+\_\+set()}, and \textbf{ vector\+\_\+slot}.



Referenced by \textbf{ install\+\_\+element\+\_\+ve()}, and \textbf{ install\+\_\+lib\+\_\+element()}.

\mbox{\label{group__command_ga279fed86b1f49ed0e0ca53e0bdff0c2f}} 
\index{VTY Command@{VTY Command}!install\_element\_ve@{install\_element\_ve}}
\index{install\_element\_ve@{install\_element\_ve}!VTY Command@{VTY Command}}
\doxysubsubsection{install\_element\_ve()}
{\footnotesize\ttfamily void install\+\_\+element\+\_\+ve (\begin{DoxyParamCaption}\item[{struct \textbf{ cmd\+\_\+element} $\ast$}]{cmd }\end{DoxyParamCaption})}



References \textbf{ ENABLE\+\_\+\+NODE}, \textbf{ install\+\_\+element()}, and \textbf{ VIEW\+\_\+\+NODE}.



Referenced by \textbf{ install\+\_\+lib\+\_\+element\+\_\+ve()}.

\mbox{\label{group__command_gaf28a7758886bea4d19f7e96d33a243c3}} 
\index{VTY Command@{VTY Command}!install\_lib\_element@{install\_lib\_element}}
\index{install\_lib\_element@{install\_lib\_element}!VTY Command@{VTY Command}}
\doxysubsubsection{install\_lib\_element()}
{\footnotesize\ttfamily void install\+\_\+lib\+\_\+element (\begin{DoxyParamCaption}\item[{int}]{ntype,  }\item[{struct \textbf{ cmd\+\_\+element} $\ast$}]{cmd }\end{DoxyParamCaption})}



Install a library command into a node. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em ntype} & Node Type \\
\hline
\mbox{\texttt{ in}}  & {\em cmd} & element to be installed \\
\hline
\end{DoxyParams}


References \textbf{ cmd\+\_\+element\+::attr}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+LIB\+\_\+\+COMMAND}, and \textbf{ install\+\_\+element()}.



Referenced by \textbf{ cmd\+\_\+init()}, \textbf{ install\+\_\+basic\+\_\+node\+\_\+commands()}, \textbf{ logging\+\_\+vty\+\_\+add\+\_\+cmds()}, \textbf{ logging\+\_\+vty\+\_\+add\+\_\+deprecated\+\_\+subsys()}, \textbf{ osmo\+\_\+cpu\+\_\+sched\+\_\+vty\+\_\+init()}, \textbf{ osmo\+\_\+stats\+\_\+vty\+\_\+add\+\_\+cmds()}, \textbf{ osmo\+\_\+tdef\+\_\+vty\+\_\+groups\+\_\+init()}, and \textbf{ vty\+\_\+init()}.

\mbox{\label{group__command_ga177f3c2fea2800cc65dd849873bbab05}} 
\index{VTY Command@{VTY Command}!install\_lib\_element\_ve@{install\_lib\_element\_ve}}
\index{install\_lib\_element\_ve@{install\_lib\_element\_ve}!VTY Command@{VTY Command}}
\doxysubsubsection{install\_lib\_element\_ve()}
{\footnotesize\ttfamily void install\+\_\+lib\+\_\+element\+\_\+ve (\begin{DoxyParamCaption}\item[{struct \textbf{ cmd\+\_\+element} $\ast$}]{cmd }\end{DoxyParamCaption})}



References \textbf{ cmd\+\_\+element\+::attr}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+LIB\+\_\+\+COMMAND}, and \textbf{ install\+\_\+element\+\_\+ve()}.



Referenced by \textbf{ logging\+\_\+vty\+\_\+add\+\_\+cmds()}, \textbf{ osmo\+\_\+cpu\+\_\+sched\+\_\+vty\+\_\+init()}, \textbf{ osmo\+\_\+fsm\+\_\+vty\+\_\+add\+\_\+cmds()}, \textbf{ osmo\+\_\+stats\+\_\+vty\+\_\+add\+\_\+cmds()}, \textbf{ osmo\+\_\+talloc\+\_\+vty\+\_\+add\+\_\+cmds()}, \textbf{ osmo\+\_\+tdef\+\_\+vty\+\_\+groups\+\_\+init()}, and \textbf{ vty\+\_\+init()}.

\mbox{\label{group__command_ga7ee8a7c258e1e5a6e3ff6173dd1658e3}} 
\index{VTY Command@{VTY Command}!install\_node@{install\_node}}
\index{install\_node@{install\_node}!VTY Command@{VTY Command}}
\doxysubsubsection{install\_node()}
{\footnotesize\ttfamily void install\+\_\+node (\begin{DoxyParamCaption}\item[{struct \textbf{ cmd\+\_\+node} $\ast$}]{node,  }\item[{int($\ast$)(struct \textbf{ vty} $\ast$)}]{func }\end{DoxyParamCaption})}



Install top node of command vector. 



References \textbf{ cmd\+\_\+node\+::func}, \textbf{ install\+\_\+basic\+\_\+node\+\_\+commands()}, \textbf{ install\+\_\+node\+\_\+bare()}, \textbf{ cmd\+\_\+node\+::node}, and \textbf{ node}.



Referenced by \textbf{ cmd\+\_\+init()}, \textbf{ logging\+\_\+vty\+\_\+add\+\_\+cmds()}, \textbf{ osmo\+\_\+cpu\+\_\+sched\+\_\+vty\+\_\+init()}, \textbf{ osmo\+\_\+stats\+\_\+vty\+\_\+add\+\_\+cmds()}, and \textbf{ vty\+\_\+init()}.

\mbox{\label{group__command_ga563bb4aef9a40ac157567b79c14ad2b9}} 
\index{VTY Command@{VTY Command}!install\_node\_bare@{install\_node\_bare}}
\index{install\_node\_bare@{install\_node\_bare}!VTY Command@{VTY Command}}
\doxysubsubsection{install\_node\_bare()}
{\footnotesize\ttfamily static void install\+\_\+node\+\_\+bare (\begin{DoxyParamCaption}\item[{struct \textbf{ cmd\+\_\+node} $\ast$}]{node,  }\item[{int($\ast$)(struct \textbf{ vty} $\ast$)}]{func }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Install top node of command vector, without adding basic node commands. 



References \textbf{ cmd\+\_\+node\+::cmd\+\_\+vector}, \textbf{ cmdvec}, \textbf{ cmd\+\_\+node\+::func}, \textbf{ cmd\+\_\+node\+::name}, \textbf{ cmd\+\_\+node\+::node}, \textbf{ node}, \textbf{ node\+\_\+name\+\_\+from\+\_\+prompt()}, \textbf{ cmd\+\_\+node\+::prompt}, \textbf{ vector\+\_\+init()}, \textbf{ VECTOR\+\_\+\+MIN\+\_\+\+SIZE}, and \textbf{ vector\+\_\+set\+\_\+index()}.



Referenced by \textbf{ cmd\+\_\+init()}, and \textbf{ install\+\_\+node()}.

\mbox{\label{group__command_ga46e117eb087586480078b5bf5e68699d}} 
\index{VTY Command@{VTY Command}!is\_cmd\_ambiguous@{is\_cmd\_ambiguous}}
\index{is\_cmd\_ambiguous@{is\_cmd\_ambiguous}!VTY Command@{VTY Command}}
\doxysubsubsection{is\_cmd\_ambiguous()}
{\footnotesize\ttfamily static int is\+\_\+cmd\+\_\+ambiguous (\begin{DoxyParamCaption}\item[{char $\ast$}]{command,  }\item[{\textbf{ vector}}]{v,  }\item[{int}]{index,  }\item[{enum \textbf{ match\+\_\+type}}]{type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ desc\+::cmd}, \textbf{ cmd\+\_\+deopt()}, \textbf{ CMD\+\_\+\+IPV4}, \textbf{ cmd\+\_\+ipv4\+\_\+prefix\+\_\+match()}, \textbf{ CMD\+\_\+\+IPV6}, \textbf{ CMD\+\_\+\+OPTION}, \textbf{ CMD\+\_\+\+VARIABLE}, \textbf{ EXACT\+\_\+\+MATCH}, \textbf{ EXTEND\+\_\+\+MATCH}, \textbf{ IPV4\+\_\+\+MATCH}, \textbf{ IPV4\+\_\+\+PREFIX\+\_\+\+MATCH}, \textbf{ IPV6\+\_\+\+MATCH}, \textbf{ IPV6\+\_\+\+PREFIX\+\_\+\+MATCH}, \textbf{ NO\+\_\+\+MATCH}, \textbf{ PARTLY\+\_\+\+MATCH}, \textbf{ RANGE\+\_\+\+MATCH}, \textbf{ desc\+::str}, \textbf{ cmd\+\_\+element\+::strvec}, \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}, \textbf{ type}, \textbf{ vector\+\_\+active}, \textbf{ vector\+\_\+slot}, and \textbf{ vty\+\_\+cmd\+\_\+range\+\_\+match()}.



Referenced by \textbf{ cmd\+\_\+complete\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+describe\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+real()}, and \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+strict()}.

\mbox{\label{group__command_ga3ab017dd491d7327d1b4acbf1398b91e}} 
\index{VTY Command@{VTY Command}!len@{len}}
\index{len@{len}!VTY Command@{VTY Command}}
\doxysubsubsection{len()}
{\footnotesize\ttfamily static size\+\_\+t len (\begin{DoxyParamCaption}\item[{const char $\ast$}]{str }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



References \textbf{ desc\+::str}.



Referenced by \textbf{ argv\+\_\+concat()}, \textbf{ cmd\+\_\+complete\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+deopt()}, \textbf{ cmd\+\_\+make\+\_\+descvec()}, \textbf{ indent\+\_\+cmp()}, \textbf{ osmo\+\_\+asciidoc\+\_\+escape()}, \textbf{ parse\+\_\+cpu\+\_\+hex\+\_\+mask()}, \textbf{ procname2pid()}, \textbf{ rate\+\_\+ctr\+\_\+handler\+\_\+fmt()}, \textbf{ telnet\+\_\+new\+\_\+connection()}, \textbf{ vty\+\_\+cmd\+\_\+string\+\_\+from\+\_\+valstr()}, \textbf{ vty\+\_\+describe\+\_\+command()}, \textbf{ vty\+\_\+insert\+\_\+word\+\_\+overwrite()}, \textbf{ vty\+\_\+out\+\_\+va()}, and \textbf{ xml\+\_\+escape()}.

\mbox{\label{group__command_gaaf7caa448e66f3827e772e6b9898fb2e}} 
\index{VTY Command@{VTY Command}!node\_flag\_mask@{node\_flag\_mask}}
\index{node\_flag\_mask@{node\_flag\_mask}!VTY Command@{VTY Command}}
\doxysubsubsection{node\_flag\_mask()}
{\footnotesize\ttfamily static unsigned int node\+\_\+flag\+\_\+mask (\begin{DoxyParamCaption}\item[{const struct \textbf{ cmd\+\_\+node} $\ast$}]{cnode,  }\item[{bool}]{expert\+\_\+mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ host\+::app\+\_\+info}, \textbf{ cmd\+\_\+element\+::attr}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+DEPRECATED}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+LIB\+\_\+\+COMMAND}, \textbf{ cmd\+\_\+lib\+\_\+attr\+\_\+letters}, \textbf{ cmd\+\_\+node\+::cmd\+\_\+vector}, \textbf{ vty\+\_\+app\+\_\+info\+::usr\+\_\+attr\+\_\+letters}, \textbf{ cmd\+\_\+element\+::usrattr}, \textbf{ vector\+\_\+active}, \textbf{ vector\+\_\+slot}, and \textbf{ VTY\+\_\+\+CMD\+\_\+\+USR\+\_\+\+ATTR\+\_\+\+NUM}.



Referenced by \textbf{ g\+DEFUN()}.

\mbox{\label{group__command_gae4b8e3da50e19a44f673829a046621d5}} 
\index{VTY Command@{VTY Command}!node\_name\_from\_prompt@{node\_name\_from\_prompt}}
\index{node\_name\_from\_prompt@{node\_name\_from\_prompt}!VTY Command@{VTY Command}}
\doxysubsubsection{node\_name\_from\_prompt()}
{\footnotesize\ttfamily static const char $\ast$ node\+\_\+name\+\_\+from\+\_\+prompt (\begin{DoxyParamCaption}\item[{const char $\ast$}]{prompt,  }\item[{char $\ast$}]{name\+\_\+buf,  }\item[{size\+\_\+t}]{name\+\_\+buf\+\_\+size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ cmd\+\_\+node\+::prompt}.



Referenced by \textbf{ install\+\_\+node\+\_\+bare()}.

\mbox{\label{group__command_ga0fed3de474de4fea39776761377c6afd}} 
\index{VTY Command@{VTY Command}!node\_parent@{node\_parent}}
\index{node\_parent@{node\_parent}!VTY Command@{VTY Command}}
\doxysubsubsection{node\_parent()}
{\footnotesize\ttfamily enum \textbf{ node\+\_\+type} node\+\_\+parent (\begin{DoxyParamCaption}\item[{enum}]{node\+\_\+type }\end{DoxyParamCaption})}

\mbox{\label{group__command_gaf96be2eaf84241c955c5e6b242d12865}} 
\index{VTY Command@{VTY Command}!osmo\_asciidoc\_escape@{osmo\_asciidoc\_escape}}
\index{osmo\_asciidoc\_escape@{osmo\_asciidoc\_escape}!VTY Command@{VTY Command}}
\doxysubsubsection{osmo\_asciidoc\_escape()}
{\footnotesize\ttfamily char $\ast$ osmo\+\_\+asciidoc\+\_\+escape (\begin{DoxyParamCaption}\item[{const char $\ast$}]{inp }\end{DoxyParamCaption})}



escape all special asciidoc symbols 


\begin{DoxyParams}{Parameters}
{\em unsafe} & string \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new talloc char $\ast$ 
\end{DoxyReturn}


References \textbf{ len()}, and \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}.



Referenced by \textbf{ asciidoc\+\_\+handle\+\_\+counter()}, \textbf{ asciidoc\+\_\+osmo\+\_\+stat\+\_\+item\+\_\+group\+\_\+handler()}, \textbf{ asciidoc\+\_\+osmo\+\_\+stat\+\_\+item\+\_\+handler()}, \textbf{ asciidoc\+\_\+rate\+\_\+ctr\+\_\+group\+\_\+handler()}, and \textbf{ asciidoc\+\_\+rate\+\_\+ctr\+\_\+handler()}.

\mbox{\label{group__command_ga281344d65a71a855314319aebfc30d58}} 
\index{VTY Command@{VTY Command}!osmo\_vty\_save\_config\_file@{osmo\_vty\_save\_config\_file}}
\index{osmo\_vty\_save\_config\_file@{osmo\_vty\_save\_config\_file}!VTY Command@{VTY Command}}
\doxysubsubsection{osmo\_vty\_save\_config\_file()}
{\footnotesize\ttfamily int osmo\+\_\+vty\+\_\+save\+\_\+config\+\_\+file (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Save the current state to the config file. 

\begin{DoxyReturn}{Returns}
0 in case of success.
\end{DoxyReturn}
If the filename already exists create a filename.\+sav version with the current code. 

References \textbf{ host\+::config}, and \textbf{ write\+\_\+config\+\_\+file()}.

\mbox{\label{group__command_ga92697299bf8949ce6e9325242cb7c71f}} 
\index{VTY Command@{VTY Command}!osmo\_vty\_write\_config\_file@{osmo\_vty\_write\_config\_file}}
\index{osmo\_vty\_write\_config\_file@{osmo\_vty\_write\_config\_file}!VTY Command@{VTY Command}}
\doxysubsubsection{osmo\_vty\_write\_config\_file()}
{\footnotesize\ttfamily int osmo\+\_\+vty\+\_\+write\+\_\+config\+\_\+file (\begin{DoxyParamCaption}\item[{const char $\ast$}]{filename }\end{DoxyParamCaption})}



Write the current running config to a given file. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em vty} & the vty of the code \\
\hline
\mbox{\texttt{ in}}  & {\em filename} & where to store the file \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 in case of success.
\end{DoxyReturn}
If the filename already exists create a filename.\+sav version with the current code. 

References \textbf{ write\+\_\+config\+\_\+file()}.

\mbox{\label{group__command_ga26aca09589ba5d2ddf71393edeaf4364}} 
\index{VTY Command@{VTY Command}!print\_attr\_list@{print\_attr\_list}}
\index{print\_attr\_list@{print\_attr\_list}!VTY Command@{VTY Command}}
\doxysubsubsection{print\_attr\_list()}
{\footnotesize\ttfamily static void print\+\_\+attr\+\_\+list (\begin{DoxyParamCaption}\item[{struct \textbf{ vty} $\ast$}]{vty,  }\item[{unsigned int}]{attr\+\_\+mask }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ \+\_\+\+OSMO\+\_\+\+CORE\+\_\+\+LIB\+\_\+\+ATTR\+\_\+\+COUNT}, \textbf{ host\+::app\+\_\+info}, \textbf{ ARRAY\+\_\+\+SIZE}, \textbf{ ATTR\+\_\+\+TYPE\+\_\+\+APP}, \textbf{ ATTR\+\_\+\+TYPE\+\_\+\+GLOBAL}, \textbf{ ATTR\+\_\+\+TYPE\+\_\+\+LIB}, \textbf{ cmd\+\_\+attr\+\_\+desc}, \textbf{ cmd\+\_\+attr\+\_\+get\+\_\+flag()}, \textbf{ cmd\+\_\+lib\+\_\+attr\+\_\+desc}, \textbf{ cmd\+\_\+lib\+\_\+attr\+\_\+letters}, \textbf{ value\+\_\+string\+::str}, \textbf{ vty\+\_\+app\+\_\+info\+::usr\+\_\+attr\+\_\+desc}, \textbf{ vty\+\_\+app\+\_\+info\+::usr\+\_\+attr\+\_\+letters}, \textbf{ VTY\+\_\+\+CMD\+\_\+\+USR\+\_\+\+ATTR\+\_\+\+NUM}, \textbf{ VTY\+\_\+\+NEWLINE}, and \textbf{ vty\+\_\+out()}.



Referenced by \textbf{ g\+DEFUN()}.

\mbox{\label{group__command_ga8c67eebe8fa4b3043bbfd22ee42ebdc5}} 
\index{VTY Command@{VTY Command}!print\_func\_stream@{print\_func\_stream}}
\index{print\_func\_stream@{print\_func\_stream}!VTY Command@{VTY Command}}
\doxysubsubsection{print\_func\_stream()}
{\footnotesize\ttfamily static int print\+\_\+func\+\_\+stream (\begin{DoxyParamCaption}\item[{void $\ast$}]{data,  }\item[{const char $\ast$}]{format,  }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ data}.



Referenced by \textbf{ vty\+\_\+dump\+\_\+xml\+\_\+ref\+\_\+mode()}.

\mbox{\label{group__command_ga6b810a36d312000cdb0d2ef3966c10dd}} 
\index{VTY Command@{VTY Command}!print\_func\_vty@{print\_func\_vty}}
\index{print\_func\_vty@{print\_func\_vty}!VTY Command@{VTY Command}}
\doxysubsubsection{print\_func\_vty()}
{\footnotesize\ttfamily static int print\+\_\+func\+\_\+vty (\begin{DoxyParamCaption}\item[{void $\ast$}]{data,  }\item[{const char $\ast$}]{format,  }\item[{}]{... }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ data}, and \textbf{ vty\+\_\+out\+\_\+va()}.



Referenced by \textbf{ vty\+\_\+dump\+\_\+xml\+\_\+ref\+\_\+to\+\_\+vty()}.

\mbox{\label{group__command_gacffe1bf4a833d46d30fe67900f7c8fab}} 
\index{VTY Command@{VTY Command}!print\_version@{print\_version}}
\index{print\_version@{print\_version}!VTY Command@{VTY Command}}
\doxysubsubsection{print\_version()}
{\footnotesize\ttfamily void print\+\_\+version (\begin{DoxyParamCaption}\item[{int}]{print\+\_\+copyright }\end{DoxyParamCaption})}



print the version (and optionally copyright) information 

This is called from main when a daemon is invoked with -\/v or --version. 

References \textbf{ host\+::app\+\_\+info}, \textbf{ vty\+\_\+app\+\_\+info\+::copyright}, \textbf{ vty\+\_\+app\+\_\+info\+::name}, and \textbf{ vty\+\_\+app\+\_\+info\+::version}.

\mbox{\label{group__command_gae0deae9c3b3a178f87bb623444fc974b}} 
\index{VTY Command@{VTY Command}!sort\_node@{sort\_node}}
\index{sort\_node@{sort\_node}!VTY Command@{VTY Command}}
\doxysubsubsection{sort\_node()}
{\footnotesize\ttfamily void sort\+\_\+node (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Sort each node\textquotesingle{}s command element according to command string. 



References \textbf{ cmd\+\_\+node\+::cmd\+\_\+vector}, \textbf{ cmdvec}, \textbf{ cmp\+\_\+desc()}, \textbf{ cmp\+\_\+node()}, \textbf{ \+\_\+vector\+::index}, \textbf{ cmd\+\_\+element\+::strvec}, \textbf{ vector\+\_\+active}, and \textbf{ vector\+\_\+slot}.

\mbox{\label{group__command_gaf0b37a2a56058fb2b639147e9856e1c4}} 
\index{VTY Command@{VTY Command}!vty\_clear\_parents@{vty\_clear\_parents}}
\index{vty\_clear\_parents@{vty\_clear\_parents}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_clear\_parents()}
{\footnotesize\ttfamily static void vty\+\_\+clear\+\_\+parents (\begin{DoxyParamCaption}\item[{struct \textbf{ vty} $\ast$}]{vty }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ vty\+\_\+pop\+\_\+parent()}.



Referenced by \textbf{ vty\+\_\+go\+\_\+parent()}.

\mbox{\label{group__command_ga419aa09fde1e5d875dc93e4ae8043e0c}} 
\index{VTY Command@{VTY Command}!vty\_cmd\_range\_match@{vty\_cmd\_range\_match}}
\index{vty\_cmd\_range\_match@{vty\_cmd\_range\_match}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_cmd\_range\_match()}
{\footnotesize\ttfamily int vty\+\_\+cmd\+\_\+range\+\_\+match (\begin{DoxyParamCaption}\item[{const char $\ast$}]{range,  }\item[{const char $\ast$}]{str }\end{DoxyParamCaption})}



References \textbf{ check\+\_\+base()}.



Referenced by \textbf{ cmd\+\_\+entry\+\_\+function\+\_\+desc()}, \textbf{ cmd\+\_\+match()}, and \textbf{ is\+\_\+cmd\+\_\+ambiguous()}.

\mbox{\label{group__command_ga0b5072d28b1572d0b3b8bbec270c1f1b}} 
\index{VTY Command@{VTY Command}!vty\_command\_is\_common@{vty\_command\_is\_common}}
\index{vty\_command\_is\_common@{vty\_command\_is\_common}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_command\_is\_common()}
{\footnotesize\ttfamily static bool vty\+\_\+command\+\_\+is\+\_\+common (\begin{DoxyParamCaption}\item[{const struct \textbf{ cmd\+\_\+element} $\ast$}]{cmd }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Return true if a node is installed by \doxyref{install\+\_\+basic\+\_\+node\+\_\+commands()}{p.}{group__command_gae05ca117303c592ddf4b582a01cb3a73}, so that we can avoid repeating them for each and every node during \textquotesingle{}show running-\/config\textquotesingle{}. 



References \textbf{ config\+\_\+end\+\_\+cmd}, \textbf{ config\+\_\+exit\+\_\+cmd}, \textbf{ config\+\_\+help\+\_\+cmd}, \textbf{ config\+\_\+list\+\_\+cmd}, \textbf{ config\+\_\+write\+\_\+memory\+\_\+cmd}, and \textbf{ config\+\_\+write\+\_\+terminal\+\_\+cmd}.



Referenced by \textbf{ vty\+\_\+dump\+\_\+nodes()}.

\mbox{\label{group__command_ga5d7bc2768b5181e4e7fc238a99b0a802}} 
\index{VTY Command@{VTY Command}!vty\_dump\_element@{vty\_dump\_element}}
\index{vty\_dump\_element@{vty\_dump\_element}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_dump\_element()}
{\footnotesize\ttfamily static int vty\+\_\+dump\+\_\+element (\begin{DoxyParamCaption}\item[{const struct \textbf{ cmd\+\_\+element} $\ast$}]{cmd,  }\item[{\textbf{ print\+\_\+func\+\_\+t}}]{print\+\_\+func,  }\item[{void $\ast$}]{data,  }\item[{const char $\ast$}]{newline }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ host\+::app\+\_\+info}, \textbf{ ARRAY\+\_\+\+SIZE}, \textbf{ cmd\+\_\+element\+::attr}, \textbf{ desc\+::cmd}, \textbf{ cmd\+\_\+attr\+\_\+desc}, \textbf{ cmd\+\_\+attr\+\_\+get\+\_\+flag()}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+LIB\+\_\+\+COMMAND}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+PUBLIC\+\_\+\+MASK}, \textbf{ cmd\+\_\+lib\+\_\+attr\+\_\+desc}, \textbf{ cmd\+\_\+lib\+\_\+attr\+\_\+letters}, \textbf{ data}, \textbf{ value\+\_\+string\+::str}, \textbf{ desc\+::str}, \textbf{ cmd\+\_\+element\+::string}, \textbf{ cmd\+\_\+element\+::strvec}, \textbf{ vty\+\_\+app\+\_\+info\+::usr\+\_\+attr\+\_\+desc}, \textbf{ vty\+\_\+app\+\_\+info\+::usr\+\_\+attr\+\_\+letters}, \textbf{ cmd\+\_\+element\+::usrattr}, \textbf{ value\+\_\+string\+::value}, \textbf{ vector\+\_\+active}, \textbf{ vector\+\_\+count()}, \textbf{ vector\+\_\+slot}, and \textbf{ xml\+\_\+escape()}.



Referenced by \textbf{ vty\+\_\+dump\+\_\+nodes()}.

\mbox{\label{group__command_ga5347aa376fda620a16d52ecf30f36f01}} 
\index{VTY Command@{VTY Command}!vty\_dump\_nodes@{vty\_dump\_nodes}}
\index{vty\_dump\_nodes@{vty\_dump\_nodes}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_dump\_nodes()}
{\footnotesize\ttfamily static int vty\+\_\+dump\+\_\+nodes (\begin{DoxyParamCaption}\item[{\textbf{ print\+\_\+func\+\_\+t}}]{print\+\_\+func,  }\item[{void $\ast$}]{data,  }\item[{const char $\ast$}]{newline,  }\item[{unsigned char}]{gflag\+\_\+mask,  }\item[{bool}]{match }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ cmd\+\_\+element\+::attr}, \textbf{ cmd\+\_\+node\+::cmd\+\_\+vector}, \textbf{ cmdvec}, \textbf{ CONFIG\+\_\+\+NODE}, \textbf{ data}, \textbf{ cmd\+\_\+node\+::name}, \textbf{ cmd\+\_\+node\+::node}, \textbf{ vector\+\_\+active}, \textbf{ vector\+\_\+slot}, \textbf{ vty\+\_\+command\+\_\+is\+\_\+common()}, and \textbf{ vty\+\_\+dump\+\_\+element()}.



Referenced by \textbf{ vty\+\_\+dump\+\_\+xml\+\_\+ref\+\_\+mode()}, and \textbf{ vty\+\_\+dump\+\_\+xml\+\_\+ref\+\_\+to\+\_\+vty()}.

\mbox{\label{group__command_ga6a0ecd4fc9774a4f7c6a2637db4d4ded}} 
\index{VTY Command@{VTY Command}!vty\_dump\_xml\_ref@{vty\_dump\_xml\_ref}}
\index{vty\_dump\_xml\_ref@{vty\_dump\_xml\_ref}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_dump\_xml\_ref()}
{\footnotesize\ttfamily int vty\+\_\+dump\+\_\+xml\+\_\+ref (\begin{DoxyParamCaption}\item[{FILE $\ast$}]{stream }\end{DoxyParamCaption})}



Print the XML reference of all VTY nodes to the given stream. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em stream} & Output stream to print the XML reference to. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
always 0 for now, no errors possible.
\end{DoxyReturn}
NOTE\+: this function is deprecated because it does not allow to specify the XML reference generation mode (default mode is hard-\/coded). Use \doxyref{vty\+\_\+dump\+\_\+xml\+\_\+ref\+\_\+mode()}{p.}{group__command_ga2f9003bb1ff253678002c611a49f6657} instead. 

References \textbf{ vty\+\_\+dump\+\_\+xml\+\_\+ref\+\_\+mode()}, and \textbf{ VTY\+\_\+\+REF\+\_\+\+GEN\+\_\+\+MODE\+\_\+\+DEFAULT}.

\mbox{\label{group__command_ga2f9003bb1ff253678002c611a49f6657}} 
\index{VTY Command@{VTY Command}!vty\_dump\_xml\_ref\_mode@{vty\_dump\_xml\_ref\_mode}}
\index{vty\_dump\_xml\_ref\_mode@{vty\_dump\_xml\_ref\_mode}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_dump\_xml\_ref\_mode()}
{\footnotesize\ttfamily int vty\+\_\+dump\+\_\+xml\+\_\+ref\+\_\+mode (\begin{DoxyParamCaption}\item[{FILE $\ast$}]{stream,  }\item[{enum \textbf{ vty\+\_\+ref\+\_\+gen\+\_\+mode}}]{mode }\end{DoxyParamCaption})}



Print the XML reference of all VTY nodes to the given stream. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em stream} & Output stream to print the XML reference to. \\
\hline
\mbox{\texttt{ in}}  & {\em mode} & The XML reference generation mode. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
always 0 for now, no errors possible. 
\end{DoxyReturn}


References \textbf{ CMD\+\_\+\+ATTR\+\_\+\+DEPRECATED}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN}, \textbf{ mode}, \textbf{ print\+\_\+func\+\_\+stream()}, \textbf{ vty\+\_\+dump\+\_\+nodes()}, \textbf{ VTY\+\_\+\+REF\+\_\+\+GEN\+\_\+\+MODE\+\_\+\+DEFAULT}, \textbf{ VTY\+\_\+\+REF\+\_\+\+GEN\+\_\+\+MODE\+\_\+\+EXPERT}, and \textbf{ VTY\+\_\+\+REF\+\_\+\+GEN\+\_\+\+MODE\+\_\+\+HIDDEN}.



Referenced by \textbf{ vty\+\_\+dump\+\_\+xml\+\_\+ref()}.

\mbox{\label{group__command_ga04eaa3fdef08ef7d5f50e80395e3010a}} 
\index{VTY Command@{VTY Command}!vty\_dump\_xml\_ref\_to\_vty@{vty\_dump\_xml\_ref\_to\_vty}}
\index{vty\_dump\_xml\_ref\_to\_vty@{vty\_dump\_xml\_ref\_to\_vty}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_dump\_xml\_ref\_to\_vty()}
{\footnotesize\ttfamily static int vty\+\_\+dump\+\_\+xml\+\_\+ref\+\_\+to\+\_\+vty (\begin{DoxyParamCaption}\item[{struct \textbf{ vty} $\ast$}]{vty }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ CMD\+\_\+\+ATTR\+\_\+\+DEPRECATED}, \textbf{ CMD\+\_\+\+ATTR\+\_\+\+HIDDEN}, \textbf{ vty\+::expert\+\_\+mode}, \textbf{ print\+\_\+func\+\_\+vty()}, \textbf{ vty\+\_\+dump\+\_\+nodes()}, and \textbf{ VTY\+\_\+\+NEWLINE}.



Referenced by \textbf{ DEFUN()}.

\mbox{\label{group__command_ga069d4a4fcf70add3c3e149e8ca03708f}} 
\index{VTY Command@{VTY Command}!vty\_go\_parent@{vty\_go\_parent}}
\index{vty\_go\_parent@{vty\_go\_parent}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_go\_parent()}
{\footnotesize\ttfamily int vty\+\_\+go\+\_\+parent (\begin{DoxyParamCaption}\item[{struct \textbf{ vty} $\ast$}]{vty }\end{DoxyParamCaption})}



References \textbf{ host\+::app\+\_\+info}, \textbf{ AUTH\+\_\+\+ENABLE\+\_\+\+NODE}, \textbf{ AUTH\+\_\+\+NODE}, \textbf{ CONFIG\+\_\+\+NODE}, \textbf{ ENABLE\+\_\+\+NODE}, \textbf{ vty\+\_\+app\+\_\+info\+::go\+\_\+parent\+\_\+cb}, \textbf{ vty\+::node}, \textbf{ VIEW\+\_\+\+NODE}, \textbf{ vty\+\_\+clear\+\_\+parents()}, and \textbf{ vty\+\_\+pop\+\_\+parent()}.



Referenced by \textbf{ config\+\_\+from\+\_\+file()}, \textbf{ g\+DEFUN()}, and \textbf{ vty\+\_\+down\+\_\+level()}.

\mbox{\label{group__command_ga445f84e9265108c7751fb68802a3a338}} 
\index{VTY Command@{VTY Command}!vty\_install\_default@{vty\_install\_default}}
\index{vty\_install\_default@{vty\_install\_default}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_install\_default()}
{\footnotesize\ttfamily void vty\+\_\+install\+\_\+default (\begin{DoxyParamCaption}\item[{int}]{node }\end{DoxyParamCaption})}



Deprecated, now happens implicitly when calling \doxyref{install\+\_\+node()}{p.}{group__command_ga7ee8a7c258e1e5a6e3ff6173dd1658e3}. 

Users of the API may still attempt to call this function, hence leave it here as a no-\/op. \mbox{\label{group__command_gae57b360eac073305bc08e0951833246b}} 
\index{VTY Command@{VTY Command}!vty\_out@{vty\_out}}
\index{vty\_out@{vty\_out}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_out()}
{\footnotesize\ttfamily vty\+\_\+out (\begin{DoxyParamCaption}\item[{\textbf{ vty}}]{,  }\item[{\char`\"{}!\%s\char`\"{}}]{,  }\item[{\textbf{ VTY\+\_\+\+NEWLINE}}]{ }\end{DoxyParamCaption})}



Referenced by \textbf{ ALIAS()}, \textbf{ config\+\_\+write\+\_\+host()}, \textbf{ DEFUN()}, \textbf{ DEFUN\+\_\+\+HIDDEN()}, \textbf{ g\+DEFUN()}, \textbf{ if()}, \textbf{ print\+\_\+attr\+\_\+list()}, and \textbf{ write\+\_\+config\+\_\+file()}.

\mbox{\label{group__command_ga44b38c210b226fe4e076024aa8f5a03d}} 
\index{VTY Command@{VTY Command}!vty\_parent@{vty\_parent}}
\index{vty\_parent@{vty\_parent}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_parent()}
{\footnotesize\ttfamily static struct \textbf{ vty\+\_\+parent\+\_\+node} $\ast$ vty\+\_\+parent (\begin{DoxyParamCaption}\item[{struct \textbf{ vty} $\ast$}]{vty }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ entry}, \textbf{ llist\+\_\+first\+\_\+entry\+\_\+or\+\_\+null}, and \textbf{ vty\+::parent\+\_\+nodes}.



Referenced by \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+real()}, \textbf{ config\+\_\+from\+\_\+file()}, and \textbf{ vty\+\_\+pop\+\_\+parent()}.

\mbox{\label{group__command_ga209f8f0886a45e2a6a6b05e09358c956}} 
\index{VTY Command@{VTY Command}!vty\_pop\_parent@{vty\_pop\_parent}}
\index{vty\_pop\_parent@{vty\_pop\_parent}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_pop\_parent()}
{\footnotesize\ttfamily static bool vty\+\_\+pop\+\_\+parent (\begin{DoxyParamCaption}\item[{struct \textbf{ vty} $\ast$}]{vty }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ vty\+\_\+parent\+\_\+node\+::entry}, \textbf{ vty\+::indent}, \textbf{ vty\+\_\+parent\+\_\+node\+::indent}, \textbf{ vty\+::index}, \textbf{ vty\+\_\+parent\+\_\+node\+::index}, \textbf{ llist\+\_\+del()}, \textbf{ vty\+::node}, \textbf{ vty\+\_\+parent\+\_\+node\+::node}, \textbf{ vty\+::priv}, \textbf{ vty\+\_\+parent\+\_\+node\+::priv}, and \textbf{ vty\+\_\+parent()}.



Referenced by \textbf{ vty\+\_\+clear\+\_\+parents()}, and \textbf{ vty\+\_\+go\+\_\+parent()}.

\mbox{\label{group__command_ga80db6b4a04f0c10b63642835a99f4847}} 
\index{VTY Command@{VTY Command}!write\_config\_file@{write\_config\_file}}
\index{write\_config\_file@{write\_config\_file}!VTY Command@{VTY Command}}
\doxysubsubsection{write\_config\_file()}
{\footnotesize\ttfamily static int write\+\_\+config\+\_\+file (\begin{DoxyParamCaption}\item[{const char $\ast$}]{config\+\_\+file,  }\item[{char $\ast$$\ast$}]{outpath }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ host\+::app\+\_\+info}, \textbf{ cmdvec}, \textbf{ CONF\+\_\+\+BACKUP\+\_\+\+EXT}, \textbf{ CONFIGFILE\+\_\+\+MASK}, \textbf{ fd}, \textbf{ vty\+::fd}, \textbf{ cmd\+\_\+node\+::func}, \textbf{ vty\+\_\+app\+\_\+info\+::name}, \textbf{ node}, \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}, \textbf{ vty\+::type}, \textbf{ vector\+\_\+active}, \textbf{ vector\+\_\+slot}, \textbf{ vty\+\_\+app\+\_\+info\+::version}, \textbf{ vty\+\_\+close()}, \textbf{ VTY\+\_\+\+FILE}, \textbf{ vty\+\_\+new()}, and \textbf{ vty\+\_\+out()}.



Referenced by \textbf{ DEFUN()}, \textbf{ osmo\+\_\+vty\+\_\+save\+\_\+config\+\_\+file()}, and \textbf{ osmo\+\_\+vty\+\_\+write\+\_\+config\+\_\+file()}.

\mbox{\label{group__command_gacffe7da6b218f45fa79b3f49e80bdd6c}} 
\index{VTY Command@{VTY Command}!xml\_escape@{xml\_escape}}
\index{xml\_escape@{xml\_escape}!VTY Command@{VTY Command}}
\doxysubsubsection{xml\_escape()}
{\footnotesize\ttfamily static char $\ast$ xml\+\_\+escape (\begin{DoxyParamCaption}\item[{const char $\ast$}]{inp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ ADD}, \textbf{ len()}, and \textbf{ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}.



Referenced by \textbf{ vty\+\_\+dump\+\_\+element()}.



\doxysubsection{Variable Documentation}
\mbox{\label{group__command_ga670fbca951a91c501f92def96b855e85}} 
\index{VTY Command@{VTY Command}!auth\_enable\_node@{auth\_enable\_node}}
\index{auth\_enable\_node@{auth\_enable\_node}!VTY Command@{VTY Command}}
\doxysubsubsection{auth\_enable\_node}
{\footnotesize\ttfamily struct \textbf{ cmd\+\_\+node} auth\+\_\+enable\+\_\+node}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        AUTH\_ENABLE\_NODE,}
\DoxyCodeLine{        \textcolor{stringliteral}{"{}Password: "{}},}
\DoxyCodeLine{        .name = \textcolor{stringliteral}{"{}auth-\/enable"{}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ cmd\+\_\+init()}.

\mbox{\label{group__command_ga1f7025442b108a0b99bd2e266e123de5}} 
\index{VTY Command@{VTY Command}!auth\_node@{auth\_node}}
\index{auth\_node@{auth\_node}!VTY Command@{VTY Command}}
\doxysubsubsection{auth\_node}
{\footnotesize\ttfamily struct \textbf{ cmd\+\_\+node} auth\+\_\+node}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        AUTH\_NODE,}
\DoxyCodeLine{        \textcolor{stringliteral}{"{}Password: "{}},}
\DoxyCodeLine{        .name = \textcolor{stringliteral}{"{}auth"{}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ cmd\+\_\+init()}.

\mbox{\label{group__command_gacb0653983ac10d33349fe3a3e12ce1cf}} 
\index{VTY Command@{VTY Command}!cmd\_attr\_desc@{cmd\_attr\_desc}}
\index{cmd\_attr\_desc@{cmd\_attr\_desc}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_attr\_desc}
{\footnotesize\ttfamily const struct \textbf{ value\+\_\+string} cmd\+\_\+attr\+\_\+desc[$\,$]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ CMD\_ATTR\_DEPRECATED,               \textcolor{stringliteral}{"{}This command is deprecated"{}} \},}
\DoxyCodeLine{        \{ CMD\_ATTR\_HIDDEN,               \textcolor{stringliteral}{"{}This command is hidden (check expert mode)"{}} \},}
\DoxyCodeLine{        \{ CMD\_ATTR\_IMMEDIATE,         \textcolor{stringliteral}{"{}This command applies immediately"{}} \},}
\DoxyCodeLine{        \{ CMD\_ATTR\_NODE\_EXIT,         \textcolor{stringliteral}{"{}This command applies on VTY node exit"{}} \},}
\DoxyCodeLine{        }
\DoxyCodeLine{        \{ 0, NULL \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ print\+\_\+attr\+\_\+list()}, and \textbf{ vty\+\_\+dump\+\_\+element()}.

\mbox{\label{group__command_ga99909f69d48747f59ad842f67986ff82}} 
\index{VTY Command@{VTY Command}!cmd\_lib\_attr\_desc@{cmd\_lib\_attr\_desc}}
\index{cmd\_lib\_attr\_desc@{cmd\_lib\_attr\_desc}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_lib\_attr\_desc}
{\footnotesize\ttfamily const char$\ast$ const cmd\+\_\+lib\+\_\+attr\+\_\+desc[32]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        }
\DoxyCodeLine{        [OSMO\_SCCP\_LIB\_ATTR\_RSTRT\_ASP] = }
\DoxyCodeLine{                \textcolor{stringliteral}{"{}This command applies on ASP restart"{}},}
\DoxyCodeLine{        [OSMO\_ABIS\_LIB\_ATTR\_IPA\_NEW\_LNK] = }
\DoxyCodeLine{                \textcolor{stringliteral}{"{}This command applies on IPA link establishment"{}},}
\DoxyCodeLine{        [OSMO\_ABIS\_LIB\_ATTR\_LINE\_UPD] = }
\DoxyCodeLine{                \textcolor{stringliteral}{"{}This command applies on E1 line update"{}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ print\+\_\+attr\+\_\+list()}, and \textbf{ vty\+\_\+dump\+\_\+element()}.

\mbox{\label{group__command_ga1207e9135613650efd8a912beedae4cd}} 
\index{VTY Command@{VTY Command}!cmd\_lib\_attr\_letters@{cmd\_lib\_attr\_letters}}
\index{cmd\_lib\_attr\_letters@{cmd\_lib\_attr\_letters}!VTY Command@{VTY Command}}
\doxysubsubsection{cmd\_lib\_attr\_letters}
{\footnotesize\ttfamily const char cmd\+\_\+lib\+\_\+attr\+\_\+letters[32]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        }
\DoxyCodeLine{        [OSMO\_SCCP\_LIB\_ATTR\_RSTRT\_ASP] =            \textcolor{charliteral}{'A'},}
\DoxyCodeLine{        [OSMO\_ABIS\_LIB\_ATTR\_IPA\_NEW\_LNK] =                \textcolor{charliteral}{'I'},}
\DoxyCodeLine{        [OSMO\_ABIS\_LIB\_ATTR\_LINE\_UPD] =                      \textcolor{charliteral}{'L'},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ cmd\+\_\+flag\+\_\+mask()}, \textbf{ node\+\_\+flag\+\_\+mask()}, \textbf{ print\+\_\+attr\+\_\+list()}, and \textbf{ vty\+\_\+dump\+\_\+element()}.

\mbox{\label{group__command_ga78f98a88ed687d0d129a52a66740b0bb}} 
\index{VTY Command@{VTY Command}!CMD\_SUCCESS@{CMD\_SUCCESS}}
\index{CMD\_SUCCESS@{CMD\_SUCCESS}!VTY Command@{VTY Command}}
\doxysubsubsection{CMD\_SUCCESS}
{\footnotesize\ttfamily return CMD\+\_\+\+SUCCESS}



Referenced by \textbf{ ALIAS()}, \textbf{ cmd\+\_\+describe\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+make\+\_\+strvec2()}, \textbf{ config\+\_\+from\+\_\+file()}, \textbf{ DEFUN()}, \textbf{ DEFUN\+\_\+\+HIDDEN()}, and \textbf{ g\+DEFUN()}.

\mbox{\label{group__command_ga93fc2403b400260d2578b48ef7f32f31}} 
\index{VTY Command@{VTY Command}!cmdvec@{cmdvec}}
\index{cmdvec@{cmdvec}!VTY Command@{VTY Command}}
\doxysubsubsection{cmdvec}
{\footnotesize\ttfamily \textbf{ vector} cmdvec}



Referenced by \textbf{ cmd\+\_\+complete\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+describe\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+strict()}, \textbf{ cmd\+\_\+init()}, \textbf{ cmd\+\_\+prompt()}, \textbf{ g\+DEFUN()}, \textbf{ if()}, \textbf{ install\+\_\+element()}, \textbf{ install\+\_\+node\+\_\+bare()}, \textbf{ sort\+\_\+node()}, \textbf{ vty\+\_\+dump\+\_\+nodes()}, and \textbf{ write\+\_\+config\+\_\+file()}.

\mbox{\label{group__command_ga6ab108e8a77e1ecf7b2d2c319125e53d}} 
\index{VTY Command@{VTY Command}!config@{config}}
\index{config@{config}!VTY Command@{VTY Command}}
\doxysubsubsection{config}
{\footnotesize\ttfamily write Write running configuration to or \textbf{ terminal} \textbf{ n} Write configuration to the copy running config startup config}

\mbox{\label{group__command_ga3eaa1912c22d8f1131c0184a8da3bea9}} 
\index{VTY Command@{VTY Command}!config\_end\_cmd@{config\_end\_cmd}}
\index{config\_end\_cmd@{config\_end\_cmd}!VTY Command@{VTY Command}}
\doxysubsubsection{config\_end\_cmd}
{\footnotesize\ttfamily struct \textbf{ cmd\+\_\+element} config\+\_\+end\+\_\+cmd\hspace{0.3cm}{\ttfamily [extern]}}



Referenced by \textbf{ install\+\_\+basic\+\_\+node\+\_\+commands()}, and \textbf{ vty\+\_\+command\+\_\+is\+\_\+common()}.

\mbox{\label{group__command_ga0f38e7320fd26709b67553e7b06e1ba8}} 
\index{VTY Command@{VTY Command}!config\_exit\_cmd@{config\_exit\_cmd}}
\index{config\_exit\_cmd@{config\_exit\_cmd}!VTY Command@{VTY Command}}
\doxysubsubsection{config\_exit\_cmd}
{\footnotesize\ttfamily struct \textbf{ cmd\+\_\+element} config\+\_\+exit\+\_\+cmd\hspace{0.3cm}{\ttfamily [extern]}}



Referenced by \textbf{ cmd\+\_\+init()}, \textbf{ install\+\_\+basic\+\_\+node\+\_\+commands()}, \textbf{ vty\+\_\+command\+\_\+is\+\_\+common()}, and \textbf{ vty\+\_\+down\+\_\+level()}.

\mbox{\label{group__command_ga2093ab968963c052ceb8b4debb0e4c8b}} 
\index{VTY Command@{VTY Command}!config\_help\_cmd@{config\_help\_cmd}}
\index{config\_help\_cmd@{config\_help\_cmd}!VTY Command@{VTY Command}}
\doxysubsubsection{config\_help\_cmd}
{\footnotesize\ttfamily struct \textbf{ cmd\+\_\+element} config\+\_\+help\+\_\+cmd\hspace{0.3cm}{\ttfamily [extern]}}



Referenced by \textbf{ cmd\+\_\+init()}, \textbf{ install\+\_\+basic\+\_\+node\+\_\+commands()}, and \textbf{ vty\+\_\+command\+\_\+is\+\_\+common()}.

\mbox{\label{group__command_gad6da0f2e94cfb741ee975a2d2bfb2461}} 
\index{VTY Command@{VTY Command}!config\_list\_cmd@{config\_list\_cmd}}
\index{config\_list\_cmd@{config\_list\_cmd}!VTY Command@{VTY Command}}
\doxysubsubsection{config\_list\_cmd}
{\footnotesize\ttfamily struct \textbf{ cmd\+\_\+element} config\+\_\+list\+\_\+cmd\hspace{0.3cm}{\ttfamily [extern]}}



Referenced by \textbf{ cmd\+\_\+init()}, \textbf{ install\+\_\+basic\+\_\+node\+\_\+commands()}, and \textbf{ vty\+\_\+command\+\_\+is\+\_\+common()}.

\mbox{\label{group__command_ga7b991a866d6f91610ff348514d3a2c85}} 
\index{VTY Command@{VTY Command}!config\_node@{config\_node}}
\index{config\_node@{config\_node}!VTY Command@{VTY Command}}
\doxysubsubsection{config\_node}
{\footnotesize\ttfamily struct \textbf{ cmd\+\_\+node} config\+\_\+node}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        CONFIG\_NODE,}
\DoxyCodeLine{        \textcolor{stringliteral}{"{}\%s(config)\# "{}},}
\DoxyCodeLine{        1}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ cmd\+\_\+init()}.

\mbox{\label{group__command_ga65bd278891213e230875966642f575cc}} 
\index{VTY Command@{VTY Command}!config\_write\_memory\_cmd@{config\_write\_memory\_cmd}}
\index{config\_write\_memory\_cmd@{config\_write\_memory\_cmd}!VTY Command@{VTY Command}}
\doxysubsubsection{config\_write\_memory\_cmd}
{\footnotesize\ttfamily config\+\_\+write\+\_\+memory\+\_\+cmd}



Referenced by \textbf{ install\+\_\+basic\+\_\+node\+\_\+commands()}, and \textbf{ vty\+\_\+command\+\_\+is\+\_\+common()}.

\mbox{\label{group__command_ga89274f3b304af234da04090259626c68}} 
\index{VTY Command@{VTY Command}!config\_write\_terminal\_cmd@{config\_write\_terminal\_cmd}}
\index{config\_write\_terminal\_cmd@{config\_write\_terminal\_cmd}!VTY Command@{VTY Command}}
\doxysubsubsection{config\_write\_terminal\_cmd}
{\footnotesize\ttfamily write Write running configuration to or \textbf{ terminal} \textbf{ n} Write configuration to the copy running \textbf{ config} startup Copy configuration \textbf{ n} Copy running \textbf{ config} to \textbf{ n} Copy running \textbf{ config} to startup config\+\_\+write\+\_\+terminal\+\_\+cmd}



Referenced by \textbf{ install\+\_\+basic\+\_\+node\+\_\+commands()}, and \textbf{ vty\+\_\+command\+\_\+is\+\_\+common()}.

\mbox{\label{group__command_ga19f977133a214b812fee3af544b02529}} 
\index{VTY Command@{VTY Command}!copy\_runningconfig\_startupconfig\_cmd@{copy\_runningconfig\_startupconfig\_cmd}}
\index{copy\_runningconfig\_startupconfig\_cmd@{copy\_runningconfig\_startupconfig\_cmd}!VTY Command@{VTY Command}}
\doxysubsubsection{copy\_runningconfig\_startupconfig\_cmd}
{\footnotesize\ttfamily write Write running configuration to or \textbf{ terminal} \textbf{ n} Write configuration to the copy\+\_\+runningconfig\+\_\+startupconfig\+\_\+cmd}



Referenced by \textbf{ cmd\+\_\+init()}.

\mbox{\label{group__command_ga096778f4fc2c90282660cc6cbf620c3f}} 
\index{VTY Command@{VTY Command}!default\_motd@{default\_motd}}
\index{default\_motd@{default\_motd}!VTY Command@{VTY Command}}
\doxysubsubsection{default\_motd}
{\footnotesize\ttfamily const char$\ast$ default\+\_\+motd = \char`\"{}\char`\"{}}



Referenced by \textbf{ cmd\+\_\+init()}, and \textbf{ DEFUN()}.

\mbox{\label{group__command_ga0544c3fe466e421738dae463968b70ba}} 
\index{VTY Command@{VTY Command}!else@{else}}
\index{else@{else}!VTY Command@{VTY Command}}
\doxysubsubsection{else}
{\footnotesize\ttfamily else}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\{}
\DoxyCodeLine{                vty\_out(vty, \textcolor{stringliteral}{"{}\%sCurrent configuration:\%s"{}}, VTY\_NEWLINE,}
\DoxyCodeLine{                        VTY\_NEWLINE)}

\end{DoxyCode}
\mbox{\label{group__command_ga8c21436880f3e2093b08c767af23ab82}} 
\index{VTY Command@{VTY Command}!enable\_node@{enable\_node}}
\index{enable\_node@{enable\_node}!VTY Command@{VTY Command}}
\doxysubsubsection{enable\_node}
{\footnotesize\ttfamily struct \textbf{ cmd\+\_\+node} enable\+\_\+node}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        ENABLE\_NODE,}
\DoxyCodeLine{        \textcolor{stringliteral}{"{}\%s\# "{}},}
\DoxyCodeLine{        .name = \textcolor{stringliteral}{"{}enable"{}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ cmd\+\_\+init()}.

\mbox{\label{group__command_gab4e4c95630aff8de923b0b7f25dec6e7}} 
\index{VTY Command@{VTY Command}!host@{host}}
\index{host@{host}!VTY Command@{VTY Command}}
\doxysubsubsection{host}
{\footnotesize\ttfamily struct \textbf{ host} \textbf{ host}}

\mbox{\label{group__command_gab3b6b22f7fa8775522dcaa100befafad}} 
\index{VTY Command@{VTY Command}!memory@{memory}}
\index{memory@{memory}!VTY Command@{VTY Command}}
\doxysubsubsection{memory}
{\footnotesize\ttfamily write Write running configuration to or \textbf{ terminal} \textbf{ n} Write configuration to the copy running \textbf{ config} startup Copy configuration \textbf{ n} Copy running \textbf{ config} to \textbf{ n} Copy running \textbf{ config} to startup write Write running configuration to memory}

\mbox{\label{group__command_gaf89c5a6644647c08f02539a7e5fb8acf}} 
\index{VTY Command@{VTY Command}!n@{n}}
\index{n@{n}!VTY Command@{VTY Command}}
\doxysubsubsection{n}
{\footnotesize\ttfamily write Write running configuration to or \textbf{ terminal} n Write configuration to the copy running \textbf{ config} startup Copy configuration n Copy running \textbf{ config} to n Copy running \textbf{ config} to startup write Write running configuration to or \textbf{ terminal} n Write to \textbf{ terminal} n}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\{}
\DoxyCodeLine{        \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} i}

\end{DoxyCode}
\mbox{\label{group__command_gacec200f241e2d8f6b38bc83616c4c468}} 
\index{VTY Command@{VTY Command}!network@{network}}
\index{network@{network}!VTY Command@{VTY Command}}
\doxysubsubsection{network}
{\footnotesize\ttfamily write Write running configuration to or \textbf{ terminal} \textbf{ n} Write configuration to the copy running \textbf{ config} startup Copy configuration \textbf{ n} Copy running \textbf{ config} to \textbf{ n} Copy running \textbf{ config} to startup write Write running configuration to network}

\mbox{\label{group__command_ga37bde04090010a6edc5254ca9d8fc3f1}} 
\index{VTY Command@{VTY Command}!node@{node}}
\index{node@{node}!VTY Command@{VTY Command}}
\doxysubsubsection{node}
{\footnotesize\ttfamily struct \textbf{ cmd\+\_\+node}$\ast$ node}



Referenced by \textbf{ cmd\+\_\+prompt()}, \textbf{ cmd\+\_\+try\+\_\+do\+\_\+shortcut()}, \textbf{ if()}, \textbf{ install\+\_\+basic\+\_\+node\+\_\+commands()}, \textbf{ install\+\_\+node()}, \textbf{ install\+\_\+node\+\_\+bare()}, and \textbf{ write\+\_\+config\+\_\+file()}.

\mbox{\label{group__command_gaff1f31b58fc99d5ff02328e5195436d0}} 
\index{VTY Command@{VTY Command}!starttime@{starttime}}
\index{starttime@{starttime}!VTY Command@{VTY Command}}
\doxysubsubsection{starttime}
{\footnotesize\ttfamily struct timespec starttime\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+()}, \textbf{ DEFUN()}, and \textbf{ vty\+\_\+out\+\_\+uptime()}.

\mbox{\label{group__command_ga3983210999465ebd223c9bf76613baad}} 
\index{VTY Command@{VTY Command}!tall\_vty\_cmd\_ctx@{tall\_vty\_cmd\_ctx}}
\index{tall\_vty\_cmd\_ctx@{tall\_vty\_cmd\_ctx}!VTY Command@{VTY Command}}
\doxysubsubsection{tall\_vty\_cmd\_ctx\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void$\ast$ tall\+\_\+vty\+\_\+cmd\+\_\+ctx\hspace{0.3cm}{\ttfamily [extern]}}



Referenced by \textbf{ ALIAS()}, \textbf{ argv\+\_\+concat()}, \textbf{ cmd\+\_\+complete\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+desc\+\_\+str()}, \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+make\+\_\+descvec()}, \textbf{ cmd\+\_\+make\+\_\+strvec2()}, \textbf{ cmd\+\_\+match()}, \textbf{ DEFUN()}, \textbf{ host\+\_\+config\+\_\+set()}, \textbf{ is\+\_\+cmd\+\_\+ambiguous()}, \textbf{ osmo\+\_\+asciidoc\+\_\+escape()}, \textbf{ timer\+\_\+command\+\_\+string()}, \textbf{ timer\+\_\+doc\+\_\+string()}, \textbf{ vty\+\_\+init()}, \textbf{ write\+\_\+config\+\_\+file()}, and \textbf{ xml\+\_\+escape()}.

\mbox{\label{group__command_ga3983210999465ebd223c9bf76613baad}} 
\index{VTY Command@{VTY Command}!tall\_vty\_cmd\_ctx@{tall\_vty\_cmd\_ctx}}
\index{tall\_vty\_cmd\_ctx@{tall\_vty\_cmd\_ctx}!VTY Command@{VTY Command}}
\doxysubsubsection{tall\_vty\_cmd\_ctx\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void$\ast$ tall\+\_\+vty\+\_\+cmd\+\_\+ctx}



Referenced by \textbf{ ALIAS()}, \textbf{ argv\+\_\+concat()}, \textbf{ cmd\+\_\+complete\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+desc\+\_\+str()}, \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+make\+\_\+descvec()}, \textbf{ cmd\+\_\+make\+\_\+strvec2()}, \textbf{ cmd\+\_\+match()}, \textbf{ DEFUN()}, \textbf{ host\+\_\+config\+\_\+set()}, \textbf{ is\+\_\+cmd\+\_\+ambiguous()}, \textbf{ osmo\+\_\+asciidoc\+\_\+escape()}, \textbf{ timer\+\_\+command\+\_\+string()}, \textbf{ timer\+\_\+doc\+\_\+string()}, \textbf{ vty\+\_\+init()}, \textbf{ write\+\_\+config\+\_\+file()}, and \textbf{ xml\+\_\+escape()}.

\mbox{\label{group__command_ga86a1dd2b71797949f2b74f2b6ad32dd1}} 
\index{VTY Command@{VTY Command}!terminal@{terminal}}
\index{terminal@{terminal}!VTY Command@{VTY Command}}
\doxysubsubsection{terminal}
{\footnotesize\ttfamily write Write running configuration to or terminal \textbf{ n} Write configuration to the copy running \textbf{ config} startup Copy configuration \textbf{ n} Copy running \textbf{ config} to \textbf{ n} Copy running \textbf{ config} to startup write terminal}



Referenced by \textbf{ cmd\+\_\+init()}.

\mbox{\label{group__command_ga6f2e02bbdd690a10cef1d9f253a73d05}} 
\index{VTY Command@{VTY Command}!view\_node@{view\_node}}
\index{view\_node@{view\_node}!VTY Command@{VTY Command}}
\doxysubsubsection{view\_node}
{\footnotesize\ttfamily struct \textbf{ cmd\+\_\+node} view\+\_\+node}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        VIEW\_NODE,}
\DoxyCodeLine{        \textcolor{stringliteral}{"{}\%s> "{}},}
\DoxyCodeLine{        .name = \textcolor{stringliteral}{"{}view"{}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ cmd\+\_\+init()}.

\mbox{\label{group__command_ga97b3ca7f0d0dde99010759711c5e6324}} 
\index{VTY Command@{VTY Command}!vty\_ref\_gen\_mode\_desc@{vty\_ref\_gen\_mode\_desc}}
\index{vty\_ref\_gen\_mode\_desc@{vty\_ref\_gen\_mode\_desc}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_ref\_gen\_mode\_desc\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const struct \textbf{ value\+\_\+string} vty\+\_\+ref\+\_\+gen\+\_\+mode\+\_\+desc[$\,$]\hspace{0.3cm}{\ttfamily [extern]}}

\mbox{\label{group__command_ga97b3ca7f0d0dde99010759711c5e6324}} 
\index{VTY Command@{VTY Command}!vty\_ref\_gen\_mode\_desc@{vty\_ref\_gen\_mode\_desc}}
\index{vty\_ref\_gen\_mode\_desc@{vty\_ref\_gen\_mode\_desc}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_ref\_gen\_mode\_desc\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const struct \textbf{ value\+\_\+string} vty\+\_\+ref\+\_\+gen\+\_\+mode\+\_\+desc[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ VTY\_REF\_GEN\_MODE\_DEFAULT,     \textcolor{stringliteral}{"{}all commands except deprecated and hidden"{}} \},}
\DoxyCodeLine{        \{ VTY\_REF\_GEN\_MODE\_EXPERT,       \textcolor{stringliteral}{"{}all commands including hidden, excluding deprecated"{}} \},}
\DoxyCodeLine{        \{ VTY\_REF\_GEN\_MODE\_HIDDEN,       \textcolor{stringliteral}{"{}hidden commands only"{}} \},}
\DoxyCodeLine{        \{ 0, NULL \}}
\DoxyCodeLine{\}}

\end{DoxyCode}
\mbox{\label{group__command_gabc7a7adccea8037c0991ce4ac35765c5}} 
\index{VTY Command@{VTY Command}!vty\_ref\_gen\_mode\_names@{vty\_ref\_gen\_mode\_names}}
\index{vty\_ref\_gen\_mode\_names@{vty\_ref\_gen\_mode\_names}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_ref\_gen\_mode\_names\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const struct \textbf{ value\+\_\+string} vty\+\_\+ref\+\_\+gen\+\_\+mode\+\_\+names[$\,$]\hspace{0.3cm}{\ttfamily [extern]}}

\mbox{\label{group__command_gabc7a7adccea8037c0991ce4ac35765c5}} 
\index{VTY Command@{VTY Command}!vty\_ref\_gen\_mode\_names@{vty\_ref\_gen\_mode\_names}}
\index{vty\_ref\_gen\_mode\_names@{vty\_ref\_gen\_mode\_names}!VTY Command@{VTY Command}}
\doxysubsubsection{vty\_ref\_gen\_mode\_names\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const struct \textbf{ value\+\_\+string} vty\+\_\+ref\+\_\+gen\+\_\+mode\+\_\+names[$\,$]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ VTY\_REF\_GEN\_MODE\_DEFAULT,     \textcolor{stringliteral}{"{}default"{}} \},}
\DoxyCodeLine{        \{ VTY\_REF\_GEN\_MODE\_EXPERT,       \textcolor{stringliteral}{"{}expert"{}} \},}
\DoxyCodeLine{        \{ VTY\_REF\_GEN\_MODE\_HIDDEN,       \textcolor{stringliteral}{"{}hidden"{}} \},}
\DoxyCodeLine{        \{ 0, NULL \}}
\DoxyCodeLine{\}}

\end{DoxyCode}
