\doxysection{vty Struct Reference}
\label{structvty}\index{vty@{vty}}


Internal representation of a single VTY.  




{\ttfamily \#include $<$vty.\+h$>$}

\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \{ \newline
\textbf{ VTY\+\_\+\+NORMAL}
, \newline
\textbf{ VTY\+\_\+\+CLOSE}
, \newline
\textbf{ VTY\+\_\+\+MORE}
, \newline
\textbf{ VTY\+\_\+\+MORELINE}
 \}
\begin{DoxyCompactList}\small\item\em Current vty status. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
FILE $\ast$ \textbf{ file}
\begin{DoxyCompactList}\small\item\em underlying file (if any) \end{DoxyCompactList}\item 
void $\ast$ \textbf{ priv}
\begin{DoxyCompactList}\small\item\em private data, specified by creator \end{DoxyCompactList}\item 
int \textbf{ fd}
\begin{DoxyCompactList}\small\item\em File descripter of this vty. \end{DoxyCompactList}\item 
enum \textbf{ vty\+\_\+type} \textbf{ type}
\begin{DoxyCompactList}\small\item\em Is this vty connect to file or not. \end{DoxyCompactList}\item 
int \textbf{ node}
\begin{DoxyCompactList}\small\item\em Node status of this vty. \end{DoxyCompactList}\item 
int \textbf{ fail}
\begin{DoxyCompactList}\small\item\em Failure count. \end{DoxyCompactList}\item 
struct \textbf{ buffer} $\ast$ \textbf{ obuf}
\begin{DoxyCompactList}\small\item\em Output buffer. \end{DoxyCompactList}\item 
char $\ast$ \textbf{ buf}
\begin{DoxyCompactList}\small\item\em Command input buffer. \end{DoxyCompactList}\item 
int \textbf{ cp}
\begin{DoxyCompactList}\small\item\em Command cursor point. \end{DoxyCompactList}\item 
int \textbf{ length}
\begin{DoxyCompactList}\small\item\em Command length. \end{DoxyCompactList}\item 
int \textbf{ max}
\begin{DoxyCompactList}\small\item\em Command max length. \end{DoxyCompactList}\item 
char $\ast$ \textbf{ hist} [\textbf{ VTY\+\_\+\+MAXHIST}]
\begin{DoxyCompactList}\small\item\em Histry of command. \end{DoxyCompactList}\item 
int \textbf{ hp}
\begin{DoxyCompactList}\small\item\em History lookup current point. \end{DoxyCompactList}\item 
int \textbf{ hindex}
\begin{DoxyCompactList}\small\item\em History insert end point. \end{DoxyCompactList}\item 
void $\ast$ \textbf{ index}
\begin{DoxyCompactList}\small\item\em For current referencing point of interface, route-\/map, access-\/list etc... \end{DoxyCompactList}\item 
void $\ast$ \textbf{ index\+\_\+sub}
\begin{DoxyCompactList}\small\item\em For multiple level index treatment such as key chain and key. \end{DoxyCompactList}\item 
unsigned char \textbf{ escape}
\begin{DoxyCompactList}\small\item\em For escape character. \end{DoxyCompactList}\item 
enum vty\+:: \{ ... \}  \textbf{ status}
\begin{DoxyCompactList}\small\item\em Current vty status. \end{DoxyCompactList}\item 
unsigned char \textbf{ iac}
\begin{DoxyCompactList}\small\item\em IAC handling. \end{DoxyCompactList}\item 
unsigned char \textbf{ iac\+\_\+sb\+\_\+in\+\_\+progress}
\begin{DoxyCompactList}\small\item\em IAC SB (option subnegotiation) handling. \end{DoxyCompactList}\item 
unsigned char \textbf{ sb\+\_\+buf} [\textbf{ TELNET\+\_\+\+NAWS\+\_\+\+SB\+\_\+\+LEN}]
\begin{DoxyCompactList}\small\item\em sub-\/negotiation buffer \end{DoxyCompactList}\item 
size\+\_\+t \textbf{ sb\+\_\+len}
\begin{DoxyCompactList}\small\item\em How many subnegotiation characters have we received? \end{DoxyCompactList}\item 
int \textbf{ width}
\begin{DoxyCompactList}\small\item\em Window width. \end{DoxyCompactList}\item 
int \textbf{ height}
\begin{DoxyCompactList}\small\item\em Widnow height. \end{DoxyCompactList}\item 
int \textbf{ lines}
\begin{DoxyCompactList}\small\item\em Configure lines. \end{DoxyCompactList}\item 
int \textbf{ monitor}
\item 
int \textbf{ config}
\begin{DoxyCompactList}\small\item\em In configure mode. \end{DoxyCompactList}\item 
struct \textbf{ llist\+\_\+head} \textbf{ parent\+\_\+nodes}
\begin{DoxyCompactList}\small\item\em List of parent nodes, last item is the outermost parent. \end{DoxyCompactList}\item 
char $\ast$ \textbf{ indent}
\begin{DoxyCompactList}\small\item\em When reading from a config file, these are the indenting characters expected for children of the current VTY node. \end{DoxyCompactList}\item 
bool \textbf{ expert\+\_\+mode}
\begin{DoxyCompactList}\small\item\em Whether the expert mode is enabled. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Internal representation of a single VTY. 

\doxysubsection{Member Enumeration Documentation}
\mbox{\label{structvty_abafbff9234d5619dbaeeff76502e41ac}} 
\doxysubsubsection{anonymous enum}
{\footnotesize\ttfamily anonymous enum}



Current vty status. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{VTY\_NORMAL@{VTY\_NORMAL}!vty@{vty}}\index{vty@{vty}!VTY\_NORMAL@{VTY\_NORMAL}}}\mbox{\label{structvty_abafbff9234d5619dbaeeff76502e41aca544a88c43be01dafa1582cb031bc2b78}} 
VTY\+\_\+\+NORMAL&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{VTY\_CLOSE@{VTY\_CLOSE}!vty@{vty}}\index{vty@{vty}!VTY\_CLOSE@{VTY\_CLOSE}}}\mbox{\label{structvty_abafbff9234d5619dbaeeff76502e41acab568d9eaea4e6aa93ae7fb8a7c65d4cb}} 
VTY\+\_\+\+CLOSE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{VTY\_MORE@{VTY\_MORE}!vty@{vty}}\index{vty@{vty}!VTY\_MORE@{VTY\_MORE}}}\mbox{\label{structvty_abafbff9234d5619dbaeeff76502e41aca77994ab451230a1056115ab3b0c1f6e0}} 
VTY\+\_\+\+MORE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{VTY\_MORELINE@{VTY\_MORELINE}!vty@{vty}}\index{vty@{vty}!VTY\_MORELINE@{VTY\_MORELINE}}}\mbox{\label{structvty_abafbff9234d5619dbaeeff76502e41aca0d0fcf88504c1b17beaca80dfdc842fe}} 
VTY\+\_\+\+MORELINE&\\
\hline

