\doxysection{gsm0808\+\_\+handover\+\_\+request\+\_\+ack Struct Reference}
\label{structgsm0808__handover__request__ack}\index{gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}}


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

\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
const uint8\+\_\+t $\ast$ \textbf{ l3\+\_\+info}
\item 
uint8\+\_\+t \textbf{ l3\+\_\+info\+\_\+len}
\item 
bool \textbf{ chosen\+\_\+channel\+\_\+present}
\item 
uint8\+\_\+t \textbf{ chosen\+\_\+channel}
\item 
uint8\+\_\+t \textbf{ chosen\+\_\+encr\+\_\+alg}
\begin{DoxyCompactList}\small\item\em For A5/N set chosen\+\_\+encr\+\_\+alg = N+1, e.\+g. \end{DoxyCompactList}\item 
enum \textbf{ gsm0808\+\_\+permitted\+\_\+speech} \textbf{ chosen\+\_\+speech\+\_\+version}
\item 
bool \textbf{ speech\+\_\+codec\+\_\+chosen\+\_\+present}
\item 
struct \textbf{ gsm0808\+\_\+speech\+\_\+codec} \textbf{ speech\+\_\+codec\+\_\+chosen}
\item 
const struct sockaddr\+\_\+storage $\ast$ \textbf{ aoip\+\_\+transport\+\_\+layer}
\item 
bool \textbf{ more\+\_\+items}
\begin{DoxyCompactList}\small\item\em set this to true iff any fields below are used \end{DoxyCompactList}\item 
struct \textbf{ gsm0808\+\_\+speech\+\_\+codec\+\_\+list} \textbf{ codec\+\_\+list\+\_\+bss\+\_\+supported}
\item 
bool \textbf{ more\+\_\+items2}
\begin{DoxyCompactList}\small\item\em always set this to false \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Field Documentation}
\mbox{\label{structgsm0808__handover__request__ack_ab7ee1ec0f5699e21a5dda7e32124cbff}} 
\index{gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}!aoip\_transport\_layer@{aoip\_transport\_layer}}
\index{aoip\_transport\_layer@{aoip\_transport\_layer}!gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}}
\doxysubsubsection{aoip\_transport\_layer}
{\footnotesize\ttfamily const struct sockaddr\+\_\+storage$\ast$ gsm0808\+\_\+handover\+\_\+request\+\_\+ack\+::aoip\+\_\+transport\+\_\+layer}

\mbox{\label{structgsm0808__handover__request__ack_ac56ce7e4eb36b41dfa998a3401799182}} 
\index{gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}!chosen\_channel@{chosen\_channel}}
\index{chosen\_channel@{chosen\_channel}!gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}}
\doxysubsubsection{chosen\_channel}
{\footnotesize\ttfamily uint8\+\_\+t gsm0808\+\_\+handover\+\_\+request\+\_\+ack\+::chosen\+\_\+channel}



Referenced by \textbf{ gsm0808\+\_\+create\+\_\+handover\+\_\+request\+\_\+ack()}.

\mbox{\label{structgsm0808__handover__request__ack_add02c1f85c4b128b1ce373f701550661}} 
\index{gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}!chosen\_channel\_present@{chosen\_channel\_present}}
\index{chosen\_channel\_present@{chosen\_channel\_present}!gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}}
\doxysubsubsection{chosen\_channel\_present}
{\footnotesize\ttfamily bool gsm0808\+\_\+handover\+\_\+request\+\_\+ack\+::chosen\+\_\+channel\+\_\+present}

\mbox{\label{structgsm0808__handover__request__ack_af42a32d4cc6fba5ff69a363bb1a37815}} 
\index{gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}!chosen\_encr\_alg@{chosen\_encr\_alg}}
\index{chosen\_encr\_alg@{chosen\_encr\_alg}!gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}}
\doxysubsubsection{chosen\_encr\_alg}
{\footnotesize\ttfamily uint8\+\_\+t gsm0808\+\_\+handover\+\_\+request\+\_\+ack\+::chosen\+\_\+encr\+\_\+alg}



For A5/N set chosen\+\_\+encr\+\_\+alg = N+1, e.\+g. 

chosen\+\_\+encr\+\_\+alg = 1 means A5/0 (no encryption), 2 means A5/1, 4 means A5/3. Set chosen\+\_\+encr\+\_\+alg = 0 to omit the Chosen Encryption Algorithm IE. 

Referenced by \textbf{ gsm0808\+\_\+create\+\_\+handover\+\_\+request\+\_\+ack()}.

