\hypertarget{g__bde_8h}{}\doxysection{geom/bde/g\+\_\+bde.h File Reference}
\label{g__bde_8h}\index{geom/bde/g\_bde.h@{geom/bde/g\_bde.h}}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d2/d4b/g__bde_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structg__bde__sector}{g\+\_\+bde\+\_\+sector}}
\item 
struct \mbox{\hyperlink{structg__bde__work}{g\+\_\+bde\+\_\+work}}
\item 
struct \mbox{\hyperlink{structg__bde__key}{g\+\_\+bde\+\_\+key}}
\item 
struct \mbox{\hyperlink{structg__bde__softc}{g\+\_\+bde\+\_\+softc}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{g__bde_8h_a92a550537fff119d0ed7632b75ea23c3}{G\+\_\+\+BDE\+\_\+\+MKEYLEN}}~(2048/8)
\item 
\#define \mbox{\hyperlink{g__bde_8h_aa2e8cd900a66aea1ef03f639a2adaefd}{G\+\_\+\+BDE\+\_\+\+SKEYBITS}}~128
\item 
\#define \mbox{\hyperlink{g__bde_8h_aeb4e94faeca023758a78cd9cd45cc656}{G\+\_\+\+BDE\+\_\+\+SKEYLEN}}~(\mbox{\hyperlink{g__bde_8h_aa2e8cd900a66aea1ef03f639a2adaefd}{G\+\_\+\+BDE\+\_\+\+SKEYBITS}}/8)
\item 
\#define \mbox{\hyperlink{g__bde_8h_ac023a67b536d4bd7b16f5a6e17b6614c}{G\+\_\+\+BDE\+\_\+\+KKEYBITS}}~128
\item 
\#define \mbox{\hyperlink{g__bde_8h_af85331b03160162adca71ab432df6960}{G\+\_\+\+BDE\+\_\+\+KKEYLEN}}~(\mbox{\hyperlink{g__bde_8h_ac023a67b536d4bd7b16f5a6e17b6614c}{G\+\_\+\+BDE\+\_\+\+KKEYBITS}}/8)
\item 
\#define \mbox{\hyperlink{g__bde_8h_a0f44849dd4673db8de19f94a741d27a7}{G\+\_\+\+BDE\+\_\+\+MAXKEYS}}~4
\item 
\#define \mbox{\hyperlink{g__bde_8h_a5f776be28c749118116249f13953d13c}{G\+\_\+\+BDE\+\_\+\+LOCKSIZE}}~384
\item 
\#define \mbox{\hyperlink{g__bde_8h_a21fe3d6953b8844e9257ed9e1e1f2b6b}{NLOCK\+\_\+\+FIELDS}}~13
\item 
\#define \mbox{\hyperlink{g__bde_8h_ad2efcf5bc0c2ec06b62d36b452c95ab4}{G\+\_\+\+BDE\+\_\+\+KEYBYTES}}~304
\item 
\#define \mbox{\hyperlink{g__bde_8h_aabb5ad70c88f55209cff7ec5684d13c1}{\+\_\+\+\_\+diagused}}
\item 
\#define \mbox{\hyperlink{g__bde_8h_a3181cc6aa48261fcb4f5caf51f6dd2aa}{GBDE\+\_\+\+F\+\_\+\+SECT0}}~1
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{g__bde_8h_aa424947a388f787015d468937a543765}{g\+\_\+bde\+\_\+crypt\+\_\+delete}} (struct \mbox{\hyperlink{structg__bde__work}{g\+\_\+bde\+\_\+work}} $\ast$wp)
\item 
void \mbox{\hyperlink{g__bde_8h_a0e360ba2bc6c7e1f8cd28e1766276311}{g\+\_\+bde\+\_\+crypt\+\_\+read}} (struct \mbox{\hyperlink{structg__bde__work}{g\+\_\+bde\+\_\+work}} $\ast$wp)
\item 
void \mbox{\hyperlink{g__bde_8h_a3704204fda32232892e3c0f046c04e8c}{g\+\_\+bde\+\_\+crypt\+\_\+write}} (struct \mbox{\hyperlink{structg__bde__work}{g\+\_\+bde\+\_\+work}} $\ast$wp)
\item 
void \mbox{\hyperlink{g__bde_8h_a94d0d46469849b5f0dce88e97215385d}{g\+\_\+bde\+\_\+zap\+\_\+key}} (struct \mbox{\hyperlink{structg__bde__softc}{g\+\_\+bde\+\_\+softc}} $\ast$sc)
\item 
int \mbox{\hyperlink{g__bde_8h_a0ac13709080ccf0bf60d511df6db96c7}{g\+\_\+bde\+\_\+get\+\_\+key}} (struct \mbox{\hyperlink{structg__bde__softc}{g\+\_\+bde\+\_\+softc}} $\ast$sc, void $\ast$ptr, int len)
\item 
int \mbox{\hyperlink{g__bde_8h_a9280f5e251f3301a8a45da89e31cf312}{g\+\_\+bde\+\_\+init\+\_\+keybytes}} (struct \mbox{\hyperlink{structg__bde__softc}{g\+\_\+bde\+\_\+softc}} $\ast$sc, char $\ast$passp, int len)
\item 
int \mbox{\hyperlink{g__bde_8h_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_8h_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_8h_a5534d1f15d8ca8c1d65e97ecf4165c1b}{g\+\_\+bde\+\_\+keyloc\+\_\+encrypt}} (u\+\_\+char $\ast$sha2, uint64\+\_\+t v0, uint64\+\_\+t v1, void $\ast$output)
\item 
int \mbox{\hyperlink{g__bde_8h_a310e51f6b1a625aa5573d3888662a8ea}{g\+\_\+bde\+\_\+keyloc\+\_\+decrypt}} (u\+\_\+char $\ast$sha2, void $\ast$input, uint64\+\_\+t $\ast$output)
\item 
int \mbox{\hyperlink{g__bde_8h_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)
\item 
void \mbox{\hyperlink{g__bde_8h_af46081ae7dda9d7486438fe24b6a9316}{g\+\_\+bde\+\_\+hash\+\_\+pass}} (struct \mbox{\hyperlink{structg__bde__softc}{g\+\_\+bde\+\_\+softc}} $\ast$sc, const void $\ast$input, u\+\_\+int len)
\item 
uint64\+\_\+t \mbox{\hyperlink{g__bde_8h_a1a81354f303cb614add4800492d5298a}{g\+\_\+bde\+\_\+max\+\_\+sector}} (struct \mbox{\hyperlink{structg__bde__key}{g\+\_\+bde\+\_\+key}} $\ast$lp)
\item 
void \mbox{\hyperlink{g__bde_8h_ac2890ae097fa50be721493bdd8d5b3d7}{g\+\_\+bde\+\_\+map\+\_\+sector}} (struct \mbox{\hyperlink{structg__bde__work}{g\+\_\+bde\+\_\+work}} $\ast$wp)
\item 
void \mbox{\hyperlink{g__bde_8h_afa8a48bd707806368e19c97a59f12718}{g\+\_\+bde\+\_\+start1}} (struct bio $\ast$\mbox{\hyperlink{g__raid__tr__if_8m_a09ac99485c68908acb7b8767e2b93e80}{bp}})
\item 
void \mbox{\hyperlink{g__bde_8h_a6d037c99d1189618a550c7b1d84b53bb}{g\+\_\+bde\+\_\+worker}} (void $\ast$arg)
\item 
static \+\_\+\+\_\+inline void \mbox{\hyperlink{g__bde_8h_ab5d14c928ffff64fb86d9524d0f5dada}{AES\+\_\+init}} (cipher\+Instance $\ast$ci)
\item 
static \+\_\+\+\_\+inline void \mbox{\hyperlink{g__bde_8h_a7620f4db15c690c1dbf4dfc40a656727}{AES\+\_\+makekey}} (key\+Instance $\ast$ki, int dir, u\+\_\+int len, const void $\ast$key)
\item 
static \+\_\+\+\_\+inline void \mbox{\hyperlink{g__bde_8h_ad6e8bd58e9bdf77aa27d86282309d0f4}{AES\+\_\+encrypt}} (cipher\+Instance $\ast$ci, key\+Instance $\ast$ki, const void $\ast$in, void $\ast$out, u\+\_\+int len)
\item 
static \+\_\+\+\_\+inline void \mbox{\hyperlink{g__bde_8h_a51f1110fa4c35557b1a2cd0b7d184c9f}{AES\+\_\+decrypt}} (cipher\+Instance $\ast$ci, key\+Instance $\ast$ki, const void $\ast$in, void $\ast$out, u\+\_\+int len)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{g__bde_8h_aabb5ad70c88f55209cff7ec5684d13c1}\label{g__bde_8h_aabb5ad70c88f55209cff7ec5684d13c1}} 
\index{g\_bde.h@{g\_bde.h}!\_\_diagused@{\_\_diagused}}
\index{\_\_diagused@{\_\_diagused}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{\_\_diagused}{\_\_diagused}}
{\footnotesize\ttfamily \#define \+\_\+\+\_\+diagused}



Definition at line \mbox{\hyperlink{g__bde_8h_source_l00062}{62}} of file \mbox{\hyperlink{g__bde_8h_source}{g\+\_\+bde.\+h}}.

\mbox{\Hypertarget{g__bde_8h_ad2efcf5bc0c2ec06b62d36b452c95ab4}\label{g__bde_8h_ad2efcf5bc0c2ec06b62d36b452c95ab4}} 
\index{g\_bde.h@{g\_bde.h}!G\_BDE\_KEYBYTES@{G\_BDE\_KEYBYTES}}
\index{G\_BDE\_KEYBYTES@{G\_BDE\_KEYBYTES}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{G\_BDE\_KEYBYTES}{G\_BDE\_KEYBYTES}}
{\footnotesize\ttfamily \#define G\+\_\+\+BDE\+\_\+\+KEYBYTES~304}



Definition at line \mbox{\hyperlink{g__bde_8h_source_l00058}{58}} of file \mbox{\hyperlink{g__bde_8h_source}{g\+\_\+bde.\+h}}.

\mbox{\Hypertarget{g__bde_8h_ac023a67b536d4bd7b16f5a6e17b6614c}\label{g__bde_8h_ac023a67b536d4bd7b16f5a6e17b6614c}} 
\index{g\_bde.h@{g\_bde.h}!G\_BDE\_KKEYBITS@{G\_BDE\_KKEYBITS}}
\index{G\_BDE\_KKEYBITS@{G\_BDE\_KKEYBITS}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{G\_BDE\_KKEYBITS}{G\_BDE\_KKEYBITS}}
{\footnotesize\ttfamily \#define G\+\_\+\+BDE\+\_\+\+KKEYBITS~128}



Definition at line \mbox{\hyperlink{g__bde_8h_source_l00051}{51}} of file \mbox{\hyperlink{g__bde_8h_source}{g\+\_\+bde.\+h}}.

\mbox{\Hypertarget{g__bde_8h_af85331b03160162adca71ab432df6960}\label{g__bde_8h_af85331b03160162adca71ab432df6960}} 
\index{g\_bde.h@{g\_bde.h}!G\_BDE\_KKEYLEN@{G\_BDE\_KKEYLEN}}
\index{G\_BDE\_KKEYLEN@{G\_BDE\_KKEYLEN}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{G\_BDE\_KKEYLEN}{G\_BDE\_KKEYLEN}}
{\footnotesize\ttfamily \#define G\+\_\+\+BDE\+\_\+\+KKEYLEN~(\mbox{\hyperlink{g__bde_8h_ac023a67b536d4bd7b16f5a6e17b6614c}{G\+\_\+\+BDE\+\_\+\+KKEYBITS}}/8)}



Definition at line \mbox{\hyperlink{g__bde_8h_source_l00052}{52}} of file \mbox{\hyperlink{g__bde_8h_source}{g\+\_\+bde.\+h}}.

\mbox{\Hypertarget{g__bde_8h_a5f776be28c749118116249f13953d13c}\label{g__bde_8h_a5f776be28c749118116249f13953d13c}} 
\index{g\_bde.h@{g\_bde.h}!G\_BDE\_LOCKSIZE@{G\_BDE\_LOCKSIZE}}
\index{G\_BDE\_LOCKSIZE@{G\_BDE\_LOCKSIZE}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{G\_BDE\_LOCKSIZE}{G\_BDE\_LOCKSIZE}}
{\footnotesize\ttfamily \#define G\+\_\+\+BDE\+\_\+\+LOCKSIZE~384}



Definition at line \mbox{\hyperlink{g__bde_8h_source_l00054}{54}} of file \mbox{\hyperlink{g__bde_8h_source}{g\+\_\+bde.\+h}}.

\mbox{\Hypertarget{g__bde_8h_a0f44849dd4673db8de19f94a741d27a7}\label{g__bde_8h_a0f44849dd4673db8de19f94a741d27a7}} 
\index{g\_bde.h@{g\_bde.h}!G\_BDE\_MAXKEYS@{G\_BDE\_MAXKEYS}}
\index{G\_BDE\_MAXKEYS@{G\_BDE\_MAXKEYS}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{G\_BDE\_MAXKEYS}{G\_BDE\_MAXKEYS}}
{\footnotesize\ttfamily \#define G\+\_\+\+BDE\+\_\+\+MAXKEYS~4}



Definition at line \mbox{\hyperlink{g__bde_8h_source_l00053}{53}} of file \mbox{\hyperlink{g__bde_8h_source}{g\+\_\+bde.\+h}}.

\mbox{\Hypertarget{g__bde_8h_a92a550537fff119d0ed7632b75ea23c3}\label{g__bde_8h_a92a550537fff119d0ed7632b75ea23c3}} 
\index{g\_bde.h@{g\_bde.h}!G\_BDE\_MKEYLEN@{G\_BDE\_MKEYLEN}}
\index{G\_BDE\_MKEYLEN@{G\_BDE\_MKEYLEN}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{G\_BDE\_MKEYLEN}{G\_BDE\_MKEYLEN}}
{\footnotesize\ttfamily \#define G\+\_\+\+BDE\+\_\+\+MKEYLEN~(2048/8)}



Definition at line \mbox{\hyperlink{g__bde_8h_source_l00048}{48}} of file \mbox{\hyperlink{g__bde_8h_source}{g\+\_\+bde.\+h}}.

\mbox{\Hypertarget{g__bde_8h_aa2e8cd900a66aea1ef03f639a2adaefd}\label{g__bde_8h_aa2e8cd900a66aea1ef03f639a2adaefd}} 
\index{g\_bde.h@{g\_bde.h}!G\_BDE\_SKEYBITS@{G\_BDE\_SKEYBITS}}
\index{G\_BDE\_SKEYBITS@{G\_BDE\_SKEYBITS}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{G\_BDE\_SKEYBITS}{G\_BDE\_SKEYBITS}}
{\footnotesize\ttfamily \#define G\+\_\+\+BDE\+\_\+\+SKEYBITS~128}



Definition at line \mbox{\hyperlink{g__bde_8h_source_l00049}{49}} of file \mbox{\hyperlink{g__bde_8h_source}{g\+\_\+bde.\+h}}.

\mbox{\Hypertarget{g__bde_8h_aeb4e94faeca023758a78cd9cd45cc656}\label{g__bde_8h_aeb4e94faeca023758a78cd9cd45cc656}} 
\index{g\_bde.h@{g\_bde.h}!G\_BDE\_SKEYLEN@{G\_BDE\_SKEYLEN}}
\index{G\_BDE\_SKEYLEN@{G\_BDE\_SKEYLEN}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{G\_BDE\_SKEYLEN}{G\_BDE\_SKEYLEN}}
{\footnotesize\ttfamily \#define G\+\_\+\+BDE\+\_\+\+SKEYLEN~(\mbox{\hyperlink{g__bde_8h_aa2e8cd900a66aea1ef03f639a2adaefd}{G\+\_\+\+BDE\+\_\+\+SKEYBITS}}/8)}



Definition at line \mbox{\hyperlink{g__bde_8h_source_l00050}{50}} of file \mbox{\hyperlink{g__bde_8h_source}{g\+\_\+bde.\+h}}.

\mbox{\Hypertarget{g__bde_8h_a3181cc6aa48261fcb4f5caf51f6dd2aa}\label{g__bde_8h_a3181cc6aa48261fcb4f5caf51f6dd2aa}} 
\index{g\_bde.h@{g\_bde.h}!GBDE\_F\_SECT0@{GBDE\_F\_SECT0}}
\index{GBDE\_F\_SECT0@{GBDE\_F\_SECT0}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{GBDE\_F\_SECT0}{GBDE\_F\_SECT0}}
{\footnotesize\ttfamily \#define GBDE\+\_\+\+F\+\_\+\+SECT0~1}



Definition at line \mbox{\hyperlink{g__bde_8h_source_l00117}{117}} of file \mbox{\hyperlink{g__bde_8h_source}{g\+\_\+bde.\+h}}.

\mbox{\Hypertarget{g__bde_8h_a21fe3d6953b8844e9257ed9e1e1f2b6b}\label{g__bde_8h_a21fe3d6953b8844e9257ed9e1e1f2b6b}} 
\index{g\_bde.h@{g\_bde.h}!NLOCK\_FIELDS@{NLOCK\_FIELDS}}
\index{NLOCK\_FIELDS@{NLOCK\_FIELDS}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{NLOCK\_FIELDS}{NLOCK\_FIELDS}}
{\footnotesize\ttfamily \#define NLOCK\+\_\+\+FIELDS~13}



Definition at line \mbox{\hyperlink{g__bde_8h_source_l00055}{55}} of file \mbox{\hyperlink{g__bde_8h_source}{g\+\_\+bde.\+h}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{g__bde_8h_a51f1110fa4c35557b1a2cd0b7d184c9f}\label{g__bde_8h_a51f1110fa4c35557b1a2cd0b7d184c9f}} 
\index{g\_bde.h@{g\_bde.h}!AES\_decrypt@{AES\_decrypt}}
\index{AES\_decrypt@{AES\_decrypt}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{AES\_decrypt()}{AES\_decrypt()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline void AES\+\_\+decrypt (\begin{DoxyParamCaption}\item[{cipher\+Instance $\ast$}]{ci,  }\item[{key\+Instance $\ast$}]{ki,  }\item[{const void $\ast$}]{in,  }\item[{void $\ast$}]{out,  }\item[{u\+\_\+int}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__bde_8h_source_l00209}{209}} of file \mbox{\hyperlink{g__bde_8h_source}{g\+\_\+bde.\+h}}.



References \mbox{\hyperlink{g__bde_8h_source_l00062}{\+\_\+\+\_\+diagused}}.



Referenced by \mbox{\hyperlink{g__bde__crypt_8c_source_l00118}{g\+\_\+bde\+\_\+crypt\+\_\+read()}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00356}{g\+\_\+bde\+\_\+decrypt\+\_\+lockx()}}, and \mbox{\hyperlink{g__bde__lock_8c_source_l00326}{g\+\_\+bde\+\_\+keyloc\+\_\+decrypt()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d2c/g__bde_8h_a51f1110fa4c35557b1a2cd0b7d184c9f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8h_ad6e8bd58e9bdf77aa27d86282309d0f4}\label{g__bde_8h_ad6e8bd58e9bdf77aa27d86282309d0f4}} 
\index{g\_bde.h@{g\_bde.h}!AES\_encrypt@{AES\_encrypt}}
\index{AES\_encrypt@{AES\_encrypt}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{AES\_encrypt()}{AES\_encrypt()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline void AES\+\_\+encrypt (\begin{DoxyParamCaption}\item[{cipher\+Instance $\ast$}]{ci,  }\item[{key\+Instance $\ast$}]{ki,  }\item[{const void $\ast$}]{in,  }\item[{void $\ast$}]{out,  }\item[{u\+\_\+int}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__bde_8h_source_l00200}{200}} of file \mbox{\hyperlink{g__bde_8h_source}{g\+\_\+bde.\+h}}.



References \mbox{\hyperlink{g__bde_8h_source_l00062}{\+\_\+\+\_\+diagused}}.



Referenced by \mbox{\hyperlink{g__bde__crypt_8c_source_l00193}{g\+\_\+bde\+\_\+crypt\+\_\+delete()}}, \mbox{\hyperlink{g__bde__crypt_8c_source_l00152}{g\+\_\+bde\+\_\+crypt\+\_\+write()}}, and \mbox{\hyperlink{g__bde__lock_8c_source_l00308}{g\+\_\+bde\+\_\+keyloc\+\_\+encrypt()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d2c/g__bde_8h_ad6e8bd58e9bdf77aa27d86282309d0f4_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8h_ab5d14c928ffff64fb86d9524d0f5dada}\label{g__bde_8h_ab5d14c928ffff64fb86d9524d0f5dada}} 
\index{g\_bde.h@{g\_bde.h}!AES\_init@{AES\_init}}
\index{AES\_init@{AES\_init}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{AES\_init()}{AES\_init()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline void AES\+\_\+init (\begin{DoxyParamCaption}\item[{cipher\+Instance $\ast$}]{ci }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__bde_8h_source_l00182}{182}} of file \mbox{\hyperlink{g__bde_8h_source}{g\+\_\+bde.\+h}}.



References \mbox{\hyperlink{g__bde_8h_source_l00062}{\+\_\+\+\_\+diagused}}.



Referenced by \mbox{\hyperlink{g__bde__crypt_8c_source_l00193}{g\+\_\+bde\+\_\+crypt\+\_\+delete()}}, \mbox{\hyperlink{g__bde__crypt_8c_source_l00118}{g\+\_\+bde\+\_\+crypt\+\_\+read()}}, \mbox{\hyperlink{g__bde__crypt_8c_source_l00152}{g\+\_\+bde\+\_\+crypt\+\_\+write()}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00356}{g\+\_\+bde\+\_\+decrypt\+\_\+lockx()}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00326}{g\+\_\+bde\+\_\+keyloc\+\_\+decrypt()}}, and \mbox{\hyperlink{g__bde__lock_8c_source_l00308}{g\+\_\+bde\+\_\+keyloc\+\_\+encrypt()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d2c/g__bde_8h_ab5d14c928ffff64fb86d9524d0f5dada_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8h_a7620f4db15c690c1dbf4dfc40a656727}\label{g__bde_8h_a7620f4db15c690c1dbf4dfc40a656727}} 
\index{g\_bde.h@{g\_bde.h}!AES\_makekey@{AES\_makekey}}
\index{AES\_makekey@{AES\_makekey}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{AES\_makekey()}{AES\_makekey()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline void AES\+\_\+makekey (\begin{DoxyParamCaption}\item[{key\+Instance $\ast$}]{ki,  }\item[{int}]{dir,  }\item[{u\+\_\+int}]{len,  }\item[{const void $\ast$}]{key }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__bde_8h_source_l00191}{191}} of file \mbox{\hyperlink{g__bde_8h_source}{g\+\_\+bde.\+h}}.



References \mbox{\hyperlink{g__bde_8h_source_l00062}{\+\_\+\+\_\+diagused}}.



Referenced by \mbox{\hyperlink{g__bde__crypt_8c_source_l00193}{g\+\_\+bde\+\_\+crypt\+\_\+delete()}}, \mbox{\hyperlink{g__bde__crypt_8c_source_l00118}{g\+\_\+bde\+\_\+crypt\+\_\+read()}}, \mbox{\hyperlink{g__bde__crypt_8c_source_l00152}{g\+\_\+bde\+\_\+crypt\+\_\+write()}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00356}{g\+\_\+bde\+\_\+decrypt\+\_\+lockx()}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00326}{g\+\_\+bde\+\_\+keyloc\+\_\+decrypt()}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00308}{g\+\_\+bde\+\_\+keyloc\+\_\+encrypt()}}, and \mbox{\hyperlink{g__bde__crypt_8c_source_l00082}{g\+\_\+bde\+\_\+kkey()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d2c/g__bde_8h_a7620f4db15c690c1dbf4dfc40a656727_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8h_aa424947a388f787015d468937a543765}\label{g__bde_8h_aa424947a388f787015d468937a543765}} 
\index{g\_bde.h@{g\_bde.h}!g\_bde\_crypt\_delete@{g\_bde\_crypt\_delete}}
\index{g\_bde\_crypt\_delete@{g\_bde\_crypt\_delete}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{g\_bde\_crypt\_delete()}{g\_bde\_crypt\_delete()}}
{\footnotesize\ttfamily void g\+\_\+bde\+\_\+crypt\+\_\+delete (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__bde__work}{g\+\_\+bde\+\_\+work}} $\ast$}]{wp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__bde__crypt_8c_source_l00193}{193}} of file \mbox{\hyperlink{g__bde__crypt_8c_source}{g\+\_\+bde\+\_\+crypt.\+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__bde_8h_source_l00074}{g\+\_\+bde\+\_\+sector\+::data}}, \mbox{\hyperlink{g__bde_8h_source_l00049}{G\+\_\+\+BDE\+\_\+\+SKEYBITS}}, \mbox{\hyperlink{g__bde_8h_source_l00050}{G\+\_\+\+BDE\+\_\+\+SKEYLEN}}, \mbox{\hyperlink{g__bde_8h_source_l00086}{g\+\_\+bde\+\_\+work\+::length}}, \mbox{\hyperlink{g__bde_8h_source_l00134}{g\+\_\+bde\+\_\+softc\+::sectorsize}}, \mbox{\hyperlink{g__bde_8h_source_l00089}{g\+\_\+bde\+\_\+work\+::softc}}, and \mbox{\hyperlink{g__bde_8h_source_l00093}{g\+\_\+bde\+\_\+work\+::sp}}.



Referenced by \mbox{\hyperlink{g__bde__work_8c_source_l00564}{g\+\_\+bde\+\_\+worker()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=313pt]{d0/d2c/g__bde_8h_aa424947a388f787015d468937a543765_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d2c/g__bde_8h_aa424947a388f787015d468937a543765_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8h_a0e360ba2bc6c7e1f8cd28e1766276311}\label{g__bde_8h_a0e360ba2bc6c7e1f8cd28e1766276311}} 
\index{g\_bde.h@{g\_bde.h}!g\_bde\_crypt\_read@{g\_bde\_crypt\_read}}
\index{g\_bde\_crypt\_read@{g\_bde\_crypt\_read}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{g\_bde\_crypt\_read()}{g\_bde\_crypt\_read()}}
{\footnotesize\ttfamily void g\+\_\+bde\+\_\+crypt\+\_\+read (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__bde__work}{g\+\_\+bde\+\_\+work}} $\ast$}]{wp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__bde__crypt_8c_source_l00118}{118}} of file \mbox{\hyperlink{g__bde__crypt_8c_source}{g\+\_\+bde\+\_\+crypt.\+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__bde_8h_source_l00074}{g\+\_\+bde\+\_\+sector\+::data}}, \mbox{\hyperlink{g__bde_8h_source_l00087}{g\+\_\+bde\+\_\+work\+::data}}, \mbox{\hyperlink{g__bde__crypt_8c_source_l00082}{g\+\_\+bde\+\_\+kkey()}}, \mbox{\hyperlink{g__bde_8h_source_l00049}{G\+\_\+\+BDE\+\_\+\+SKEYBITS}}, \mbox{\hyperlink{g__bde_8h_source_l00050}{G\+\_\+\+BDE\+\_\+\+SKEYLEN}}, \mbox{\hyperlink{g__bde_8h_source_l00092}{g\+\_\+bde\+\_\+work\+::ko}}, \mbox{\hyperlink{g__bde_8h_source_l00094}{g\+\_\+bde\+\_\+work\+::ksp}}, \mbox{\hyperlink{g__bde_8h_source_l00086}{g\+\_\+bde\+\_\+work\+::length}}, \mbox{\hyperlink{g__bde_8h_source_l00085}{g\+\_\+bde\+\_\+work\+::offset}}, \mbox{\hyperlink{g__bde_8h_source_l00134}{g\+\_\+bde\+\_\+softc\+::sectorsize}}, and \mbox{\hyperlink{g__bde_8h_source_l00089}{g\+\_\+bde\+\_\+work\+::softc}}.



Referenced by \mbox{\hyperlink{g__bde__work_8c_source_l00564}{g\+\_\+bde\+\_\+worker()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d2c/g__bde_8h_a0e360ba2bc6c7e1f8cd28e1766276311_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d2c/g__bde_8h_a0e360ba2bc6c7e1f8cd28e1766276311_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8h_a3704204fda32232892e3c0f046c04e8c}\label{g__bde_8h_a3704204fda32232892e3c0f046c04e8c}} 
\index{g\_bde.h@{g\_bde.h}!g\_bde\_crypt\_write@{g\_bde\_crypt\_write}}
\index{g\_bde\_crypt\_write@{g\_bde\_crypt\_write}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{g\_bde\_crypt\_write()}{g\_bde\_crypt\_write()}}
{\footnotesize\ttfamily void g\+\_\+bde\+\_\+crypt\+\_\+write (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__bde__work}{g\+\_\+bde\+\_\+work}} $\ast$}]{wp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__bde__crypt_8c_source_l00152}{152}} of file \mbox{\hyperlink{g__bde__crypt_8c_source}{g\+\_\+bde\+\_\+crypt.\+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__bde_8h_source_l00074}{g\+\_\+bde\+\_\+sector\+::data}}, \mbox{\hyperlink{g__bde_8h_source_l00087}{g\+\_\+bde\+\_\+work\+::data}}, \mbox{\hyperlink{g__bde__crypt_8c_source_l00082}{g\+\_\+bde\+\_\+kkey()}}, \mbox{\hyperlink{g__bde_8h_source_l00049}{G\+\_\+\+BDE\+\_\+\+SKEYBITS}}, \mbox{\hyperlink{g__bde_8h_source_l00050}{G\+\_\+\+BDE\+\_\+\+SKEYLEN}}, \mbox{\hyperlink{g__bde_8h_source_l00092}{g\+\_\+bde\+\_\+work\+::ko}}, \mbox{\hyperlink{g__bde_8h_source_l00094}{g\+\_\+bde\+\_\+work\+::ksp}}, \mbox{\hyperlink{g__bde_8h_source_l00086}{g\+\_\+bde\+\_\+work\+::length}}, \mbox{\hyperlink{g__bde_8h_source_l00085}{g\+\_\+bde\+\_\+work\+::offset}}, \mbox{\hyperlink{g__bde_8h_source_l00134}{g\+\_\+bde\+\_\+softc\+::sectorsize}}, \mbox{\hyperlink{g__bde_8h_source_l00089}{g\+\_\+bde\+\_\+work\+::softc}}, and \mbox{\hyperlink{g__bde_8h_source_l00093}{g\+\_\+bde\+\_\+work\+::sp}}.



Referenced by \mbox{\hyperlink{g__bde__work_8c_source_l00564}{g\+\_\+bde\+\_\+worker()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d2c/g__bde_8h_a3704204fda32232892e3c0f046c04e8c_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d2c/g__bde_8h_a3704204fda32232892e3c0f046c04e8c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8h_af339e70d3ac7ec78e2151533ffe938c3}\label{g__bde_8h_af339e70d3ac7ec78e2151533ffe938c3}} 
\index{g\_bde.h@{g\_bde.h}!g\_bde\_decode\_lock@{g\_bde\_decode\_lock}}
\index{g\_bde\_decode\_lock@{g\_bde\_decode\_lock}!g\_bde.h@{g\_bde.h}}
\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]{d0/d2c/g__bde_8h_af339e70d3ac7ec78e2151533ffe938c3_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d2c/g__bde_8h_af339e70d3ac7ec78e2151533ffe938c3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8h_a39fd847b1c2a22e14446402feaf1442b}\label{g__bde_8h_a39fd847b1c2a22e14446402feaf1442b}} 
\index{g\_bde.h@{g\_bde.h}!g\_bde\_decrypt\_lock@{g\_bde\_decrypt\_lock}}
\index{g\_bde\_decrypt\_lock@{g\_bde\_decrypt\_lock}!g\_bde.h@{g\_bde.h}}
\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]{d0/d2c/g__bde_8h_a39fd847b1c2a22e14446402feaf1442b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d2c/g__bde_8h_a39fd847b1c2a22e14446402feaf1442b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8h_ad69ecfe3a582f50544c89fba125cd66e}\label{g__bde_8h_ad69ecfe3a582f50544c89fba125cd66e}} 
\index{g\_bde.h@{g\_bde.h}!g\_bde\_encode\_lock@{g\_bde\_encode\_lock}}
\index{g\_bde\_encode\_lock@{g\_bde\_encode\_lock}!g\_bde.h@{g\_bde.h}}
\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]{d0/d2c/g__bde_8h_ad69ecfe3a582f50544c89fba125cd66e_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8h_a0ac13709080ccf0bf60d511df6db96c7}\label{g__bde_8h_a0ac13709080ccf0bf60d511df6db96c7}} 
\index{g\_bde.h@{g\_bde.h}!g\_bde\_get\_key@{g\_bde\_get\_key}}
\index{g\_bde\_get\_key@{g\_bde\_get\_key}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{g\_bde\_get\_key()}{g\_bde\_get\_key()}}
{\footnotesize\ttfamily int g\+\_\+bde\+\_\+get\+\_\+key (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__bde__softc}{g\+\_\+bde\+\_\+softc}} $\ast$}]{sc,  }\item[{void $\ast$}]{ptr,  }\item[{int}]{len }\end{DoxyParamCaption})}

