\doxysection{lapdm\+\_\+entity Struct Reference}
\label{structlapdm__entity}\index{lapdm\_entity@{lapdm\_entity}}


a LAPDm Entity  




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

\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ lapdm\+\_\+datalink} \textbf{ datalink} [\textbf{ \+\_\+\+NR\+\_\+\+DL\+\_\+\+SAPI}]
\begin{DoxyCompactList}\small\item\em the SAPIs of the LAPDm entity \end{DoxyCompactList}\item 
int \textbf{ last\+\_\+tx\+\_\+dequeue}
\begin{DoxyCompactList}\small\item\em last entity that was dequeued \end{DoxyCompactList}\item 
int \textbf{ tx\+\_\+pending}
\begin{DoxyCompactList}\small\item\em currently a pending frame not confirmed by L1 \end{DoxyCompactList}\item 
enum \textbf{ lapdm\+\_\+mode} \textbf{ mode}
\begin{DoxyCompactList}\small\item\em are we in BTS mode or MS mode \end{DoxyCompactList}\item 
unsigned int \textbf{ flags}
\item 
void $\ast$ \textbf{ l1\+\_\+ctx}
\begin{DoxyCompactList}\small\item\em context for layer1 instance \end{DoxyCompactList}\item 
void $\ast$ \textbf{ l3\+\_\+ctx}
\begin{DoxyCompactList}\small\item\em context for layer3 instance \end{DoxyCompactList}\item 
\textbf{ osmo\+\_\+prim\+\_\+cb} \textbf{ l1\+\_\+prim\+\_\+cb}
\begin{DoxyCompactList}\small\item\em callback for sending prims to L1 \end{DoxyCompactList}\item 
\textbf{ lapdm\+\_\+cb\+\_\+t} \textbf{ l3\+\_\+cb}
\begin{DoxyCompactList}\small\item\em callback for sending stuff to L3 \end{DoxyCompactList}\item 
struct \textbf{ lapdm\+\_\+channel} $\ast$ \textbf{ lapdm\+\_\+ch}
\begin{DoxyCompactList}\small\item\em pointer to \doxyref{lapdm\+\_\+channel}{p.}{structlapdm__channel} of which we\textquotesingle{}re part \end{DoxyCompactList}\item 
uint8\+\_\+t \textbf{ ta}
\item 
uint8\+\_\+t \textbf{ tx\+\_\+power}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
a LAPDm Entity 

\doxysubsection{Field Documentation}
\mbox{\label{structlapdm__entity_a71aab0b07e7b2d885dbf52c3b19c3b2c}} 
\index{lapdm\_entity@{lapdm\_entity}!datalink@{datalink}}
\index{datalink@{datalink}!lapdm\_entity@{lapdm\_entity}}
\doxysubsubsection{datalink}
{\footnotesize\ttfamily struct \textbf{ lapdm\+\_\+datalink} lapdm\+\_\+entity\+::datalink[\textbf{ \+\_\+\+NR\+\_\+\+DL\+\_\+\+SAPI}]}



the SAPIs of the LAPDm entity 



Referenced by \textbf{ lapdm\+\_\+datalink\+\_\+for\+\_\+sapi()}, \textbf{ lapdm\+\_\+entity\+\_\+exit()}, \textbf{ lapdm\+\_\+entity\+\_\+init3()}, \textbf{ lapdm\+\_\+entity\+\_\+reset()}, \textbf{ lapdm\+\_\+entity\+\_\+set\+\_\+flags()}, \textbf{ lapdm\+\_\+entity\+\_\+set\+\_\+mode()}, \textbf{ lapdm\+\_\+entity\+\_\+set\+\_\+t200\+\_\+fn()}, \textbf{ lapdm\+\_\+t200\+\_\+fn()}, \textbf{ tx\+\_\+dequeue\+\_\+acch\+\_\+msgb()}, and \textbf{ tx\+\_\+dequeue\+\_\+dcch\+\_\+msgb()}.

\mbox{\label{structlapdm__entity_a073b08ddc30029ae482f8ad635694102}} 
\index{lapdm\_entity@{lapdm\_entity}!flags@{flags}}
\index{flags@{flags}!lapdm\_entity@{lapdm\_entity}}
\doxysubsubsection{flags}
{\footnotesize\ttfamily unsigned int lapdm\+\_\+entity\+::flags}



