\hypertarget{g__eli__key__cache_8c}{}\doxysection{geom/eli/g\+\_\+eli\+\_\+key\+\_\+cache.c File Reference}
\label{g__eli__key__cache_8c}\index{geom/eli/g\_eli\_key\_cache.c@{geom/eli/g\_eli\_key\_cache.c}}
{\ttfamily \#include $<$sys/cdefs.\+h$>$}\newline
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/sysctl.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/queue.\+h$>$}\newline
{\ttfamily \#include $<$sys/tree.\+h$>$}\newline
{\ttfamily \#include $<$geom/geom.\+h$>$}\newline
{\ttfamily \#include $<$geom/eli/g\+\_\+eli.\+h$>$}\newline
Include dependency graph for g\+\_\+eli\+\_\+key\+\_\+cache.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/db7/g__eli__key__cache_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{g__eli__key__cache_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\+\_\+\+\_\+\+FBSDID}} (\char`\"{}\$Free\+BSD\$\char`\"{})
\item 
\mbox{\hyperlink{g__eli__key__cache_8c_a06a072b20b0a62f2ced24ac2600f4a2c}{MALLOC\+\_\+\+DECLARE}} (M\+\_\+\+ELI)
\item 
\mbox{\hyperlink{g__eli__key__cache_8c_ab22b61ed7af24355117430bad247c616}{SYSCTL\+\_\+\+DECL}} (\+\_\+kern\+\_\+geom\+\_\+eli)
\item 
\mbox{\hyperlink{g__eli__key__cache_8c_ae85a4fd8d63df862e411b2abee15b98e}{SYSCTL\+\_\+\+UINT}} (\+\_\+kern\+\_\+geom\+\_\+eli, OID\+\_\+\+AUTO, key\+\_\+cache\+\_\+limit, CTLFLAG\+\_\+\+RDTUN, \&\mbox{\hyperlink{g__eli__key__cache_8c_a4fd8867a72aa80bb0459a2ad5eeb3589}{g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+limit}}, 0, \char`\"{}Maximum number of encryption keys to cache\char`\"{})
\item 
\mbox{\hyperlink{g__eli__key__cache_8c_a36883a10b365befae7697b6200bde8a7}{SYSCTL\+\_\+\+UQUAD}} (\+\_\+kern\+\_\+geom\+\_\+eli, OID\+\_\+\+AUTO, key\+\_\+cache\+\_\+hits, CTLFLAG\+\_\+\+RW, \&\mbox{\hyperlink{g__eli__key__cache_8c_a955b8bacccfd2540de45dde8d4b6aff2}{g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+hits}}, 0, \char`\"{}Key cache hits\char`\"{})
\item 
\mbox{\hyperlink{g__eli__key__cache_8c_a57f56411950ae77cb75f10158edbd413}{SYSCTL\+\_\+\+UQUAD}} (\+\_\+kern\+\_\+geom\+\_\+eli, OID\+\_\+\+AUTO, key\+\_\+cache\+\_\+misses, CTLFLAG\+\_\+\+RW, \&\mbox{\hyperlink{g__eli__key__cache_8c_af43c729be7ab7bf3f9b34c9fe1465658}{g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+misses}}, 0, \char`\"{}Key cache misses\char`\"{})
\item 
static int \mbox{\hyperlink{g__eli__key__cache_8c_aee2fff7815847debf76044bf467fd958}{g\+\_\+eli\+\_\+key\+\_\+cmp}} (const struct \mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}} $\ast$a, const struct \mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}} $\ast$b)
\item 
void \mbox{\hyperlink{g__eli__key__cache_8c_ab71dc07a76bd6365d076e51f1dd36c70}{g\+\_\+eli\+\_\+key\+\_\+fill}} (struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$sc, struct \mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}} $\ast$key, uint64\+\_\+t keyno)
\item 
\mbox{\hyperlink{g__eli__key__cache_8c_af83b4114cb08c2d15ab7ff3fa6168897}{RB\+\_\+\+PROTOTYPE}} (g\+\_\+eli\+\_\+key\+\_\+tree, \mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}}, gek\+\_\+link, \mbox{\hyperlink{g__eli__key__cache_8c_aee2fff7815847debf76044bf467fd958}{g\+\_\+eli\+\_\+key\+\_\+cmp}})
\item 
\mbox{\hyperlink{g__eli__key__cache_8c_a1242fb8523d88174514e42fdd29d6f8a}{RB\+\_\+\+GENERATE}} (g\+\_\+eli\+\_\+key\+\_\+tree, \mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}}, gek\+\_\+link, \mbox{\hyperlink{g__eli__key__cache_8c_aee2fff7815847debf76044bf467fd958}{g\+\_\+eli\+\_\+key\+\_\+cmp}})
\item 
static struct \mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}} $\ast$ \mbox{\hyperlink{g__eli__key__cache_8c_a6e49116ae542d1da934b59e32d5cd216}{g\+\_\+eli\+\_\+key\+\_\+allocate}} (struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$sc, uint64\+\_\+t keyno)
\item 
static struct \mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}} $\ast$ \mbox{\hyperlink{g__eli__key__cache_8c_a6d67454a8a0893446f20952385cb9788}{g\+\_\+eli\+\_\+key\+\_\+find\+\_\+last}} (struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$sc)
\item 
static void \mbox{\hyperlink{g__eli__key__cache_8c_ab552e15d96c547c624223bdbe99d96d6}{g\+\_\+eli\+\_\+key\+\_\+replace}} (struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$sc, struct \mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}} $\ast$key, uint64\+\_\+t keyno)
\item 
static void \mbox{\hyperlink{g__eli__key__cache_8c_a78798e879ad9727d2b755f9adb421b94}{g\+\_\+eli\+\_\+key\+\_\+remove}} (struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$sc, struct \mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}} $\ast$key)
\item 
void \mbox{\hyperlink{g__eli__key__cache_8c_a8b7574ca318f8b8d499f7fcc35468313}{g\+\_\+eli\+\_\+key\+\_\+init}} (struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$sc)
\item 
void \mbox{\hyperlink{g__eli__key__cache_8c_abecc31857c0153fd28236eae25d1e8d7}{g\+\_\+eli\+\_\+key\+\_\+destroy}} (struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$sc)
\item 
void \mbox{\hyperlink{g__eli__key__cache_8c_a7d9df773c5f36c14e39bbd1e30e5dfc5}{g\+\_\+eli\+\_\+key\+\_\+resize}} (struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$sc)
\item 
\mbox{\hyperlink{binstream_8h_ab077fa1127453be2bd9d4c3c8a768fa7}{uint8\+\_\+t}} $\ast$ \mbox{\hyperlink{g__eli__key__cache_8c_a0271575799ad05ec5fb7adc0b414e137}{g\+\_\+eli\+\_\+key\+\_\+hold}} (struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$sc, off\+\_\+t \mbox{\hyperlink{g__raid__tr__if_8m_ad5f0842c40c7e46344fd8df70187fa0f}{offset}}, size\+\_\+t blocksize)
\item 
void \mbox{\hyperlink{g__eli__key__cache_8c_a6f8aafc6ae8883d71c46a348b8856b28}{g\+\_\+eli\+\_\+key\+\_\+drop}} (struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$sc, \mbox{\hyperlink{binstream_8h_ab077fa1127453be2bd9d4c3c8a768fa7}{uint8\+\_\+t}} $\ast$rawkey)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static u\+\_\+int \mbox{\hyperlink{g__eli__key__cache_8c_a4fd8867a72aa80bb0459a2ad5eeb3589}{g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+limit}} = 8192
\item 
static uint64\+\_\+t \mbox{\hyperlink{g__eli__key__cache_8c_a955b8bacccfd2540de45dde8d4b6aff2}{g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+hits}}
\item 
static uint64\+\_\+t \mbox{\hyperlink{g__eli__key__cache_8c_af43c729be7ab7bf3f9b34c9fe1465658}{g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+misses}}
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{g__eli__key__cache_8c_a8c3ef283470a68cd30afe9b8a72cb60f}\label{g__eli__key__cache_8c_a8c3ef283470a68cd30afe9b8a72cb60f}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!\_\_FBSDID@{\_\_FBSDID}}
\index{\_\_FBSDID@{\_\_FBSDID}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{\_\_FBSDID()}{\_\_FBSDID()}}
{\footnotesize\ttfamily \+\_\+\+\_\+\+FBSDID (\begin{DoxyParamCaption}\item[{\char`\"{}\$Free\+BSD\$\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{g__eli__key__cache_8c_a6e49116ae542d1da934b59e32d5cd216}\label{g__eli__key__cache_8c_a6e49116ae542d1da934b59e32d5cd216}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!g\_eli\_key\_allocate@{g\_eli\_key\_allocate}}
\index{g\_eli\_key\_allocate@{g\_eli\_key\_allocate}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{g\_eli\_key\_allocate()}{g\_eli\_key\_allocate()}}
{\footnotesize\ttfamily static struct \mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}} $\ast$ g\+\_\+eli\+\_\+key\+\_\+allocate (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$}]{sc,  }\item[{uint64\+\_\+t}]{keyno }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__eli__key__cache_8c_source_l00104}{104}} of file \mbox{\hyperlink{g__eli__key__cache_8c_source}{g\+\_\+eli\+\_\+key\+\_\+cache.\+c}}.



References \mbox{\hyperlink{g__eli__key__cache_8c_source_l00077}{g\+\_\+eli\+\_\+key\+\_\+fill()}}, \mbox{\hyperlink{g__eli_8h_source_l00235}{g\+\_\+eli\+\_\+key\+::gek\+\_\+keyno}}, \mbox{\hyperlink{g__eli_8h_source_l00196}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+allocated}}, and \mbox{\hyperlink{g__eli_8h_source_l00193}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+lock}}.



Referenced by \mbox{\hyperlink{g__eli__key__cache_8c_source_l00305}{g\+\_\+eli\+\_\+key\+\_\+hold()}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00181}{g\+\_\+eli\+\_\+key\+\_\+init()}}, and \mbox{\hyperlink{g__eli__key__cache_8c_source_l00254}{g\+\_\+eli\+\_\+key\+\_\+resize()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/df7/g__eli__key__cache_8c_a6e49116ae542d1da934b59e32d5cd216_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/df7/g__eli__key__cache_8c_a6e49116ae542d1da934b59e32d5cd216_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__eli__key__cache_8c_aee2fff7815847debf76044bf467fd958}\label{g__eli__key__cache_8c_aee2fff7815847debf76044bf467fd958}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!g\_eli\_key\_cmp@{g\_eli\_key\_cmp}}
\index{g\_eli\_key\_cmp@{g\_eli\_key\_cmp}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{g\_eli\_key\_cmp()}{g\_eli\_key\_cmp()}}
{\footnotesize\ttfamily static int g\+\_\+eli\+\_\+key\+\_\+cmp (\begin{DoxyParamCaption}\item[{const struct \mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}} $\ast$}]{a,  }\item[{const struct \mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}} $\ast$}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__eli__key__cache_8c_source_l00065}{65}} of file \mbox{\hyperlink{g__eli__key__cache_8c_source}{g\+\_\+eli\+\_\+key\+\_\+cache.\+c}}.



References \mbox{\hyperlink{g__eli_8h_source_l00235}{g\+\_\+eli\+\_\+key\+::gek\+\_\+keyno}}.

\mbox{\Hypertarget{g__eli__key__cache_8c_abecc31857c0153fd28236eae25d1e8d7}\label{g__eli__key__cache_8c_abecc31857c0153fd28236eae25d1e8d7}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!g\_eli\_key\_destroy@{g\_eli\_key\_destroy}}
\index{g\_eli\_key\_destroy@{g\_eli\_key\_destroy}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{g\_eli\_key\_destroy()}{g\_eli\_key\_destroy()}}
{\footnotesize\ttfamily void g\+\_\+eli\+\_\+key\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__eli__key__cache_8c_source_l00236}{236}} of file \mbox{\hyperlink{g__eli__key__cache_8c_source}{g\+\_\+eli\+\_\+key\+\_\+cache.\+c}}.



References \mbox{\hyperlink{g__eli_8h_source_l00118}{G\+\_\+\+ELI\+\_\+\+FLAG\+\_\+\+SINGLE\+\_\+\+KEY}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00167}{g\+\_\+eli\+\_\+key\+\_\+remove()}}, \mbox{\hyperlink{g__eli_8h_source_l00189}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekey}}, \mbox{\hyperlink{g__eli_8h_source_l00193}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+lock}}, and \mbox{\hyperlink{g__eli_8h_source_l00207}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+flags}}.



Referenced by \mbox{\hyperlink{g__eli_8c_source_l01002}{g\+\_\+eli\+\_\+create()}}, \mbox{\hyperlink{g__eli_8c_source_l01191}{g\+\_\+eli\+\_\+destroy()}}, and \mbox{\hyperlink{g__eli__ctl_8c_source_l00863}{g\+\_\+eli\+\_\+suspend\+\_\+one()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=325pt]{d8/df7/g__eli__key__cache_8c_abecc31857c0153fd28236eae25d1e8d7_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/df7/g__eli__key__cache_8c_abecc31857c0153fd28236eae25d1e8d7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__eli__key__cache_8c_a6f8aafc6ae8883d71c46a348b8856b28}\label{g__eli__key__cache_8c_a6f8aafc6ae8883d71c46a348b8856b28}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!g\_eli\_key\_drop@{g\_eli\_key\_drop}}
\index{g\_eli\_key\_drop@{g\_eli\_key\_drop}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{g\_eli\_key\_drop()}{g\_eli\_key\_drop()}}
{\footnotesize\ttfamily void g\+\_\+eli\+\_\+key\+\_\+drop (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$}]{sc,  }\item[{\mbox{\hyperlink{binstream_8h_ab077fa1127453be2bd9d4c3c8a768fa7}{uint8\+\_\+t}} $\ast$}]{rawkey }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__eli__key__cache_8c_source_l00364}{364}} of file \mbox{\hyperlink{g__eli__key__cache_8c_source}{g\+\_\+eli\+\_\+key\+\_\+cache.\+c}}.



References \mbox{\hyperlink{g__eli_8h_source_l00118}{G\+\_\+\+ELI\+\_\+\+FLAG\+\_\+\+SINGLE\+\_\+\+KEY}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00054}{g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+limit}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00134}{g\+\_\+eli\+\_\+key\+\_\+find\+\_\+last()}}, \mbox{\hyperlink{g__eli_8h_source_l00227}{G\+\_\+\+ELI\+\_\+\+KEY\+\_\+\+MAGIC}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00167}{g\+\_\+eli\+\_\+key\+\_\+remove()}}, \mbox{\hyperlink{g__eli_8h_source_l00237}{g\+\_\+eli\+\_\+key\+::gek\+\_\+count}}, \mbox{\hyperlink{g__eli_8h_source_l00233}{g\+\_\+eli\+\_\+key\+::gek\+\_\+magic}}, \mbox{\hyperlink{g__eli_8h_source_l00196}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+allocated}}, \mbox{\hyperlink{g__eli_8h_source_l00193}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+lock}}, \mbox{\hyperlink{g__eli_8h_source_l00195}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+total}}, and \mbox{\hyperlink{g__eli_8h_source_l00207}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+flags}}.



Referenced by \mbox{\hyperlink{g__eli__integrity_8c_source_l00129}{g\+\_\+eli\+\_\+auth\+\_\+read\+\_\+done()}}, \mbox{\hyperlink{g__eli__integrity_8c_source_l00291}{g\+\_\+eli\+\_\+auth\+\_\+write\+\_\+done()}}, \mbox{\hyperlink{g__eli__privacy_8c_source_l00090}{g\+\_\+eli\+\_\+crypto\+\_\+read\+\_\+done()}}, \mbox{\hyperlink{g__eli__privacy_8c_source_l00141}{g\+\_\+eli\+\_\+crypto\+\_\+write\+\_\+done()}}, \mbox{\hyperlink{g__eli_8c_source_l00601}{g\+\_\+eli\+\_\+freesession()}}, and \mbox{\hyperlink{g__eli_8c_source_l00528}{g\+\_\+eli\+\_\+newsession()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=314pt]{d8/df7/g__eli__key__cache_8c_a6f8aafc6ae8883d71c46a348b8856b28_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/df7/g__eli__key__cache_8c_a6f8aafc6ae8883d71c46a348b8856b28_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__eli__key__cache_8c_ab71dc07a76bd6365d076e51f1dd36c70}\label{g__eli__key__cache_8c_ab71dc07a76bd6365d076e51f1dd36c70}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!g\_eli\_key\_fill@{g\_eli\_key\_fill}}
\index{g\_eli\_key\_fill@{g\_eli\_key\_fill}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{g\_eli\_key\_fill()}{g\_eli\_key\_fill()}}
{\footnotesize\ttfamily void g\+\_\+eli\+\_\+key\+\_\+fill (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$}]{sc,  }\item[{struct \mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}} $\ast$}]{key,  }\item[{uint64\+\_\+t}]{keyno }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__eli__key__cache_8c_source_l00077}{77}} of file \mbox{\hyperlink{g__eli__key__cache_8c_source}{g\+\_\+eli\+\_\+key\+\_\+cache.\+c}}.



References \mbox{\hyperlink{g__eli_8h_a9da00a1c85e29640b43e72e814ff687a}{\+\_\+\+\_\+packed}}, \mbox{\hyperlink{g__eli__hmac_8c_source_l00113}{g\+\_\+eli\+\_\+crypto\+\_\+hmac()}}, \mbox{\hyperlink{g__eli_8h_source_l00124}{G\+\_\+\+ELI\+\_\+\+FLAG\+\_\+\+ENC\+\_\+\+IVKEY}}, \mbox{\hyperlink{g__eli_8h_source_l00227}{G\+\_\+\+ELI\+\_\+\+KEY\+\_\+\+MAGIC}}, \mbox{\hyperlink{g__eli_8h_source_l00140}{G\+\_\+\+ELI\+\_\+\+MAXKEYLEN}}, \mbox{\hyperlink{g__eli_8h_source_l00237}{g\+\_\+eli\+\_\+key\+::gek\+\_\+count}}, \mbox{\hyperlink{g__eli_8h_source_l00231}{g\+\_\+eli\+\_\+key\+::gek\+\_\+key}}, \mbox{\hyperlink{g__eli_8h_source_l00235}{g\+\_\+eli\+\_\+key\+::gek\+\_\+keyno}}, \mbox{\hyperlink{g__eli_8h_source_l00233}{g\+\_\+eli\+\_\+key\+::gek\+\_\+magic}}, \mbox{\hyperlink{g__eli_8h_source_l00189}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekey}}, \mbox{\hyperlink{g__eli_8h_source_l00207}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+flags}}, \mbox{\hyperlink{g__eli_8h_source_l00188}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+mkey}}, and \mbox{\hyperlink{binstream_8h_source_l00037}{uint8\+\_\+t}}.



Referenced by \mbox{\hyperlink{g__eli__key__cache_8c_source_l00104}{g\+\_\+eli\+\_\+key\+\_\+allocate()}}, and \mbox{\hyperlink{g__eli__key__cache_8c_source_l00149}{g\+\_\+eli\+\_\+key\+\_\+replace()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/df7/g__eli__key__cache_8c_ab71dc07a76bd6365d076e51f1dd36c70_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/df7/g__eli__key__cache_8c_ab71dc07a76bd6365d076e51f1dd36c70_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__eli__key__cache_8c_a6d67454a8a0893446f20952385cb9788}\label{g__eli__key__cache_8c_a6d67454a8a0893446f20952385cb9788}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!g\_eli\_key\_find\_last@{g\_eli\_key\_find\_last}}
\index{g\_eli\_key\_find\_last@{g\_eli\_key\_find\_last}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{g\_eli\_key\_find\_last()}{g\_eli\_key\_find\_last()}}
{\footnotesize\ttfamily static struct \mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}} $\ast$ g\+\_\+eli\+\_\+key\+\_\+find\+\_\+last (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__eli__key__cache_8c_source_l00134}{134}} of file \mbox{\hyperlink{g__eli__key__cache_8c_source}{g\+\_\+eli\+\_\+key\+\_\+cache.\+c}}.



References \mbox{\hyperlink{g__eli_8h_source_l00237}{g\+\_\+eli\+\_\+key\+::gek\+\_\+count}}, and \mbox{\hyperlink{g__eli_8h_source_l00193}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+lock}}.



Referenced by \mbox{\hyperlink{g__eli__key__cache_8c_source_l00364}{g\+\_\+eli\+\_\+key\+\_\+drop()}}, and \mbox{\hyperlink{g__eli__key__cache_8c_source_l00305}{g\+\_\+eli\+\_\+key\+\_\+hold()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/df7/g__eli__key__cache_8c_a6d67454a8a0893446f20952385cb9788_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__eli__key__cache_8c_a0271575799ad05ec5fb7adc0b414e137}\label{g__eli__key__cache_8c_a0271575799ad05ec5fb7adc0b414e137}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!g\_eli\_key\_hold@{g\_eli\_key\_hold}}
\index{g\_eli\_key\_hold@{g\_eli\_key\_hold}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{g\_eli\_key\_hold()}{g\_eli\_key\_hold()}}
{\footnotesize\ttfamily \mbox{\hyperlink{binstream_8h_ab077fa1127453be2bd9d4c3c8a768fa7}{uint8\+\_\+t}} $\ast$ g\+\_\+eli\+\_\+key\+\_\+hold (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$}]{sc,  }\item[{off\+\_\+t}]{offset,  }\item[{size\+\_\+t}]{blocksize }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__eli__key__cache_8c_source_l00305}{305}} of file \mbox{\hyperlink{g__eli__key__cache_8c_source}{g\+\_\+eli\+\_\+key\+\_\+cache.\+c}}.



References \mbox{\hyperlink{g__eli_8h_source_l00118}{G\+\_\+\+ELI\+\_\+\+FLAG\+\_\+\+SINGLE\+\_\+\+KEY}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00104}{g\+\_\+eli\+\_\+key\+\_\+allocate()}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00057}{g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+hits}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00054}{g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+limit}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00060}{g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+misses}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00134}{g\+\_\+eli\+\_\+key\+\_\+find\+\_\+last()}}, \mbox{\hyperlink{g__eli_8h_source_l00227}{G\+\_\+\+ELI\+\_\+\+KEY\+\_\+\+MAGIC}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00149}{g\+\_\+eli\+\_\+key\+\_\+replace()}}, \mbox{\hyperlink{g__eli_8h_source_l00151}{G\+\_\+\+ELI\+\_\+\+KEY\+\_\+\+SHIFT}}, \mbox{\hyperlink{g__eli_8h_source_l00237}{g\+\_\+eli\+\_\+key\+::gek\+\_\+count}}, \mbox{\hyperlink{g__eli_8h_source_l00231}{g\+\_\+eli\+\_\+key\+::gek\+\_\+key}}, \mbox{\hyperlink{g__eli_8h_source_l00235}{g\+\_\+eli\+\_\+key\+::gek\+\_\+keyno}}, \mbox{\hyperlink{g__eli_8h_source_l00233}{g\+\_\+eli\+\_\+key\+::gek\+\_\+magic}}, \mbox{\hyperlink{g__raid__tr__if_8m_source_l00099}{offset}}, \mbox{\hyperlink{g__eli_8h_source_l00189}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekey}}, \mbox{\hyperlink{g__eli_8h_source_l00196}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+allocated}}, \mbox{\hyperlink{g__eli_8h_source_l00193}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+lock}}, \mbox{\hyperlink{g__eli_8h_source_l00195}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+total}}, and \mbox{\hyperlink{g__eli_8h_source_l00207}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+flags}}.



Referenced by \mbox{\hyperlink{g__eli__integrity_8c_source_l00451}{g\+\_\+eli\+\_\+auth\+\_\+run()}}, \mbox{\hyperlink{g__eli__privacy_8c_source_l00257}{g\+\_\+eli\+\_\+crypto\+\_\+run()}}, and \mbox{\hyperlink{g__eli_8c_source_l00528}{g\+\_\+eli\+\_\+newsession()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/df7/g__eli__key__cache_8c_a0271575799ad05ec5fb7adc0b414e137_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/df7/g__eli__key__cache_8c_a0271575799ad05ec5fb7adc0b414e137_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__eli__key__cache_8c_a8b7574ca318f8b8d499f7fcc35468313}\label{g__eli__key__cache_8c_a8b7574ca318f8b8d499f7fcc35468313}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!g\_eli\_key\_init@{g\_eli\_key\_init}}
\index{g\_eli\_key\_init@{g\_eli\_key\_init}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{g\_eli\_key\_init()}{g\_eli\_key\_init()}}
{\footnotesize\ttfamily void g\+\_\+eli\+\_\+key\+\_\+init (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__eli__key__cache_8c_source_l00181}{181}} of file \mbox{\hyperlink{g__eli__key__cache_8c_source}{g\+\_\+eli\+\_\+key\+\_\+cache.\+c}}.



References \mbox{\hyperlink{g__eli__hmac_8c_source_l00113}{g\+\_\+eli\+\_\+crypto\+\_\+hmac()}}, \mbox{\hyperlink{g__eli_8h_source_l00142}{G\+\_\+\+ELI\+\_\+\+DATAKEYLEN}}, \mbox{\hyperlink{g__eli_8h_source_l00098}{G\+\_\+\+ELI\+\_\+\+FLAG\+\_\+\+AUTH}}, \mbox{\hyperlink{g__eli_8h_source_l00118}{G\+\_\+\+ELI\+\_\+\+FLAG\+\_\+\+SINGLE\+\_\+\+KEY}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00104}{g\+\_\+eli\+\_\+key\+\_\+allocate()}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00054}{g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+limit}}, \mbox{\hyperlink{g__eli_8h_source_l00151}{G\+\_\+\+ELI\+\_\+\+KEY\+\_\+\+SHIFT}}, \mbox{\hyperlink{g__eli_8h_source_l00140}{G\+\_\+\+ELI\+\_\+\+MAXKEYLEN}}, \mbox{\hyperlink{geom_8h_source_l00214}{g\+\_\+provider\+::mediasize}}, \mbox{\hyperlink{g__part__if_8m_source_l00130}{pp}}, \mbox{\hyperlink{g__eli_8h_source_l00189}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekey}}, \mbox{\hyperlink{g__eli_8h_source_l00196}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+allocated}}, \mbox{\hyperlink{g__eli_8h_source_l00193}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+lock}}, \mbox{\hyperlink{g__eli_8h_source_l00195}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+total}}, \mbox{\hyperlink{g__eli_8h_source_l00207}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+flags}}, \mbox{\hyperlink{g__eli_8h_source_l00185}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+geom}}, \mbox{\hyperlink{g__eli_8h_source_l00204}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ivkey}}, \mbox{\hyperlink{g__eli_8h_source_l00209}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+mediasize}}, \mbox{\hyperlink{g__eli_8h_source_l00188}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+mkey}}, \mbox{\hyperlink{g__eli_8h_source_l00210}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+sectorsize}}, \mbox{\hyperlink{geom_8h_source_l00215}{g\+\_\+provider\+::sectorsize}}, and \mbox{\hyperlink{binstream_8h_source_l00037}{uint8\+\_\+t}}.



Referenced by \mbox{\hyperlink{g__eli__key_8c_source_l00217}{g\+\_\+eli\+\_\+mkey\+\_\+propagate()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/df7/g__eli__key__cache_8c_a8b7574ca318f8b8d499f7fcc35468313_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/df7/g__eli__key__cache_8c_a8b7574ca318f8b8d499f7fcc35468313_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__eli__key__cache_8c_a78798e879ad9727d2b755f9adb421b94}\label{g__eli__key__cache_8c_a78798e879ad9727d2b755f9adb421b94}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!g\_eli\_key\_remove@{g\_eli\_key\_remove}}
\index{g\_eli\_key\_remove@{g\_eli\_key\_remove}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{g\_eli\_key\_remove()}{g\_eli\_key\_remove()}}
{\footnotesize\ttfamily static void g\+\_\+eli\+\_\+key\+\_\+remove (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$}]{sc,  }\item[{struct \mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}} $\ast$}]{key }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__eli__key__cache_8c_source_l00167}{167}} of file \mbox{\hyperlink{g__eli__key__cache_8c_source}{g\+\_\+eli\+\_\+key\+\_\+cache.\+c}}.



References \mbox{\hyperlink{g__eli_8h_source_l00227}{G\+\_\+\+ELI\+\_\+\+KEY\+\_\+\+MAGIC}}, \mbox{\hyperlink{g__eli_8h_source_l00237}{g\+\_\+eli\+\_\+key\+::gek\+\_\+count}}, \mbox{\hyperlink{g__eli_8h_source_l00233}{g\+\_\+eli\+\_\+key\+::gek\+\_\+magic}}, \mbox{\hyperlink{g__eli_8h_source_l00196}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+allocated}}, and \mbox{\hyperlink{g__eli_8h_source_l00193}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+lock}}.



Referenced by \mbox{\hyperlink{g__eli__key__cache_8c_source_l00236}{g\+\_\+eli\+\_\+key\+\_\+destroy()}}, and \mbox{\hyperlink{g__eli__key__cache_8c_source_l00364}{g\+\_\+eli\+\_\+key\+\_\+drop()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/df7/g__eli__key__cache_8c_a78798e879ad9727d2b755f9adb421b94_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__eli__key__cache_8c_ab552e15d96c547c624223bdbe99d96d6}\label{g__eli__key__cache_8c_ab552e15d96c547c624223bdbe99d96d6}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!g\_eli\_key\_replace@{g\_eli\_key\_replace}}
\index{g\_eli\_key\_replace@{g\_eli\_key\_replace}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{g\_eli\_key\_replace()}{g\_eli\_key\_replace()}}
{\footnotesize\ttfamily static void g\+\_\+eli\+\_\+key\+\_\+replace (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$}]{sc,  }\item[{struct \mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}} $\ast$}]{key,  }\item[{uint64\+\_\+t}]{keyno }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__eli__key__cache_8c_source_l00149}{149}} of file \mbox{\hyperlink{g__eli__key__cache_8c_source}{g\+\_\+eli\+\_\+key\+\_\+cache.\+c}}.



References \mbox{\hyperlink{g__eli__key__cache_8c_source_l00077}{g\+\_\+eli\+\_\+key\+\_\+fill()}}, \mbox{\hyperlink{g__eli_8h_source_l00227}{G\+\_\+\+ELI\+\_\+\+KEY\+\_\+\+MAGIC}}, \mbox{\hyperlink{g__eli_8h_source_l00237}{g\+\_\+eli\+\_\+key\+::gek\+\_\+count}}, \mbox{\hyperlink{g__eli_8h_source_l00233}{g\+\_\+eli\+\_\+key\+::gek\+\_\+magic}}, and \mbox{\hyperlink{g__eli_8h_source_l00193}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+lock}}.



Referenced by \mbox{\hyperlink{g__eli__key__cache_8c_source_l00305}{g\+\_\+eli\+\_\+key\+\_\+hold()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/df7/g__eli__key__cache_8c_ab552e15d96c547c624223bdbe99d96d6_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/df7/g__eli__key__cache_8c_ab552e15d96c547c624223bdbe99d96d6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__eli__key__cache_8c_a7d9df773c5f36c14e39bbd1e30e5dfc5}\label{g__eli__key__cache_8c_a7d9df773c5f36c14e39bbd1e30e5dfc5}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!g\_eli\_key\_resize@{g\_eli\_key\_resize}}
\index{g\_eli\_key\_resize@{g\_eli\_key\_resize}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{g\_eli\_key\_resize()}{g\_eli\_key\_resize()}}
{\footnotesize\ttfamily void g\+\_\+eli\+\_\+key\+\_\+resize (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__eli__softc}{g\+\_\+eli\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__eli__key__cache_8c_source_l00254}{254}} of file \mbox{\hyperlink{g__eli__key__cache_8c_source}{g\+\_\+eli\+\_\+key\+\_\+cache.\+c}}.



References \mbox{\hyperlink{g__eli_8h_source_l00098}{G\+\_\+\+ELI\+\_\+\+FLAG\+\_\+\+AUTH}}, \mbox{\hyperlink{g__eli_8h_source_l00118}{G\+\_\+\+ELI\+\_\+\+FLAG\+\_\+\+SINGLE\+\_\+\+KEY}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00104}{g\+\_\+eli\+\_\+key\+\_\+allocate()}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00054}{g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+limit}}, \mbox{\hyperlink{g__eli_8h_source_l00151}{G\+\_\+\+ELI\+\_\+\+KEY\+\_\+\+SHIFT}}, \mbox{\hyperlink{geom_8h_source_l00214}{g\+\_\+provider\+::mediasize}}, \mbox{\hyperlink{g__part__if_8m_source_l00130}{pp}}, \mbox{\hyperlink{g__eli_8h_source_l00196}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+allocated}}, \mbox{\hyperlink{g__eli_8h_source_l00193}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+lock}}, \mbox{\hyperlink{g__eli_8h_source_l00195}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+ekeys\+\_\+total}}, \mbox{\hyperlink{g__eli_8h_source_l00207}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+flags}}, \mbox{\hyperlink{g__eli_8h_source_l00185}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+geom}}, \mbox{\hyperlink{g__eli_8h_source_l00209}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+mediasize}}, \mbox{\hyperlink{g__eli_8h_source_l00210}{g\+\_\+eli\+\_\+softc\+::sc\+\_\+sectorsize}}, and \mbox{\hyperlink{geom_8h_source_l00215}{g\+\_\+provider\+::sectorsize}}.



Referenced by \mbox{\hyperlink{g__eli_8c_source_l00378}{g\+\_\+eli\+\_\+resize()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/df7/g__eli__key__cache_8c_a7d9df773c5f36c14e39bbd1e30e5dfc5_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/df7/g__eli__key__cache_8c_a7d9df773c5f36c14e39bbd1e30e5dfc5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__eli__key__cache_8c_a06a072b20b0a62f2ced24ac2600f4a2c}\label{g__eli__key__cache_8c_a06a072b20b0a62f2ced24ac2600f4a2c}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!MALLOC\_DECLARE@{MALLOC\_DECLARE}}
\index{MALLOC\_DECLARE@{MALLOC\_DECLARE}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{MALLOC\_DECLARE()}{MALLOC\_DECLARE()}}
{\footnotesize\ttfamily MALLOC\+\_\+\+DECLARE (\begin{DoxyParamCaption}\item[{M\+\_\+\+ELI}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{g__eli__key__cache_8c_a1242fb8523d88174514e42fdd29d6f8a}\label{g__eli__key__cache_8c_a1242fb8523d88174514e42fdd29d6f8a}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!RB\_GENERATE@{RB\_GENERATE}}
\index{RB\_GENERATE@{RB\_GENERATE}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{RB\_GENERATE()}{RB\_GENERATE()}}
{\footnotesize\ttfamily RB\+\_\+\+GENERATE (\begin{DoxyParamCaption}\item[{g\+\_\+eli\+\_\+key\+\_\+tree}]{,  }\item[{\mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}}}]{,  }\item[{gek\+\_\+link}]{,  }\item[{\mbox{\hyperlink{g__eli__key__cache_8c_aee2fff7815847debf76044bf467fd958}{g\+\_\+eli\+\_\+key\+\_\+cmp}}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{g__eli__key__cache_8c_af83b4114cb08c2d15ab7ff3fa6168897}\label{g__eli__key__cache_8c_af83b4114cb08c2d15ab7ff3fa6168897}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!RB\_PROTOTYPE@{RB\_PROTOTYPE}}
\index{RB\_PROTOTYPE@{RB\_PROTOTYPE}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{RB\_PROTOTYPE()}{RB\_PROTOTYPE()}}
{\footnotesize\ttfamily RB\+\_\+\+PROTOTYPE (\begin{DoxyParamCaption}\item[{g\+\_\+eli\+\_\+key\+\_\+tree}]{,  }\item[{\mbox{\hyperlink{structg__eli__key}{g\+\_\+eli\+\_\+key}}}]{,  }\item[{gek\+\_\+link}]{,  }\item[{\mbox{\hyperlink{g__eli__key__cache_8c_aee2fff7815847debf76044bf467fd958}{g\+\_\+eli\+\_\+key\+\_\+cmp}}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{g__eli__key__cache_8c_ab22b61ed7af24355117430bad247c616}\label{g__eli__key__cache_8c_ab22b61ed7af24355117430bad247c616}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!SYSCTL\_DECL@{SYSCTL\_DECL}}
\index{SYSCTL\_DECL@{SYSCTL\_DECL}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{SYSCTL\_DECL()}{SYSCTL\_DECL()}}
{\footnotesize\ttfamily SYSCTL\+\_\+\+DECL (\begin{DoxyParamCaption}\item[{\+\_\+kern\+\_\+geom\+\_\+eli}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{g__eli__key__cache_8c_ae85a4fd8d63df862e411b2abee15b98e}\label{g__eli__key__cache_8c_ae85a4fd8d63df862e411b2abee15b98e}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!SYSCTL\_UINT@{SYSCTL\_UINT}}
\index{SYSCTL\_UINT@{SYSCTL\_UINT}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{SYSCTL\_UINT()}{SYSCTL\_UINT()}}
{\footnotesize\ttfamily SYSCTL\+\_\+\+UINT (\begin{DoxyParamCaption}\item[{\+\_\+kern\+\_\+geom\+\_\+eli}]{,  }\item[{OID\+\_\+\+AUTO}]{,  }\item[{key\+\_\+cache\+\_\+limit}]{,  }\item[{CTLFLAG\+\_\+\+RDTUN}]{,  }\item[{\&}]{g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+limit,  }\item[{0}]{,  }\item[{\char`\"{}Maximum number of encryption keys to cache\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{g__eli__key__cache_8c_a36883a10b365befae7697b6200bde8a7}\label{g__eli__key__cache_8c_a36883a10b365befae7697b6200bde8a7}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!SYSCTL\_UQUAD@{SYSCTL\_UQUAD}}
\index{SYSCTL\_UQUAD@{SYSCTL\_UQUAD}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{SYSCTL\_UQUAD()}{SYSCTL\_UQUAD()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily SYSCTL\+\_\+\+UQUAD (\begin{DoxyParamCaption}\item[{\+\_\+kern\+\_\+geom\+\_\+eli}]{,  }\item[{OID\+\_\+\+AUTO}]{,  }\item[{key\+\_\+cache\+\_\+hits}]{,  }\item[{CTLFLAG\+\_\+\+RW}]{,  }\item[{\&}]{g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+hits,  }\item[{0}]{,  }\item[{\char`\"{}Key cache hits\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{g__eli__key__cache_8c_a57f56411950ae77cb75f10158edbd413}\label{g__eli__key__cache_8c_a57f56411950ae77cb75f10158edbd413}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!SYSCTL\_UQUAD@{SYSCTL\_UQUAD}}
\index{SYSCTL\_UQUAD@{SYSCTL\_UQUAD}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{SYSCTL\_UQUAD()}{SYSCTL\_UQUAD()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily SYSCTL\+\_\+\+UQUAD (\begin{DoxyParamCaption}\item[{\+\_\+kern\+\_\+geom\+\_\+eli}]{,  }\item[{OID\+\_\+\+AUTO}]{,  }\item[{key\+\_\+cache\+\_\+misses}]{,  }\item[{CTLFLAG\+\_\+\+RW}]{,  }\item[{\&}]{g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+misses,  }\item[{0}]{,  }\item[{\char`\"{}Key cache misses\char`\"{}}]{ }\end{DoxyParamCaption})}



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{g__eli__key__cache_8c_a955b8bacccfd2540de45dde8d4b6aff2}\label{g__eli__key__cache_8c_a955b8bacccfd2540de45dde8d4b6aff2}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!g\_eli\_key\_cache\_hits@{g\_eli\_key\_cache\_hits}}
\index{g\_eli\_key\_cache\_hits@{g\_eli\_key\_cache\_hits}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{g\_eli\_key\_cache\_hits}{g\_eli\_key\_cache\_hits}}
{\footnotesize\ttfamily uint64\+\_\+t g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+hits\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__eli__key__cache_8c_source_l00057}{57}} of file \mbox{\hyperlink{g__eli__key__cache_8c_source}{g\+\_\+eli\+\_\+key\+\_\+cache.\+c}}.



Referenced by \mbox{\hyperlink{g__eli__key__cache_8c_source_l00305}{g\+\_\+eli\+\_\+key\+\_\+hold()}}.

\mbox{\Hypertarget{g__eli__key__cache_8c_a4fd8867a72aa80bb0459a2ad5eeb3589}\label{g__eli__key__cache_8c_a4fd8867a72aa80bb0459a2ad5eeb3589}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!g\_eli\_key\_cache\_limit@{g\_eli\_key\_cache\_limit}}
\index{g\_eli\_key\_cache\_limit@{g\_eli\_key\_cache\_limit}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{g\_eli\_key\_cache\_limit}{g\_eli\_key\_cache\_limit}}
{\footnotesize\ttfamily u\+\_\+int g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+limit = 8192\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__eli__key__cache_8c_source_l00054}{54}} of file \mbox{\hyperlink{g__eli__key__cache_8c_source}{g\+\_\+eli\+\_\+key\+\_\+cache.\+c}}.



Referenced by \mbox{\hyperlink{g__eli__key__cache_8c_source_l00364}{g\+\_\+eli\+\_\+key\+\_\+drop()}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00305}{g\+\_\+eli\+\_\+key\+\_\+hold()}}, \mbox{\hyperlink{g__eli__key__cache_8c_source_l00181}{g\+\_\+eli\+\_\+key\+\_\+init()}}, and \mbox{\hyperlink{g__eli__key__cache_8c_source_l00254}{g\+\_\+eli\+\_\+key\+\_\+resize()}}.

\mbox{\Hypertarget{g__eli__key__cache_8c_af43c729be7ab7bf3f9b34c9fe1465658}\label{g__eli__key__cache_8c_af43c729be7ab7bf3f9b34c9fe1465658}} 
\index{g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}!g\_eli\_key\_cache\_misses@{g\_eli\_key\_cache\_misses}}
\index{g\_eli\_key\_cache\_misses@{g\_eli\_key\_cache\_misses}!g\_eli\_key\_cache.c@{g\_eli\_key\_cache.c}}
\doxysubsubsection{\texorpdfstring{g\_eli\_key\_cache\_misses}{g\_eli\_key\_cache\_misses}}
{\footnotesize\ttfamily uint64\+\_\+t g\+\_\+eli\+\_\+key\+\_\+cache\+\_\+misses\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__eli__key__cache_8c_source_l00060}{60}} of file \mbox{\hyperlink{g__eli__key__cache_8c_source}{g\+\_\+eli\+\_\+key\+\_\+cache.\+c}}.



Referenced by \mbox{\hyperlink{g__eli__key__cache_8c_source_l00305}{g\+\_\+eli\+\_\+key\+\_\+hold()}}.

