\doxysection{include/osmocom/gsm/protocol/gsm\+\_\+44\+\_\+060.h File Reference}
\label{gsm__44__060_8h}\index{include/osmocom/gsm/protocol/gsm\_44\_060.h@{include/osmocom/gsm/protocol/gsm\_44\_060.h}}


General Packet Radio Service (GPRS).  


{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/endian.\+h$>$}\newline
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ gprs\+\_\+rlc\+\_\+ul\+\_\+header\+\_\+egprs\+\_\+1}
\item 
struct \textbf{ gprs\+\_\+rlc\+\_\+ul\+\_\+header\+\_\+egprs\+\_\+2}
\item 
struct \textbf{ gprs\+\_\+rlc\+\_\+ul\+\_\+header\+\_\+egprs\+\_\+3}
\item 
struct \textbf{ gprs\+\_\+rlc\+\_\+dl\+\_\+header\+\_\+egprs\+\_\+1}
\item 
struct \textbf{ gprs\+\_\+rlc\+\_\+dl\+\_\+header\+\_\+egprs\+\_\+2}
\item 
struct \textbf{ gprs\+\_\+rlc\+\_\+dl\+\_\+header\+\_\+egprs\+\_\+3}
\item 
struct \textbf{ osmo\+\_\+gprs\+\_\+cell\+\_\+options}
\item 
struct \textbf{ osmo\+\_\+gprs\+\_\+power\+\_\+ctrl\+\_\+pars}
\item 
struct \textbf{ egprs\+\_\+cps}
\begin{DoxyCompactList}\small\item\em Structure for CPS coding and puncturing scheme (TS 44.\+060 10.\+4.\+8a) \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \textbf{ osmo\+\_\+gprs\+\_\+nmo} \{ \newline
\textbf{ GPRS\+\_\+\+NMO\+\_\+I} = 0
, \newline
\textbf{ GPRS\+\_\+\+NMO\+\_\+\+II} = 1
, \newline
\textbf{ GPRS\+\_\+\+NMO\+\_\+\+III} = 2
 \}
\item 
enum \textbf{ egprs\+\_\+cps\+\_\+punc} \{ \newline
\textbf{ EGPRS\+\_\+\+CPS\+\_\+\+P1}
, \newline
\textbf{ EGPRS\+\_\+\+CPS\+\_\+\+P2}
, \newline
\textbf{ EGPRS\+\_\+\+CPS\+\_\+\+P3}
, \newline
\textbf{ EGPRS\+\_\+\+CPS\+\_\+\+NONE} = -\/1
 \}
\begin{DoxyCompactList}\small\item\em CPS puncturing table selection (TS 44.\+060 10.\+4.\+8a) \end{DoxyCompactList}\item 
enum \textbf{ egprs\+\_\+hdr\+\_\+type} \{ \newline
\textbf{ EGPRS\+\_\+\+HDR\+\_\+\+TYPE1}
, \newline
\textbf{ EGPRS\+\_\+\+HDR\+\_\+\+TYPE2}
, \newline
\textbf{ EGPRS\+\_\+\+HDR\+\_\+\+TYPE3}
 \}