\end{DoxyEnumFields}


\doxysubsection{Field Documentation}
\mbox{\label{structvty_aa9d1b3b4593ff8e576a7e012c6b45570}} 
\index{vty@{vty}!buf@{buf}}
\index{buf@{buf}!vty@{vty}}
\doxysubsubsection{buf}
{\footnotesize\ttfamily char$\ast$ vty\+::buf}



Command input buffer. 



Referenced by \textbf{ config\+\_\+from\+\_\+file()}, \textbf{ vty\+\_\+auth()}, \textbf{ vty\+\_\+backward\+\_\+kill\+\_\+word()}, \textbf{ vty\+\_\+backward\+\_\+pure\+\_\+word()}, \textbf{ vty\+\_\+backward\+\_\+word()}, \textbf{ vty\+\_\+clear\+\_\+buf()}, \textbf{ vty\+\_\+close()}, \textbf{ vty\+\_\+command()}, \textbf{ vty\+\_\+complete\+\_\+command()}, \textbf{ vty\+\_\+delete\+\_\+char()}, \textbf{ vty\+\_\+describe\+\_\+command()}, \textbf{ vty\+\_\+ensure()}, \textbf{ vty\+\_\+forward\+\_\+char()}, \textbf{ vty\+\_\+forward\+\_\+kill\+\_\+word()}, \textbf{ vty\+\_\+forward\+\_\+word()}, \textbf{ vty\+\_\+hist\+\_\+add()}, \textbf{ vty\+\_\+history\+\_\+print()}, \textbf{ vty\+\_\+insert\+\_\+word\+\_\+overwrite()}, \textbf{ vty\+\_\+kill\+\_\+line()}, \textbf{ vty\+\_\+out\+\_\+va()}, \textbf{ vty\+\_\+read()}, \textbf{ vty\+\_\+read\+\_\+config\+\_\+filep()}, \textbf{ vty\+\_\+redraw\+\_\+line()}, \textbf{ vty\+\_\+self\+\_\+insert()}, \textbf{ vty\+\_\+self\+\_\+insert\+\_\+overwrite()}, and \textbf{ vty\+\_\+transpose\+\_\+chars()}.

