\doxysection{misc.\+h}
\label{misc_8h_source}\index{include/osmocom/vty/misc.h@{include/osmocom/vty/misc.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 }
\DoxyCodeLine{3 \textcolor{preprocessor}{\#pragma once}}
\DoxyCodeLine{4 }
\DoxyCodeLine{5 \textcolor{preprocessor}{\#include <osmocom/vty/vty.h>}}
\DoxyCodeLine{6 \textcolor{preprocessor}{\#include <osmocom/core/rate\_ctr.h>}}
\DoxyCodeLine{7 \textcolor{preprocessor}{\#include <osmocom/core/stat\_item.h>}}
\DoxyCodeLine{8 \textcolor{preprocessor}{\#include <osmocom/core/utils.h>}}
\DoxyCodeLine{9 }
\DoxyCodeLine{10 \textcolor{preprocessor}{\#define VTY\_DO\_LOWER            1}}
\DoxyCodeLine{11 \textcolor{keywordtype}{char} *vty\_cmd\_string\_from\_valstr(\textcolor{keywordtype}{void} *ctx, \textcolor{keyword}{const} \textcolor{keyword}{struct} value\_string *vals,}
\DoxyCodeLine{12                                  \textcolor{keyword}{const} \textcolor{keywordtype}{char} *prefix, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *sep,}
\DoxyCodeLine{13                                  \textcolor{keyword}{const} \textcolor{keywordtype}{char} *end, \textcolor{keywordtype}{int} do\_lower);}
\DoxyCodeLine{14 }
\DoxyCodeLine{15 \textcolor{keywordtype}{void} vty\_out\_rate\_ctr\_group(\textcolor{keyword}{struct} vty *vty, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *prefix,}
\DoxyCodeLine{16                             \textcolor{keyword}{struct} rate\_ctr\_group *ctrg);}
\DoxyCodeLine{17 \textcolor{keywordtype}{void} vty\_out\_rate\_ctr\_group2(\textcolor{keyword}{struct} vty *vty, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *prefix,}
\DoxyCodeLine{18                              \textcolor{keyword}{struct} rate\_ctr\_group *ctrg, \textcolor{keywordtype}{bool} skip\_zero);}
\DoxyCodeLine{19 \textcolor{keywordtype}{void} vty\_out\_rate\_ctr\_group\_fmt(\textcolor{keyword}{struct} vty *vty, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *fmt,}
\DoxyCodeLine{20                             \textcolor{keyword}{struct} rate\_ctr\_group *ctrg);}
\DoxyCodeLine{21 \textcolor{keywordtype}{void} vty\_out\_rate\_ctr\_group\_fmt2(\textcolor{keyword}{struct} vty *vty, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *fmt,}
\DoxyCodeLine{22                                  \textcolor{keyword}{struct} rate\_ctr\_group *ctrg, \textcolor{keywordtype}{bool} skip\_zero);}
\DoxyCodeLine{23 }
\DoxyCodeLine{24 }
\DoxyCodeLine{25 \textcolor{keywordtype}{void} vty\_out\_stat\_item\_group(\textcolor{keyword}{struct} vty *vty, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *prefix,}
\DoxyCodeLine{26                              \textcolor{keyword}{struct} osmo\_stat\_item\_group *statg);}
\DoxyCodeLine{27 \textcolor{keywordtype}{void} vty\_out\_stat\_item\_group2(\textcolor{keyword}{struct} vty *vty, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *prefix,}
\DoxyCodeLine{28                               \textcolor{keyword}{struct} osmo\_stat\_item\_group *statg, \textcolor{keywordtype}{bool} skip\_zero);}
\DoxyCodeLine{29 }
\DoxyCodeLine{30 \textcolor{keywordtype}{void} vty\_out\_statistics\_full(\textcolor{keyword}{struct} vty *vty, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *prefix);}
\DoxyCodeLine{31 \textcolor{keywordtype}{void} vty\_out\_statistics\_full2(\textcolor{keyword}{struct} vty *vty, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *prefix, \textcolor{keywordtype}{bool} skip\_zero);}
\DoxyCodeLine{32 \textcolor{keywordtype}{void} vty\_out\_statistics\_partial(\textcolor{keyword}{struct} vty *vty, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *prefix, \textcolor{keywordtype}{int} max\_level);}
\DoxyCodeLine{33 \textcolor{keywordtype}{void} vty\_out\_statistics\_partial2(\textcolor{keyword}{struct} vty *vty, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *prefix, \textcolor{keywordtype}{int} max\_level, \textcolor{keywordtype}{bool} skip\_zero);}
\DoxyCodeLine{34 }
\DoxyCodeLine{35 }
\DoxyCodeLine{36 \textcolor{keyword}{struct }osmo\_fsm;}
\DoxyCodeLine{37 \textcolor{keyword}{struct }osmo\_fsm\_inst;}
\DoxyCodeLine{38 \textcolor{keywordtype}{void} vty\_out\_fsm(\textcolor{keyword}{struct} vty *vty, \textcolor{keyword}{struct} osmo\_fsm *fsm);}
\DoxyCodeLine{39 \textcolor{keywordtype}{void} vty\_out\_fsm2(\textcolor{keyword}{struct} vty *vty, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *prefix, \textcolor{keyword}{struct} osmo\_fsm *fsm);}
\DoxyCodeLine{40 \textcolor{keywordtype}{void} vty\_out\_fsm\_inst(\textcolor{keyword}{struct} vty *vty, \textcolor{keyword}{struct} osmo\_fsm\_inst *fsmi);}
\DoxyCodeLine{41 \textcolor{keywordtype}{void} vty\_out\_fsm\_inst2(\textcolor{keyword}{struct} vty *vty, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *prefix, \textcolor{keyword}{struct} osmo\_fsm\_inst *fsmi);}
\DoxyCodeLine{42 \textcolor{keywordtype}{void} osmo\_fsm\_vty\_add\_cmds(\textcolor{keywordtype}{void});}
\DoxyCodeLine{43 \textcolor{keywordtype}{void} osmo\_talloc\_vty\_add\_cmds(\textcolor{keywordtype}{void});}
\DoxyCodeLine{44 }
\DoxyCodeLine{45 }
\DoxyCodeLine{46 \textcolor{keywordtype}{int} osmo\_vty\_write\_config\_file(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *filename);}
\DoxyCodeLine{47 \textcolor{keywordtype}{int} osmo\_vty\_save\_config\_file(\textcolor{keywordtype}{void});}

\end{DoxyCode}
