\doxysection{src/sim/card\+\_\+fs\+\_\+uicc.c File Reference}
\label{card__fs__uicc_8c}\index{src/sim/card\_fs\_uicc.c@{src/sim/card\_fs\_uicc.c}}


ETSI UICC specific structures / routines.  


{\ttfamily \#include $<$osmocom/sim/sim.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/talloc.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/gsm/tlv.\+h$>$}\newline
{\ttfamily \#include \char`\"{}sim\+\_\+int.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}gsm\+\_\+int.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static const uint8\+\_\+t \textbf{ \+\_\+\+\_\+attribute\+\_\+\+\_\+} ((\+\_\+\+\_\+unused\+\_\+\+\_\+))
\item 
struct \textbf{ osim\+\_\+card\+\_\+profile} $\ast$ \textbf{ osim\+\_\+cprof\+\_\+uicc} (void $\ast$ctx, bool have\+\_\+df\+\_\+gsm)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const struct \textbf{ osim\+\_\+card\+\_\+sw} \textbf{ ts102221\+\_\+uicc\+\_\+sw} [$\,$]
\item 
static const struct \textbf{ osim\+\_\+card\+\_\+sw} $\ast$ \textbf{ uicc\+\_\+card\+\_\+sws} [$\,$]
\item 
static const struct \textbf{ osim\+\_\+file\+\_\+desc} \textbf{ uicc\+\_\+ef\+\_\+in\+\_\+mf} [$\,$]
\item 
const struct \textbf{ value\+\_\+string} \textbf{ ts102221\+\_\+fcp\+\_\+vals} [14]
\item 
const struct tlv\+\_\+definition \textbf{ ts102221\+\_\+fcp\+\_\+tlv\+\_\+def}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
ETSI UICC specific structures / routines. 



\doxysubsection{Function Documentation}
\mbox{\label{card__fs__uicc_8c_a4a6d510756cf31800445f5c323800719}} 
\index{card\_fs\_uicc.c@{card\_fs\_uicc.c}!\_\_attribute\_\_@{\_\_attribute\_\_}}
\index{\_\_attribute\_\_@{\_\_attribute\_\_}!card\_fs\_uicc.c@{card\_fs\_uicc.c}}
\doxysubsubsection{\_\_attribute\_\_()}
{\footnotesize\ttfamily static const uint8\+\_\+t \+\_\+\+\_\+attribute\+\_\+\+\_\+ (\begin{DoxyParamCaption}\item[{(\+\_\+\+\_\+unused\+\_\+\+\_\+)}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\label{card__fs__uicc_8c_a0b086308f938793710fb4022ad1ff541}} 
\index{card\_fs\_uicc.c@{card\_fs\_uicc.c}!osim\_cprof\_uicc@{osim\_cprof\_uicc}}
\index{osim\_cprof\_uicc@{osim\_cprof\_uicc}!card\_fs\_uicc.c@{card\_fs\_uicc.c}}
\doxysubsubsection{osim\_cprof\_uicc()}
{\footnotesize\ttfamily struct \textbf{ osim\+\_\+card\+\_\+profile} $\ast$ osim\+\_\+cprof\+\_\+uicc (\begin{DoxyParamCaption}\item[{void $\ast$}]{ctx,  }\item[{bool}]{have\+\_\+df\+\_\+gsm }\end{DoxyParamCaption})}



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



\doxysubsection{Variable Documentation}
\mbox{\label{card__fs__uicc_8c_a269c35f60166a42f572a9f2eabcf4e69}} 
\index{card\_fs\_uicc.c@{card\_fs\_uicc.c}!ts102221\_fcp\_tlv\_def@{ts102221\_fcp\_tlv\_def}}
\index{ts102221\_fcp\_tlv\_def@{ts102221\_fcp\_tlv\_def}!card\_fs\_uicc.c@{card\_fs\_uicc.c}}
\doxysubsubsection{ts102221\_fcp\_tlv\_def}
{\footnotesize\ttfamily const struct tlv\+\_\+definition ts102221\+\_\+fcp\+\_\+tlv\+\_\+def}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .def = \{}
\DoxyCodeLine{                [UICC\_FCP\_T\_FCP]          = \{ TLV\_TYPE\_TLV \},}
\DoxyCodeLine{                [UICC\_FCP\_T\_FILE\_SIZE]              = \{ TLV\_TYPE\_TLV \},}
\DoxyCodeLine{                [UICC\_FCP\_T\_TOT\_F\_SIZE]            = \{ TLV\_TYPE\_TLV \},}
\DoxyCodeLine{                [UICC\_FCP\_T\_FILE\_DESC]              = \{ TLV\_TYPE\_TLV \},}
\DoxyCodeLine{                [UICC\_FCP\_T\_FILE\_ID]          = \{ TLV\_TYPE\_TLV \},}
\DoxyCodeLine{                [UICC\_FCP\_T\_DF\_NAME]          = \{ TLV\_TYPE\_TLV \},}
\DoxyCodeLine{                [UICC\_FCP\_T\_SFID]                = \{ TLV\_TYPE\_TLV \},}
\DoxyCodeLine{                [UICC\_FCP\_T\_LIFEC\_STS]              = \{ TLV\_TYPE\_TLV \},}
\DoxyCodeLine{                [UICC\_FCP\_T\_SEC\_ATTR\_REFEXP]  = \{ TLV\_TYPE\_TLV \},}
\DoxyCodeLine{                [UICC\_FCP\_T\_SEC\_ATTR\_COMP]      = \{ TLV\_TYPE\_TLV \},}
\DoxyCodeLine{                [UICC\_FCP\_T\_PROPRIETARY]  = \{ TLV\_TYPE\_TLV \},}
\DoxyCodeLine{                [UICC\_FCP\_T\_SEC\_ATTR\_EXP]        = \{ TLV\_TYPE\_TLV \},}
\DoxyCodeLine{                [UICC\_FCP\_T\_PIN\_STS\_DO]            = \{ TLV\_TYPE\_TLV \},}
\DoxyCodeLine{        \},}
\DoxyCodeLine{\}}

\end{DoxyCode}
\mbox{\label{card__fs__uicc_8c_a8e9e5811060e746ab000751213f10c76}} 
\index{card\_fs\_uicc.c@{card\_fs\_uicc.c}!ts102221\_fcp\_vals@{ts102221\_fcp\_vals}}
\index{ts102221\_fcp\_vals@{ts102221\_fcp\_vals}!card\_fs\_uicc.c@{card\_fs\_uicc.c}}
\doxysubsubsection{ts102221\_fcp\_vals}
{\footnotesize\ttfamily const struct \textbf{ value\+\_\+string} ts102221\+\_\+fcp\+\_\+vals[14]}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ UICC\_FCP\_T\_FCP,         \textcolor{stringliteral}{"{}File control parameters"{}} \},}
\DoxyCodeLine{        \{ UICC\_FCP\_T\_FILE\_SIZE,             \textcolor{stringliteral}{"{}File size"{}} \},}
\DoxyCodeLine{        \{ UICC\_FCP\_T\_TOT\_F\_SIZE,   \textcolor{stringliteral}{"{}Total size of files"{}} \},}
\DoxyCodeLine{        \{ UICC\_FCP\_T\_FILE\_DESC,             \textcolor{stringliteral}{"{}File descriptor"{}} \},}
\DoxyCodeLine{        \{ UICC\_FCP\_T\_FILE\_ID,         \textcolor{stringliteral}{"{}File identifier"{}} \},}
\DoxyCodeLine{        \{ UICC\_FCP\_T\_DF\_NAME,         \textcolor{stringliteral}{"{}DF name"{}} \},}
\DoxyCodeLine{        \{ UICC\_FCP\_T\_SFID,               \textcolor{stringliteral}{"{}Short file identifier"{}} \},}
\DoxyCodeLine{        \{ UICC\_FCP\_T\_LIFEC\_STS,             \textcolor{stringliteral}{"{}Lifecycle status integer"{}} \},}
\DoxyCodeLine{        \{ UICC\_FCP\_T\_SEC\_ATTR\_REFEXP, \textcolor{stringliteral}{"{}Security attributes (Referenced/Expanded)"{}} \},}
\DoxyCodeLine{        \{ UICC\_FCP\_T\_SEC\_ATTR\_COMP,     \textcolor{stringliteral}{"{}Security attributes (Compact)"{}} \},}
\DoxyCodeLine{        \{ UICC\_FCP\_T\_PROPRIETARY, \textcolor{stringliteral}{"{}Proprietary"{}} \},}
\DoxyCodeLine{        \{ UICC\_FCP\_T\_SEC\_ATTR\_EXP,       \textcolor{stringliteral}{"{}Security attributes (Expanded)"{}} \},}
\DoxyCodeLine{        \{ UICC\_FCP\_T\_PIN\_STS\_DO,   \textcolor{stringliteral}{"{}PIN Status DO"{}} \},}
\DoxyCodeLine{        \{ 0, NULL \}}
\DoxyCodeLine{\}}