\mbox{\label{structvty_a2dceb86fc008314e2f573e3880f7fbfc}} 
\index{vty@{vty}!config@{config}}
\index{config@{config}!vty@{vty}}
\doxysubsubsection{config}
{\footnotesize\ttfamily int vty\+::config}



In configure mode. 



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

\mbox{\label{structvty_ab49792bff9db1c643f8bb248b503cd39}} 
\index{vty@{vty}!cp@{cp}}
\index{cp@{cp}!vty@{vty}}
\doxysubsubsection{cp}
{\footnotesize\ttfamily int vty\+::cp}



Command cursor point. 



Referenced by \textbf{ vty\+\_\+backward\+\_\+char()}, \textbf{ vty\+\_\+backward\+\_\+kill\+\_\+word()}, \textbf{ vty\+\_\+backward\+\_\+pure\+\_\+word()}, \textbf{ vty\+\_\+backward\+\_\+word()}, \textbf{ vty\+\_\+beginning\+\_\+of\+\_\+line()}, \textbf{ vty\+\_\+create()}, \textbf{ vty\+\_\+delete\+\_\+backward\+\_\+char()}, \textbf{ vty\+\_\+delete\+\_\+char()}, \textbf{ vty\+\_\+down\+\_\+level()}, \textbf{ vty\+\_\+end\+\_\+config()}, \textbf{ vty\+\_\+end\+\_\+of\+\_\+line()}, \textbf{ vty\+\_\+execute()}, \textbf{ vty\+\_\+forward\+\_\+char()}, \textbf{ vty\+\_\+forward\+\_\+kill\+\_\+word()}, \textbf{ vty\+\_\+forward\+\_\+word()}, \textbf{ vty\+\_\+history\+\_\+print()}, \textbf{ vty\+\_\+insert\+\_\+word\+\_\+overwrite()}, \textbf{ vty\+\_\+kill\+\_\+line()}, \textbf{ vty\+\_\+redraw\+\_\+line()}, \textbf{ vty\+\_\+self\+\_\+insert()}, \textbf{ vty\+\_\+self\+\_\+insert\+\_\+overwrite()}, \textbf{ vty\+\_\+stop\+\_\+input()}, and \textbf{ vty\+\_\+transpose\+\_\+chars()}.

\mbox{\label{structvty_a5b11c8d6a7cc2ff7cad6a62fa26ffde5}} 
\index{vty@{vty}!escape@{escape}}
\index{escape@{escape}!vty@{vty}}
\doxysubsubsection{escape}
{\footnotesize\ttfamily unsigned char vty\+::escape}



For escape character. 



Referenced by \textbf{ vty\+\_\+escape\+\_\+map()}, and \textbf{ vty\+\_\+read()}.

\mbox{\label{structvty_aac63d86609810e127c8a6e5026e121f1}} 
\index{vty@{vty}!expert\_mode@{expert\_mode}}
\index{expert\_mode@{expert\_mode}!vty@{vty}}
\doxysubsubsection{expert\_mode}
{\footnotesize\ttfamily bool vty\+::expert\+\_\+mode}



Whether the expert mode is enabled. 



Referenced by \textbf{ cmd\+\_\+describe\+\_\+command\+\_\+real()}, \textbf{ DEFUN()}, \textbf{ g\+DEFUN()}, and \textbf{ vty\+\_\+dump\+\_\+xml\+\_\+ref\+\_\+to\+\_\+vty()}.

