\doxysection{osmo\+\_\+sercomm\+\_\+inst Struct Reference}
\label{structosmo__sercomm__inst}\index{osmo\_sercomm\_inst@{osmo\_sercomm\_inst}}


one instance of a sercomm multiplex/demultiplex  




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

\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
int \textbf{ initialized}
\begin{DoxyCompactList}\small\item\em Has this instance been initialized? \end{DoxyCompactList}\item 
int \textbf{ uart\+\_\+id}
\begin{DoxyCompactList}\small\item\em UART Identifier. \end{DoxyCompactList}\item 
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
struct \{\\
\>struct \textbf{ llist\_head} \textbf{ dlci\_queues} [\textbf{ \_SC\_DLCI\_MAX}]\\
\>\>{\em per-\/DLC queue of pending transmit msgbs }\\
\>struct \textbf{ msgb} $\ast$ \textbf{ msg}\\
\>\>{\em msgb currently being transmitted }\\
\>int \textbf{ state}\\
\>\>{\em transmit state }\\
\>uint8\_t $\ast$ \textbf{ next\_char}\\
\>\>{\em next to-\/be-\/transmitted char in msg }\\
\} \textbf{ tx}\\

\end{tabbing}\begin{DoxyCompactList}\small\item\em transmit side \end{DoxyCompactList}\item 
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
struct \{\\
\>\textbf{ dlci\_cb\_t} \textbf{ dlci\_handler} [\textbf{ \_SC\_DLCI\_MAX}]\\
\>\>{\em per-\/DLC handler call-\/back functions }\\
\>unsigned int \textbf{ msg\_size}\\
\>\>{\em msgb allocation size for rx msgs }\\
\>struct \textbf{ msgb} $\ast$ \textbf{ msg}\\
\>\>{\em currently received msgb }\\
\>int \textbf{ state}\\
\>\>{\em receive state }\\
\>uint8\_t \textbf{ dlci}\\
\>\>{\em DLCI of currently received msgb. }\\
\>uint8\_t \textbf{ ctrl}\\
\>\>{\em CTRL of currently received msgb. }\\
\} \textbf{ rx}\\

\end{tabbing}\begin{DoxyCompactList}\small\item\em receive side \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
one instance of a sercomm multiplex/demultiplex 

\doxysubsection{Field Documentation}
\mbox{\label{structosmo__sercomm__inst_ab70f432fb335e1e28849d049cc0b423d}} 
\index{osmo\_sercomm\_inst@{osmo\_sercomm\_inst}!ctrl@{ctrl}}
\index{ctrl@{ctrl}!osmo\_sercomm\_inst@{osmo\_sercomm\_inst}}
\doxysubsubsection{ctrl}
{\footnotesize\ttfamily uint8\+\_\+t osmo\+\_\+sercomm\+\_\+inst\+::ctrl}



CTRL of currently received msgb. 



Referenced by \textbf{ osmo\+\_\+sercomm\+\_\+drv\+\_\+rx\+\_\+char()}.

\mbox{\label{structosmo__sercomm__inst_a961013f76df181cb484b8dea1521c57f}} 
\index{osmo\_sercomm\_inst@{osmo\_sercomm\_inst}!dlci@{dlci}}
\index{dlci@{dlci}!osmo\_sercomm\_inst@{osmo\_sercomm\_inst}}
\doxysubsubsection{dlci}
{\footnotesize\ttfamily uint8\+\_\+t osmo\+\_\+sercomm\+\_\+inst\+::dlci}



DLCI of currently received msgb. 



Referenced by \textbf{ osmo\+\_\+sercomm\+\_\+drv\+\_\+rx\+\_\+char()}.

\mbox{\label{structosmo__sercomm__inst_aff3fde39929eab370d1e9180e9892cce}} 
\index{osmo\_sercomm\_inst@{osmo\_sercomm\_inst}!dlci\_handler@{dlci\_handler}}
\index{dlci\_handler@{dlci\_handler}!osmo\_sercomm\_inst@{osmo\_sercomm\_inst}}
\doxysubsubsection{dlci\_handler}
{\footnotesize\ttfamily \textbf{ dlci\+\_\+cb\+\_\+t} osmo\+\_\+sercomm\+\_\+inst\+::dlci\+\_\+handler[\textbf{ \+\_\+\+SC\+\_\+\+DLCI\+\_\+\+MAX}]}



