\doxysection{include/osmocom/gsm/protocol/gsm\+\_\+23\+\_\+003.h File Reference}
\label{gsm__23__003_8h}\index{include/osmocom/gsm/protocol/gsm\_23\_003.h@{include/osmocom/gsm/protocol/gsm\_23\_003.h}}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ GSM23003\+\_\+\+IMSI\+\_\+\+MAX\+\_\+\+DIGITS}~15
\item 
\#define \textbf{ GSM23003\+\_\+\+IMSI\+\_\+\+MIN\+\_\+\+DIGITS}~6
\item 
\#define \textbf{ OSMO\+\_\+\+IMSI\+\_\+\+BUF\+\_\+\+SIZE}~(\textbf{ GSM23003\+\_\+\+IMSI\+\_\+\+MAX\+\_\+\+DIGITS}+2)
\begin{DoxyCompactList}\small\item\em The char[] buffer size to completely contain an IMSI including the optional checksum digit as well as the terminating nul character. \end{DoxyCompactList}\item 
\#define \textbf{ GSM23003\+\_\+\+TMSI\+\_\+\+NUM\+\_\+\+BYTES}~4
\item 
\#define \textbf{ GSM23003\+\_\+\+TMSI\+\_\+\+SGSN\+\_\+\+MASK}~0x\+C0000000\+UL
\item 
\#define \textbf{ GSM23003\+\_\+\+LMSI\+\_\+\+NUM\+\_\+\+BYTES}~4
\item 
\#define \textbf{ GSM23003\+\_\+\+TLLI\+\_\+\+NUM\+\_\+\+BYTES}~4
\item 
\#define \textbf{ GSM23003\+\_\+\+PTMSI\+\_\+\+SIG\+\_\+\+NUM\+\_\+\+BYTES}~3
\item 
\#define \textbf{ GSM23003\+\_\+\+MME\+\_\+\+CODE\+\_\+\+NUM\+\_\+\+BYTES}~1
\item 
\#define \textbf{ GSM23003\+\_\+\+MME\+\_\+\+GROUP\+\_\+\+NUM\+\_\+\+BYTES}~2
\item 
\#define \textbf{ GSM23003\+\_\+\+MTMSI\+\_\+\+NUM\+\_\+\+BYTES}~4
\item 
\#define \textbf{ GSM23003\+\_\+\+MSISDN\+\_\+\+MAX\+\_\+\+DIGITS}~15 /$\ast$ ITU-\/T Rec. E.\+164 6.\+1 $\ast$/
\item 
\#define \textbf{ GSM23003\+\_\+\+MSISDN\+\_\+\+MIN\+\_\+\+DIGITS}~1
\item 
\#define \textbf{ GSM23003\+\_\+\+IMEI\+\_\+\+TAC\+\_\+\+NUM\+\_\+\+DIGITS}~8
\item 
\#define \textbf{ GSM23003\+\_\+\+IMEI\+\_\+\+SNR\+\_\+\+NUM\+\_\+\+DIGITS}~6
\item 
\#define \textbf{ GSM23003\+\_\+\+IMEI\+\_\+\+NUM\+\_\+\+DIGITS}
\item 
\#define \textbf{ GSM23003\+\_\+\+IMEISV\+\_\+\+NUM\+\_\+\+DIGITS}
\item 
\#define \textbf{ GSM23003\+\_\+\+IMEI\+\_\+\+NUM\+\_\+\+DIGITS\+\_\+\+NO\+\_\+\+CHK}
\item 
\#define \textbf{ GSM23003\+\_\+\+HOME\+\_\+\+NETWORK\+\_\+\+DOMAIN\+\_\+\+LEN}~33
\item 
\#define \textbf{ GSM23003\+\_\+\+MME\+\_\+\+DOMAIN\+\_\+\+LEN}~55
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\label{gsm__23__003_8h_af614eedc2f53be159575f34368aff792}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_HOME\_NETWORK\_DOMAIN\_LEN@{GSM23003\_HOME\_NETWORK\_DOMAIN\_LEN}}
\index{GSM23003\_HOME\_NETWORK\_DOMAIN\_LEN@{GSM23003\_HOME\_NETWORK\_DOMAIN\_LEN}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_HOME\_NETWORK\_DOMAIN\_LEN}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+HOME\+\_\+\+NETWORK\+\_\+\+DOMAIN\+\_\+\+LEN~33}

