\doxysection{osmo\+\_\+i460\+\_\+schan\+\_\+desc Struct Reference}
\label{structosmo__i460__schan__desc}\index{osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}}


description of a sub-\/channel; passed by caller  




{\ttfamily \#include $<$i460\+\_\+mux.\+h$>$}

\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
enum \textbf{ osmo\+\_\+i460\+\_\+rate} \textbf{ rate}
\item 
uint8\+\_\+t \textbf{ bit\+\_\+offset}
\item 
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
struct \{\\
\>size\_t \textbf{ num\_bits}\\
\>\textbf{ out\_cb\_bits\_t} \textbf{ out\_cb\_bits}\\
\>\>{\em call-\/back function called whenever we received num\_bits }\\
\>\textbf{ out\_cb\_bytes\_t} \textbf{ out\_cb\_bytes}\\
\>\>{\em out\_cb\_bytes call-\/back function called whenever we received num\_bits. }\\
\>void $\ast$ \textbf{ user\_data}\\
\} \textbf{ demux}\\

\end{tabbing}\item 
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
struct \{\\
\>\textbf{ in\_cb\_queue\_empty\_t} \textbf{ in\_cb\_queue\_empty}\\
\>void $\ast$ \textbf{ user\_data}\\
\} \textbf{ mux}\\

\end{tabbing}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
description of a sub-\/channel; passed by caller 

\doxysubsection{Field Documentation}
\mbox{\label{structosmo__i460__schan__desc_af063255fb33f1d481508619dd759d4c2}} 
\index{osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}!bit\_offset@{bit\_offset}}
\index{bit\_offset@{bit\_offset}!osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}}
\doxysubsubsection{bit\_offset}
{\footnotesize\ttfamily uint8\+\_\+t osmo\+\_\+i460\+\_\+schan\+\_\+desc\+::bit\+\_\+offset}



Referenced by \textbf{ osmo\+\_\+i460\+\_\+subchan\+\_\+add()}.

\mbox{\label{structosmo__i460__schan__desc_ab1c99429cec1394cde8f2baec9491843}} 
\index{osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}!demux@{demux}}
\index{demux@{demux}!osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}}
\doxysubsubsection{}
{\footnotesize\ttfamily struct  \{ ... \}  osmo\+\_\+i460\+\_\+schan\+\_\+desc\+::demux}



Referenced by \textbf{ osmo\+\_\+i460\+\_\+subchan\+\_\+add()}.

\mbox{\label{structosmo__i460__schan__desc_ac232714e2ea75ddfe2359633c116aedb}} 
\index{osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}!in\_cb\_queue\_empty@{in\_cb\_queue\_empty}}
\index{in\_cb\_queue\_empty@{in\_cb\_queue\_empty}!osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}}
\doxysubsubsection{in\_cb\_queue\_empty}
{\footnotesize\ttfamily \textbf{ in\+\_\+cb\+\_\+queue\+\_\+empty\+\_\+t} osmo\+\_\+i460\+\_\+schan\+\_\+desc\+::in\+\_\+cb\+\_\+queue\+\_\+empty}



Referenced by \textbf{ osmo\+\_\+i460\+\_\+subchan\+\_\+add()}.

\mbox{\label{structosmo__i460__schan__desc_a3ab7b34278c072ee52fd8488723cc609}} 
\index{osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}!mux@{mux}}
\index{mux@{mux}!osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}}
\doxysubsubsection{}
{\footnotesize\ttfamily struct  \{ ... \}  osmo\+\_\+i460\+\_\+schan\+\_\+desc\+::mux}



Referenced by \textbf{ osmo\+\_\+i460\+\_\+subchan\+\_\+add()}.

\mbox{\label{structosmo__i460__schan__desc_a5b0137c55447ae6124a3cea4119bb6e3}} 
\index{osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}!num\_bits@{num\_bits}}
\index{num\_bits@{num\_bits}!osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}}
\doxysubsubsection{num\_bits}
{\footnotesize\ttfamily size\+\_\+t osmo\+\_\+i460\+\_\+schan\+\_\+desc\+::num\+\_\+bits}



Referenced by \textbf{ osmo\+\_\+i460\+\_\+subchan\+\_\+add()}.

\mbox{\label{structosmo__i460__schan__desc_a820b5045fdc0083fded1ad3b8d3bf79e}} 
\index{osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}!out\_cb\_bits@{out\_cb\_bits}}
\index{out\_cb\_bits@{out\_cb\_bits}!osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}}
\doxysubsubsection{out\_cb\_bits}
{\footnotesize\ttfamily \textbf{ out\+\_\+cb\+\_\+bits\+\_\+t} osmo\+\_\+i460\+\_\+schan\+\_\+desc\+::out\+\_\+cb\+\_\+bits}



call-\/back function called whenever we received num\+\_\+bits 



Referenced by \textbf{ osmo\+\_\+i460\+\_\+subchan\+\_\+add()}.

\mbox{\label{structosmo__i460__schan__desc_ad24d3e8852485301b1a665c993937ef6}} 
\index{osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}!out\_cb\_bytes@{out\_cb\_bytes}}
\index{out\_cb\_bytes@{out\_cb\_bytes}!osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}}
\doxysubsubsection{out\_cb\_bytes}
{\footnotesize\ttfamily \textbf{ out\+\_\+cb\+\_\+bytes\+\_\+t} osmo\+\_\+i460\+\_\+schan\+\_\+desc\+::out\+\_\+cb\+\_\+bytes}



out\+\_\+cb\+\_\+bytes call-\/back function called whenever we received num\+\_\+bits. 

The user is usually expected to provide either out\+\_\+cb\+\_\+bits or out\+\_\+cb\+\_\+bytes. If only out\+\_\+cb\+\_\+bits is provided, output data will always be provided as unpacked bits; if only out\+\_\+cb\+\_\+bytes is provided, output data will always be provided as packet bits (bytes). If both are provided, it is up to the I.\+460 multiplex to decide if it calls either of the two, depending on what can be provided without extra conversion. 

Referenced by \textbf{ osmo\+\_\+i460\+\_\+subchan\+\_\+add()}.

\mbox{\label{structosmo__i460__schan__desc_a401abd45a5a034b23ad27a2f2dadf3a3}} 
\index{osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}!rate@{rate}}
\index{rate@{rate}!osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}}
\doxysubsubsection{rate}
{\footnotesize\ttfamily enum \textbf{ osmo\+\_\+i460\+\_\+rate} osmo\+\_\+i460\+\_\+schan\+\_\+desc\+::rate}



Referenced by \textbf{ osmo\+\_\+i460\+\_\+subchan\+\_\+add()}.

\mbox{\label{structosmo__i460__schan__desc_a824fb132157839be58df064f650d0128}} 
\index{osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}!user\_data@{user\_data}}
\index{user\_data@{user\_data}!osmo\_i460\_schan\_desc@{osmo\_i460\_schan\_desc}}
\doxysubsubsection{user\_data}
{\footnotesize\ttfamily void$\ast$ osmo\+\_\+i460\+\_\+schan\+\_\+desc\+::user\+\_\+data}



Referenced by \textbf{ osmo\+\_\+i460\+\_\+subchan\+\_\+add()}.



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