Referenced by \textbf{ l2\+\_\+ph\+\_\+data\+\_\+conf()}, \textbf{ lapdm\+\_\+entity\+\_\+set\+\_\+flags()}, \textbf{ lapdm\+\_\+t200\+\_\+fn()}, \textbf{ tx\+\_\+dequeue\+\_\+msgb()}, \textbf{ tx\+\_\+ph\+\_\+data\+\_\+enqueue()}, and \textbf{ tx\+\_\+ph\+\_\+data\+\_\+enqueue\+\_\+ui()}.

\mbox{\label{structlapdm__entity_ab9f09d0b95173608bed11e0fd8dab955}} 
\index{lapdm\_entity@{lapdm\_entity}!l1\_ctx@{l1\_ctx}}
\index{l1\_ctx@{l1\_ctx}!lapdm\_entity@{lapdm\_entity}}
\doxysubsubsection{l1\_ctx}
{\footnotesize\ttfamily void$\ast$ lapdm\+\_\+entity\+::l1\+\_\+ctx}



context for layer1 instance 



Referenced by \textbf{ l2\+\_\+ph\+\_\+data\+\_\+conf()}, \textbf{ lapdm\+\_\+channel\+\_\+set\+\_\+l1()}, \textbf{ rslms\+\_\+rx\+\_\+chan\+\_\+rqd()}, \textbf{ tx\+\_\+ph\+\_\+data\+\_\+enqueue()}, and \textbf{ tx\+\_\+ph\+\_\+data\+\_\+enqueue\+\_\+ui()}.

\mbox{\label{structlapdm__entity_a78490621dd98b86e2e2acc1dd3b722a0}} 
\index{lapdm\_entity@{lapdm\_entity}!l1\_prim\_cb@{l1\_prim\_cb}}
\index{l1\_prim\_cb@{l1\_prim\_cb}!lapdm\_entity@{lapdm\_entity}}
\doxysubsubsection{l1\_prim\_cb}
{\footnotesize\ttfamily \textbf{ osmo\+\_\+prim\+\_\+cb} lapdm\+\_\+entity\+::l1\+\_\+prim\+\_\+cb}



callback for sending prims to L1 



Referenced by \textbf{ l2\+\_\+ph\+\_\+data\+\_\+conf()}, \textbf{ lapdm\+\_\+channel\+\_\+set\+\_\+l1()}, \textbf{ rslms\+\_\+rx\+\_\+chan\+\_\+rqd()}, \textbf{ tx\+\_\+ph\+\_\+data\+\_\+enqueue()}, and \textbf{ tx\+\_\+ph\+\_\+data\+\_\+enqueue\+\_\+ui()}.

\mbox{\label{structlapdm__entity_a9fbba749f7238f9a0007eac2562cce9a}} 
\index{lapdm\_entity@{lapdm\_entity}!l3\_cb@{l3\_cb}}
\index{l3\_cb@{l3\_cb}!lapdm\_entity@{lapdm\_entity}}
\doxysubsubsection{l3\_cb}
{\footnotesize\ttfamily \textbf{ lapdm\+\_\+cb\+\_\+t} lapdm\+\_\+entity\+::l3\+\_\+cb}



callback for sending stuff to L3 



Referenced by \textbf{ lapdm\+\_\+channel\+\_\+set\+\_\+l3()}, and \textbf{ rslms\+\_\+sendmsg()}.

\mbox{\label{structlapdm__entity_a6c73254cd20583a2ad58171b58cf15b4}} 
\index{lapdm\_entity@{lapdm\_entity}!l3\_ctx@{l3\_ctx}}
\index{l3\_ctx@{l3\_ctx}!lapdm\_entity@{lapdm\_entity}}
\doxysubsubsection{l3\_ctx}
{\footnotesize\ttfamily void$\ast$ lapdm\+\_\+entity\+::l3\+\_\+ctx}



context for layer3 instance 



Referenced by \textbf{ lapdm\+\_\+channel\+\_\+set\+\_\+l3()}, and \textbf{ rslms\+\_\+sendmsg()}.

\mbox{\label{structlapdm__entity_a983c0f632f9069ddf6c986ededb22b54}} 
\index{lapdm\_entity@{lapdm\_entity}!lapdm\_ch@{lapdm\_ch}}
\index{lapdm\_ch@{lapdm\_ch}!lapdm\_entity@{lapdm\_entity}}
\doxysubsubsection{lapdm\_ch}
{\footnotesize\ttfamily struct \textbf{ lapdm\+\_\+channel}$\ast$ lapdm\+\_\+entity\+::lapdm\+\_\+ch}



