\hypertarget{g__shsec_8h}{}\doxysection{geom/shsec/g\+\_\+shsec.h File Reference}
\label{g__shsec_8h}\index{geom/shsec/g\_shsec.h@{geom/shsec/g\_shsec.h}}
{\ttfamily \#include $<$sys/endian.\+h$>$}\newline
Include dependency graph for g\+\_\+shsec.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=206pt]{db/d12/g__shsec_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=206pt]{dc/d09/g__shsec_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structg__shsec__softc}{g\+\_\+shsec\+\_\+softc}}
\item 
struct \mbox{\hyperlink{structg__shsec__metadata}{g\+\_\+shsec\+\_\+metadata}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{g__shsec_8h_a8b9d28b5b4fe240c5b5fb9242020d9b9}{G\+\_\+\+SHSEC\+\_\+\+CLASS\+\_\+\+NAME}}~\char`\"{}SHSEC\char`\"{}
\item 
\#define \mbox{\hyperlink{g__shsec_8h_a18f96ddbee53f76d8cdabad654e96da0}{G\+\_\+\+SHSEC\+\_\+\+MAGIC}}~\char`\"{}GEOM\+::\+SHSEC\char`\"{}
\item 
\#define \mbox{\hyperlink{g__shsec_8h_a11841266c0b927fa033a475532cefc3a}{G\+\_\+\+SHSEC\+\_\+\+VERSION}}~1
\item 
\#define \mbox{\hyperlink{g__shsec_8h_a0f8cff232e2ce6a22b4b73d28b73e6d9}{G\+\_\+\+SHSEC\+\_\+\+BFLAG\+\_\+\+FIRST}}~0x1
\item 
\#define \mbox{\hyperlink{g__shsec_8h_a3581ce607055d93734ccd9ce5260c7e6}{G\+\_\+\+SHSEC\+\_\+\+DEBUG}}(lvl, ...)~    \mbox{\hyperlink{geom__dbg_8h_aa16dde017334d5072f6d9013db7e6517}{\+\_\+\+GEOM\+\_\+\+DEBUG}}(\char`\"{}GEOM\+\_\+\+SHSEC\char`\"{}, g\+\_\+shsec\+\_\+debug, (lvl), NULL, \+\_\+\+\_\+\+VA\+\_\+\+ARGS\+\_\+\+\_\+)
\item 
\#define \mbox{\hyperlink{g__shsec_8h_abd6f2390fb4549f64124855dff8a538c}{G\+\_\+\+SHSEC\+\_\+\+LOGREQ}}(lvl,  \mbox{\hyperlink{g__raid__tr__if_8m_a09ac99485c68908acb7b8767e2b93e80}{bp}}, ...)~    \mbox{\hyperlink{geom__dbg_8h_aa16dde017334d5072f6d9013db7e6517}{\+\_\+\+GEOM\+\_\+\+DEBUG}}(\char`\"{}GEOM\+\_\+\+SHSEC\char`\"{}, g\+\_\+shsec\+\_\+debug, (lvl), (\mbox{\hyperlink{g__raid__tr__if_8m_a09ac99485c68908acb7b8767e2b93e80}{bp}}), \+\_\+\+\_\+\+VA\+\_\+\+ARGS\+\_\+\+\_\+)
\item 
\#define \mbox{\hyperlink{g__shsec_8h_ab047d2e3041c744656fa453cd79df3e5}{sc\+\_\+name}}~sc\+\_\+geom-\/$>$\mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static \+\_\+\+\_\+inline void \mbox{\hyperlink{g__shsec_8h_a772dd65668615a108ac1b91e810d54ce}{shsec\+\_\+metadata\+\_\+encode}} (const struct \mbox{\hyperlink{structg__shsec__metadata}{g\+\_\+shsec\+\_\+metadata}} $\ast$md, u\+\_\+char $\ast$\mbox{\hyperlink{g__part__if_8m_a735984d41155bc1032e09bece8f8d66d}{data}})
\item 
static \+\_\+\+\_\+inline void \mbox{\hyperlink{g__shsec_8h_a13e7b8b1085ffd14960ef7cb8be7e614}{shsec\+\_\+metadata\+\_\+decode}} (const u\+\_\+char $\ast$\mbox{\hyperlink{g__part__if_8m_a735984d41155bc1032e09bece8f8d66d}{data}}, struct \mbox{\hyperlink{structg__shsec__metadata}{g\+\_\+shsec\+\_\+metadata}} $\ast$md)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{g__shsec_8h_a0f8cff232e2ce6a22b4b73d28b73e6d9}\label{g__shsec_8h_a0f8cff232e2ce6a22b4b73d28b73e6d9}} 
\index{g\_shsec.h@{g\_shsec.h}!G\_SHSEC\_BFLAG\_FIRST@{G\_SHSEC\_BFLAG\_FIRST}}
\index{G\_SHSEC\_BFLAG\_FIRST@{G\_SHSEC\_BFLAG\_FIRST}!g\_shsec.h@{g\_shsec.h}}
\doxysubsubsection{\texorpdfstring{G\_SHSEC\_BFLAG\_FIRST}{G\_SHSEC\_BFLAG\_FIRST}}
{\footnotesize\ttfamily \#define G\+\_\+\+SHSEC\+\_\+\+BFLAG\+\_\+\+FIRST~0x1}



Definition at line \mbox{\hyperlink{g__shsec_8h_source_l00047}{47}} of file \mbox{\hyperlink{g__shsec_8h_source}{g\+\_\+shsec.\+h}}.

\mbox{\Hypertarget{g__shsec_8h_a8b9d28b5b4fe240c5b5fb9242020d9b9}\label{g__shsec_8h_a8b9d28b5b4fe240c5b5fb9242020d9b9}} 
\index{g\_shsec.h@{g\_shsec.h}!G\_SHSEC\_CLASS\_NAME@{G\_SHSEC\_CLASS\_NAME}}
\index{G\_SHSEC\_CLASS\_NAME@{G\_SHSEC\_CLASS\_NAME}!g\_shsec.h@{g\_shsec.h}}
\doxysubsubsection{\texorpdfstring{G\_SHSEC\_CLASS\_NAME}{G\_SHSEC\_CLASS\_NAME}}
{\footnotesize\ttfamily \#define G\+\_\+\+SHSEC\+\_\+\+CLASS\+\_\+\+NAME~\char`\"{}SHSEC\char`\"{}}



Definition at line \mbox{\hyperlink{g__shsec_8h_source_l00036}{36}} of file \mbox{\hyperlink{g__shsec_8h_source}{g\+\_\+shsec.\+h}}.

\mbox{\Hypertarget{g__shsec_8h_a3581ce607055d93734ccd9ce5260c7e6}\label{g__shsec_8h_a3581ce607055d93734ccd9ce5260c7e6}} 
\index{g\_shsec.h@{g\_shsec.h}!G\_SHSEC\_DEBUG@{G\_SHSEC\_DEBUG}}
\index{G\_SHSEC\_DEBUG@{G\_SHSEC\_DEBUG}!g\_shsec.h@{g\_shsec.h}}
\doxysubsubsection{\texorpdfstring{G\_SHSEC\_DEBUG}{G\_SHSEC\_DEBUG}}
{\footnotesize\ttfamily \#define G\+\_\+\+SHSEC\+\_\+\+DEBUG(\begin{DoxyParamCaption}\item[{}]{lvl,  }\item[{}]{... }\end{DoxyParamCaption})~    \mbox{\hyperlink{geom__dbg_8h_aa16dde017334d5072f6d9013db7e6517}{\+\_\+\+GEOM\+\_\+\+DEBUG}}(\char`\"{}GEOM\+\_\+\+SHSEC\char`\"{}, g\+\_\+shsec\+\_\+debug, (lvl), NULL, \+\_\+\+\_\+\+VA\+\_\+\+ARGS\+\_\+\+\_\+)}



Definition at line \mbox{\hyperlink{g__shsec_8h_source_l00049}{49}} of file \mbox{\hyperlink{g__shsec_8h_source}{g\+\_\+shsec.\+h}}.

\mbox{\Hypertarget{g__shsec_8h_abd6f2390fb4549f64124855dff8a538c}\label{g__shsec_8h_abd6f2390fb4549f64124855dff8a538c}} 
\index{g\_shsec.h@{g\_shsec.h}!G\_SHSEC\_LOGREQ@{G\_SHSEC\_LOGREQ}}
\index{G\_SHSEC\_LOGREQ@{G\_SHSEC\_LOGREQ}!g\_shsec.h@{g\_shsec.h}}
\doxysubsubsection{\texorpdfstring{G\_SHSEC\_LOGREQ}{G\_SHSEC\_LOGREQ}}
{\footnotesize\ttfamily \#define G\+\_\+\+SHSEC\+\_\+\+LOGREQ(\begin{DoxyParamCaption}\item[{}]{lvl,  }\item[{}]{\mbox{\hyperlink{g__raid__tr__if_8m_a09ac99485c68908acb7b8767e2b93e80}{bp}},  }\item[{}]{... }\end{DoxyParamCaption})~    \mbox{\hyperlink{geom__dbg_8h_aa16dde017334d5072f6d9013db7e6517}{\+\_\+\+GEOM\+\_\+\+DEBUG}}(\char`\"{}GEOM\+\_\+\+SHSEC\char`\"{}, g\+\_\+shsec\+\_\+debug, (lvl), (\mbox{\hyperlink{g__raid__tr__if_8m_a09ac99485c68908acb7b8767e2b93e80}{bp}}), \+\_\+\+\_\+\+VA\+\_\+\+ARGS\+\_\+\+\_\+)}



Definition at line \mbox{\hyperlink{g__shsec_8h_source_l00051}{51}} of file \mbox{\hyperlink{g__shsec_8h_source}{g\+\_\+shsec.\+h}}.

\mbox{\Hypertarget{g__shsec_8h_a18f96ddbee53f76d8cdabad654e96da0}\label{g__shsec_8h_a18f96ddbee53f76d8cdabad654e96da0}} 
\index{g\_shsec.h@{g\_shsec.h}!G\_SHSEC\_MAGIC@{G\_SHSEC\_MAGIC}}
\index{G\_SHSEC\_MAGIC@{G\_SHSEC\_MAGIC}!g\_shsec.h@{g\_shsec.h}}
\doxysubsubsection{\texorpdfstring{G\_SHSEC\_MAGIC}{G\_SHSEC\_MAGIC}}
{\footnotesize\ttfamily \#define G\+\_\+\+SHSEC\+\_\+\+MAGIC~\char`\"{}GEOM\+::\+SHSEC\char`\"{}}



Definition at line \mbox{\hyperlink{g__shsec_8h_source_l00038}{38}} of file \mbox{\hyperlink{g__shsec_8h_source}{g\+\_\+shsec.\+h}}.

\mbox{\Hypertarget{g__shsec_8h_a11841266c0b927fa033a475532cefc3a}\label{g__shsec_8h_a11841266c0b927fa033a475532cefc3a}} 
\index{g\_shsec.h@{g\_shsec.h}!G\_SHSEC\_VERSION@{G\_SHSEC\_VERSION}}
\index{G\_SHSEC\_VERSION@{G\_SHSEC\_VERSION}!g\_shsec.h@{g\_shsec.h}}
\doxysubsubsection{\texorpdfstring{G\_SHSEC\_VERSION}{G\_SHSEC\_VERSION}}
{\footnotesize\ttfamily \#define G\+\_\+\+SHSEC\+\_\+\+VERSION~1}



Definition at line \mbox{\hyperlink{g__shsec_8h_source_l00044}{44}} of file \mbox{\hyperlink{g__shsec_8h_source}{g\+\_\+shsec.\+h}}.

\mbox{\Hypertarget{g__shsec_8h_ab047d2e3041c744656fa453cd79df3e5}\label{g__shsec_8h_ab047d2e3041c744656fa453cd79df3e5}} 
\index{g\_shsec.h@{g\_shsec.h}!sc\_name@{sc\_name}}
\index{sc\_name@{sc\_name}!g\_shsec.h@{g\_shsec.h}}
\doxysubsubsection{\texorpdfstring{sc\_name}{sc\_name}}
{\footnotesize\ttfamily \#define sc\+\_\+name~sc\+\_\+geom-\/$>$\mbox{\hyperlink{g__part__if_8m_aff5d3acc33944ecb11914d04ef06bb54}{name}}}



Definition at line \mbox{\hyperlink{g__shsec_8h_source_l00062}{62}} of file \mbox{\hyperlink{g__shsec_8h_source}{g\+\_\+shsec.\+h}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{g__shsec_8h_a13e7b8b1085ffd14960ef7cb8be7e614}\label{g__shsec_8h_a13e7b8b1085ffd14960ef7cb8be7e614}} 
\index{g\_shsec.h@{g\_shsec.h}!shsec\_metadata\_decode@{shsec\_metadata\_decode}}
\index{shsec\_metadata\_decode@{shsec\_metadata\_decode}!g\_shsec.h@{g\_shsec.h}}
\doxysubsubsection{\texorpdfstring{shsec\_metadata\_decode()}{shsec\_metadata\_decode()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline void shsec\+\_\+metadata\+\_\+decode (\begin{DoxyParamCaption}\item[{const u\+\_\+char $\ast$}]{data,  }\item[{struct \mbox{\hyperlink{structg__shsec__metadata}{g\+\_\+shsec\+\_\+metadata}} $\ast$}]{md }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__shsec_8h_source_l00089}{89}} of file \mbox{\hyperlink{g__shsec_8h_source}{g\+\_\+shsec.\+h}}.



References \mbox{\hyperlink{g__part__if_8m_source_l00180}{data}}, \mbox{\hyperlink{g__shsec_8h_source_l00071}{g\+\_\+shsec\+\_\+metadata\+::md\+\_\+all}}, \mbox{\hyperlink{g__shsec_8h_source_l00069}{g\+\_\+shsec\+\_\+metadata\+::md\+\_\+id}}, \mbox{\hyperlink{g__shsec_8h_source_l00066}{g\+\_\+shsec\+\_\+metadata\+::md\+\_\+magic}}, \mbox{\hyperlink{g__shsec_8h_source_l00068}{g\+\_\+shsec\+\_\+metadata\+::md\+\_\+name}}, \mbox{\hyperlink{g__shsec_8h_source_l00070}{g\+\_\+shsec\+\_\+metadata\+::md\+\_\+no}}, \mbox{\hyperlink{g__shsec_8h_source_l00072}{g\+\_\+shsec\+\_\+metadata\+::md\+\_\+provider}}, \mbox{\hyperlink{g__shsec_8h_source_l00073}{g\+\_\+shsec\+\_\+metadata\+::md\+\_\+provsize}}, and \mbox{\hyperlink{g__shsec_8h_source_l00067}{g\+\_\+shsec\+\_\+metadata\+::md\+\_\+version}}.



Referenced by \mbox{\hyperlink{g__shsec_8c_source_l00434}{g\+\_\+shsec\+\_\+read\+\_\+metadata()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d7/d02/g__shsec_8h_a13e7b8b1085ffd14960ef7cb8be7e614_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{g__shsec_8h_a772dd65668615a108ac1b91e810d54ce}\label{g__shsec_8h_a772dd65668615a108ac1b91e810d54ce}} 
\index{g\_shsec.h@{g\_shsec.h}!shsec\_metadata\_encode@{shsec\_metadata\_encode}}
\index{shsec\_metadata\_encode@{shsec\_metadata\_encode}!g\_shsec.h@{g\_shsec.h}}
\doxysubsubsection{\texorpdfstring{shsec\_metadata\_encode()}{shsec\_metadata\_encode()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline void shsec\+\_\+metadata\+\_\+encode (\begin{DoxyParamCaption}\item[{const struct \mbox{\hyperlink{structg__shsec__metadata}{g\+\_\+shsec\+\_\+metadata}} $\ast$}]{md,  }\item[{u\+\_\+char $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{g__shsec_8h_source_l00076}{76}} of file \mbox{\hyperlink{g__shsec_8h_source}{g\+\_\+shsec.\+h}}.



References \mbox{\hyperlink{g__part__if_8m_source_l00180}{data}}, \mbox{\hyperlink{g__shsec_8h_source_l00071}{g\+\_\+shsec\+\_\+metadata\+::md\+\_\+all}}, \mbox{\hyperlink{g__shsec_8h_source_l00069}{g\+\_\+shsec\+\_\+metadata\+::md\+\_\+id}}, \mbox{\hyperlink{g__shsec_8h_source_l00066}{g\+\_\+shsec\+\_\+metadata\+::md\+\_\+magic}}, \mbox{\hyperlink{g__shsec_8h_source_l00068}{g\+\_\+shsec\+\_\+metadata\+::md\+\_\+name}}, \mbox{\hyperlink{g__shsec_8h_source_l00070}{g\+\_\+shsec\+\_\+metadata\+::md\+\_\+no}}, \mbox{\hyperlink{g__shsec_8h_source_l00072}{g\+\_\+shsec\+\_\+metadata\+::md\+\_\+provider}}, \mbox{\hyperlink{g__shsec_8h_source_l00073}{g\+\_\+shsec\+\_\+metadata\+::md\+\_\+provsize}}, and \mbox{\hyperlink{g__shsec_8h_source_l00067}{g\+\_\+shsec\+\_\+metadata\+::md\+\_\+version}}.

