\hypertarget{structg__bde__softc}{}\doxysection{g\+\_\+bde\+\_\+softc Struct Reference}
\label{structg__bde__softc}\index{g\_bde\_softc@{g\_bde\_softc}}


{\ttfamily \#include $<$g\+\_\+bde.\+h$>$}



Collaboration diagram for g\+\_\+bde\+\_\+softc\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=257pt]{d4/dec/structg__bde__softc__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{structg__bde__softc_a75afa4a097d5eb0dc8a6d03e0e70b03c}{TAILQ\+\_\+\+HEAD}} (, \mbox{\hyperlink{structg__bde__sector}{g\+\_\+bde\+\_\+sector}}) freelist
\item 
\mbox{\hyperlink{structg__bde__softc_ad7ec9f5e48cfc8da57bf41bdf1d2c3aa}{TAILQ\+\_\+\+HEAD}} (, \mbox{\hyperlink{structg__bde__work}{g\+\_\+bde\+\_\+work}}) worklist
\end{DoxyCompactItemize}
\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
off\+\_\+t \mbox{\hyperlink{structg__bde__softc_a6dbd335cfec2c527075a9df582778506}{mediasize}}
\item 
u\+\_\+int \mbox{\hyperlink{structg__bde__softc_a3550952b25e3c8697e43254841743beb}{sectorsize}}
\item 
uint64\+\_\+t \mbox{\hyperlink{structg__bde__softc_a4153065111056f3bd3269dd988cb05dd}{zone\+\_\+cont}}
\item 
struct \mbox{\hyperlink{structg__geom}{g\+\_\+geom}} $\ast$ \mbox{\hyperlink{structg__bde__softc_ac17ac7126b208895820c4457f14db013}{geom}}
\item 
struct \mbox{\hyperlink{structg__consumer}{g\+\_\+consumer}} $\ast$ \mbox{\hyperlink{structg__bde__softc_a3bc97d06913991a91d0e7009c6991ce5}{consumer}}
\item 
struct mtx \mbox{\hyperlink{structg__bde__softc_a7a9fcb7e0a97a3af4186b18ca2db9daa}{worklist\+\_\+mutex}}
\item 
struct proc $\ast$ \mbox{\hyperlink{structg__bde__softc_a2db125456c211ba6ee623cfa11a23bc8}{thread}}
\item 
struct \mbox{\hyperlink{structg__bde__key}{g\+\_\+bde\+\_\+key}} \mbox{\hyperlink{structg__bde__softc_aed5c45f058e35c02ee14c6707fcc0b37}{key}}
\item 
int \mbox{\hyperlink{structg__bde__softc_a42b28a4bf4f575371fcdfda95425c601}{dead}}
\item 
u\+\_\+int \mbox{\hyperlink{structg__bde__softc_ad937d083b6dfd561458ee735b1ed29eb}{nwork}}
\item 
u\+\_\+int \mbox{\hyperlink{structg__bde__softc_ae92a95f9a8d09c55e4c0a7523f8881bb}{nsect}}
\item 
u\+\_\+int \mbox{\hyperlink{structg__bde__softc_adc7fe17205e2babf6c98b60f2bbb2c84}{ncache}}
\item 
u\+\_\+char \mbox{\hyperlink{structg__bde__softc_a3004ff7ec5e1294d1cca2bbd35ea3e29}{sha2}} \mbox{[}SHA512\+\_\+\+DIGEST\+\_\+\+LENGTH\mbox{]}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


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



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{structg__bde__softc_a75afa4a097d5eb0dc8a6d03e0e70b03c}\label{structg__bde__softc_a75afa4a097d5eb0dc8a6d03e0e70b03c}} 
\index{g\_bde\_softc@{g\_bde\_softc}!TAILQ\_HEAD@{TAILQ\_HEAD}}
\index{TAILQ\_HEAD@{TAILQ\_HEAD}!g\_bde\_softc@{g\_bde\_softc}}
\doxysubsubsection{\texorpdfstring{TAILQ\_HEAD()}{TAILQ\_HEAD()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily g\+\_\+bde\+\_\+softc\+::\+TAILQ\+\_\+\+HEAD (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structg__bde__sector}{g\+\_\+bde\+\_\+sector}}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{structg__bde__softc_ad7ec9f5e48cfc8da57bf41bdf1d2c3aa}\label{structg__bde__softc_ad7ec9f5e48cfc8da57bf41bdf1d2c3aa}} 
\index{g\_bde\_softc@{g\_bde\_softc}!TAILQ\_HEAD@{TAILQ\_HEAD}}
\index{TAILQ\_HEAD@{TAILQ\_HEAD}!g\_bde\_softc@{g\_bde\_softc}}
\doxysubsubsection{\texorpdfstring{TAILQ\_HEAD()}{TAILQ\_HEAD()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily g\+\_\+bde\+\_\+softc\+::\+TAILQ\+\_\+\+HEAD (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structg__bde__work}{g\+\_\+bde\+\_\+work}}}]{ }\end{DoxyParamCaption})}



