\doxysection{include/osmocom/gsm/rlp.h File Reference}
\label{rlp_8h}\index{include/osmocom/gsm/rlp.h@{include/osmocom/gsm/rlp.h}}
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$stdbool.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/utils.\+h$>$}\newline
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ osmo\+\_\+rlp\+\_\+frame\+\_\+decoded}
\begin{DoxyCompactList}\small\item\em Data structure representing one decoded RLP frame. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \textbf{ osmo\+\_\+rlp\+\_\+ftype} \{ \newline
\textbf{ OSMO\+\_\+\+RLP\+\_\+\+FT\+\_\+U}
, \newline
\textbf{ OSMO\+\_\+\+RLP\+\_\+\+FT\+\_\+S}
, \newline
\textbf{ OSMO\+\_\+\+RLP\+\_\+\+FT\+\_\+\+IS}
 \}
\begin{DoxyCompactList}\small\item\em RLP frame type as per 3GPP TS 24.\+022 Section 5.\+2.\+1. \end{DoxyCompactList}\item 
enum \textbf{ osmo\+\_\+rlp\+\_\+u\+\_\+ftype} \{ \newline
\textbf{ OSMO\+\_\+\+RLP\+\_\+\+U\+\_\+\+FT\+\_\+\+SABM} = 0x07
, \newline
\textbf{ OSMO\+\_\+\+RLP\+\_\+\+U\+\_\+\+FT\+\_\+\+UA} = 0x0c
, \newline
\textbf{ OSMO\+\_\+\+RLP\+\_\+\+U\+\_\+\+FT\+\_\+\+DISC} = 0x08
, \newline
\textbf{ OSMO\+\_\+\+RLP\+\_\+\+U\+\_\+\+FT\+\_\+\+DM} = 0x03
, \newline
\textbf{ OSMO\+\_\+\+RLP\+\_\+\+U\+\_\+\+FT\+\_\+\+NULL} = 0x0f
, \newline
\textbf{ OSMO\+\_\+\+RLP\+\_\+\+U\+\_\+\+FT\+\_\+\+UI} = 0x00
, \newline
\textbf{ OSMO\+\_\+\+RLP\+\_\+\+U\+\_\+\+FT\+\_\+\+XID} = 0x17
, \newline
\textbf{ OSMO\+\_\+\+RLP\+\_\+\+U\+\_\+\+FT\+\_\+\+TEST} = 0x1c
, \newline
\textbf{ OSMO\+\_\+\+RLP\+\_\+\+U\+\_\+\+FT\+\_\+\+REMAP} = 0x11
 \}
\begin{DoxyCompactList}\small\item\em RLP U-\/\+Frame Type as per 3GPP TS 24.\+022 Section 5.\+2.\+1. \end{DoxyCompactList}\item 
enum \textbf{ osmo\+\_\+rlp\+\_\+s\+\_\+ftype} \{ \newline
\textbf{ OSMO\+\_\+\+RLP\+\_\+\+S\+\_\+\+FT\+\_\+\+RR} = 0
, \newline
\textbf{ OSMO\+\_\+\+RLP\+\_\+\+S\+\_\+\+FT\+\_\+\+REJ} = 2
, \newline
\textbf{ OSMO\+\_\+\+RLP\+\_\+\+S\+\_\+\+FT\+\_\+\+RNR} = 1
, \newline
\textbf{ OSMO\+\_\+\+RLP\+\_\+\+S\+\_\+\+FT\+\_\+\+SREJ} = 3
 \}
\begin{DoxyCompactList}\small\item\em RLP S-\/\+Frame type as per 3GPP TS 24.\+022 Section 5.\+2.\+1. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \textbf{ osmo\+\_\+rlp\+\_\+decode} (struct \textbf{ osmo\+\_\+rlp\+\_\+frame\+\_\+decoded} $\ast$out, uint8\+\_\+t \textbf{ version}, const uint8\+\_\+t $\ast$\textbf{ data}, size\+\_\+t data\+\_\+len)
\begin{DoxyCompactList}\small\item\em decode a RLP frame into its abstract representation. \end{DoxyCompactList}\item 
int \textbf{ osmo\+\_\+rlp\+\_\+encode} (uint8\+\_\+t $\ast$out, size\+\_\+t out\+\_\+size, const struct \textbf{ osmo\+\_\+rlp\+\_\+frame\+\_\+decoded} $\ast$in)
\begin{DoxyCompactList}\small\item\em encode a RLP frame from its abstract representation. \end{DoxyCompactList}\item 
uint32\+\_\+t \textbf{ osmo\+\_\+rlp\+\_\+fcs\+\_\+compute} (const uint8\+\_\+t $\ast$in, size\+\_\+t in\+\_\+len)
\begin{DoxyCompactList}\small\item\em compute RLP FCS according to 3GPP TS 24.\+022 Section 4.\+4. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const struct \textbf{ value\+\_\+string} \textbf{ osmo\+\_\+rlp\+\_\+ftype\+\_\+vals} [$\,$]
\item 
const struct \textbf{ value\+\_\+string} \textbf{ osmo\+\_\+rlp\+\_\+ftype\+\_\+u\+\_\+vals} [$\,$]
\item 
const struct \textbf{ value\+\_\+string} \textbf{ osmo\+\_\+rlp\+\_\+ftype\+\_\+s\+\_\+vals} [$\,$]
\end{DoxyCompactItemize}
