\doxysection{src/gsm/gprs\+\_\+cipher\+\_\+core.c File Reference}
\label{gprs__cipher__core_8c}\index{src/gsm/gprs\_cipher\_core.c@{src/gsm/gprs\_cipher\_core.c}}


GPRS LLC cipher core infrastructure.  


{\ttfamily \#include \char`\"{}config.\+h\char`\"{}}\newline
{\ttfamily \#include $<$errno.\+h$>$}\newline
{\ttfamily \#include $<$stdint.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/utils.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/plugin.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/crypt/gprs\+\_\+cipher.\+h$>$}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static \textbf{ LLIST\+\_\+\+HEAD} (gprs\+\_\+ciphers)
\item 
int \textbf{ gprs\+\_\+cipher\+\_\+register} (struct \textbf{ gprs\+\_\+cipher\+\_\+impl} $\ast$ciph)
\item 
int \textbf{ gprs\+\_\+cipher\+\_\+load} (const char $\ast$path)
\item 
int \textbf{ gprs\+\_\+cipher\+\_\+run} (uint8\+\_\+t $\ast$out, uint16\+\_\+t \textbf{ len}, enum \textbf{ gprs\+\_\+ciph\+\_\+algo} algo, uint8\+\_\+t $\ast$kc, uint32\+\_\+t iv, enum \textbf{ gprs\+\_\+cipher\+\_\+direction} dir)
\item 
unsigned \textbf{ gprs\+\_\+cipher\+\_\+key\+\_\+length} (enum \textbf{ gprs\+\_\+ciph\+\_\+algo} algo)
\begin{DoxyCompactList}\small\item\em Obtain key lenght for given GPRS cipher. \end{DoxyCompactList}\item 
int \textbf{ gprs\+\_\+cipher\+\_\+supported} (enum \textbf{ gprs\+\_\+ciph\+\_\+algo} algo)
\item 
uint32\+\_\+t \textbf{ gprs\+\_\+cipher\+\_\+gen\+\_\+input\+\_\+ui} (uint32\+\_\+t iov\+\_\+ui, uint8\+\_\+t sapi, uint32\+\_\+t lfn, uint32\+\_\+t oc)
\item 
uint32\+\_\+t \textbf{ gprs\+\_\+cipher\+\_\+gen\+\_\+input\+\_\+i} (uint32\+\_\+t iov\+\_\+i, uint32\+\_\+t lfn, uint32\+\_\+t oc)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static struct \textbf{ gprs\+\_\+cipher\+\_\+impl} $\ast$ \textbf{ selected\+\_\+ciphers} [\textbf{ \+\_\+\+GPRS\+\_\+\+ALGO\+\_\+\+NUM}]
\item 
const struct \textbf{ value\+\_\+string} \textbf{ gprs\+\_\+cipher\+\_\+names} [$\,$]
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
GPRS LLC cipher core infrastructure. 