\end{DoxyCode}
\mbox{\label{card__fs__uicc_8c_a563fc75f8480516b5c4eecf7b9218c4f}} 
\index{card\_fs\_uicc.c@{card\_fs\_uicc.c}!ts102221\_uicc\_sw@{ts102221\_uicc\_sw}}
\index{ts102221\_uicc\_sw@{ts102221\_uicc\_sw}!card\_fs\_uicc.c@{card\_fs\_uicc.c}}
\doxysubsubsection{ts102221\_uicc\_sw}
{\footnotesize\ttfamily const struct \textbf{ osim\+\_\+card\+\_\+sw} ts102221\+\_\+uicc\+\_\+sw[$\,$]}

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

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

\end{DoxyCode}


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

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

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        EF\_LIN\_FIX\_N(0x2f00, SFI\_NONE, \textcolor{stringliteral}{"{}EF.DIR"{}}, 0, 1, 32,}
\DoxyCodeLine{                        \textcolor{stringliteral}{"{}Application directory"{}}),}
\DoxyCodeLine{        EF\_TRANSP\_N(0x2FE2, SFI\_NONE, \textcolor{stringliteral}{"{}EF.ICCID"{}}, 0, 10, 10,}
\DoxyCodeLine{                        \textcolor{stringliteral}{"{}ICC Identification"{}}),}
\DoxyCodeLine{        EF\_TRANSP\_N(0x2F05, SFI\_NONE, \textcolor{stringliteral}{"{}EF.PL"{}}, 0, 2, 20,}
\DoxyCodeLine{                        \textcolor{stringliteral}{"{}Preferred Languages"{}}),}
\DoxyCodeLine{        EF\_LIN\_FIX\_N(0x2F06, SFI\_NONE, \textcolor{stringliteral}{"{}EF.ARR"{}}, F\_OPTIONAL, 1, 256,}
\DoxyCodeLine{                        \textcolor{stringliteral}{"{}Access Rule Reference"{}}),}
\DoxyCodeLine{\}}

\end{DoxyCode}


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