\mbox{\label{structvty_a2bbfb0bd919de5d12e7636edbe1e60bd}} 
\index{vty@{vty}!fail@{fail}}
\index{fail@{fail}!vty@{vty}}
\doxysubsubsection{fail}
{\footnotesize\ttfamily int vty\+::fail}



Failure count. 



Referenced by \textbf{ vty\+\_\+auth()}, and \textbf{ vty\+\_\+create()}.

\mbox{\label{structvty_aee2408e6a9e7f85adeba482cd2b5da42}} 
\index{vty@{vty}!fd@{fd}}
\index{fd@{fd}!vty@{vty}}
\doxysubsubsection{fd}
{\footnotesize\ttfamily int vty\+::fd}



File descripter of this vty. 



Referenced by \textbf{ vty\+\_\+close()}, \textbf{ vty\+\_\+create()}, \textbf{ vty\+\_\+flush()}, \textbf{ vty\+\_\+out\+\_\+va()}, \textbf{ vty\+\_\+read()}, \textbf{ vty\+\_\+read\+\_\+config\+\_\+filep()}, and \textbf{ write\+\_\+config\+\_\+file()}.

\mbox{\label{structvty_a7ea9cf776769ea2b0cb8e56d7cfbe076}} 
\index{vty@{vty}!file@{file}}
\index{file@{file}!vty@{vty}}
\doxysubsubsection{file}
{\footnotesize\ttfamily FILE$\ast$ vty\+::file}



underlying file (if any) 

\mbox{\label{structvty_a89d8052878ac339006922c2151ca4ffa}} 
\index{vty@{vty}!height@{height}}
\index{height@{height}!vty@{vty}}
\doxysubsubsection{height}
{\footnotesize\ttfamily int vty\+::height}



Widnow height. 



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

\mbox{\label{structvty_af08d6f44eed272e7bda1d474fe1573be}} 
\index{vty@{vty}!hindex@{hindex}}
\index{hindex@{hindex}!vty@{vty}}
\doxysubsubsection{hindex}
{\footnotesize\ttfamily int vty\+::hindex}



History insert end point. 



Referenced by \textbf{ DEFUN()}, \textbf{ vty\+\_\+create()}, \textbf{ vty\+\_\+hist\+\_\+add()}, \textbf{ vty\+\_\+next\+\_\+line()}, and \textbf{ vty\+\_\+stop\+\_\+input()}.

\mbox{\label{structvty_a4f1cd306d23716324bb908dc5082100f}} 
\index{vty@{vty}!hist@{hist}}
\index{hist@{hist}!vty@{vty}}
\doxysubsubsection{hist}
{\footnotesize\ttfamily char$\ast$ vty\+::hist[\textbf{ VTY\+\_\+\+MAXHIST}]}



Histry of command. 



Referenced by \textbf{ DEFUN()}, \textbf{ vty\+\_\+close()}, \textbf{ vty\+\_\+create()}, \textbf{ vty\+\_\+hist\+\_\+add()}, \textbf{ vty\+\_\+history\+\_\+print()}, \textbf{ vty\+\_\+next\+\_\+line()}, and \textbf{ vty\+\_\+previous\+\_\+line()}.

\mbox{\label{structvty_a7baae5746026d42a5c13693d95354b19}} 
\index{vty@{vty}!hp@{hp}}
\index{hp@{hp}!vty@{vty}}
\doxysubsubsection{hp}
{\footnotesize\ttfamily int vty\+::hp}



History lookup current point. 



Referenced by \textbf{ vty\+\_\+create()}, \textbf{ vty\+\_\+hist\+\_\+add()}, \textbf{ vty\+\_\+history\+\_\+print()}, \textbf{ vty\+\_\+next\+\_\+line()}, \textbf{ vty\+\_\+previous\+\_\+line()}, and \textbf{ vty\+\_\+stop\+\_\+input()}.

\mbox{\label{structvty_a84a9697ba7d4b0b1fc67da51a44cc46b}} 
\index{vty@{vty}!iac@{iac}}
\index{iac@{iac}!vty@{vty}}
\doxysubsubsection{iac}
{\footnotesize\ttfamily unsigned char vty\+::iac}