\mbox{\label{gsm__23__003_8h_a0c9bfd62ece2ba4a792924506a812ccd}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_IMEI\_NUM\_DIGITS@{GSM23003\_IMEI\_NUM\_DIGITS}}
\index{GSM23003\_IMEI\_NUM\_DIGITS@{GSM23003\_IMEI\_NUM\_DIGITS}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_IMEI\_NUM\_DIGITS}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+IMEI\+\_\+\+NUM\+\_\+\+DIGITS}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{                                         (GSM23003\_IMEI\_TAC\_NUM\_DIGITS + \(\backslash\)}
\DoxyCodeLine{                                         GSM23003\_IMEI\_SNR\_NUM\_DIGITS + 1)}

\end{DoxyCode}
\mbox{\label{gsm__23__003_8h_adbb544e8a1206ebe6513611f1d303d12}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_IMEI\_NUM\_DIGITS\_NO\_CHK@{GSM23003\_IMEI\_NUM\_DIGITS\_NO\_CHK}}
\index{GSM23003\_IMEI\_NUM\_DIGITS\_NO\_CHK@{GSM23003\_IMEI\_NUM\_DIGITS\_NO\_CHK}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_IMEI\_NUM\_DIGITS\_NO\_CHK}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+IMEI\+\_\+\+NUM\+\_\+\+DIGITS\+\_\+\+NO\+\_\+\+CHK}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{                                         (GSM23003\_IMEI\_TAC\_NUM\_DIGITS + \(\backslash\)}
\DoxyCodeLine{                                         GSM23003\_IMEI\_SNR\_NUM\_DIGITS)}

\end{DoxyCode}
\mbox{\label{gsm__23__003_8h_af1f96f8a6618d803086b2361b9c6a70a}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_IMEI\_SNR\_NUM\_DIGITS@{GSM23003\_IMEI\_SNR\_NUM\_DIGITS}}
\index{GSM23003\_IMEI\_SNR\_NUM\_DIGITS@{GSM23003\_IMEI\_SNR\_NUM\_DIGITS}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_IMEI\_SNR\_NUM\_DIGITS}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+IMEI\+\_\+\+SNR\+\_\+\+NUM\+\_\+\+DIGITS~6}

\mbox{\label{gsm__23__003_8h_a474ca1aafed82e32466772727c746775}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_IMEI\_TAC\_NUM\_DIGITS@{GSM23003\_IMEI\_TAC\_NUM\_DIGITS}}
\index{GSM23003\_IMEI\_TAC\_NUM\_DIGITS@{GSM23003\_IMEI\_TAC\_NUM\_DIGITS}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_IMEI\_TAC\_NUM\_DIGITS}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+IMEI\+\_\+\+TAC\+\_\+\+NUM\+\_\+\+DIGITS~8}

\mbox{\label{gsm__23__003_8h_a1ff5a32dac434733af9c52eb7e24f648}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_IMEISV\_NUM\_DIGITS@{GSM23003\_IMEISV\_NUM\_DIGITS}}
\index{GSM23003\_IMEISV\_NUM\_DIGITS@{GSM23003\_IMEISV\_NUM\_DIGITS}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_IMEISV\_NUM\_DIGITS}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+IMEISV\+\_\+\+NUM\+\_\+\+DIGITS}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{                                         (GSM23003\_IMEI\_TAC\_NUM\_DIGITS + \(\backslash\)}
\DoxyCodeLine{                                         GSM23003\_IMEI\_SNR\_NUM\_DIGITS + 2)}