\mbox{\label{structgsm0808__handover__request__ack_a4e509e341dbe9ca031476d459f5964a5}} 
\index{gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}!chosen\_speech\_version@{chosen\_speech\_version}}
\index{chosen\_speech\_version@{chosen\_speech\_version}!gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}}
\doxysubsubsection{chosen\_speech\_version}
{\footnotesize\ttfamily enum \textbf{ gsm0808\+\_\+permitted\+\_\+speech} gsm0808\+\_\+handover\+\_\+request\+\_\+ack\+::chosen\+\_\+speech\+\_\+version}



Referenced by \textbf{ gsm0808\+\_\+create\+\_\+handover\+\_\+request\+\_\+ack()}.

\mbox{\label{structgsm0808__handover__request__ack_a4820e9280967a92dac9c05381a5c2bb3}} 
\index{gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}!codec\_list\_bss\_supported@{codec\_list\_bss\_supported}}
\index{codec\_list\_bss\_supported@{codec\_list\_bss\_supported}!gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}}
\doxysubsubsection{codec\_list\_bss\_supported}
{\footnotesize\ttfamily struct \textbf{ gsm0808\+\_\+speech\+\_\+codec\+\_\+list} gsm0808\+\_\+handover\+\_\+request\+\_\+ack\+::codec\+\_\+list\+\_\+bss\+\_\+supported}

\mbox{\label{structgsm0808__handover__request__ack_acff6c0cd07f9e8bbf94900591b800a7c}} 
\index{gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}!l3\_info@{l3\_info}}
\index{l3\_info@{l3\_info}!gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}}
\doxysubsubsection{l3\_info}
{\footnotesize\ttfamily const uint8\+\_\+t$\ast$ gsm0808\+\_\+handover\+\_\+request\+\_\+ack\+::l3\+\_\+info}



Referenced by \textbf{ gsm0808\+\_\+create\+\_\+handover\+\_\+request\+\_\+ack()}.

\mbox{\label{structgsm0808__handover__request__ack_a018c69305eee3697d5f601de55eab8a2}} 
\index{gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}!l3\_info\_len@{l3\_info\_len}}
\index{l3\_info\_len@{l3\_info\_len}!gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}}
\doxysubsubsection{l3\_info\_len}
{\footnotesize\ttfamily uint8\+\_\+t gsm0808\+\_\+handover\+\_\+request\+\_\+ack\+::l3\+\_\+info\+\_\+len}



Referenced by \textbf{ gsm0808\+\_\+create\+\_\+handover\+\_\+request\+\_\+ack()}.

\mbox{\label{structgsm0808__handover__request__ack_a676f29df6084b9c097ee1407eb8260c4}} 
\index{gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}!more\_items@{more\_items}}
\index{more\_items@{more\_items}!gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}}
\doxysubsubsection{more\_items}
{\footnotesize\ttfamily bool gsm0808\+\_\+handover\+\_\+request\+\_\+ack\+::more\+\_\+items}



set this to true iff any fields below are used 

\mbox{\label{structgsm0808__handover__request__ack_a3acf144bfba59a1c63bc614f862f302b}} 
\index{gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}!more\_items2@{more\_items2}}
\index{more\_items2@{more\_items2}!gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}}
\doxysubsubsection{more\_items2}
{\footnotesize\ttfamily bool gsm0808\+\_\+handover\+\_\+request\+\_\+ack\+::more\+\_\+items2}



always set this to false 

\mbox{\label{structgsm0808__handover__request__ack_ab397374dcc0093b9dff82fdf63877d08}} 
\index{gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}!speech\_codec\_chosen@{speech\_codec\_chosen}}
\index{speech\_codec\_chosen@{speech\_codec\_chosen}!gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}}
\doxysubsubsection{speech\_codec\_chosen}
{\footnotesize\ttfamily struct \textbf{ gsm0808\+\_\+speech\+\_\+codec} gsm0808\+\_\+handover\+\_\+request\+\_\+ack\+::speech\+\_\+codec\+\_\+chosen}

\mbox{\label{structgsm0808__handover__request__ack_a11cdbd1a238e797c4bd2e37e525387f1}} 
\index{gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}!speech\_codec\_chosen\_present@{speech\_codec\_chosen\_present}}
\index{speech\_codec\_chosen\_present@{speech\_codec\_chosen\_present}!gsm0808\_handover\_request\_ack@{gsm0808\_handover\_request\_ack}}
\doxysubsubsection{speech\_codec\_chosen\_present}
{\footnotesize\ttfamily bool gsm0808\+\_\+handover\+\_\+request\+\_\+ack\+::speech\+\_\+codec\+\_\+chosen\+\_\+present}



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