\hypertarget{g__bde__lock_8c}{}\doxysection{geom/bde/g\+\_\+bde\+\_\+lock.c File Reference}
\label{g__bde__lock_8c}\index{geom/bde/g\_bde\_lock.c@{geom/bde/g\_bde\_lock.c}}
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/queue.\+h$>$}\newline
{\ttfamily \#include $<$sys/lock.\+h$>$}\newline
{\ttfamily \#include $<$sys/mutex.\+h$>$}\newline
{\ttfamily \#include $<$sys/endian.\+h$>$}\newline
{\ttfamily \#include $<$sys/md5.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$crypto/rijndael/rijndael-\/api-\/fst.\+h$>$}\newline
{\ttfamily \#include $<$crypto/sha2/sha512.\+h$>$}\newline
{\ttfamily \#include $<$geom/geom.\+h$>$}\newline
{\ttfamily \#include $<$geom/bde/g\+\_\+bde.\+h$>$}\newline
Include dependency graph for g\+\_\+bde\+\_\+lock.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d7e/g__bde__lock_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{g__bde__lock_8c_af46081ae7dda9d7486438fe24b6a9316}{g\+\_\+bde\+\_\+hash\+\_\+pass}} (struct \mbox{\hyperlink{structg__bde__softc}{g\+\_\+bde\+\_\+softc}} $\ast$sc, const void $\ast$input, u\+\_\+int len)
\item 
\mbox{\hyperlink{g__bde__lock_8c_a877839f657d74e5f15aefc3e5324bc54}{CTASSERT}} (\mbox{\hyperlink{g__bde_8h_a21fe3d6953b8844e9257ed9e1e1f2b6b}{NLOCK\+\_\+\+FIELDS}}$<$=16)
\item 
static void \mbox{\hyperlink{g__bde__lock_8c_a0a04f943aec21bc49009147950e87c19}{g\+\_\+bde\+\_\+shuffle\+\_\+lock}} (u\+\_\+char $\ast$sha2, int $\ast$\mbox{\hyperlink{g__part__if_8m_ac14417684334d01b4e1e807a19d92816}{buf}})
\item 
int \mbox{\hyperlink{g__bde__lock_8c_ad69ecfe3a582f50544c89fba125cd66e}{g\+\_\+bde\+\_\+encode\+\_\+lock}} (u\+\_\+char $\ast$sha2, struct \mbox{\hyperlink{structg__bde__key}{g\+\_\+bde\+\_\+key}} $\ast$gl, u\+\_\+char $\ast$ptr)
\item 
int \mbox{\hyperlink{g__bde__lock_8c_af339e70d3ac7ec78e2151533ffe938c3}{g\+\_\+bde\+\_\+decode\+\_\+lock}} (struct \mbox{\hyperlink{structg__bde__softc}{g\+\_\+bde\+\_\+softc}} $\ast$sc, struct \mbox{\hyperlink{structg__bde__key}{g\+\_\+bde\+\_\+key}} $\ast$gl, u\+\_\+char $\ast$ptr)
\item 
int \mbox{\hyperlink{g__bde__lock_8c_a5534d1f15d8ca8c1d65e97ecf4165c1b}{g\+\_\+bde\+\_\+keyloc\+\_\+encrypt}} (u\+\_\+char $\ast$sha2, uint64\+\_\+t v0, uint64\+\_\+t v1, void $\ast$output)
\item 
int \mbox{\hyperlink{g__bde__lock_8c_a310e51f6b1a625aa5573d3888662a8ea}{g\+\_\+bde\+\_\+keyloc\+\_\+decrypt}} (u\+\_\+char $\ast$sha2, void $\ast$input, uint64\+\_\+t $\ast$output)
\item 
static int \mbox{\hyperlink{g__bde__lock_8c_a60c1935ea0796c6197939b75e11ab1e4}{g\+\_\+bde\+\_\+decrypt\+\_\+lockx}} (struct \mbox{\hyperlink{structg__bde__softc}{g\+\_\+bde\+\_\+softc}} $\ast$sc, u\+\_\+char $\ast$meta, off\+\_\+t mediasize, u\+\_\+int sectorsize, u\+\_\+int $\ast$nkey)
\item 
int \mbox{\hyperlink{g__bde__lock_8c_a39fd847b1c2a22e14446402feaf1442b}{g\+\_\+bde\+\_\+decrypt\+\_\+lock}} (struct \mbox{\hyperlink{structg__bde__softc}{g\+\_\+bde\+\_\+softc}} $\ast$sc, u\+\_\+char $\ast$keymat, u\+\_\+char $\ast$meta, off\+\_\+t mediasize, u\+\_\+int sectorsize, u\+\_\+int $\ast$nkey)
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{g__bde__lock_8c_a877839f657d74e5f15aefc3e5324bc54}\label{g__bde__lock_8c_a877839f657d74e5f15aefc3e5324bc54}} 
\index{g\_bde\_lock.c@{g\_bde\_lock.c}!CTASSERT@{CTASSERT}}
\index{CTASSERT@{CTASSERT}!g\_bde\_lock.c@{g\_bde\_lock.c}}
\doxysubsubsection{\texorpdfstring{CTASSERT()}{CTASSERT()}}
{\footnotesize\ttfamily CTASSERT (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{g__bde_8h_a21fe3d6953b8844e9257ed9e1e1f2b6b}{NLOCK\+\_\+\+FIELDS}}$<$=}]{16 }\end{DoxyParamCaption})}

\mbox{\Hypertarget{g__bde__lock_8c_af339e70d3ac7ec78e2151533ffe938c3}\label{g__bde__lock_8c_af339e70d3ac7ec78e2151533ffe938c3}} 
\index{g\_bde\_lock.c@{g\_bde\_lock.c}!g\_bde\_decode\_lock@{g\_bde\_decode\_lock}}
\index{g\_bde\_decode\_lock@{g\_bde\_decode\_lock}!g\_bde\_lock.c@{g\_bde\_lock.c}}
\doxysubsubsection{\texorpdfstring{g\_bde\_decode\_lock()}{g\_bde\_decode\_lock()}}
{\footnotesize\ttfamily int g\+\_\+bde\+\_\+decode\+\_\+lock (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__bde__softc}{g\+\_\+bde\+\_\+softc}} $\ast$}]{sc,  }\item[{struct \mbox{\hyperlink{structg__bde__key}{g\+\_\+bde\+\_\+key}} $\ast$}]{gl,  }\item[{u\+\_\+char $\ast$}]{ptr }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__bde__lock_8c_source_l00219}{219}} of file \mbox{\hyperlink{g__bde__lock_8c_source}{g\+\_\+bde\+\_\+lock.\+c}}.