\begin{DoxyCompactList}\small\item\em EGPRS header types (TS 44.\+060 10.\+0a.\+2) \end{DoxyCompactList}\item 
enum \textbf{ osmo\+\_\+gprs\+\_\+cs} \{ \newline
\textbf{ OSMO\+\_\+\+GPRS\+\_\+\+CS\+\_\+\+NONE}
, \newline
\textbf{ OSMO\+\_\+\+GPRS\+\_\+\+CS1}
, \newline
\textbf{ OSMO\+\_\+\+GPRS\+\_\+\+CS2}
, \newline
\textbf{ OSMO\+\_\+\+GPRS\+\_\+\+CS3}
, \newline
\textbf{ OSMO\+\_\+\+GPRS\+\_\+\+CS4}
, \newline
\textbf{ OSMO\+\_\+\+GPRS\+\_\+\+MCS1}
, \newline
\textbf{ OSMO\+\_\+\+GPRS\+\_\+\+MCS2}
, \newline
\textbf{ OSMO\+\_\+\+GPRS\+\_\+\+MCS3}
, \newline
\textbf{ OSMO\+\_\+\+GPRS\+\_\+\+MCS4}
, \newline
\textbf{ OSMO\+\_\+\+GPRS\+\_\+\+MCS5}
, \newline
\textbf{ OSMO\+\_\+\+GPRS\+\_\+\+MCS6}
, \newline
\textbf{ OSMO\+\_\+\+GPRS\+\_\+\+MCS7}
, \newline
\textbf{ OSMO\+\_\+\+GPRS\+\_\+\+MCS8}
, \newline
\textbf{ OSMO\+\_\+\+GPRS\+\_\+\+MCS9}
, \newline
\textbf{ \+\_\+\+NUM\+\_\+\+OSMO\+\_\+\+GPRS\+\_\+\+CS}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ gprs\+\_\+rlc\+\_\+ul\+\_\+header\+\_\+egprs\+\_\+1} \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+} ((packed))
\item 
int \textbf{ egprs\+\_\+get\+\_\+cps} (struct \textbf{ egprs\+\_\+cps} $\ast$cps, uint8\+\_\+t \textbf{ type}, uint8\+\_\+t bits)
\item 
int \textbf{ osmo\+\_\+gprs\+\_\+ul\+\_\+block\+\_\+size\+\_\+bits} (enum \textbf{ osmo\+\_\+gprs\+\_\+cs} cs)
\begin{DoxyCompactList}\small\item\em Return size of (E)GPRS uplink block for given coding scheme in bits. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+gprs\+\_\+dl\+\_\+block\+\_\+size\+\_\+bits} (enum \textbf{ osmo\+\_\+gprs\+\_\+cs} cs)
\begin{DoxyCompactList}\small\item\em Return size of (E)GPRS downlink block for given coding scheme in bits. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+gprs\+\_\+ul\+\_\+block\+\_\+size\+\_\+bytes} (enum \textbf{ osmo\+\_\+gprs\+\_\+cs} cs)
\begin{DoxyCompactList}\small\item\em Return size of (E)GPRS uplink block for given coding scheme in bytes. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+gprs\+\_\+dl\+\_\+block\+\_\+size\+\_\+bytes} (enum \textbf{ osmo\+\_\+gprs\+\_\+cs} cs)
\begin{DoxyCompactList}\small\item\em Return size of (E)GPRS downlink block for given coding scheme in bytes. \end{DoxyCompactList}\item 
enum \textbf{ osmo\+\_\+gprs\+\_\+cs} \textbf{ osmo\+\_\+gprs\+\_\+ul\+\_\+cs\+\_\+by\+\_\+block\+\_\+bytes} (uint8\+\_\+t block\+\_\+size)
\begin{DoxyCompactList}\small\item\em Return coding scheme for given (E)GPRS uplink block size. \end{DoxyCompactList}\item 
enum \textbf{ osmo\+\_\+gprs\+\_\+cs} \textbf{ osmo\+\_\+gprs\+\_\+dl\+\_\+cs\+\_\+by\+\_\+block\+\_\+bytes} (uint8\+\_\+t block\+\_\+size)
\begin{DoxyCompactList}\small\item\em Return coding scheme for given (E)GPRS downlink block size. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
enum \textbf{ osmo\+\_\+gprs\+\_\+nmo} \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
General Packet Radio Service (GPRS). 

Radio Link Control / Medium Access Control (RLC/\+MAC) protocol 3GPP TS 44.\+060 