\doxysubsection{Field Documentation}
\mbox{\Hypertarget{structg__bde__softc_a3bc97d06913991a91d0e7009c6991ce5}\label{structg__bde__softc_a3bc97d06913991a91d0e7009c6991ce5}} 
\index{g\_bde\_softc@{g\_bde\_softc}!consumer@{consumer}}
\index{consumer@{consumer}!g\_bde\_softc@{g\_bde\_softc}}
\doxysubsubsection{\texorpdfstring{consumer}{consumer}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structg__consumer}{g\+\_\+consumer}}$\ast$ g\+\_\+bde\+\_\+softc\+::consumer}



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



Referenced by \mbox{\hyperlink{g__bde_8c_source_l00116}{g\+\_\+bde\+\_\+create\+\_\+geom()}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00446}{g\+\_\+bde\+\_\+decrypt\+\_\+lock()}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00356}{g\+\_\+bde\+\_\+decrypt\+\_\+lockx()}}, \mbox{\hyperlink{g__bde__work_8c_source_l00529}{g\+\_\+bde\+\_\+start\+\_\+read()}}, and \mbox{\hyperlink{g__bde__work_8c_source_l00473}{g\+\_\+bde\+\_\+start\+\_\+write()}}.

\mbox{\Hypertarget{structg__bde__softc_a42b28a4bf4f575371fcdfda95425c601}\label{structg__bde__softc_a42b28a4bf4f575371fcdfda95425c601}} 
\index{g\_bde\_softc@{g\_bde\_softc}!dead@{dead}}
\index{dead@{dead}!g\_bde\_softc@{g\_bde\_softc}}
\doxysubsubsection{\texorpdfstring{dead}{dead}}
{\footnotesize\ttfamily int g\+\_\+bde\+\_\+softc\+::dead}



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



Referenced by \mbox{\hyperlink{g__bde_8c_source_l00235}{g\+\_\+bde\+\_\+destroy\+\_\+geom()}}, and \mbox{\hyperlink{g__bde__work_8c_source_l00564}{g\+\_\+bde\+\_\+worker()}}.

\mbox{\Hypertarget{structg__bde__softc_ac17ac7126b208895820c4457f14db013}\label{structg__bde__softc_ac17ac7126b208895820c4457f14db013}} 
\index{g\_bde\_softc@{g\_bde\_softc}!geom@{geom}}
\index{geom@{geom}!g\_bde\_softc@{g\_bde\_softc}}
\doxysubsubsection{\texorpdfstring{geom}{geom}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structg__geom}{g\+\_\+geom}}$\ast$ g\+\_\+bde\+\_\+softc\+::geom}



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



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

\mbox{\Hypertarget{structg__bde__softc_aed5c45f058e35c02ee14c6707fcc0b37}\label{structg__bde__softc_aed5c45f058e35c02ee14c6707fcc0b37}} 
\index{g\_bde\_softc@{g\_bde\_softc}!key@{key}}
\index{key@{key}!g\_bde\_softc@{g\_bde\_softc}}
\doxysubsubsection{\texorpdfstring{key}{key}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structg__bde__key}{g\+\_\+bde\+\_\+key}} g\+\_\+bde\+\_\+softc\+::key}



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



Referenced by \mbox{\hyperlink{g__bde_8c_source_l00116}{g\+\_\+bde\+\_\+create\+\_\+geom()}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00356}{g\+\_\+bde\+\_\+decrypt\+\_\+lockx()}}, \mbox{\hyperlink{g__bde_8c_source_l00235}{g\+\_\+bde\+\_\+destroy\+\_\+geom()}}, \mbox{\hyperlink{g__bde__crypt_8c_source_l00082}{g\+\_\+bde\+\_\+kkey()}}, and \mbox{\hyperlink{g__bde__crypt_8c_source_l00269}{g\+\_\+bde\+\_\+map\+\_\+sector()}}.