IAC handling. 

IAC handling\+: was the last character received the IAC (interpret-\/as-\/command) escape character (and therefore the next character will be the command code)? Refer to Telnet RFC 854. 

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

\mbox{\label{structvty_af43115c5fffab36e14b77b8a893a361a}} 
\index{vty@{vty}!iac\_sb\_in\_progress@{iac\_sb\_in\_progress}}
\index{iac\_sb\_in\_progress@{iac\_sb\_in\_progress}!vty@{vty}}
\doxysubsubsection{iac\_sb\_in\_progress}
{\footnotesize\ttfamily unsigned char vty\+::iac\+\_\+sb\+\_\+in\+\_\+progress}



IAC SB (option subnegotiation) handling. 



Referenced by \textbf{ vty\+\_\+read()}, and \textbf{ vty\+\_\+telnet\+\_\+option()}.

\mbox{\label{structvty_a7239283e35f10478f2b1ebd8ac7c171b}} 
\index{vty@{vty}!indent@{indent}}
\index{indent@{indent}!vty@{vty}}
\doxysubsubsection{indent}
{\footnotesize\ttfamily char$\ast$ vty\+::indent}



When reading from a config file, these are the indenting characters expected for children of the current VTY node. 



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

\mbox{\label{structvty_a9179508dca757a3b7c345c86769b5b9a}} 
\index{vty@{vty}!index@{index}}
\index{index@{index}!vty@{vty}}
\doxysubsubsection{index}
{\footnotesize\ttfamily void$\ast$ vty\+::index}



For current referencing point of interface, route-\/map, access-\/list etc... 



Referenced by \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+real()}, \textbf{ config\+\_\+from\+\_\+file()}, \textbf{ config\+\_\+write\+\_\+log()}, \textbf{ DEFUN()}, \textbf{ g\+DEFUN()}, \textbf{ osmo\+\_\+log\+\_\+vty2tgt()}, \textbf{ osmo\+\_\+stats\+\_\+vty2srep()}, \textbf{ vty\+\_\+current\+\_\+index()}, and \textbf{ vty\+\_\+pop\+\_\+parent()}.

\mbox{\label{structvty_a40fc67d1eda3d2f73def1e8247455cf7}} 
\index{vty@{vty}!index\_sub@{index\_sub}}
\index{index\_sub@{index\_sub}!vty@{vty}}
\doxysubsubsection{index\_sub}
{\footnotesize\ttfamily void$\ast$ vty\+::index\+\_\+sub}



For multiple level index treatment such as key chain and key. 



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

\mbox{\label{structvty_a40464fa0b27445669c26fe6b5ace46e1}} 
\index{vty@{vty}!length@{length}}
\index{length@{length}!vty@{vty}}
\doxysubsubsection{length}
{\footnotesize\ttfamily int vty\+::length}



Command length. 



Referenced by \textbf{ vty\+\_\+complete\+\_\+command()}, \textbf{ vty\+\_\+create()}, \textbf{ vty\+\_\+delete\+\_\+char()}, \textbf{ vty\+\_\+describe\+\_\+command()}, \textbf{ vty\+\_\+end\+\_\+of\+\_\+line()}, \textbf{ vty\+\_\+execute()}, \textbf{ vty\+\_\+forward\+\_\+char()}, \textbf{ vty\+\_\+forward\+\_\+kill\+\_\+word()}, \textbf{ vty\+\_\+forward\+\_\+word()}, \textbf{ vty\+\_\+hist\+\_\+add()}, \textbf{ vty\+\_\+history\+\_\+print()}, \textbf{ vty\+\_\+insert\+\_\+word\+\_\+overwrite()}, \textbf{ vty\+\_\+kill\+\_\+line()}, \textbf{ vty\+\_\+read()}, \textbf{ vty\+\_\+redraw\+\_\+line()}, \textbf{ vty\+\_\+self\+\_\+insert()}, \textbf{ vty\+\_\+self\+\_\+insert\+\_\+overwrite()}, \textbf{ vty\+\_\+stop\+\_\+input()}, and \textbf{ vty\+\_\+transpose\+\_\+chars()}.