References \mbox{\hyperlink{g__bde_8h_source_l00116}{g\+\_\+bde\+\_\+key\+::flags}}, \mbox{\hyperlink{g__bde_8h_source_l00054}{G\+\_\+\+BDE\+\_\+\+LOCKSIZE}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00129}{g\+\_\+bde\+\_\+shuffle\+\_\+lock()}}, \mbox{\hyperlink{g__bde_8h_source_l00110}{g\+\_\+bde\+\_\+key\+::keyoffset}}, \mbox{\hyperlink{g__bde_8h_source_l00112}{g\+\_\+bde\+\_\+key\+::lsector}}, \mbox{\hyperlink{g__bde_8h_source_l00122}{g\+\_\+bde\+\_\+key\+::mkey}}, \mbox{\hyperlink{g__bde_8h_source_l00055}{NLOCK\+\_\+\+FIELDS}}, \mbox{\hyperlink{g__bde_8h_source_l00118}{g\+\_\+bde\+\_\+key\+::salt}}, \mbox{\hyperlink{g__bde_8h_source_l00106}{g\+\_\+bde\+\_\+key\+::sector0}}, \mbox{\hyperlink{g__bde_8h_source_l00108}{g\+\_\+bde\+\_\+key\+::sectorN}}, \mbox{\hyperlink{g__bde_8h_source_l00114}{g\+\_\+bde\+\_\+key\+::sectorsize}}, \mbox{\hyperlink{g__bde_8h_source_l00147}{g\+\_\+bde\+\_\+softc\+::sha2}}, and \mbox{\hyperlink{g__bde_8h_source_l00120}{g\+\_\+bde\+\_\+key\+::spare}}.



