\doxysection{include/osmocom/gsm/oap.h File Reference}
\label{oap_8h}\index{include/osmocom/gsm/oap.h@{include/osmocom/gsm/oap.h}}
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/msgb.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/gsm/protocol/gsm\+\_\+04\+\_\+08\+\_\+gprs.\+h$>$}\newline
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ osmo\+\_\+oap\+\_\+message}
\begin{DoxyCompactList}\small\item\em Parsed/decoded OAP protocol message. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \textbf{ osmo\+\_\+oap\+\_\+iei} \{ \newline
\textbf{ OAP\+\_\+\+CAUSE\+\_\+\+IE} = 0x02
, \newline
\textbf{ OAP\+\_\+\+RAND\+\_\+\+IE} = 0x20
, \newline
\textbf{ OAP\+\_\+\+AUTN\+\_\+\+IE} = 0x23
, \newline
\textbf{ OAP\+\_\+\+XRES\+\_\+\+IE} = 0x24
, \newline
\textbf{ OAP\+\_\+\+AUTS\+\_\+\+IE} = 0x25
, \newline
\textbf{ OAP\+\_\+\+CLIENT\+\_\+\+ID\+\_\+\+IE} = 0x30
 \}
\begin{DoxyCompactList}\small\item\em Information Element Identifiers for OAP IEs. \end{DoxyCompactList}\item 
enum \textbf{ osmo\+\_\+oap\+\_\+message\+\_\+type} \{ \newline
\textbf{ OAP\+\_\+\+MSGT\+\_\+\+REGISTER\+\_\+\+REQUEST} = 0b00000100
, \newline
\textbf{ OAP\+\_\+\+MSGT\+\_\+\+REGISTER\+\_\+\+ERROR} = 0b00000101
, \newline
\textbf{ OAP\+\_\+\+MSGT\+\_\+\+REGISTER\+\_\+\+RESULT} = 0b00000110
, \newline
\textbf{ OAP\+\_\+\+MSGT\+\_\+\+CHALLENGE\+\_\+\+REQUEST} = 0b00001000
, \newline
\textbf{ OAP\+\_\+\+MSGT\+\_\+\+CHALLENGE\+\_\+\+ERROR} = 0b00001001
, \newline
\textbf{ OAP\+\_\+\+MSGT\+\_\+\+CHALLENGE\+\_\+\+RESULT} = 0b00001010
, \newline
\textbf{ OAP\+\_\+\+MSGT\+\_\+\+SYNC\+\_\+\+REQUEST} = 0b00001100
, \newline
\textbf{ OAP\+\_\+\+MSGT\+\_\+\+SYNC\+\_\+\+ERROR} = 0b00001101
, \newline
\textbf{ OAP\+\_\+\+MSGT\+\_\+\+SYNC\+\_\+\+RESULT} = 0b00001110
 \}
\begin{DoxyCompactList}\small\item\em OAP message types. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \textbf{ osmo\+\_\+oap\+\_\+decode} (struct \textbf{ osmo\+\_\+oap\+\_\+message} $\ast$oap\+\_\+msg, const uint8\+\_\+t $\ast$const\+\_\+data, size\+\_\+t data\+\_\+len)
\begin{DoxyCompactList}\small\item\em Decode OAP message data. \end{DoxyCompactList}\item 
void \textbf{ osmo\+\_\+oap\+\_\+encode} (struct \textbf{ msgb} $\ast$\textbf{ msg}, const struct \textbf{ osmo\+\_\+oap\+\_\+message} $\ast$oap\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Compose OAP message data. \end{DoxyCompactList}\end{DoxyCompactItemize}
