\doxysection{gsm29118.\+h}
\label{gsm29118_8h_source}\index{include/osmocom/gsm/gsm29118.h@{include/osmocom/gsm/gsm29118.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 }
\DoxyCodeLine{3 \textcolor{comment}{/* (C) 2018 by sysmocom s.f.m.c. GmbH}}
\DoxyCodeLine{4 \textcolor{comment}{ * All Rights Reserved}}
\DoxyCodeLine{5 \textcolor{comment}{ *}}
\DoxyCodeLine{6 \textcolor{comment}{ * Author: Harald Welte, Philipp Maier}}
\DoxyCodeLine{7 \textcolor{comment}{ *}}
\DoxyCodeLine{8 \textcolor{comment}{ * SPDX-\/License-\/Identifier: GPL-\/2.0+}}
\DoxyCodeLine{9 \textcolor{comment}{ *}}
\DoxyCodeLine{10 \textcolor{comment}{ * This program is free software; you can redistribute it and/or modify}}
\DoxyCodeLine{11 \textcolor{comment}{ * it under the terms of the GNU General Public License as published by}}
\DoxyCodeLine{12 \textcolor{comment}{ * the Free Software Foundation; either version 2 of the License, or}}
\DoxyCodeLine{13 \textcolor{comment}{ * (at your option) any later version.}}
\DoxyCodeLine{14 \textcolor{comment}{ *}}
\DoxyCodeLine{15 \textcolor{comment}{ * This program is distributed in the hope that it will be useful,}}
\DoxyCodeLine{16 \textcolor{comment}{ * but WITHOUT ANY WARRANTY; without even the implied warranty of}}
\DoxyCodeLine{17 \textcolor{comment}{ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the}}
\DoxyCodeLine{18 \textcolor{comment}{ * GNU General Public License for more details.}}
\DoxyCodeLine{19 \textcolor{comment}{ *}}
\DoxyCodeLine{20 \textcolor{comment}{ */}}
\DoxyCodeLine{21 }
\DoxyCodeLine{22 \textcolor{preprocessor}{\#pragma once}}
\DoxyCodeLine{23 }
\DoxyCodeLine{24 \textcolor{preprocessor}{\#include <osmocom/core/msgb.h>}}
\DoxyCodeLine{25 \textcolor{preprocessor}{\#include <osmocom/gsm/gsm23003.h>}}
\DoxyCodeLine{26 \textcolor{preprocessor}{\#include <osmocom/gsm/protocol/gsm\_29\_118.h>}}
\DoxyCodeLine{27 \textcolor{preprocessor}{\#include <osmocom/gsm/protocol/gsm\_04\_08.h>}}
\DoxyCodeLine{28 }
\DoxyCodeLine{30 \textcolor{keyword}{struct }gsm29118\_paging\_req \{}
\DoxyCodeLine{31         \textcolor{keywordtype}{char} imsi[GSM48\_MI\_SIZE];}
\DoxyCodeLine{32         \textcolor{keywordtype}{char} vlr\_name[SGS\_VLR\_NAME\_MAXLEN + 1];}
\DoxyCodeLine{33         uint8\_t serv\_ind;}
\DoxyCodeLine{34 }
\DoxyCodeLine{35         \textcolor{keywordtype}{bool} lai\_present;}
\DoxyCodeLine{36         \textcolor{keyword}{struct }osmo\_location\_area\_id lai;}
\DoxyCodeLine{37 \};}
\DoxyCodeLine{38 }
\DoxyCodeLine{40 \textcolor{keyword}{struct }gsm29118\_reset\_msg \{}
\DoxyCodeLine{41         \textcolor{keywordtype}{bool} vlr\_name\_present;}
\DoxyCodeLine{42         \textcolor{keywordtype}{char} vlr\_name[SGS\_VLR\_NAME\_MAXLEN + 1];}
\DoxyCodeLine{43         \textcolor{keywordtype}{bool} mme\_name\_present;}
\DoxyCodeLine{44         \textcolor{keywordtype}{char} mme\_name[SGS\_MME\_NAME\_LEN + 1];}
\DoxyCodeLine{45 \};}
\DoxyCodeLine{46 }
\DoxyCodeLine{47 \textcolor{keyword}{struct }msgb *gsm29118\_msgb\_alloc(\textcolor{keywordtype}{void});}
\DoxyCodeLine{48 \textcolor{keyword}{struct }msgb *gsm29118\_create\_alert\_req(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *imsi);}
\DoxyCodeLine{49 \textcolor{keyword}{struct }msgb *gsm29118\_create\_dl\_ud(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *imsi, \textcolor{keyword}{struct} msgb *nas\_msg);}
\DoxyCodeLine{50 \textcolor{keyword}{struct }msgb *gsm29118\_create\_eps\_det\_ack(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *imsi);}
\DoxyCodeLine{51 \textcolor{keyword}{struct }msgb *gsm29118\_create\_imsi\_det\_ack(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *imsi);}
\DoxyCodeLine{52 \textcolor{keyword}{struct }msgb *gsm29118\_create\_lu\_ack(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *imsi, \textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_location\_area\_id *lai, \textcolor{keyword}{const} uint8\_t *new\_id,}
\DoxyCodeLine{53                                     \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} new\_id\_len);}
\DoxyCodeLine{54 \textcolor{keyword}{struct }msgb *gsm29118\_create\_lu\_rej(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *imsi, uint8\_t rej\_cause, \textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_location\_area\_id *lai);}
\DoxyCodeLine{55 \textcolor{keyword}{struct }msgb *gsm29118\_create\_mm\_info\_req(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *imsi, \textcolor{keyword}{const} uint8\_t *mm\_info, uint8\_t mm\_info\_len);}
\DoxyCodeLine{56 \textcolor{keyword}{struct }msgb *gsm29118\_create\_paging\_req(\textcolor{keyword}{struct} gsm29118\_paging\_req *params);}
\DoxyCodeLine{57 \textcolor{keyword}{struct }msgb *gsm29118\_create\_reset\_ack(\textcolor{keyword}{struct} gsm29118\_reset\_msg *params);}
\DoxyCodeLine{58 \textcolor{keyword}{struct }msgb *gsm29118\_create\_reset\_ind(\textcolor{keyword}{struct} gsm29118\_reset\_msg *params);}
\DoxyCodeLine{59 \textcolor{keyword}{struct }msgb *gsm29118\_create\_status(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *imsi, \textcolor{keyword}{enum} sgsap\_sgs\_cause cause, \textcolor{keyword}{const} \textcolor{keyword}{struct} msgb *err\_msg);}
\DoxyCodeLine{60 \textcolor{keyword}{struct }msgb *gsm29118\_create\_release\_req(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *imsi, \textcolor{keyword}{const} uint8\_t sgs\_cause);}
\DoxyCodeLine{61 \textcolor{keyword}{struct }msgb *gsm29118\_create\_service\_abort\_req(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *imsi);}

\end{DoxyCode}