\mbox{\Hypertarget{structg__bde__softc_a6dbd335cfec2c527075a9df582778506}\label{structg__bde__softc_a6dbd335cfec2c527075a9df582778506}} 
\index{g\_bde\_softc@{g\_bde\_softc}!mediasize@{mediasize}}
\index{mediasize@{mediasize}!g\_bde\_softc@{g\_bde\_softc}}
\doxysubsubsection{\texorpdfstring{mediasize}{mediasize}}
{\footnotesize\ttfamily off\+\_\+t g\+\_\+bde\+\_\+softc\+::mediasize}



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



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

\mbox{\Hypertarget{structg__bde__softc_adc7fe17205e2babf6c98b60f2bbb2c84}\label{structg__bde__softc_adc7fe17205e2babf6c98b60f2bbb2c84}} 
\index{g\_bde\_softc@{g\_bde\_softc}!ncache@{ncache}}
\index{ncache@{ncache}!g\_bde\_softc@{g\_bde\_softc}}
\doxysubsubsection{\texorpdfstring{ncache}{ncache}}
{\footnotesize\ttfamily u\+\_\+int g\+\_\+bde\+\_\+softc\+::ncache}



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



Referenced by \mbox{\hyperlink{g__bde__work_8c_source_l00217}{g\+\_\+bde\+\_\+get\+\_\+keysector()}}, \mbox{\hyperlink{g__bde__work_8c_source_l00203}{g\+\_\+bde\+\_\+purge\+\_\+one\+\_\+sector()}}, \mbox{\hyperlink{g__bde__work_8c_source_l00319}{g\+\_\+bde\+\_\+purge\+\_\+sector()}}, and \mbox{\hyperlink{g__bde__work_8c_source_l00564}{g\+\_\+bde\+\_\+worker()}}.

\mbox{\Hypertarget{structg__bde__softc_ae92a95f9a8d09c55e4c0a7523f8881bb}\label{structg__bde__softc_ae92a95f9a8d09c55e4c0a7523f8881bb}} 
\index{g\_bde\_softc@{g\_bde\_softc}!nsect@{nsect}}
\index{nsect@{nsect}!g\_bde\_softc@{g\_bde\_softc}}
\doxysubsubsection{\texorpdfstring{nsect}{nsect}}
{\footnotesize\ttfamily u\+\_\+int g\+\_\+bde\+\_\+softc\+::nsect}



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



Referenced by \mbox{\hyperlink{g__bde__work_8c_source_l00149}{g\+\_\+bde\+\_\+delete\+\_\+sector()}}, \mbox{\hyperlink{g__bde__work_8c_source_l00160}{g\+\_\+bde\+\_\+new\+\_\+sector()}}, and \mbox{\hyperlink{g__bde__work_8c_source_l00564}{g\+\_\+bde\+\_\+worker()}}.

\mbox{\Hypertarget{structg__bde__softc_ad937d083b6dfd561458ee735b1ed29eb}\label{structg__bde__softc_ad937d083b6dfd561458ee735b1ed29eb}} 
\index{g\_bde\_softc@{g\_bde\_softc}!nwork@{nwork}}
\index{nwork@{nwork}!g\_bde\_softc@{g\_bde\_softc}}
\doxysubsubsection{\texorpdfstring{nwork}{nwork}}
{\footnotesize\ttfamily u\+\_\+int g\+\_\+bde\+\_\+softc\+::nwork}



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



Referenced by \mbox{\hyperlink{g__bde__work_8c_source_l00128}{g\+\_\+bde\+\_\+delete\+\_\+work()}}, \mbox{\hyperlink{g__bde__work_8c_source_l00112}{g\+\_\+bde\+\_\+new\+\_\+work()}}, and \mbox{\hyperlink{g__bde__work_8c_source_l00564}{g\+\_\+bde\+\_\+worker()}}.

\mbox{\Hypertarget{structg__bde__softc_a3550952b25e3c8697e43254841743beb}\label{structg__bde__softc_a3550952b25e3c8697e43254841743beb}} 
\index{g\_bde\_softc@{g\_bde\_softc}!sectorsize@{sectorsize}}
\index{sectorsize@{sectorsize}!g\_bde\_softc@{g\_bde\_softc}}
\doxysubsubsection{\texorpdfstring{sectorsize}{sectorsize}}
{\footnotesize\ttfamily u\+\_\+int g\+\_\+bde\+\_\+softc\+::sectorsize}



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