Referenced by \mbox{\hyperlink{g__bde__lock_8c_source_l00356}{g\+\_\+bde\+\_\+decrypt\+\_\+lockx()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=338pt]{dd/d16/g__bde__lock_8c_af339e70d3ac7ec78e2151533ffe938c3_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d16/g__bde__lock_8c_af339e70d3ac7ec78e2151533ffe938c3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde__lock_8c_a39fd847b1c2a22e14446402feaf1442b}\label{g__bde__lock_8c_a39fd847b1c2a22e14446402feaf1442b}} 
\index{g\_bde\_lock.c@{g\_bde\_lock.c}!g\_bde\_decrypt\_lock@{g\_bde\_decrypt\_lock}}
\index{g\_bde\_decrypt\_lock@{g\_bde\_decrypt\_lock}!g\_bde\_lock.c@{g\_bde\_lock.c}}
\doxysubsubsection{\texorpdfstring{g\_bde\_decrypt\_lock()}{g\_bde\_decrypt\_lock()}}
{\footnotesize\ttfamily int g\+\_\+bde\+\_\+decrypt\+\_\+lock (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__bde__softc}{g\+\_\+bde\+\_\+softc}} $\ast$}]{sc,  }\item[{u\+\_\+char $\ast$}]{keymat,  }\item[{u\+\_\+char $\ast$}]{meta,  }\item[{off\+\_\+t}]{mediasize,  }\item[{u\+\_\+int}]{sectorsize,  }\item[{u\+\_\+int $\ast$}]{nkey }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__bde__lock_8c_source_l00446}{446}} of file \mbox{\hyperlink{g__bde__lock_8c_source}{g\+\_\+bde\+\_\+lock.\+c}}.



References \mbox{\hyperlink{g__part__if_8m_source_l00212}{buf}}, \mbox{\hyperlink{g__bde_8h_source_l00137}{g\+\_\+bde\+\_\+softc\+::consumer}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00356}{g\+\_\+bde\+\_\+decrypt\+\_\+lockx()}}, \mbox{\hyperlink{g__bde_8h_source_l00053}{G\+\_\+\+BDE\+\_\+\+MAXKEYS}}, \mbox{\hyperlink{geom_8h_source_l00376}{g\+\_\+free()}}, \mbox{\hyperlink{geom__io_8c_source_l00870}{g\+\_\+read\+\_\+data()}}, \mbox{\hyperlink{g__bde_8h_source_l00114}{g\+\_\+bde\+\_\+key\+::sectorsize}}, and \mbox{\hyperlink{g__bde_8h_source_l00147}{g\+\_\+bde\+\_\+softc\+::sha2}}.



Referenced by \mbox{\hyperlink{g__bde_8c_source_l00116}{g\+\_\+bde\+\_\+create\+\_\+geom()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d16/g__bde__lock_8c_a39fd847b1c2a22e14446402feaf1442b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d16/g__bde__lock_8c_a39fd847b1c2a22e14446402feaf1442b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde__lock_8c_a60c1935ea0796c6197939b75e11ab1e4}\label{g__bde__lock_8c_a60c1935ea0796c6197939b75e11ab1e4}} 
\index{g\_bde\_lock.c@{g\_bde\_lock.c}!g\_bde\_decrypt\_lockx@{g\_bde\_decrypt\_lockx}}
\index{g\_bde\_decrypt\_lockx@{g\_bde\_decrypt\_lockx}!g\_bde\_lock.c@{g\_bde\_lock.c}}
\doxysubsubsection{\texorpdfstring{g\_bde\_decrypt\_lockx()}{g\_bde\_decrypt\_lockx()}}
{\footnotesize\ttfamily static int g\+\_\+bde\+\_\+decrypt\+\_\+lockx (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__bde__softc}{g\+\_\+bde\+\_\+softc}} $\ast$}]{sc,  }\item[{u\+\_\+char $\ast$}]{meta,  }\item[{off\+\_\+t}]{mediasize,  }\item[{u\+\_\+int}]{sectorsize,  }\item[{u\+\_\+int $\ast$}]{nkey }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__bde__lock_8c_source_l00356}{356}} of file \mbox{\hyperlink{g__bde__lock_8c_source}{g\+\_\+bde\+\_\+lock.\+c}}.