\end{DoxyCode}
\mbox{\label{gsm__23__003_8h_ab6c909b4a6793f8d0adc68362098fc8e}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_IMSI\_MAX\_DIGITS@{GSM23003\_IMSI\_MAX\_DIGITS}}
\index{GSM23003\_IMSI\_MAX\_DIGITS@{GSM23003\_IMSI\_MAX\_DIGITS}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_IMSI\_MAX\_DIGITS}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+IMSI\+\_\+\+MAX\+\_\+\+DIGITS~15}

\mbox{\label{gsm__23__003_8h_ab06c56a81bfa5561486c2619c603928c}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_IMSI\_MIN\_DIGITS@{GSM23003\_IMSI\_MIN\_DIGITS}}
\index{GSM23003\_IMSI\_MIN\_DIGITS@{GSM23003\_IMSI\_MIN\_DIGITS}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_IMSI\_MIN\_DIGITS}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+IMSI\+\_\+\+MIN\+\_\+\+DIGITS~6}

\mbox{\label{gsm__23__003_8h_a1f62a03c7f7ce9c914ecdee541a41ff9}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_LMSI\_NUM\_BYTES@{GSM23003\_LMSI\_NUM\_BYTES}}
\index{GSM23003\_LMSI\_NUM\_BYTES@{GSM23003\_LMSI\_NUM\_BYTES}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_LMSI\_NUM\_BYTES}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+LMSI\+\_\+\+NUM\+\_\+\+BYTES~4}

\mbox{\label{gsm__23__003_8h_aa2453ce8faf3ef19c8a1dfc958ba2bef}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_MME\_CODE\_NUM\_BYTES@{GSM23003\_MME\_CODE\_NUM\_BYTES}}
\index{GSM23003\_MME\_CODE\_NUM\_BYTES@{GSM23003\_MME\_CODE\_NUM\_BYTES}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_MME\_CODE\_NUM\_BYTES}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+MME\+\_\+\+CODE\+\_\+\+NUM\+\_\+\+BYTES~1}

\mbox{\label{gsm__23__003_8h_a2058142f779864f252a0ddba19623afc}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_MME\_DOMAIN\_LEN@{GSM23003\_MME\_DOMAIN\_LEN}}
\index{GSM23003\_MME\_DOMAIN\_LEN@{GSM23003\_MME\_DOMAIN\_LEN}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_MME\_DOMAIN\_LEN}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+MME\+\_\+\+DOMAIN\+\_\+\+LEN~55}

\mbox{\label{gsm__23__003_8h_acf66ea1cee63e677833ce268009651a3}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_MME\_GROUP\_NUM\_BYTES@{GSM23003\_MME\_GROUP\_NUM\_BYTES}}
\index{GSM23003\_MME\_GROUP\_NUM\_BYTES@{GSM23003\_MME\_GROUP\_NUM\_BYTES}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_MME\_GROUP\_NUM\_BYTES}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+MME\+\_\+\+GROUP\+\_\+\+NUM\+\_\+\+BYTES~2}

\mbox{\label{gsm__23__003_8h_aa32b58bb7734275a739160d44aa4d07b}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_MSISDN\_MAX\_DIGITS@{GSM23003\_MSISDN\_MAX\_DIGITS}}
\index{GSM23003\_MSISDN\_MAX\_DIGITS@{GSM23003\_MSISDN\_MAX\_DIGITS}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_MSISDN\_MAX\_DIGITS}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+MSISDN\+\_\+\+MAX\+\_\+\+DIGITS~15 /$\ast$ ITU-\/T Rec. E.\+164 6.\+1 $\ast$/}

