\doxysection{osmo\+\_\+sub\+\_\+auth\+\_\+data Struct Reference}
\label{structosmo__sub__auth__data}\index{osmo\_sub\_auth\_data@{osmo\_sub\_auth\_data}}


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

\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
enum \textbf{ osmo\+\_\+sub\+\_\+auth\+\_\+type} \textbf{ type}
\item 
enum \textbf{ osmo\+\_\+auth\+\_\+algo} \textbf{ algo}
\item 
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
union \{\\
\>struct \{\\
\>\>uint8\_t \textbf{ osmo\_sub\_auth\_data::opc} [16]\\
\>\>\>{\em operator invariant value }\\
\>\>uint8\_t \textbf{ osmo\_sub\_auth\_data::k} [\textbf{ OSMO\_A5\_MAX\_KEY\_LEN\_BYTES}]\\
\>\>\>{\em secret key of the subscriber }\\
\>\>uint8\_t \textbf{ osmo\_sub\_auth\_data::amf} [2]\\
\>\>uint64\_t \textbf{ osmo\_sub\_auth\_data::sqn}\\
\>\>\>{\em sequence number (in: prev sqn; out: used sqn) }\\
\>\>int \textbf{ osmo\_sub\_auth\_data::opc\_is\_op}\\
\>\>\>{\em is the OPC field OPC (0) or OP (1) ? }\\
\>\>unsigned int \textbf{ osmo\_sub\_auth\_data::ind\_bitlen}\\
\>\>\>{\em nr of bits not in SEQ, only SQN }\\
\>\>unsigned int \textbf{ osmo\_sub\_auth\_data::ind}\\
\>\>\>{\em which IND slot to use an SQN from }\\
\>\>uint64\_t \textbf{ osmo\_sub\_auth\_data::sqn\_ms}\\
\>\>\>{\em sqn from AUTS (output value only) }\\
\>\} \textbf{ osmo\_sub\_auth\_data::umts}\\
\>struct \{\\
\>\>uint8\_t \textbf{ osmo\_sub\_auth\_data::ki} [\textbf{ OSMO\_A5\_MAX\_KEY\_LEN\_BYTES}]\\
\>\>\>{\em secret key }\\
\>\} \textbf{ osmo\_sub\_auth\_data::gsm}\\
\} \textbf{ u}\\

\end{tabbing}\end{DoxyCompactItemize}


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