References \mbox{\hyperlink{g__bde_8h_source_l00209}{AES\+\_\+decrypt()}}, \mbox{\hyperlink{g__bde_8h_source_l00182}{AES\+\_\+init()}}, \mbox{\hyperlink{g__bde_8h_source_l00191}{AES\+\_\+makekey()}}, \mbox{\hyperlink{g__part__if_8m_source_l00212}{buf}}, \mbox{\hyperlink{g__bde_8h_source_l00137}{g\+\_\+bde\+\_\+softc\+::consumer}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00219}{g\+\_\+bde\+\_\+decode\+\_\+lock()}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00326}{g\+\_\+bde\+\_\+keyloc\+\_\+decrypt()}}, \mbox{\hyperlink{g__bde_8h_source_l00054}{G\+\_\+\+BDE\+\_\+\+LOCKSIZE}}, \mbox{\hyperlink{g__bde_8h_source_l00053}{G\+\_\+\+BDE\+\_\+\+MAXKEYS}}, \mbox{\hyperlink{geom_8h_source_l00376}{g\+\_\+free()}}, \mbox{\hyperlink{geom__io_8c_source_l00870}{g\+\_\+read\+\_\+data()}}, \mbox{\hyperlink{g__bde_8h_source_l00142}{g\+\_\+bde\+\_\+softc\+::key}}, \mbox{\hyperlink{g__bde_8h_source_l00112}{g\+\_\+bde\+\_\+key\+::lsector}}, \mbox{\hyperlink{g__bde_8h_source_l00122}{g\+\_\+bde\+\_\+key\+::mkey}}, \mbox{\hyperlink{g__bde_8h_source_l00114}{g\+\_\+bde\+\_\+key\+::sectorsize}}, and \mbox{\hyperlink{g__bde_8h_source_l00147}{g\+\_\+bde\+\_\+softc\+::sha2}}.



Referenced by \mbox{\hyperlink{g__bde__lock_8c_source_l00446}{g\+\_\+bde\+\_\+decrypt\+\_\+lock()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d16/g__bde__lock_8c_a60c1935ea0796c6197939b75e11ab1e4_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d16/g__bde__lock_8c_a60c1935ea0796c6197939b75e11ab1e4_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde__lock_8c_ad69ecfe3a582f50544c89fba125cd66e}\label{g__bde__lock_8c_ad69ecfe3a582f50544c89fba125cd66e}} 
\index{g\_bde\_lock.c@{g\_bde\_lock.c}!g\_bde\_encode\_lock@{g\_bde\_encode\_lock}}
\index{g\_bde\_encode\_lock@{g\_bde\_encode\_lock}!g\_bde\_lock.c@{g\_bde\_lock.c}}
\doxysubsubsection{\texorpdfstring{g\_bde\_encode\_lock()}{g\_bde\_encode\_lock()}}
{\footnotesize\ttfamily int g\+\_\+bde\+\_\+encode\+\_\+lock (\begin{DoxyParamCaption}\item[{u\+\_\+char $\ast$}]{sha2,  }\item[{struct \mbox{\hyperlink{structg__bde__key}{g\+\_\+bde\+\_\+key}} $\ast$}]{gl,  }\item[{u\+\_\+char $\ast$}]{ptr }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__bde__lock_8c_source_l00149}{149}} of file \mbox{\hyperlink{g__bde__lock_8c_source}{g\+\_\+bde\+\_\+lock.\+c}}.



