\doxysection{apn.\+h}
\label{apn_8h_source}\index{include/osmocom/gsm/apn.h@{include/osmocom/gsm/apn.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 }
\DoxyCodeLine{3 \textcolor{preprocessor}{\#pragma once}}
\DoxyCodeLine{4 }
\DoxyCodeLine{5 \textcolor{preprocessor}{\#include <stdint.h>}}
\DoxyCodeLine{6 }
\DoxyCodeLine{7 \textcolor{comment}{/* 23.003 Section 9.1.1, excluding any terminating zero byte */}}
\DoxyCodeLine{8 \textcolor{preprocessor}{\#define APN\_NI\_MAXLEN   63}}
\DoxyCodeLine{9 }
\DoxyCodeLine{10 \textcolor{comment}{/* 23.003 Section 9.1, excluding any terminating zero byte */}}
\DoxyCodeLine{11 \textcolor{preprocessor}{\#define APN\_MAXLEN      100}}
\DoxyCodeLine{12 }
\DoxyCodeLine{13 \textcolor{keywordtype}{char} *osmo\_apn\_qualify(\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} mcc, \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} mnc, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *ni);}
\DoxyCodeLine{14 \textcolor{keywordtype}{char} *osmo\_apn\_qualify\_buf(\textcolor{keywordtype}{char} *buf, \textcolor{keywordtype}{size\_t} buf\_len, \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} mcc, \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} mnc, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *ni);}
\DoxyCodeLine{15 \textcolor{keywordtype}{char} *osmo\_apn\_qualify\_c(\textcolor{keyword}{const} \textcolor{keywordtype}{void} *ctx, \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} mcc, \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} mnc, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *ni);}
\DoxyCodeLine{16 }
\DoxyCodeLine{17 \textcolor{comment}{/* Compose a string of the form '<ni>.mnc001.mcc002.gprs\(\backslash\)0', returned in a}}
\DoxyCodeLine{18 \textcolor{comment}{ * static buffer. */}}
\DoxyCodeLine{19 \textcolor{keywordtype}{char} *osmo\_apn\_qualify\_from\_imsi(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *imsi,}
\DoxyCodeLine{20                                  \textcolor{keyword}{const} \textcolor{keywordtype}{char} *ni, \textcolor{keywordtype}{int} have\_3dig\_mnc);}
\DoxyCodeLine{21 \textcolor{keywordtype}{char} *osmo\_apn\_qualify\_from\_imsi\_buf(\textcolor{keywordtype}{char} *buf, \textcolor{keywordtype}{size\_t} buf\_len, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *imsi,}
\DoxyCodeLine{22                                      \textcolor{keyword}{const} \textcolor{keywordtype}{char} *ni, \textcolor{keywordtype}{int} have\_3dig\_mnc);}
\DoxyCodeLine{23 \textcolor{keywordtype}{char} *osmo\_apn\_qualify\_from\_imsi\_c(\textcolor{keyword}{const} \textcolor{keywordtype}{void} *ctx, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *imsi, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *ni, \textcolor{keywordtype}{int} have\_3dig\_mnc);}
\DoxyCodeLine{24 }
\DoxyCodeLine{25 \textcolor{keywordtype}{int} osmo\_apn\_from\_str(uint8\_t *apn\_enc, \textcolor{keywordtype}{size\_t} max\_apn\_enc\_len, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *str);}
\DoxyCodeLine{26 \textcolor{keywordtype}{char} *osmo\_apn\_to\_str(\textcolor{keywordtype}{char} *out\_str, \textcolor{keyword}{const} uint8\_t *apn\_enc, \textcolor{keywordtype}{size\_t} apn\_enc\_len);}

\end{DoxyCode}