pointer to \doxyref{lapdm\+\_\+channel}{p.}{structlapdm__channel} of which we\textquotesingle{}re part 



Referenced by \textbf{ lapdm\+\_\+channel\+\_\+init3()}, \textbf{ lapdm\+\_\+phsap\+\_\+dequeue\+\_\+prim\+\_\+fn()}, and \textbf{ lapdm\+\_\+rx\+\_\+not\+\_\+permitted()}.

\mbox{\label{structlapdm__entity_a896e6786d8d70799974a803298401d4c}} 
\index{lapdm\_entity@{lapdm\_entity}!last\_tx\_dequeue@{last\_tx\_dequeue}}
\index{last\_tx\_dequeue@{last\_tx\_dequeue}!lapdm\_entity@{lapdm\_entity}}
\doxysubsubsection{last\_tx\_dequeue}
{\footnotesize\ttfamily int lapdm\+\_\+entity\+::last\+\_\+tx\+\_\+dequeue}



last entity that was dequeued 



Referenced by \textbf{ tx\+\_\+dequeue\+\_\+acch\+\_\+msgb()}.

\mbox{\label{structlapdm__entity_a6690c0def05fd2627172db330dc0b5b7}} 
\index{lapdm\_entity@{lapdm\_entity}!mode@{mode}}
\index{mode@{mode}!lapdm\_entity@{lapdm\_entity}}
\doxysubsubsection{mode}
{\footnotesize\ttfamily enum \textbf{ lapdm\+\_\+mode} lapdm\+\_\+entity\+::mode}



are we in BTS mode or MS mode 



Referenced by \textbf{ l2\+\_\+ph\+\_\+data\+\_\+ind()}, \textbf{ lapdm\+\_\+entity\+\_\+set\+\_\+mode()}, \textbf{ lapdm\+\_\+rx\+\_\+not\+\_\+permitted()}, \textbf{ rslms\+\_\+rx\+\_\+rll()}, and \textbf{ rslms\+\_\+rx\+\_\+rll\+\_\+udata\+\_\+req()}.

\mbox{\label{structlapdm__entity_aec33e3720443e23773098f0ee38bb1b1}} 
\index{lapdm\_entity@{lapdm\_entity}!ta@{ta}}
\index{ta@{ta}!lapdm\_entity@{lapdm\_entity}}
\doxysubsubsection{ta}
{\footnotesize\ttfamily uint8\+\_\+t lapdm\+\_\+entity\+::ta}



Referenced by \textbf{ lapdm\+\_\+send\+\_\+ph\+\_\+data\+\_\+req()}, and \textbf{ rslms\+\_\+rx\+\_\+rll\+\_\+udata\+\_\+req()}.

\mbox{\label{structlapdm__entity_add4a76fb8d39f117965034d4007ed929}} 
\index{lapdm\_entity@{lapdm\_entity}!tx\_pending@{tx\_pending}}
\index{tx\_pending@{tx\_pending}!lapdm\_entity@{lapdm\_entity}}
\doxysubsubsection{tx\_pending}
{\footnotesize\ttfamily int lapdm\+\_\+entity\+::tx\+\_\+pending}



currently a pending frame not confirmed by L1 



Referenced by \textbf{ l2\+\_\+ph\+\_\+data\+\_\+conf()}, \textbf{ tx\+\_\+ph\+\_\+data\+\_\+enqueue()}, and \textbf{ tx\+\_\+ph\+\_\+data\+\_\+enqueue\+\_\+ui()}.

\mbox{\label{structlapdm__entity_ad63d93928603cd73842706809e3ac453}} 
\index{lapdm\_entity@{lapdm\_entity}!tx\_power@{tx\_power}}
\index{tx\_power@{tx\_power}!lapdm\_entity@{lapdm\_entity}}
\doxysubsubsection{tx\_power}
{\footnotesize\ttfamily uint8\+\_\+t lapdm\+\_\+entity\+::tx\+\_\+power}



Referenced by \textbf{ lapdm\+\_\+send\+\_\+ph\+\_\+data\+\_\+req()}, and \textbf{ rslms\+\_\+rx\+\_\+rll\+\_\+udata\+\_\+req()}.



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