References \mbox{\hyperlink{g__bde_8h_source_l00116}{g\+\_\+bde\+\_\+key\+::flags}}, \mbox{\hyperlink{g__bde_8h_source_l00054}{G\+\_\+\+BDE\+\_\+\+LOCKSIZE}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00129}{g\+\_\+bde\+\_\+shuffle\+\_\+lock()}}, \mbox{\hyperlink{g__bde_8h_source_l00110}{g\+\_\+bde\+\_\+key\+::keyoffset}}, \mbox{\hyperlink{g__bde_8h_source_l00112}{g\+\_\+bde\+\_\+key\+::lsector}}, \mbox{\hyperlink{g__bde_8h_source_l00122}{g\+\_\+bde\+\_\+key\+::mkey}}, \mbox{\hyperlink{g__bde_8h_source_l00055}{NLOCK\+\_\+\+FIELDS}}, \mbox{\hyperlink{g__bde_8h_source_l00118}{g\+\_\+bde\+\_\+key\+::salt}}, \mbox{\hyperlink{g__bde_8h_source_l00106}{g\+\_\+bde\+\_\+key\+::sector0}}, \mbox{\hyperlink{g__bde_8h_source_l00108}{g\+\_\+bde\+\_\+key\+::sectorN}}, \mbox{\hyperlink{g__bde_8h_source_l00114}{g\+\_\+bde\+\_\+key\+::sectorsize}}, and \mbox{\hyperlink{g__bde_8h_source_l00120}{g\+\_\+bde\+\_\+key\+::spare}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=338pt]{dd/d16/g__bde__lock_8c_ad69ecfe3a582f50544c89fba125cd66e_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde__lock_8c_af46081ae7dda9d7486438fe24b6a9316}\label{g__bde__lock_8c_af46081ae7dda9d7486438fe24b6a9316}} 
\index{g\_bde\_lock.c@{g\_bde\_lock.c}!g\_bde\_hash\_pass@{g\_bde\_hash\_pass}}
\index{g\_bde\_hash\_pass@{g\_bde\_hash\_pass}!g\_bde\_lock.c@{g\_bde\_lock.c}}
\doxysubsubsection{\texorpdfstring{g\_bde\_hash\_pass()}{g\_bde\_hash\_pass()}}
{\footnotesize\ttfamily void g\+\_\+bde\+\_\+hash\+\_\+pass (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__bde__softc}{g\+\_\+bde\+\_\+softc}} $\ast$}]{sc,  }\item[{const void $\ast$}]{input,  }\item[{u\+\_\+int}]{len }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__bde__lock_8c_source_l00079}{79}} of file \mbox{\hyperlink{g__bde__lock_8c_source}{g\+\_\+bde\+\_\+lock.\+c}}.



References \mbox{\hyperlink{g__bde_8h_source_l00147}{g\+\_\+bde\+\_\+softc\+::sha2}}.

\mbox{\Hypertarget{g__bde__lock_8c_a310e51f6b1a625aa5573d3888662a8ea}\label{g__bde__lock_8c_a310e51f6b1a625aa5573d3888662a8ea}} 
\index{g\_bde\_lock.c@{g\_bde\_lock.c}!g\_bde\_keyloc\_decrypt@{g\_bde\_keyloc\_decrypt}}
\index{g\_bde\_keyloc\_decrypt@{g\_bde\_keyloc\_decrypt}!g\_bde\_lock.c@{g\_bde\_lock.c}}
\doxysubsubsection{\texorpdfstring{g\_bde\_keyloc\_decrypt()}{g\_bde\_keyloc\_decrypt()}}
{\footnotesize\ttfamily int g\+\_\+bde\+\_\+keyloc\+\_\+decrypt (\begin{DoxyParamCaption}\item[{u\+\_\+char $\ast$}]{sha2,  }\item[{void $\ast$}]{input,  }\item[{uint64\+\_\+t $\ast$}]{output }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__bde__lock_8c_source_l00326}{326}} of file \mbox{\hyperlink{g__bde__lock_8c_source}{g\+\_\+bde\+\_\+lock.\+c}}.



References \mbox{\hyperlink{g__bde_8h_source_l00209}{AES\+\_\+decrypt()}}, \mbox{\hyperlink{g__bde_8h_source_l00182}{AES\+\_\+init()}}, \mbox{\hyperlink{g__bde_8h_source_l00191}{AES\+\_\+makekey()}}, \mbox{\hyperlink{g__part__if_8m_source_l00212}{buf}}, and \mbox{\hyperlink{g__bde_8h_source_l00051}{G\+\_\+\+BDE\+\_\+\+KKEYBITS}}.