per-\/\+DLC handler call-\/back functions 



Referenced by \textbf{ dispatch\+\_\+rx\+\_\+msg()}, and \textbf{ osmo\+\_\+sercomm\+\_\+register\+\_\+rx\+\_\+cb()}.

\mbox{\label{structosmo__sercomm__inst_a83769e8103c5b362fe1b8607f7f7a688}} 
\index{osmo\_sercomm\_inst@{osmo\_sercomm\_inst}!dlci\_queues@{dlci\_queues}}
\index{dlci\_queues@{dlci\_queues}!osmo\_sercomm\_inst@{osmo\_sercomm\_inst}}
\doxysubsubsection{dlci\_queues}
{\footnotesize\ttfamily struct \textbf{ llist\+\_\+head} osmo\+\_\+sercomm\+\_\+inst\+::dlci\+\_\+queues[\textbf{ \+\_\+\+SC\+\_\+\+DLCI\+\_\+\+MAX}]}



per-\/\+DLC queue of pending transmit msgbs 



Referenced by \textbf{ osmo\+\_\+sercomm\+\_\+change\+\_\+speed()}, \textbf{ osmo\+\_\+sercomm\+\_\+drv\+\_\+pull()}, \textbf{ osmo\+\_\+sercomm\+\_\+init()}, \textbf{ osmo\+\_\+sercomm\+\_\+sendmsg()}, and \textbf{ osmo\+\_\+sercomm\+\_\+tx\+\_\+queue\+\_\+depth()}.

\mbox{\label{structosmo__sercomm__inst_a4961c186e4a56cb874e160549a83376f}} 
\index{osmo\_sercomm\_inst@{osmo\_sercomm\_inst}!initialized@{initialized}}
\index{initialized@{initialized}!osmo\_sercomm\_inst@{osmo\_sercomm\_inst}}
\doxysubsubsection{initialized}
{\footnotesize\ttfamily int osmo\+\_\+sercomm\+\_\+inst\+::initialized}



Has this instance been initialized? 



Referenced by \textbf{ osmo\+\_\+sercomm\+\_\+init()}, and \textbf{ osmo\+\_\+sercomm\+\_\+initialized()}.

\mbox{\label{structosmo__sercomm__inst_a94a86e9769d386c6b1596bf80b314789}} 
\index{osmo\_sercomm\_inst@{osmo\_sercomm\_inst}!msg@{msg}}
\index{msg@{msg}!osmo\_sercomm\_inst@{osmo\_sercomm\_inst}}
\doxysubsubsection{msg}
{\footnotesize\ttfamily struct \textbf{ msgb}$\ast$ osmo\+\_\+sercomm\+\_\+inst\+::msg}



msgb currently being transmitted 

currently received msgb 

Referenced by \textbf{ osmo\+\_\+sercomm\+\_\+change\+\_\+speed()}, \textbf{ osmo\+\_\+sercomm\+\_\+drv\+\_\+pull()}, \textbf{ osmo\+\_\+sercomm\+\_\+drv\+\_\+rx\+\_\+char()}, and \textbf{ osmo\+\_\+sercomm\+\_\+init()}.

\mbox{\label{structosmo__sercomm__inst_a0e8b4cbcab841dafbacf6f367724e346}} 
\index{osmo\_sercomm\_inst@{osmo\_sercomm\_inst}!msg\_size@{msg\_size}}
\index{msg\_size@{msg\_size}!osmo\_sercomm\_inst@{osmo\_sercomm\_inst}}
\doxysubsubsection{msg\_size}
{\footnotesize\ttfamily unsigned int osmo\+\_\+sercomm\+\_\+inst\+::msg\+\_\+size}



msgb allocation size for rx msgs 