Referenced by \mbox{\hyperlink{g__bde_8c_source_l00116}{g\+\_\+bde\+\_\+create\+\_\+geom()}}, \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()}}, and \mbox{\hyperlink{g__bde__work_8c_source_l00217}{g\+\_\+bde\+\_\+get\+\_\+keysector()}}.

\mbox{\Hypertarget{structg__bde__softc_a3004ff7ec5e1294d1cca2bbd35ea3e29}\label{structg__bde__softc_a3004ff7ec5e1294d1cca2bbd35ea3e29}} 
\index{g\_bde\_softc@{g\_bde\_softc}!sha2@{sha2}}
\index{sha2@{sha2}!g\_bde\_softc@{g\_bde\_softc}}
\doxysubsubsection{\texorpdfstring{sha2}{sha2}}
{\footnotesize\ttfamily u\+\_\+char g\+\_\+bde\+\_\+softc\+::sha2\mbox{[}SHA512\+\_\+\+DIGEST\+\_\+\+LENGTH\mbox{]}}



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



Referenced by \mbox{\hyperlink{g__bde_8c_source_l00116}{g\+\_\+bde\+\_\+create\+\_\+geom()}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00219}{g\+\_\+bde\+\_\+decode\+\_\+lock()}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00446}{g\+\_\+bde\+\_\+decrypt\+\_\+lock()}}, \mbox{\hyperlink{g__bde__lock_8c_source_l00356}{g\+\_\+bde\+\_\+decrypt\+\_\+lockx()}}, and \mbox{\hyperlink{g__bde__lock_8c_source_l00079}{g\+\_\+bde\+\_\+hash\+\_\+pass()}}.

\mbox{\Hypertarget{structg__bde__softc_a2db125456c211ba6ee623cfa11a23bc8}\label{structg__bde__softc_a2db125456c211ba6ee623cfa11a23bc8}} 
\index{g\_bde\_softc@{g\_bde\_softc}!thread@{thread}}
\index{thread@{thread}!g\_bde\_softc@{g\_bde\_softc}}
\doxysubsubsection{\texorpdfstring{thread}{thread}}
{\footnotesize\ttfamily struct proc$\ast$ g\+\_\+bde\+\_\+softc\+::thread}



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



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

\mbox{\Hypertarget{structg__bde__softc_a7a9fcb7e0a97a3af4186b18ca2db9daa}\label{structg__bde__softc_a7a9fcb7e0a97a3af4186b18ca2db9daa}} 
\index{g\_bde\_softc@{g\_bde\_softc}!worklist\_mutex@{worklist\_mutex}}
\index{worklist\_mutex@{worklist\_mutex}!g\_bde\_softc@{g\_bde\_softc}}
\doxysubsubsection{\texorpdfstring{worklist\_mutex}{worklist\_mutex}}
{\footnotesize\ttfamily struct mtx g\+\_\+bde\+\_\+softc\+::worklist\+\_\+mutex}



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



Referenced by \mbox{\hyperlink{g__bde_8c_source_l00116}{g\+\_\+bde\+\_\+create\+\_\+geom()}}, \mbox{\hyperlink{g__bde_8c_source_l00235}{g\+\_\+bde\+\_\+destroy\+\_\+geom()}}, \mbox{\hyperlink{g__bde__work_8c_source_l00503}{g\+\_\+bde\+\_\+read\+\_\+done()}}, \mbox{\hyperlink{g__bde__work_8c_source_l00752}{g\+\_\+bde\+\_\+start1()}}, \mbox{\hyperlink{g__bde__work_8c_source_l00564}{g\+\_\+bde\+\_\+worker()}}, and \mbox{\hyperlink{g__bde__work_8c_source_l00426}{g\+\_\+bde\+\_\+write\+\_\+done()}}.

\mbox{\Hypertarget{structg__bde__softc_a4153065111056f3bd3269dd988cb05dd}\label{structg__bde__softc_a4153065111056f3bd3269dd988cb05dd}} 
\index{g\_bde\_softc@{g\_bde\_softc}!zone\_cont@{zone\_cont}}
\index{zone\_cont@{zone\_cont}!g\_bde\_softc@{g\_bde\_softc}}
\doxysubsubsection{\texorpdfstring{zone\_cont}{zone\_cont}}
{\footnotesize\ttfamily uint64\+\_\+t g\+\_\+bde\+\_\+softc\+::zone\+\_\+cont}



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



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



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
geom/bde/\mbox{\hyperlink{g__bde_8h}{g\+\_\+bde.\+h}}\end{DoxyCompactItemize}