\mbox{\label{gsm__23__003_8h_a67b67a5d92ab4b0ef6be6acc2fa7ff1e}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_MSISDN\_MIN\_DIGITS@{GSM23003\_MSISDN\_MIN\_DIGITS}}
\index{GSM23003\_MSISDN\_MIN\_DIGITS@{GSM23003\_MSISDN\_MIN\_DIGITS}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_MSISDN\_MIN\_DIGITS}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+MSISDN\+\_\+\+MIN\+\_\+\+DIGITS~1}

\mbox{\label{gsm__23__003_8h_afac95fd6351d49555d3ce45ac5383b02}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_MTMSI\_NUM\_BYTES@{GSM23003\_MTMSI\_NUM\_BYTES}}
\index{GSM23003\_MTMSI\_NUM\_BYTES@{GSM23003\_MTMSI\_NUM\_BYTES}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_MTMSI\_NUM\_BYTES}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+MTMSI\+\_\+\+NUM\+\_\+\+BYTES~4}

\mbox{\label{gsm__23__003_8h_a9abb47b947e47d689e7b5636c91e8902}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_PTMSI\_SIG\_NUM\_BYTES@{GSM23003\_PTMSI\_SIG\_NUM\_BYTES}}
\index{GSM23003\_PTMSI\_SIG\_NUM\_BYTES@{GSM23003\_PTMSI\_SIG\_NUM\_BYTES}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_PTMSI\_SIG\_NUM\_BYTES}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+PTMSI\+\_\+\+SIG\+\_\+\+NUM\+\_\+\+BYTES~3}

\mbox{\label{gsm__23__003_8h_a4d9e125dc978ee9bcb78f4cc18279ef2}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_TLLI\_NUM\_BYTES@{GSM23003\_TLLI\_NUM\_BYTES}}
\index{GSM23003\_TLLI\_NUM\_BYTES@{GSM23003\_TLLI\_NUM\_BYTES}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_TLLI\_NUM\_BYTES}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+TLLI\+\_\+\+NUM\+\_\+\+BYTES~4}

\mbox{\label{gsm__23__003_8h_ac2b7bf683783af555e5f04fd0e546efc}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_TMSI\_NUM\_BYTES@{GSM23003\_TMSI\_NUM\_BYTES}}
\index{GSM23003\_TMSI\_NUM\_BYTES@{GSM23003\_TMSI\_NUM\_BYTES}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_TMSI\_NUM\_BYTES}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+TMSI\+\_\+\+NUM\+\_\+\+BYTES~4}

\mbox{\label{gsm__23__003_8h_a378eebc64d0f38e31c4d651a891ec32c}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!GSM23003\_TMSI\_SGSN\_MASK@{GSM23003\_TMSI\_SGSN\_MASK}}
\index{GSM23003\_TMSI\_SGSN\_MASK@{GSM23003\_TMSI\_SGSN\_MASK}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{GSM23003\_TMSI\_SGSN\_MASK}
{\footnotesize\ttfamily \#define GSM23003\+\_\+\+TMSI\+\_\+\+SGSN\+\_\+\+MASK~0x\+C0000000\+UL}

\mbox{\label{gsm__23__003_8h_a2a91c54a1d9191a1ad288c92750e9357}} 
\index{gsm\_23\_003.h@{gsm\_23\_003.h}!OSMO\_IMSI\_BUF\_SIZE@{OSMO\_IMSI\_BUF\_SIZE}}
\index{OSMO\_IMSI\_BUF\_SIZE@{OSMO\_IMSI\_BUF\_SIZE}!gsm\_23\_003.h@{gsm\_23\_003.h}}
\doxysubsubsection{OSMO\_IMSI\_BUF\_SIZE}
{\footnotesize\ttfamily \#define OSMO\+\_\+\+IMSI\+\_\+\+BUF\+\_\+\+SIZE~(\textbf{ GSM23003\+\_\+\+IMSI\+\_\+\+MAX\+\_\+\+DIGITS}+2)}



The char[] buffer size to completely contain an IMSI including the optional checksum digit as well as the terminating nul character. 