\mbox{\label{structvty_af36ed88d29c821bf8aa454cf8a36391a}} 
\index{vty@{vty}!lines@{lines}}
\index{lines@{lines}!vty@{vty}}
\doxysubsubsection{lines}
{\footnotesize\ttfamily int vty\+::lines}



Configure lines. 



Referenced by \textbf{ DEFUN()}, and \textbf{ vty\+\_\+create()}.

\mbox{\label{structvty_ada832b278a60f536496555d6673cf97d}} 
\index{vty@{vty}!max@{max}}
\index{max@{max}!vty@{vty}}
\doxysubsubsection{max}
{\footnotesize\ttfamily int vty\+::max}



Command max length. 



Referenced by \textbf{ vty\+\_\+clear\+\_\+buf()}, and \textbf{ vty\+\_\+ensure()}.

\mbox{\label{structvty_ace142d1b856ed1776e4a48684222b01f}} 
\index{vty@{vty}!monitor@{monitor}}
\index{monitor@{monitor}!vty@{vty}}
\doxysubsubsection{monitor}
{\footnotesize\ttfamily int vty\+::monitor}



Referenced by \textbf{ DEFUN()}.

\mbox{\label{structvty_a9ac72abb8e0411b52a9d91d1a11aeaff}} 
\index{vty@{vty}!node@{node}}
\index{node@{node}!vty@{vty}}
\doxysubsubsection{node}
{\footnotesize\ttfamily int vty\+::node}



Node status of this vty. 



Referenced by \textbf{ cmd\+\_\+complete\+\_\+command()}, \textbf{ cmd\+\_\+complete\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+describe\+\_\+command()}, \textbf{ cmd\+\_\+describe\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+execute\+\_\+command()}, \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+real()}, \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+strict()}, \textbf{ config\+\_\+from\+\_\+file()}, \textbf{ DEFUN()}, \textbf{ g\+DEFUN()}, \textbf{ osmo\+\_\+log\+\_\+vty2tgt()}, \textbf{ osmo\+\_\+stats\+\_\+vty2srep()}, \textbf{ vty\+\_\+auth()}, \textbf{ vty\+\_\+complete\+\_\+command()}, \textbf{ vty\+\_\+create()}, \textbf{ vty\+\_\+current\+\_\+node()}, \textbf{ vty\+\_\+delete\+\_\+char()}, \textbf{ vty\+\_\+down\+\_\+level()}, \textbf{ vty\+\_\+end\+\_\+config()}, \textbf{ vty\+\_\+execute()}, \textbf{ vty\+\_\+go\+\_\+parent()}, \textbf{ vty\+\_\+pop\+\_\+parent()}, \textbf{ vty\+\_\+prompt()}, \textbf{ vty\+\_\+read()}, \textbf{ vty\+\_\+read\+\_\+config\+\_\+filep()}, \textbf{ vty\+\_\+self\+\_\+insert\+\_\+overwrite()}, and \textbf{ vty\+\_\+write()}.

\mbox{\label{structvty_a0363ad4ce51e9147f27ce9cb2335714f}} 
\index{vty@{vty}!obuf@{obuf}}
\index{obuf@{obuf}!vty@{vty}}
\doxysubsubsection{obuf}
{\footnotesize\ttfamily struct \textbf{ buffer}$\ast$ vty\+::obuf}



Output buffer. 



Referenced by \textbf{ client\+\_\+data()}, \textbf{ vty\+\_\+buffer\+\_\+reset()}, \textbf{ vty\+\_\+close()}, \textbf{ vty\+\_\+flush()}, \textbf{ vty\+\_\+out\+\_\+newline()}, \textbf{ vty\+\_\+out\+\_\+va()}, \textbf{ vty\+\_\+read()}, \textbf{ vty\+\_\+reset()}, and \textbf{ vty\+\_\+write()}.

\mbox{\label{structvty_a6f334dd8b7f954782996c56216b30c40}} 
\index{vty@{vty}!parent\_nodes@{parent\_nodes}}
\index{parent\_nodes@{parent\_nodes}!vty@{vty}}
\doxysubsubsection{parent\_nodes}
{\footnotesize\ttfamily struct \textbf{ llist\+\_\+head} vty\+::parent\+\_\+nodes}