\mbox{\Hypertarget{g__bde_8h_af46081ae7dda9d7486438fe24b6a9316}\label{g__bde_8h_af46081ae7dda9d7486438fe24b6a9316}} 
\index{g\_bde.h@{g\_bde.h}!g\_bde\_hash\_pass@{g\_bde\_hash\_pass}}
\index{g\_bde\_hash\_pass@{g\_bde\_hash\_pass}!g\_bde.h@{g\_bde.h}}
\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_8h_a9280f5e251f3301a8a45da89e31cf312}\label{g__bde_8h_a9280f5e251f3301a8a45da89e31cf312}} 
\index{g\_bde.h@{g\_bde.h}!g\_bde\_init\_keybytes@{g\_bde\_init\_keybytes}}
\index{g\_bde\_init\_keybytes@{g\_bde\_init\_keybytes}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{g\_bde\_init\_keybytes()}{g\_bde\_init\_keybytes()}}
{\footnotesize\ttfamily int g\+\_\+bde\+\_\+init\+\_\+keybytes (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__bde__softc}{g\+\_\+bde\+\_\+softc}} $\ast$}]{sc,  }\item[{char $\ast$}]{passp,  }\item[{int}]{len }\end{DoxyParamCaption})}

\mbox{\Hypertarget{g__bde_8h_a310e51f6b1a625aa5573d3888662a8ea}\label{g__bde_8h_a310e51f6b1a625aa5573d3888662a8ea}} 
\index{g\_bde.h@{g\_bde.h}!g\_bde\_keyloc\_decrypt@{g\_bde\_keyloc\_decrypt}}
\index{g\_bde\_keyloc\_decrypt@{g\_bde\_keyloc\_decrypt}!g\_bde.h@{g\_bde.h}}
\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]{d0/d2c/g__bde_8h_a310e51f6b1a625aa5573d3888662a8ea_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d2c/g__bde_8h_a310e51f6b1a625aa5573d3888662a8ea_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8h_a5534d1f15d8ca8c1d65e97ecf4165c1b}\label{g__bde_8h_a5534d1f15d8ca8c1d65e97ecf4165c1b}} 
\index{g\_bde.h@{g\_bde.h}!g\_bde\_keyloc\_encrypt@{g\_bde\_keyloc\_encrypt}}
\index{g\_bde\_keyloc\_encrypt@{g\_bde\_keyloc\_encrypt}!g\_bde.h@{g\_bde.h}}
\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]{d0/d2c/g__bde_8h_a5534d1f15d8ca8c1d65e97ecf4165c1b_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8h_ac2890ae097fa50be721493bdd8d5b3d7}\label{g__bde_8h_ac2890ae097fa50be721493bdd8d5b3d7}} 
\index{g\_bde.h@{g\_bde.h}!g\_bde\_map\_sector@{g\_bde\_map\_sector}}
\index{g\_bde\_map\_sector@{g\_bde\_map\_sector}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{g\_bde\_map\_sector()}{g\_bde\_map\_sector()}}
{\footnotesize\ttfamily void g\+\_\+bde\+\_\+map\+\_\+sector (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__bde__work}{g\+\_\+bde\+\_\+work}} $\ast$}]{wp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__bde__crypt_8c_source_l00269}{269}} of file \mbox{\hyperlink{g__bde__crypt_8c_source}{g\+\_\+bde\+\_\+crypt.\+c}}.



