\doxysection{src/sim/card\+\_\+fs\+\_\+tetra.c File Reference}
\label{card__fs__tetra_8c}\index{src/sim/card\_fs\_tetra.c@{src/sim/card\_fs\_tetra.c}}


TETRA SIM card specific structures/routines.  


{\ttfamily \#include $<$errno.\+h$>$}\newline
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sim/sim.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/talloc.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/gsm/gsm48.\+h$>$}\newline
{\ttfamily \#include \char`\"{}sim\+\_\+int.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}gsm\+\_\+int.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ osim\+\_\+card\+\_\+profile} $\ast$ \textbf{ osim\+\_\+cprof\+\_\+tsim} (void $\ast$ctx)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static const struct \textbf{ osim\+\_\+card\+\_\+sw} \textbf{ tsim\+\_\+sw} [$\,$]
\item 
static const struct \textbf{ osim\+\_\+card\+\_\+sw} $\ast$ \textbf{ tsim\+\_\+card\+\_\+sws} [$\,$]
\item 
static const struct \textbf{ osim\+\_\+file\+\_\+desc} \textbf{ sim\+\_\+ef\+\_\+in\+\_\+mf} [$\,$]
\item 
static const struct \textbf{ osim\+\_\+file\+\_\+desc} \textbf{ sim\+\_\+ef\+\_\+in\+\_\+tetra} [$\,$]
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
TETRA SIM card specific structures/routines. 



\doxysubsection{Function Documentation}
\mbox{\label{card__fs__tetra_8c_a22fff635440d92100218d5d17e19f46a}} 
\index{card\_fs\_tetra.c@{card\_fs\_tetra.c}!osim\_cprof\_tsim@{osim\_cprof\_tsim}}
\index{osim\_cprof\_tsim@{osim\_cprof\_tsim}!card\_fs\_tetra.c@{card\_fs\_tetra.c}}
\doxysubsubsection{osim\_cprof\_tsim()}
{\footnotesize\ttfamily struct \textbf{ osim\+\_\+card\+\_\+profile} $\ast$ osim\+\_\+cprof\+\_\+tsim (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx }\end{DoxyParamCaption})}



References \textbf{ add\+\_\+df\+\_\+with\+\_\+ef()}, \textbf{ add\+\_\+filedesc()}, \textbf{ alloc\+\_\+df()}, \textbf{ ARRAY\+\_\+\+SIZE}, \textbf{ osim\+\_\+card\+\_\+profile\+::mf}, \textbf{ osim\+\_\+card\+\_\+profile\+::name}, \textbf{ osim\+\_\+int\+\_\+cprof\+\_\+add\+\_\+telecom()}, \textbf{ sim\+\_\+ef\+\_\+in\+\_\+mf}, \textbf{ sim\+\_\+ef\+\_\+in\+\_\+tetra}, \textbf{ osim\+\_\+card\+\_\+profile\+::sws}, and \textbf{ tsim\+\_\+card\+\_\+sws}.



\doxysubsection{Variable Documentation}
\mbox{\label{card__fs__tetra_8c_a2c7119d4c628a9b67a65295a0d5a10d2}} 
\index{card\_fs\_tetra.c@{card\_fs\_tetra.c}!sim\_ef\_in\_mf@{sim\_ef\_in\_mf}}
\index{sim\_ef\_in\_mf@{sim\_ef\_in\_mf}!card\_fs\_tetra.c@{card\_fs\_tetra.c}}
\doxysubsubsection{sim\_ef\_in\_mf}
{\footnotesize\ttfamily const struct \textbf{ osim\+\_\+file\+\_\+desc} sim\+\_\+ef\+\_\+in\+\_\+mf[$\,$]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        EF\_TRANSP\_N(0x2FE2, SFI\_NONE, \textcolor{stringliteral}{"{}EF.ICCID"{}}, 0, 10, 10,}
\DoxyCodeLine{                  \textcolor{stringliteral}{"{}ICC Identification"{}}),}
\DoxyCodeLine{        EF\_TRANSP\_N(0x2F00, SFI\_NONE, \textcolor{stringliteral}{"{}EF.DIR"{}}, F\_OPTIONAL, 8, 54,}
\DoxyCodeLine{                  \textcolor{stringliteral}{"{}Application directory"{}}),}
\DoxyCodeLine{        EF\_TRANSP\_N(0x2F05, SFI\_NONE, \textcolor{stringliteral}{"{}EF.LP"{}}, 0, 2, 32,}
\DoxyCodeLine{                  \textcolor{stringliteral}{"{}Language preference"{}}),}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ osim\+\_\+cprof\+\_\+tsim()}.

\mbox{\label{card__fs__tetra_8c_abcf21ca422c883804c2708151fc35d19}} 
\index{card\_fs\_tetra.c@{card\_fs\_tetra.c}!sim\_ef\_in\_tetra@{sim\_ef\_in\_tetra}}
\index{sim\_ef\_in\_tetra@{sim\_ef\_in\_tetra}!card\_fs\_tetra.c@{card\_fs\_tetra.c}}
\doxysubsubsection{sim\_ef\_in\_tetra}
{\footnotesize\ttfamily const struct \textbf{ osim\+\_\+file\+\_\+desc} sim\+\_\+ef\+\_\+in\+\_\+tetra[$\,$]\hspace{0.3cm}{\ttfamily [static]}}



Referenced by \textbf{ osim\+\_\+cprof\+\_\+tsim()}.

\mbox{\label{card__fs__tetra_8c_a6a3af1492ebed3ad644d715e30c15aa1}} 
\index{card\_fs\_tetra.c@{card\_fs\_tetra.c}!tsim\_card\_sws@{tsim\_card\_sws}}
\index{tsim\_card\_sws@{tsim\_card\_sws}!card\_fs\_tetra.c@{card\_fs\_tetra.c}}
\doxysubsubsection{tsim\_card\_sws}
{\footnotesize\ttfamily const struct \textbf{ osim\+\_\+card\+\_\+sw}$\ast$ tsim\+\_\+card\+\_\+sws[$\,$]\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        tsim\_sw,}
\DoxyCodeLine{        NULL}
\DoxyCodeLine{\}}

\end{DoxyCode}


Referenced by \textbf{ osim\+\_\+cprof\+\_\+tsim()}.

\mbox{\label{card__fs__tetra_8c_ada99c33c9a7004fc4278622ca6735987}} 
\index{card\_fs\_tetra.c@{card\_fs\_tetra.c}!tsim\_sw@{tsim\_sw}}
\index{tsim\_sw@{tsim\_sw}!card\_fs\_tetra.c@{card\_fs\_tetra.c}}
\doxysubsubsection{tsim\_sw}
{\footnotesize\ttfamily const struct \textbf{ osim\+\_\+card\+\_\+sw} tsim\+\_\+sw[$\,$]\hspace{0.3cm}{\ttfamily [static]}}