Referenced by \textbf{ osmo\+\_\+sercomm\+\_\+drv\+\_\+rx\+\_\+char()}, and \textbf{ osmo\+\_\+sercomm\+\_\+init()}.

\mbox{\label{structosmo__sercomm__inst_ad6e7299c50cafc37716a3cedeb8f9e59}} 
\index{osmo\_sercomm\_inst@{osmo\_sercomm\_inst}!next\_char@{next\_char}}
\index{next\_char@{next\_char}!osmo\_sercomm\_inst@{osmo\_sercomm\_inst}}
\doxysubsubsection{next\_char}
{\footnotesize\ttfamily uint8\+\_\+t$\ast$ osmo\+\_\+sercomm\+\_\+inst\+::next\+\_\+char}



next to-\/be-\/transmitted char in msg 



Referenced by \textbf{ osmo\+\_\+sercomm\+\_\+change\+\_\+speed()}, and \textbf{ osmo\+\_\+sercomm\+\_\+drv\+\_\+pull()}.

\mbox{\label{structosmo__sercomm__inst_ad04152412fd151668d504ada68e5e661}} 
\index{osmo\_sercomm\_inst@{osmo\_sercomm\_inst}!rx@{rx}}
\index{rx@{rx}!osmo\_sercomm\_inst@{osmo\_sercomm\_inst}}
\doxysubsubsection{}
{\footnotesize\ttfamily struct  \{ ... \}  osmo\+\_\+sercomm\+\_\+inst\+::rx}



receive side 



Referenced by \textbf{ dispatch\+\_\+rx\+\_\+msg()}, \textbf{ osmo\+\_\+sercomm\+\_\+drv\+\_\+rx\+\_\+char()}, \textbf{ osmo\+\_\+sercomm\+\_\+init()}, and \textbf{ osmo\+\_\+sercomm\+\_\+register\+\_\+rx\+\_\+cb()}.

\mbox{\label{structosmo__sercomm__inst_acdc6c68f82eb01f30d62994165777a2a}} 
\index{osmo\_sercomm\_inst@{osmo\_sercomm\_inst}!state@{state}}
\index{state@{state}!osmo\_sercomm\_inst@{osmo\_sercomm\_inst}}
\doxysubsubsection{state}
{\footnotesize\ttfamily int osmo\+\_\+sercomm\+\_\+inst\+::state}



transmit state 

receive state 

Referenced by \textbf{ osmo\+\_\+sercomm\+\_\+drv\+\_\+pull()}, and \textbf{ osmo\+\_\+sercomm\+\_\+drv\+\_\+rx\+\_\+char()}.

\mbox{\label{structosmo__sercomm__inst_adcc7eab68ac50b2884d4f166cf91011c}} 
\index{osmo\_sercomm\_inst@{osmo\_sercomm\_inst}!tx@{tx}}
\index{tx@{tx}!osmo\_sercomm\_inst@{osmo\_sercomm\_inst}}
\doxysubsubsection{}
{\footnotesize\ttfamily struct  \{ ... \}  osmo\+\_\+sercomm\+\_\+inst\+::tx}



transmit side 



Referenced by \textbf{ osmo\+\_\+sercomm\+\_\+change\+\_\+speed()}, \textbf{ osmo\+\_\+sercomm\+\_\+drv\+\_\+pull()}, \textbf{ osmo\+\_\+sercomm\+\_\+init()}, \textbf{ osmo\+\_\+sercomm\+\_\+sendmsg()}, and \textbf{ osmo\+\_\+sercomm\+\_\+tx\+\_\+queue\+\_\+depth()}.

\mbox{\label{structosmo__sercomm__inst_ac724aaff9018a90d51b961c02d86d320}} 
\index{osmo\_sercomm\_inst@{osmo\_sercomm\_inst}!uart\_id@{uart\_id}}
\index{uart\_id@{uart\_id}!osmo\_sercomm\_inst@{osmo\_sercomm\_inst}}
\doxysubsubsection{uart\_id}
{\footnotesize\ttfamily int osmo\+\_\+sercomm\+\_\+inst\+::uart\+\_\+id}



UART Identifier. 



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