\doxysection{osim\+\_\+apdu\+\_\+cmd\+\_\+hdr Struct Reference}
\label{structosim__apdu__cmd__hdr}\index{osim\_apdu\_cmd\_hdr@{osim\_apdu\_cmd\_hdr}}


APDU/\+TPDU command header.  




{\ttfamily \#include $<$sim.\+h$>$}

\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
uint8\+\_\+t \textbf{ cla}
\begin{DoxyCompactList}\small\item\em CLASS byte. \end{DoxyCompactList}\item 
uint8\+\_\+t \textbf{ ins}
\begin{DoxyCompactList}\small\item\em INSTRUCTION byte. \end{DoxyCompactList}\item 
uint8\+\_\+t \textbf{ p1}
\begin{DoxyCompactList}\small\item\em Parameter 1 byte. \end{DoxyCompactList}\item 
uint8\+\_\+t \textbf{ p2}
\begin{DoxyCompactList}\small\item\em Parameter 2 byte. \end{DoxyCompactList}\item 
uint8\+\_\+t \textbf{ p3}
\begin{DoxyCompactList}\small\item\em Parameter 3 byte, used for TPDU by T=0. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
APDU/\+TPDU command header. 

This structure encode an APDU/\+TPDU command header, as specified in ISO/\+IEC 7816-\/3\+:2006(E) §12.2 and §12.3. The APDU (application layer) can be encoded as different TPDUs (transport layer), depending on the transport protocol used. The TPDU encoding by T=1 of the APDU command header is identical to the APDU. The TPDU encoding by T=0 of the APDU command header adds a Parameter 3 field, generally used instead of Lc/\+Le.

\begin{DoxyRefDesc}{Todo}
\item[\textbf{ Todo}]have different structures for APDU, TPDU by T=0, and TPDU by T=1. \end{DoxyRefDesc}


\doxysubsection{Field Documentation}
\mbox{\label{structosim__apdu__cmd__hdr_a42ac46f9739b112573ad23696850c0f1}} 
\index{osim\_apdu\_cmd\_hdr@{osim\_apdu\_cmd\_hdr}!cla@{cla}}
\index{cla@{cla}!osim\_apdu\_cmd\_hdr@{osim\_apdu\_cmd\_hdr}}
\doxysubsubsection{cla}
{\footnotesize\ttfamily uint8\+\_\+t osim\+\_\+apdu\+\_\+cmd\+\_\+hdr\+::cla}



CLASS byte. 



Referenced by \textbf{ osim\+\_\+new\+\_\+apdumsg()}.

\mbox{\label{structosim__apdu__cmd__hdr_ad420c5a039094193ae200b0fdac8e97a}} 
\index{osim\_apdu\_cmd\_hdr@{osim\_apdu\_cmd\_hdr}!ins@{ins}}
\index{ins@{ins}!osim\_apdu\_cmd\_hdr@{osim\_apdu\_cmd\_hdr}}
\doxysubsubsection{ins}
{\footnotesize\ttfamily uint8\+\_\+t osim\+\_\+apdu\+\_\+cmd\+\_\+hdr\+::ins}



INSTRUCTION byte. 



Referenced by \textbf{ osim\+\_\+new\+\_\+apdumsg()}, and \textbf{ transceive\+\_\+apdu\+\_\+t0()}.

\mbox{\label{structosim__apdu__cmd__hdr_a6fccbd443d26d78ca91964c1e05a4f2a}} 
\index{osim\_apdu\_cmd\_hdr@{osim\_apdu\_cmd\_hdr}!p1@{p1}}
\index{p1@{p1}!osim\_apdu\_cmd\_hdr@{osim\_apdu\_cmd\_hdr}}
\doxysubsubsection{p1}
{\footnotesize\ttfamily uint8\+\_\+t osim\+\_\+apdu\+\_\+cmd\+\_\+hdr\+::p1}



Parameter 1 byte. 



Referenced by \textbf{ osim\+\_\+new\+\_\+apdumsg()}, and \textbf{ transceive\+\_\+apdu\+\_\+t0()}.

\mbox{\label{structosim__apdu__cmd__hdr_a3ea61e4eae7e04c2e76c868077df5fc7}} 
\index{osim\_apdu\_cmd\_hdr@{osim\_apdu\_cmd\_hdr}!p2@{p2}}
\index{p2@{p2}!osim\_apdu\_cmd\_hdr@{osim\_apdu\_cmd\_hdr}}
\doxysubsubsection{p2}
{\footnotesize\ttfamily uint8\+\_\+t osim\+\_\+apdu\+\_\+cmd\+\_\+hdr\+::p2}



Parameter 2 byte. 



Referenced by \textbf{ osim\+\_\+new\+\_\+apdumsg()}, and \textbf{ transceive\+\_\+apdu\+\_\+t0()}.

\mbox{\label{structosim__apdu__cmd__hdr_a87a1202de01a882b851451aa2202b1fd}} 
\index{osim\_apdu\_cmd\_hdr@{osim\_apdu\_cmd\_hdr}!p3@{p3}}
\index{p3@{p3}!osim\_apdu\_cmd\_hdr@{osim\_apdu\_cmd\_hdr}}
\doxysubsubsection{p3}
{\footnotesize\ttfamily uint8\+\_\+t osim\+\_\+apdu\+\_\+cmd\+\_\+hdr\+::p3}



Parameter 3 byte, used for TPDU by T=0. 



Referenced by \textbf{ transceive\+\_\+apdu\+\_\+t0()}.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
include/osmocom/sim/\textbf{ sim.\+h}\end{DoxyCompactItemize}