\doxysubsection{Enumeration Type Documentation}
\mbox{\label{gsm__44__060_8h_a41f22b2d0d750b28c60185e21fb49b6a}} 
\index{gsm\_44\_060.h@{gsm\_44\_060.h}!egprs\_cps\_punc@{egprs\_cps\_punc}}
\index{egprs\_cps\_punc@{egprs\_cps\_punc}!gsm\_44\_060.h@{gsm\_44\_060.h}}
\doxysubsubsection{egprs\_cps\_punc}
{\footnotesize\ttfamily enum \textbf{ egprs\+\_\+cps\+\_\+punc}}



CPS puncturing table selection (TS 44.\+060 10.\+4.\+8a) 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{EGPRS\_CPS\_P1@{EGPRS\_CPS\_P1}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!EGPRS\_CPS\_P1@{EGPRS\_CPS\_P1}}}\mbox{\label{gsm__44__060_8h_a41f22b2d0d750b28c60185e21fb49b6aae884def3d335eb9a766bd0a81095babe}} 
EGPRS\+\_\+\+CPS\+\_\+\+P1&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EGPRS\_CPS\_P2@{EGPRS\_CPS\_P2}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!EGPRS\_CPS\_P2@{EGPRS\_CPS\_P2}}}\mbox{\label{gsm__44__060_8h_a41f22b2d0d750b28c60185e21fb49b6aa729b74bc32f399117db1240d59e10de0}} 
EGPRS\+\_\+\+CPS\+\_\+\+P2&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EGPRS\_CPS\_P3@{EGPRS\_CPS\_P3}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!EGPRS\_CPS\_P3@{EGPRS\_CPS\_P3}}}\mbox{\label{gsm__44__060_8h_a41f22b2d0d750b28c60185e21fb49b6aa46472b75b4090f48ab370dabc47d782b}} 
EGPRS\+\_\+\+CPS\+\_\+\+P3&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EGPRS\_CPS\_NONE@{EGPRS\_CPS\_NONE}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!EGPRS\_CPS\_NONE@{EGPRS\_CPS\_NONE}}}\mbox{\label{gsm__44__060_8h_a41f22b2d0d750b28c60185e21fb49b6aa4e57b5a3b75a207caa4e8c930b35cc1c}} 
EGPRS\+\_\+\+CPS\+\_\+\+NONE&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{gsm__44__060_8h_a2ad3bba8a4ca9c7839d42c1e7099f14c}} 
\index{gsm\_44\_060.h@{gsm\_44\_060.h}!egprs\_hdr\_type@{egprs\_hdr\_type}}
\index{egprs\_hdr\_type@{egprs\_hdr\_type}!gsm\_44\_060.h@{gsm\_44\_060.h}}
\doxysubsubsection{egprs\_hdr\_type}
{\footnotesize\ttfamily enum \textbf{ egprs\+\_\+hdr\+\_\+type}}