Referenced by \mbox{\hyperlink{g__bde__lock_8c_source_l00356}{g\+\_\+bde\+\_\+decrypt\+\_\+lockx()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=326pt]{dd/d16/g__bde__lock_8c_a310e51f6b1a625aa5573d3888662a8ea_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d16/g__bde__lock_8c_a310e51f6b1a625aa5573d3888662a8ea_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde__lock_8c_a5534d1f15d8ca8c1d65e97ecf4165c1b}\label{g__bde__lock_8c_a5534d1f15d8ca8c1d65e97ecf4165c1b}} 
\index{g\_bde\_lock.c@{g\_bde\_lock.c}!g\_bde\_keyloc\_encrypt@{g\_bde\_keyloc\_encrypt}}
\index{g\_bde\_keyloc\_encrypt@{g\_bde\_keyloc\_encrypt}!g\_bde\_lock.c@{g\_bde\_lock.c}}
\doxysubsubsection{\texorpdfstring{g\_bde\_keyloc\_encrypt()}{g\_bde\_keyloc\_encrypt()}}
{\footnotesize\ttfamily int g\+\_\+bde\+\_\+keyloc\+\_\+encrypt (\begin{DoxyParamCaption}\item[{u\+\_\+char $\ast$}]{sha2,  }\item[{uint64\+\_\+t}]{v0,  }\item[{uint64\+\_\+t}]{v1,  }\item[{void $\ast$}]{output }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__bde__lock_8c_source_l00308}{308}} of file \mbox{\hyperlink{g__bde__lock_8c_source}{g\+\_\+bde\+\_\+lock.\+c}}.



References \mbox{\hyperlink{g__bde_8h_source_l00200}{AES\+\_\+encrypt()}}, \mbox{\hyperlink{g__bde_8h_source_l00182}{AES\+\_\+init()}}, \mbox{\hyperlink{g__bde_8h_source_l00191}{AES\+\_\+makekey()}}, \mbox{\hyperlink{g__part__if_8m_source_l00212}{buf}}, and \mbox{\hyperlink{g__bde_8h_source_l00051}{G\+\_\+\+BDE\+\_\+\+KKEYBITS}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=326pt]{dd/d16/g__bde__lock_8c_a5534d1f15d8ca8c1d65e97ecf4165c1b_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde__lock_8c_a0a04f943aec21bc49009147950e87c19}\label{g__bde__lock_8c_a0a04f943aec21bc49009147950e87c19}} 
\index{g\_bde\_lock.c@{g\_bde\_lock.c}!g\_bde\_shuffle\_lock@{g\_bde\_shuffle\_lock}}
\index{g\_bde\_shuffle\_lock@{g\_bde\_shuffle\_lock}!g\_bde\_lock.c@{g\_bde\_lock.c}}
\doxysubsubsection{\texorpdfstring{g\_bde\_shuffle\_lock()}{g\_bde\_shuffle\_lock()}}
{\footnotesize\ttfamily static void g\+\_\+bde\+\_\+shuffle\+\_\+lock (\begin{DoxyParamCaption}\item[{u\+\_\+char $\ast$}]{sha2,  }\item[{int $\ast$}]{buf }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__bde__lock_8c_source_l00129}{129}} of file \mbox{\hyperlink{g__bde__lock_8c_source}{g\+\_\+bde\+\_\+lock.\+c}}.



References \mbox{\hyperlink{g__part__if_8m_source_l00212}{buf}}, and \mbox{\hyperlink{g__bde_8h_source_l00055}{NLOCK\+\_\+\+FIELDS}}.



Referenced by \mbox{\hyperlink{g__bde__lock_8c_source_l00219}{g\+\_\+bde\+\_\+decode\+\_\+lock()}}, and \mbox{\hyperlink{g__bde__lock_8c_source_l00149}{g\+\_\+bde\+\_\+encode\+\_\+lock()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d16/g__bde__lock_8c_a0a04f943aec21bc49009147950e87c19_icgraph}
\end{center}
\end{figure}