List of parent nodes, last item is the outermost parent. 



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

\mbox{\label{structvty_a38f17a0db28707270a2b409c44f16daa}} 
\index{vty@{vty}!priv@{priv}}
\index{priv@{priv}!vty@{vty}}
\doxysubsubsection{priv}
{\footnotesize\ttfamily void$\ast$ vty\+::priv}



private data, specified by creator 



Referenced by \textbf{ cmd\+\_\+execute\+\_\+command\+\_\+real()}, \textbf{ config\+\_\+from\+\_\+file()}, \textbf{ DEFUN()}, \textbf{ osmo\+\_\+log\+\_\+vty2tgt()}, \textbf{ vty\+\_\+create()}, \textbf{ vty\+\_\+event()}, \textbf{ vty\+\_\+pop\+\_\+parent()}, and \textbf{ vty\+\_\+read\+\_\+config\+\_\+filep()}.

\mbox{\label{structvty_a931d735f2a5e903328c5a03468655bef}} 
\index{vty@{vty}!sb\_buf@{sb\_buf}}
\index{sb\_buf@{sb\_buf}!vty@{vty}}
\doxysubsubsection{sb\_buf}
{\footnotesize\ttfamily unsigned char vty\+::sb\+\_\+buf[\textbf{ TELNET\+\_\+\+NAWS\+\_\+\+SB\+\_\+\+LEN}]}



sub-\/negotiation buffer 



Referenced by \textbf{ vty\+\_\+read()}, and \textbf{ vty\+\_\+telnet\+\_\+option()}.

\mbox{\label{structvty_a8e79b608af5753bb4a493fbaa62e3db1}} 
\index{vty@{vty}!sb\_len@{sb\_len}}
\index{sb\_len@{sb\_len}!vty@{vty}}
\doxysubsubsection{sb\_len}
{\footnotesize\ttfamily size\+\_\+t vty\+::sb\+\_\+len}



How many subnegotiation characters have we received? 

We just drop those that do not fit in the buffer. 

Referenced by \textbf{ vty\+\_\+read()}, and \textbf{ vty\+\_\+telnet\+\_\+option()}.

\mbox{\label{structvty_a451b79938c41942fcecd2fecf80181a3}} 
\index{vty@{vty}!status@{status}}
\index{status@{status}!vty@{vty}}
\doxysubsubsection{}
{\footnotesize\ttfamily enum  \{ ... \}  vty\+::status}



Current vty status. 



Referenced by \textbf{ g\+DEFUN()}, \textbf{ vty\+\_\+auth()}, \textbf{ vty\+\_\+create()}, \textbf{ vty\+\_\+execute()}, \textbf{ vty\+\_\+read()}, and \textbf{ vty\+\_\+reset()}.

\mbox{\label{structvty_ae5d5334e9d7fd817337b37a1c74d8496}} 
\index{vty@{vty}!type@{type}}
\index{type@{type}!vty@{vty}}
\doxysubsubsection{type}
{\footnotesize\ttfamily enum \textbf{ vty\+\_\+type} vty\+::type}



Is this vty connect to file or not. 



Referenced by \textbf{ DEFUN()}, \textbf{ vty\+\_\+command()}, \textbf{ vty\+\_\+create()}, \textbf{ vty\+\_\+event()}, \textbf{ vty\+\_\+execute()}, \textbf{ vty\+\_\+prompt()}, \textbf{ vty\+\_\+read\+\_\+config\+\_\+filep()}, \textbf{ vty\+\_\+shell()}, \textbf{ vty\+\_\+shell\+\_\+serv()}, and \textbf{ write\+\_\+config\+\_\+file()}.

\mbox{\label{structvty_a57c305025545e9f6f58ecc68380cd6de}} 
\index{vty@{vty}!width@{width}}
\index{width@{width}!vty@{vty}}
\doxysubsubsection{width}
{\footnotesize\ttfamily int vty\+::width}



Window width. 



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



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
include/osmocom/vty/\textbf{ vty.\+h}\end{DoxyCompactItemize}