EGPRS header types (TS 44.\+060 10.\+0a.\+2) 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{EGPRS\_HDR\_TYPE1@{EGPRS\_HDR\_TYPE1}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!EGPRS\_HDR\_TYPE1@{EGPRS\_HDR\_TYPE1}}}\mbox{\label{gsm__44__060_8h_a2ad3bba8a4ca9c7839d42c1e7099f14ca8d93ee4933f28794eb45f95941cf3921}} 
EGPRS\+\_\+\+HDR\+\_\+\+TYPE1&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EGPRS\_HDR\_TYPE2@{EGPRS\_HDR\_TYPE2}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!EGPRS\_HDR\_TYPE2@{EGPRS\_HDR\_TYPE2}}}\mbox{\label{gsm__44__060_8h_a2ad3bba8a4ca9c7839d42c1e7099f14ca8880911a4c90810294abaf4d7cf46d58}} 
EGPRS\+\_\+\+HDR\+\_\+\+TYPE2&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{EGPRS\_HDR\_TYPE3@{EGPRS\_HDR\_TYPE3}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!EGPRS\_HDR\_TYPE3@{EGPRS\_HDR\_TYPE3}}}\mbox{\label{gsm__44__060_8h_a2ad3bba8a4ca9c7839d42c1e7099f14cab7c28f796217b860b9ed8d4045572b49}} 
EGPRS\+\_\+\+HDR\+\_\+\+TYPE3&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{gsm__44__060_8h_a573764bee0afbbc64c6b3e8506096df3}} 
\index{gsm\_44\_060.h@{gsm\_44\_060.h}!osmo\_gprs\_cs@{osmo\_gprs\_cs}}
\index{osmo\_gprs\_cs@{osmo\_gprs\_cs}!gsm\_44\_060.h@{gsm\_44\_060.h}}
\doxysubsubsection{osmo\_gprs\_cs}
{\footnotesize\ttfamily enum \textbf{ osmo\+\_\+gprs\+\_\+cs}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_GPRS\_CS\_NONE@{OSMO\_GPRS\_CS\_NONE}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!OSMO\_GPRS\_CS\_NONE@{OSMO\_GPRS\_CS\_NONE}}}\mbox{\label{gsm__44__060_8h_a573764bee0afbbc64c6b3e8506096df3a0dcea15401ce10048a048befb7603841}} 
OSMO\+\_\+\+GPRS\+\_\+\+CS\+\_\+\+NONE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_GPRS\_CS1@{OSMO\_GPRS\_CS1}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!OSMO\_GPRS\_CS1@{OSMO\_GPRS\_CS1}}}\mbox{\label{gsm__44__060_8h_a573764bee0afbbc64c6b3e8506096df3a86a7025907d542fa66fdaf48cf204599}} 
OSMO\+\_\+\+GPRS\+\_\+\+CS1&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_GPRS\_CS2@{OSMO\_GPRS\_CS2}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!OSMO\_GPRS\_CS2@{OSMO\_GPRS\_CS2}}}\mbox{\label{gsm__44__060_8h_a573764bee0afbbc64c6b3e8506096df3aacf6970ec7d321f6624968fb1cbd9bba}} 
OSMO\+\_\+\+GPRS\+\_\+\+CS2&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_GPRS\_CS3@{OSMO\_GPRS\_CS3}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!OSMO\_GPRS\_CS3@{OSMO\_GPRS\_CS3}}}\mbox{\label{gsm__44__060_8h_a573764bee0afbbc64c6b3e8506096df3a7df6a51d2e320c1f4a2e080673e8eb46}} 
OSMO\+\_\+\+GPRS\+\_\+\+CS3&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_GPRS\_CS4@{OSMO\_GPRS\_CS4}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!OSMO\_GPRS\_CS4@{OSMO\_GPRS\_CS4}}}\mbox{\label{gsm__44__060_8h_a573764bee0afbbc64c6b3e8506096df3a245604ffbd40d0fd459161ee4146cc86}} 
OSMO\+\_\+\+GPRS\+\_\+\+CS4&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_GPRS\_MCS1@{OSMO\_GPRS\_MCS1}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!OSMO\_GPRS\_MCS1@{OSMO\_GPRS\_MCS1}}}\mbox{\label{gsm__44__060_8h_a573764bee0afbbc64c6b3e8506096df3af760cfd03d7df9265ef4c480cce7fc47}} 
OSMO\+\_\+\+GPRS\+\_\+\+MCS1&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_GPRS\_MCS2@{OSMO\_GPRS\_MCS2}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!OSMO\_GPRS\_MCS2@{OSMO\_GPRS\_MCS2}}}\mbox{\label{gsm__44__060_8h_a573764bee0afbbc64c6b3e8506096df3a807f8d51d49c5022f19ef80ba5a57953}} 
OSMO\+\_\+\+GPRS\+\_\+\+MCS2&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_GPRS\_MCS3@{OSMO\_GPRS\_MCS3}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!OSMO\_GPRS\_MCS3@{OSMO\_GPRS\_MCS3}}}\mbox{\label{gsm__44__060_8h_a573764bee0afbbc64c6b3e8506096df3a114eaadc4eb4f76b92c3a3dd42bcb371}} 
OSMO\+\_\+\+GPRS\+\_\+\+MCS3&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_GPRS\_MCS4@{OSMO\_GPRS\_MCS4}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!OSMO\_GPRS\_MCS4@{OSMO\_GPRS\_MCS4}}}\mbox{\label{gsm__44__060_8h_a573764bee0afbbc64c6b3e8506096df3a1349ea7800bd6114d5bcd8fe4acf7dda}} 
OSMO\+\_\+\+GPRS\+\_\+\+MCS4&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_GPRS\_MCS5@{OSMO\_GPRS\_MCS5}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!OSMO\_GPRS\_MCS5@{OSMO\_GPRS\_MCS5}}}\mbox{\label{gsm__44__060_8h_a573764bee0afbbc64c6b3e8506096df3a8d1b7b74802f80c1582ba999bf8ab442}} 
OSMO\+\_\+\+GPRS\+\_\+\+MCS5&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_GPRS\_MCS6@{OSMO\_GPRS\_MCS6}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!OSMO\_GPRS\_MCS6@{OSMO\_GPRS\_MCS6}}}\mbox{\label{gsm__44__060_8h_a573764bee0afbbc64c6b3e8506096df3a486ffd9b62d32866d80ea884e83d3103}} 
OSMO\+\_\+\+GPRS\+\_\+\+MCS6&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_GPRS\_MCS7@{OSMO\_GPRS\_MCS7}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!OSMO\_GPRS\_MCS7@{OSMO\_GPRS\_MCS7}}}\mbox{\label{gsm__44__060_8h_a573764bee0afbbc64c6b3e8506096df3a96a8d4e8a94ee676f690b7ff723f30cb}} 
OSMO\+\_\+\+GPRS\+\_\+\+MCS7&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_GPRS\_MCS8@{OSMO\_GPRS\_MCS8}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!OSMO\_GPRS\_MCS8@{OSMO\_GPRS\_MCS8}}}\mbox{\label{gsm__44__060_8h_a573764bee0afbbc64c6b3e8506096df3abdd3b71b7832e3fd990bc95136fcb76e}} 
OSMO\+\_\+\+GPRS\+\_\+\+MCS8&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OSMO\_GPRS\_MCS9@{OSMO\_GPRS\_MCS9}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!OSMO\_GPRS\_MCS9@{OSMO\_GPRS\_MCS9}}}\mbox{\label{gsm__44__060_8h_a573764bee0afbbc64c6b3e8506096df3a5a2d27daa0f8e424f5b420146cc6d461}} 
OSMO\+\_\+\+GPRS\+\_\+\+MCS9&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{\_NUM\_OSMO\_GPRS\_CS@{\_NUM\_OSMO\_GPRS\_CS}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!\_NUM\_OSMO\_GPRS\_CS@{\_NUM\_OSMO\_GPRS\_CS}}}\mbox{\label{gsm__44__060_8h_a573764bee0afbbc64c6b3e8506096df3acc1e927f3b71de45ac2cbbf44ec07415}} 
\+\_\+\+NUM\+\_\+\+OSMO\+\_\+\+GPRS\+\_\+\+CS&\\
\hline