References \mbox{\hyperlink{g__bde_8h_source_l00053}{G\+\_\+\+BDE\+\_\+\+MAXKEYS}}, \mbox{\hyperlink{g__bde_8h_source_l00050}{G\+\_\+\+BDE\+\_\+\+SKEYLEN}}, \mbox{\hyperlink{g__bde_8h_source_l00142}{g\+\_\+bde\+\_\+softc\+::key}}, \mbox{\hyperlink{g__bde_8h_source_l00110}{g\+\_\+bde\+\_\+key\+::keyoffset}}, \mbox{\hyperlink{g__bde_8h_source_l00092}{g\+\_\+bde\+\_\+work\+::ko}}, \mbox{\hyperlink{g__bde_8h_source_l00091}{g\+\_\+bde\+\_\+work\+::kso}}, \mbox{\hyperlink{g__bde_8h_source_l00086}{g\+\_\+bde\+\_\+work\+::length}}, \mbox{\hyperlink{g__raid__tr__if_8m_source_l00100}{length}}, \mbox{\hyperlink{g__bde_8h_source_l00112}{g\+\_\+bde\+\_\+key\+::lsector}}, \mbox{\hyperlink{g__bde_8h_source_l00128}{g\+\_\+bde\+\_\+key\+::media\+\_\+width}}, \mbox{\hyperlink{g__bde_8h_source_l00085}{g\+\_\+bde\+\_\+work\+::offset}}, \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_l00090}{g\+\_\+bde\+\_\+work\+::so}}, \mbox{\hyperlink{g__bde_8h_source_l00089}{g\+\_\+bde\+\_\+work\+::softc}}, \mbox{\hyperlink{g__bde_8h_source_l00127}{g\+\_\+bde\+\_\+key\+::zone\+\_\+cont}}, and \mbox{\hyperlink{g__bde_8h_source_l00126}{g\+\_\+bde\+\_\+key\+::zone\+\_\+width}}.



