\doxysection{osim\+\_\+reader\+\_\+ops Struct Reference}
\label{structosim__reader__ops}\index{osim\_reader\_ops@{osim\_reader\_ops}}


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

\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
const char $\ast$ \textbf{ name}
\item 
struct \textbf{ osim\+\_\+reader\+\_\+hdl} $\ast$($\ast$ \textbf{ reader\+\_\+open} )(int idx, const char $\ast$\textbf{ name}, void $\ast$ctx)
\item 
struct \textbf{ osim\+\_\+card\+\_\+hdl} $\ast$($\ast$ \textbf{ card\+\_\+open} )(struct \textbf{ osim\+\_\+reader\+\_\+hdl} $\ast$rh, enum \textbf{ osim\+\_\+proto} proto)
\item 
int($\ast$ \textbf{ card\+\_\+reset} )(struct \textbf{ osim\+\_\+card\+\_\+hdl} $\ast$card, bool cold\+\_\+reset)
\item 
int($\ast$ \textbf{ card\+\_\+close} )(struct \textbf{ osim\+\_\+card\+\_\+hdl} $\ast$card)
\item 
int($\ast$ \textbf{ transceive} )(struct \textbf{ osim\+\_\+reader\+\_\+hdl} $\ast$rh, struct \textbf{ msgb} $\ast$msg)
\end{DoxyCompactItemize}


\doxysubsection{Field Documentation}
\mbox{\label{structosim__reader__ops_a34a024807fcb1f48ab39ef9e4a82b5ea}} 
\index{osim\_reader\_ops@{osim\_reader\_ops}!card\_close@{card\_close}}
\index{card\_close@{card\_close}!osim\_reader\_ops@{osim\_reader\_ops}}
\doxysubsubsection{card\_close}
{\footnotesize\ttfamily int($\ast$ osim\+\_\+reader\+\_\+ops\+::card\+\_\+close) (struct \textbf{ osim\+\_\+card\+\_\+hdl} $\ast$card)}



Referenced by \textbf{ osim\+\_\+card\+\_\+close()}.

\mbox{\label{structosim__reader__ops_a2bc88738b3b518a8f79c2b9ceb356c58}} 
\index{osim\_reader\_ops@{osim\_reader\_ops}!card\_open@{card\_open}}
\index{card\_open@{card\_open}!osim\_reader\_ops@{osim\_reader\_ops}}
\doxysubsubsection{card\_open}
{\footnotesize\ttfamily struct \textbf{ osim\+\_\+card\+\_\+hdl} $\ast$($\ast$ osim\+\_\+reader\+\_\+ops\+::card\+\_\+open) (struct \textbf{ osim\+\_\+reader\+\_\+hdl} $\ast$rh, enum \textbf{ osim\+\_\+proto} proto)}



Referenced by \textbf{ osim\+\_\+card\+\_\+open()}.

\mbox{\label{structosim__reader__ops_add0460c2444e3ecc17c03b8e9cb33008}} 
\index{osim\_reader\_ops@{osim\_reader\_ops}!card\_reset@{card\_reset}}
\index{card\_reset@{card\_reset}!osim\_reader\_ops@{osim\_reader\_ops}}
\doxysubsubsection{card\_reset}
{\footnotesize\ttfamily int($\ast$ osim\+\_\+reader\+\_\+ops\+::card\+\_\+reset) (struct \textbf{ osim\+\_\+card\+\_\+hdl} $\ast$card, bool cold\+\_\+reset)}



Referenced by \textbf{ osim\+\_\+card\+\_\+reset()}.

\mbox{\label{structosim__reader__ops_a54d6cad1271f2a192d7bd9208b8056f9}} 
\index{osim\_reader\_ops@{osim\_reader\_ops}!name@{name}}
\index{name@{name}!osim\_reader\_ops@{osim\_reader\_ops}}
\doxysubsubsection{name}
{\footnotesize\ttfamily const char$\ast$ osim\+\_\+reader\+\_\+ops\+::name}

\mbox{\label{structosim__reader__ops_a73cceaa3554009fa8a20d60e8475ad2d}} 
\index{osim\_reader\_ops@{osim\_reader\_ops}!reader\_open@{reader\_open}}
\index{reader\_open@{reader\_open}!osim\_reader\_ops@{osim\_reader\_ops}}
\doxysubsubsection{reader\_open}
{\footnotesize\ttfamily struct \textbf{ osim\+\_\+reader\+\_\+hdl} $\ast$($\ast$ osim\+\_\+reader\+\_\+ops\+::reader\+\_\+open) (int idx, const char $\ast$\textbf{ name}, void $\ast$ctx)}



Referenced by \textbf{ osim\+\_\+reader\+\_\+open()}.

\mbox{\label{structosim__reader__ops_a16512268da2db6bca5b716a8e3b951f1}} 
\index{osim\_reader\_ops@{osim\_reader\_ops}!transceive@{transceive}}
\index{transceive@{transceive}!osim\_reader\_ops@{osim\_reader\_ops}}
\doxysubsubsection{transceive}
{\footnotesize\ttfamily int($\ast$ osim\+\_\+reader\+\_\+ops\+::transceive) (struct \textbf{ osim\+\_\+reader\+\_\+hdl} $\ast$rh, struct \textbf{ msgb} $\ast$msg)}



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}