\end{DoxyEnumFields}
\mbox{\label{gsm__44__060_8h_a20be7cfe048d55e8bf20ec0328b24c24}} 
\index{gsm\_44\_060.h@{gsm\_44\_060.h}!osmo\_gprs\_nmo@{osmo\_gprs\_nmo}}
\index{osmo\_gprs\_nmo@{osmo\_gprs\_nmo}!gsm\_44\_060.h@{gsm\_44\_060.h}}
\doxysubsubsection{osmo\_gprs\_nmo}
{\footnotesize\ttfamily enum \textbf{ osmo\+\_\+gprs\+\_\+nmo}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{GPRS\_NMO\_I@{GPRS\_NMO\_I}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!GPRS\_NMO\_I@{GPRS\_NMO\_I}}}\mbox{\label{gsm__44__060_8h_a20be7cfe048d55e8bf20ec0328b24c24aeab851c50e4877645d26622cc243ba7f}} 
GPRS\+\_\+\+NMO\+\_\+I&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{GPRS\_NMO\_II@{GPRS\_NMO\_II}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!GPRS\_NMO\_II@{GPRS\_NMO\_II}}}\mbox{\label{gsm__44__060_8h_a20be7cfe048d55e8bf20ec0328b24c24a34cbc57cfee0d594097b1e796ad285c0}} 
GPRS\+\_\+\+NMO\+\_\+\+II&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{GPRS\_NMO\_III@{GPRS\_NMO\_III}!gsm\_44\_060.h@{gsm\_44\_060.h}}\index{gsm\_44\_060.h@{gsm\_44\_060.h}!GPRS\_NMO\_III@{GPRS\_NMO\_III}}}\mbox{\label{gsm__44__060_8h_a20be7cfe048d55e8bf20ec0328b24c24afed7156d06cb8acedf1203bb918f5946}} 
GPRS\+\_\+\+NMO\+\_\+\+III&\\
\hline