Referenced by \mbox{\hyperlink{g__bde__work_8c_source_l00752}{g\+\_\+bde\+\_\+start1()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d2c/g__bde_8h_ac2890ae097fa50be721493bdd8d5b3d7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8h_a1a81354f303cb614add4800492d5298a}\label{g__bde_8h_a1a81354f303cb614add4800492d5298a}} 
\index{g\_bde.h@{g\_bde.h}!g\_bde\_max\_sector@{g\_bde\_max\_sector}}
\index{g\_bde\_max\_sector@{g\_bde\_max\_sector}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{g\_bde\_max\_sector()}{g\_bde\_max\_sector()}}
{\footnotesize\ttfamily uint64\+\_\+t g\+\_\+bde\+\_\+max\+\_\+sector (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__bde__key}{g\+\_\+bde\+\_\+key}} $\ast$}]{lp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__bde__crypt_8c_source_l00235}{235}} of file \mbox{\hyperlink{g__bde__crypt_8c_source}{g\+\_\+bde\+\_\+crypt.\+c}}.



References \mbox{\hyperlink{g__bde_8h_source_l00128}{g\+\_\+bde\+\_\+key\+::media\+\_\+width}}, \mbox{\hyperlink{g__bde_8h_source_l00127}{g\+\_\+bde\+\_\+key\+::zone\+\_\+cont}}, and \mbox{\hyperlink{g__bde_8h_source_l00126}{g\+\_\+bde\+\_\+key\+::zone\+\_\+width}}.



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

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d2c/g__bde_8h_a1a81354f303cb614add4800492d5298a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8h_afa8a48bd707806368e19c97a59f12718}\label{g__bde_8h_afa8a48bd707806368e19c97a59f12718}} 
\index{g\_bde.h@{g\_bde.h}!g\_bde\_start1@{g\_bde\_start1}}
\index{g\_bde\_start1@{g\_bde\_start1}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{g\_bde\_start1()}{g\_bde\_start1()}}
{\footnotesize\ttfamily void g\+\_\+bde\+\_\+start1 (\begin{DoxyParamCaption}\item[{struct bio $\ast$}]{bp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__bde__work_8c_source_l00752}{752}} of file \mbox{\hyperlink{g__bde__work_8c_source}{g\+\_\+bde\+\_\+work.\+c}}.



References \mbox{\hyperlink{g__bde_8h_source_l00088}{g\+\_\+bde\+\_\+work\+::bp}}, \mbox{\hyperlink{g__part__if_8m_source_l00274}{bp}}, \mbox{\hyperlink{g__bde_8h_source_l00087}{g\+\_\+bde\+\_\+work\+::data}}, \mbox{\hyperlink{g__bde__work_8c_source_l00388}{g\+\_\+bde\+\_\+contribute()}}, \mbox{\hyperlink{g__bde__crypt_8c_source_l00269}{g\+\_\+bde\+\_\+map\+\_\+sector()}}, \mbox{\hyperlink{g__bde__work_8c_source_l00112}{g\+\_\+bde\+\_\+new\+\_\+work()}}, \mbox{\hyperlink{g__bde__work_8c_source_l00693}{g\+\_\+bde\+\_\+start2()}}, \mbox{\hyperlink{g__bde_8h_source_l00086}{g\+\_\+bde\+\_\+work\+::length}}, \mbox{\hyperlink{g__bde_8h_source_l00085}{g\+\_\+bde\+\_\+work\+::offset}}, and \mbox{\hyperlink{g__bde_8h_source_l00140}{g\+\_\+bde\+\_\+softc\+::worklist\+\_\+mutex}}.



Referenced by \mbox{\hyperlink{g__bde_8c_source_l00057}{g\+\_\+bde\+\_\+start()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d2c/g__bde_8h_afa8a48bd707806368e19c97a59f12718_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=270pt]{d0/d2c/g__bde_8h_afa8a48bd707806368e19c97a59f12718_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8h_a6d037c99d1189618a550c7b1d84b53bb}\label{g__bde_8h_a6d037c99d1189618a550c7b1d84b53bb}} 
\index{g\_bde.h@{g\_bde.h}!g\_bde\_worker@{g\_bde\_worker}}
\index{g\_bde\_worker@{g\_bde\_worker}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{g\_bde\_worker()}{g\_bde\_worker()}}
{\footnotesize\ttfamily void g\+\_\+bde\+\_\+worker (\begin{DoxyParamCaption}\item[{void $\ast$}]{arg }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{g__bde__work_8c_source_l00564}{564}} of file \mbox{\hyperlink{g__bde__work_8c_source}{g\+\_\+bde\+\_\+work.\+c}}.



References \mbox{\hyperlink{g__bde_8h_source_l00088}{g\+\_\+bde\+\_\+work\+::bp}}, \mbox{\hyperlink{g__bde_8h_source_l00143}{g\+\_\+bde\+\_\+softc\+::dead}}, \mbox{\hyperlink{g__bde_8h_source_l00079}{g\+\_\+bde\+\_\+sector\+::error}}, \mbox{\hyperlink{g__bde_8h_source_l00097}{g\+\_\+bde\+\_\+work\+::error}}, \mbox{\hyperlink{g__bde__crypt_8c_source_l00193}{g\+\_\+bde\+\_\+crypt\+\_\+delete()}}, \mbox{\hyperlink{g__bde__crypt_8c_source_l00118}{g\+\_\+bde\+\_\+crypt\+\_\+read()}}, \mbox{\hyperlink{g__bde__crypt_8c_source_l00152}{g\+\_\+bde\+\_\+crypt\+\_\+write()}}, \mbox{\hyperlink{g__bde__work_8c_source_l00319}{g\+\_\+bde\+\_\+purge\+\_\+sector()}}, \mbox{\hyperlink{g__bde__work_8c_source_l00473}{g\+\_\+bde\+\_\+start\+\_\+write()}}, \mbox{\hyperlink{g__bde__work_8c_source_l00409}{g\+\_\+bde\+\_\+work\+\_\+done()}}, \mbox{\hyperlink{geom_8h_source_l00248}{G\+\_\+\+T\+\_\+\+TOPOLOGY}}, \mbox{\hyperlink{geom_8h_source_l00255}{g\+\_\+trace}}, \mbox{\hyperlink{g__part__if_8m_source_l00195}{gp}}, \mbox{\hyperlink{g__bde_8h_source_l00094}{g\+\_\+bde\+\_\+work\+::ksp}}, \mbox{\hyperlink{g__bde_8h_source_l00146}{g\+\_\+bde\+\_\+softc\+::ncache}}, \mbox{\hyperlink{g__bde_8h_source_l00145}{g\+\_\+bde\+\_\+softc\+::nsect}}, \mbox{\hyperlink{g__bde_8h_source_l00144}{g\+\_\+bde\+\_\+softc\+::nwork}}, \mbox{\hyperlink{g__bde_8h_source_l00069}{g\+\_\+bde\+\_\+sector\+::owner}}, \mbox{\hyperlink{g__bde_8h_source_l00089}{g\+\_\+bde\+\_\+work\+::softc}}, \mbox{\hyperlink{geom_8h_source_l00150}{g\+\_\+geom\+::softc}}, \mbox{\hyperlink{g__bde_8h_source_l00093}{g\+\_\+bde\+\_\+work\+::sp}}, \mbox{\hyperlink{structg__bde__sector_ae7a82320e88fffd6ec4738e3cc02d65a}{g\+\_\+bde\+\_\+sector\+::state}}, \mbox{\hyperlink{structg__bde__work_a49d926d67df62d56e5b510d58a76edab}{g\+\_\+bde\+\_\+work\+::state}}, and \mbox{\hyperlink{g__bde_8h_source_l00140}{g\+\_\+bde\+\_\+softc\+::worklist\+\_\+mutex}}.



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]{d0/d2c/g__bde_8h_a6d037c99d1189618a550c7b1d84b53bb_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d2c/g__bde_8h_a6d037c99d1189618a550c7b1d84b53bb_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__bde_8h_a94d0d46469849b5f0dce88e97215385d}\label{g__bde_8h_a94d0d46469849b5f0dce88e97215385d}} 
\index{g\_bde.h@{g\_bde.h}!g\_bde\_zap\_key@{g\_bde\_zap\_key}}
\index{g\_bde\_zap\_key@{g\_bde\_zap\_key}!g\_bde.h@{g\_bde.h}}
\doxysubsubsection{\texorpdfstring{g\_bde\_zap\_key()}{g\_bde\_zap\_key()}}
{\footnotesize\ttfamily void g\+\_\+bde\+\_\+zap\+\_\+key (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structg__bde__softc}{g\+\_\+bde\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})}