\end{DoxyEnumFields}


\doxysubsection{Function Documentation}
\mbox{\label{gsm__44__060_8h_a04590cac736a29f76fea4b9503bbf1fe}} 
\index{gsm\_44\_060.h@{gsm\_44\_060.h}!egprs\_get\_cps@{egprs\_get\_cps}}
\index{egprs\_get\_cps@{egprs\_get\_cps}!gsm\_44\_060.h@{gsm\_44\_060.h}}
\doxysubsubsection{egprs\_get\_cps()}
{\footnotesize\ttfamily int egprs\+\_\+get\+\_\+cps (\begin{DoxyParamCaption}\item[{struct \textbf{ egprs\+\_\+cps} $\ast$}]{cps,  }\item[{uint8\+\_\+t}]{type,  }\item[{uint8\+\_\+t}]{bits }\end{DoxyParamCaption})}



References \textbf{ egprs\+\_\+cps\+::bits}, \textbf{ egprs\+\_\+cps\+\_\+table\+\_\+type1}, \textbf{ egprs\+\_\+cps\+\_\+table\+\_\+type2}, \textbf{ egprs\+\_\+cps\+\_\+table\+\_\+type3}, \textbf{ EGPRS\+\_\+\+CPS\+\_\+\+TYPE1\+\_\+\+TBL\+\_\+\+SZ}, \textbf{ EGPRS\+\_\+\+CPS\+\_\+\+TYPE2\+\_\+\+TBL\+\_\+\+SZ}, \textbf{ EGPRS\+\_\+\+CPS\+\_\+\+TYPE3\+\_\+\+TBL\+\_\+\+SZ}, \textbf{ EGPRS\+\_\+\+HDR\+\_\+\+TYPE1}, \textbf{ EGPRS\+\_\+\+HDR\+\_\+\+TYPE2}, \textbf{ EGPRS\+\_\+\+HDR\+\_\+\+TYPE3}, and \textbf{ type}.

\mbox{\label{gsm__44__060_8h_ac0b2f3a41e9874e5074b4f29ae987caf}} 
\index{gsm\_44\_060.h@{gsm\_44\_060.h}!osmo\_gprs\_dl\_block\_size\_bits@{osmo\_gprs\_dl\_block\_size\_bits}}
\index{osmo\_gprs\_dl\_block\_size\_bits@{osmo\_gprs\_dl\_block\_size\_bits}!gsm\_44\_060.h@{gsm\_44\_060.h}}
\doxysubsubsection{osmo\_gprs\_dl\_block\_size\_bits()}
{\footnotesize\ttfamily int osmo\+\_\+gprs\+\_\+dl\+\_\+block\+\_\+size\+\_\+bits (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+gprs\+\_\+cs}}]{cs }\end{DoxyParamCaption})}



Return size of (E)GPRS downlink block for given coding scheme in bits. 



References \textbf{ ARRAY\+\_\+\+SIZE}, \textbf{ gprs\+\_\+cs\+\_\+desc\+::bits}, \textbf{ gprs\+\_\+cs\+\_\+desc\+::bytes}, and \textbf{ gprs\+\_\+cs\+\_\+desc\+::downlink}.

\mbox{\label{gsm__44__060_8h_af055f7f89f53cb054f9b6c3433642ca6}} 
\index{gsm\_44\_060.h@{gsm\_44\_060.h}!osmo\_gprs\_dl\_block\_size\_bytes@{osmo\_gprs\_dl\_block\_size\_bytes}}
\index{osmo\_gprs\_dl\_block\_size\_bytes@{osmo\_gprs\_dl\_block\_size\_bytes}!gsm\_44\_060.h@{gsm\_44\_060.h}}
\doxysubsubsection{osmo\_gprs\_dl\_block\_size\_bytes()}
{\footnotesize\ttfamily int osmo\+\_\+gprs\+\_\+dl\+\_\+block\+\_\+size\+\_\+bytes (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+gprs\+\_\+cs}}]{cs }\end{DoxyParamCaption})}



Return size of (E)GPRS downlink block for given coding scheme in bytes. 



References \textbf{ ARRAY\+\_\+\+SIZE}, \textbf{ gprs\+\_\+cs\+\_\+desc\+::bytes}, and \textbf{ gprs\+\_\+cs\+\_\+desc\+::downlink}.



Referenced by \textbf{ osmo\+\_\+gprs\+\_\+dl\+\_\+cs\+\_\+by\+\_\+block\+\_\+bytes()}.

\mbox{\label{gsm__44__060_8h_a8133c5f5101a21ca5debc0fb7534b750}} 
\index{gsm\_44\_060.h@{gsm\_44\_060.h}!osmo\_gprs\_dl\_cs\_by\_block\_bytes@{osmo\_gprs\_dl\_cs\_by\_block\_bytes}}
\index{osmo\_gprs\_dl\_cs\_by\_block\_bytes@{osmo\_gprs\_dl\_cs\_by\_block\_bytes}!gsm\_44\_060.h@{gsm\_44\_060.h}}
\doxysubsubsection{osmo\_gprs\_dl\_cs\_by\_block\_bytes()}
{\footnotesize\ttfamily enum \textbf{ osmo\+\_\+gprs\+\_\+cs} osmo\+\_\+gprs\+\_\+dl\+\_\+cs\+\_\+by\+\_\+block\+\_\+bytes (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{block\+\_\+size }\end{DoxyParamCaption})}



Return coding scheme for given (E)GPRS downlink block size. 



References \textbf{ ARRAY\+\_\+\+SIZE}, \textbf{ OSMO\+\_\+\+GPRS\+\_\+\+CS\+\_\+\+NONE}, and \textbf{ osmo\+\_\+gprs\+\_\+dl\+\_\+block\+\_\+size\+\_\+bytes()}.

\mbox{\label{gsm__44__060_8h_a0580dc84205412e51e93c765544acc78}} 
\index{gsm\_44\_060.h@{gsm\_44\_060.h}!osmo\_gprs\_ul\_block\_size\_bits@{osmo\_gprs\_ul\_block\_size\_bits}}
\index{osmo\_gprs\_ul\_block\_size\_bits@{osmo\_gprs\_ul\_block\_size\_bits}!gsm\_44\_060.h@{gsm\_44\_060.h}}
\doxysubsubsection{osmo\_gprs\_ul\_block\_size\_bits()}
{\footnotesize\ttfamily int osmo\+\_\+gprs\+\_\+ul\+\_\+block\+\_\+size\+\_\+bits (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+gprs\+\_\+cs}}]{cs }\end{DoxyParamCaption})}



Return size of (E)GPRS uplink block for given coding scheme in bits. 



References \textbf{ ARRAY\+\_\+\+SIZE}, \textbf{ gprs\+\_\+cs\+\_\+desc\+::bits}, \textbf{ gprs\+\_\+cs\+\_\+desc\+::bytes}, and \textbf{ gprs\+\_\+cs\+\_\+desc\+::uplink}.

\mbox{\label{gsm__44__060_8h_a71e7c0cb4eee33bc7e4565f4471de3f5}} 
\index{gsm\_44\_060.h@{gsm\_44\_060.h}!osmo\_gprs\_ul\_block\_size\_bytes@{osmo\_gprs\_ul\_block\_size\_bytes}}
\index{osmo\_gprs\_ul\_block\_size\_bytes@{osmo\_gprs\_ul\_block\_size\_bytes}!gsm\_44\_060.h@{gsm\_44\_060.h}}
\doxysubsubsection{osmo\_gprs\_ul\_block\_size\_bytes()}
{\footnotesize\ttfamily int osmo\+\_\+gprs\+\_\+ul\+\_\+block\+\_\+size\+\_\+bytes (\begin{DoxyParamCaption}\item[{enum \textbf{ osmo\+\_\+gprs\+\_\+cs}}]{cs }\end{DoxyParamCaption})}



Return size of (E)GPRS uplink block for given coding scheme in bytes. 



References \textbf{ ARRAY\+\_\+\+SIZE}, \textbf{ gprs\+\_\+cs\+\_\+desc\+::bytes}, and \textbf{ gprs\+\_\+cs\+\_\+desc\+::uplink}.



Referenced by \textbf{ osmo\+\_\+gprs\+\_\+ul\+\_\+cs\+\_\+by\+\_\+block\+\_\+bytes()}.

\mbox{\label{gsm__44__060_8h_a89d80e4e90cc4a074f90b9c0cbc15008}} 
\index{gsm\_44\_060.h@{gsm\_44\_060.h}!osmo\_gprs\_ul\_cs\_by\_block\_bytes@{osmo\_gprs\_ul\_cs\_by\_block\_bytes}}
\index{osmo\_gprs\_ul\_cs\_by\_block\_bytes@{osmo\_gprs\_ul\_cs\_by\_block\_bytes}!gsm\_44\_060.h@{gsm\_44\_060.h}}
\doxysubsubsection{osmo\_gprs\_ul\_cs\_by\_block\_bytes()}
{\footnotesize\ttfamily enum \textbf{ osmo\+\_\+gprs\+\_\+cs} osmo\+\_\+gprs\+\_\+ul\+\_\+cs\+\_\+by\+\_\+block\+\_\+bytes (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{block\+\_\+size }\end{DoxyParamCaption})}



Return coding scheme for given (E)GPRS uplink block size. 



References \textbf{ ARRAY\+\_\+\+SIZE}, \textbf{ OSMO\+\_\+\+GPRS\+\_\+\+CS\+\_\+\+NONE}, and \textbf{ osmo\+\_\+gprs\+\_\+ul\+\_\+block\+\_\+size\+\_\+bytes()}.



\doxysubsection{Variable Documentation}
\mbox{\label{gsm__44__060_8h_aca28f95288e46687207bd2112a6c19da}} 
\index{gsm\_44\_060.h@{gsm\_44\_060.h}!\_\_attribute\_\_@{\_\_attribute\_\_}}
\index{\_\_attribute\_\_@{\_\_attribute\_\_}!gsm\_44\_060.h@{gsm\_44\_060.h}}
\doxysubsubsection{\_\_attribute\_\_}
{\footnotesize\ttfamily enum \textbf{ osmo\+\_\+gprs\+\_\+nmo} \+\_\+\+\_\+attribute\+\_\+\+\_\+}

