\hypertarget{expand_8c}{
\section{expand.c File Reference}
\label{expand_8c}\index{expand.c@{expand.c}}
}
Reverse a previous compaction.  


{\tt \#include \char`\"{}expand\_\-p.h\char`\"{}}\par
{\tt \#include \char`\"{}expand.h\char`\"{}}\par
{\tt \#include \char`\"{}decompress.h\char`\"{}}\par
{\tt \#include \char`\"{}LDT/APD.h\char`\"{}}\par
{\tt \#include \char`\"{}LSEC/enums.h\char`\"{}}\par
{\tt \#include $<$string.h$>$}\par
\subsection*{Functions}
\begin{CompactItemize}
\item 
static unsigned char $\ast$ \hyperlink{expand_8c_dd27ea9746b840f9dc5878ba4d22ecb1}{addDcm} (\hyperlink{structQSEC__decompression__}{QSEC\_\-decompression} $\ast$$\ast$pdcm, unsigned char $\ast$next, unsigned int nbits, const char $\ast$name)
\begin{CompactList}\small\item\em Construct a decompression structure. \item\end{CompactList}\item 
static const unsigned int $\ast$ \hyperlink{expand_8c_9eb5d027c8a3b2170a7c1d1e75505e6f}{recoverUserGem} (\hyperlink{structQSEC__expansion__}{QSEC\_\-expansion} $\ast$exp, const unsigned int $\ast$buf)
\begin{CompactList}\small\item\em Unpack the tables against which the GEM data were encoded. \item\end{CompactList}\item 
static const unsigned int $\ast$ \hyperlink{expand_8c_ededbd587f8f81da9d053cf14174869c}{recoverUserAcd} (\hyperlink{structQSEC__expansion__}{QSEC\_\-expansion} $\ast$exp, const unsigned int $\ast$buf)
\begin{CompactList}\small\item\em Unpack the tables against which the ACD contributions were encoded. \item\end{CompactList}\item 
static const unsigned int $\ast$ \hyperlink{expand_8c_3a15957f32fd44d445d4ca7549ab3db1}{recoverUserCal} (\hyperlink{structQSEC__expansion__}{QSEC\_\-expansion} $\ast$exp, const unsigned int $\ast$buf)
\begin{CompactList}\small\item\em Unpack the tables against which the CAL contributions were encoded. \item\end{CompactList}\item 
static const unsigned int $\ast$ \hyperlink{expand_8c_31203b21eb24c7cb4e453fa1f6306304}{recoverUserTkr} (\hyperlink{structQSEC__expansion__}{QSEC\_\-expansion} $\ast$exp, const unsigned int $\ast$buf)
\begin{CompactList}\small\item\em Unpack the tables against which the TKR contributions were encoded. \item\end{CompactList}\item 
size\_\-t \hyperlink{expand_8c_f2b835093871e036f994feb8c517c91d}{QSEC\_\-sizeofExpansion} (unsigned cap)
\begin{CompactList}\small\item\em Calculate the size of the memory block required to accomodate the expansion structure. \item\end{CompactList}\item 
\hyperlink{structQSEC__expansion__}{QSEC\_\-expansion} $\ast$ \hyperlink{expand_8c_72b501512416cbe5684750aac0ccb6ec}{QSEC\_\-constructExpansion} (void $\ast$buffer, unsigned cap)
\begin{CompactList}\small\item\em Construct a QSEC\_\-expansion structure in a buffer. \item\end{CompactList}\item 
void \hyperlink{expand_8c_bd579e0ef022b85aef7634d9e91ad685}{QSEC\_\-clearExpansion} (\hyperlink{structQSEC__expansion__}{QSEC\_\-expansion} $\ast$exp)
\begin{CompactList}\small\item\em Clear away any context from a previous cycle. \item\end{CompactList}\item 
void \hyperlink{expand_8c_cdafa7fc7dc224d05f57d4dbc961c437}{QSEC\_\-reportExpansion} (\hyperlink{structQSEC__expansion__}{QSEC\_\-expansion} $\ast$exp, FILE $\ast$fp)
\begin{CompactList}\small\item\em Report the contents of an expansion. \item\end{CompactList}\item 
void \hyperlink{expand_8c_5476ac4028f605b19103da2ae3332829}{QSEC\_\-reportExpCtx} (\hyperlink{structQSEC__expansion__}{QSEC\_\-expansion} $\ast$exp, FILE $\ast$fp)
\begin{CompactList}\small\item\em Report the contents of the expansion context. \item\end{CompactList}\item 
void \hyperlink{expand_8c_432e410d16b336f1be7012325929207a}{QSEC\_\-setMode} (\hyperlink{structQSEC__expansion__}{QSEC\_\-expansion} $\ast$exp, unsigned mode)
\begin{CompactList}\small\item\em Set the calibration mode of an expansion. \item\end{CompactList}\item 
const unsigned int $\ast$ \hyperlink{expand_8c_40cd442568e2900a369fff69f9c053ce}{QSEC\_\-recoverUser} (\hyperlink{structQSEC__expansion__}{QSEC\_\-expansion} $\ast$exp, const unsigned int $\ast$buf)
\begin{CompactList}\small\item\em Unpack the tables against which the events were encoded. \item\end{CompactList}\item 
const unsigned int $\ast$ \hyperlink{expand_8c_26ed9a299c391c71a3b6661c44121efe}{decodeCalMeans} (\hyperlink{structQSEC__expansion__}{QSEC\_\-expansion} $\ast$exp, const unsigned int $\ast$buf)
\begin{CompactList}\small\item\em Decompress the calorimeter log mean values. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Reverse a previous compaction. 

\begin{Desc}
\item[Author:]James Swain \& Owen Saxton\end{Desc}
\begin{Desc}
\item[Id]\hyperlink{expand_8c}{expand.c},v 1.14 2010/08/10 18:49:00 saxton Exp \end{Desc}


\subsection{Function Documentation}
\hypertarget{expand_8c_dd27ea9746b840f9dc5878ba4d22ecb1}{
\index{expand.c@{expand.c}!addDcm@{addDcm}}
\index{addDcm@{addDcm}!expand.c@{expand.c}}
\subsubsection[{addDcm}]{\setlength{\rightskip}{0pt plus 5cm}unsigned char $\ast$ addDcm ({\bf QSEC\_\-decompression} $\ast$$\ast$ {\em pdcm}, \/  unsigned char $\ast$ {\em next}, \/  unsigned int {\em nbits}, \/  const char $\ast$ {\em name})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{expand_8c_dd27ea9746b840f9dc5878ba4d22ecb1}


Construct a decompression structure. 

Constructs a decompression structure within the memory allocated for the expansion structure and returns a pointer to the location to place the next decompression

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em pdcm}]Pointer to the location to place the pointer to the decompression structure\item[{\em next}]Pointer to the start of the memory to use for this decompression structure\item[{\em nbits}]Number of bits in the symbols handled by this decompression structure\item[{\em name}]String identifying the decompression structure\end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]Pointer to the location to place the next decompression structure \end{Desc}


References QSEC\_\-constructDecompression(), and QSEC\_\-sizeofDecompression().

Referenced by QSEC\_\-constructExpansion().\hypertarget{expand_8c_26ed9a299c391c71a3b6661c44121efe}{
\index{expand.c@{expand.c}!decodeCalMeans@{decodeCalMeans}}
\index{decodeCalMeans@{decodeCalMeans}!expand.c@{expand.c}}
\subsubsection[{decodeCalMeans}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int$\ast$ decodeCalMeans ({\bf QSEC\_\-expansion} $\ast$ {\em exp}, \/  const unsigned int $\ast$ {\em buf})}}
\label{expand_8c_26ed9a299c391c71a3b6661c44121efe}


Decompress the calorimeter log mean values. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em exp}]Pointer to the expansion structure\item[{\em buf}]Pointer to the compressed data \end{description}
\end{Desc}


References QSEC\_\-expansion\_\-::cal, QSEC\_\-expansion\_\-::dtx, QSEC\_\-calDecompress::mean, QSEC\_\-calDecompress::means, and QSEC\_\-decompress().

Referenced by recoverUserCal().\hypertarget{expand_8c_bd579e0ef022b85aef7634d9e91ad685}{
\index{expand.c@{expand.c}!QSEC\_\-clearExpansion@{QSEC\_\-clearExpansion}}
\index{QSEC\_\-clearExpansion@{QSEC\_\-clearExpansion}!expand.c@{expand.c}}
\subsubsection[{QSEC\_\-clearExpansion}]{\setlength{\rightskip}{0pt plus 5cm}void QSEC\_\-clearExpansion ({\bf QSEC\_\-expansion} $\ast$ {\em exp})}}
\label{expand_8c_bd579e0ef022b85aef7634d9e91ad685}


Clear away any context from a previous cycle. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em exp}]Pointer to a expansion object \end{description}
\end{Desc}


References QSEC\_\-calDecompress::accepts, QSEC\_\-expansion\_\-::acd, QSEC\_\-acdDecompress::cables, QSEC\_\-expansion\_\-::cal, QSEC\_\-acdDecompress::chns, QSEC\_\-gemDecompress::cno, QSEC\_\-calDecompress::columns, QSEC\_\-gemDecompress::cond, QSEC\_\-tkrDecompress::diags, QSEC\_\-calDecompress::diags, QSEC\_\-expansion\_\-::dtx, QSEC\_\-expansion\_\-::gem, QSEC\_\-gemDecompress::high, QSEC\_\-calDecompress::layCnts, QSEC\_\-tkrDecompress::layers, QSEC\_\-calDecompress::logs, QSEC\_\-gemDecompress::low, QSEC\_\-calDecompress::mean, QSEC\_\-calDecompress::means, QSEC\_\-acdDecompress::phas, QSEC\_\-acdDecompress::pvahs, QSEC\_\-clearDecompression(), QSEC\_\-calDecompress::ranges, QSEC\_\-gemDecompress::rbn, QSEC\_\-tkrDecompress::requests, QSEC\_\-gemDecompress::roi, QSEC\_\-tkrDecompress::strips, QSEC\_\-expansion\_\-::tkr, QSEC\_\-gemDecompress::tkr, QSEC\_\-tkrDecompress::tots, QSEC\_\-tkrDecompress::towers, QSEC\_\-calDecompress::towers, QSEC\_\-gemDecompress::xy0, QSEC\_\-gemDecompress::xy1, QSEC\_\-gemDecompress::xzm, QSEC\_\-gemDecompress::xzp, QSEC\_\-gemDecompress::yzm, and QSEC\_\-gemDecompress::yzp.\hypertarget{expand_8c_72b501512416cbe5684750aac0ccb6ec}{
\index{expand.c@{expand.c}!QSEC\_\-constructExpansion@{QSEC\_\-constructExpansion}}
\index{QSEC\_\-constructExpansion@{QSEC\_\-constructExpansion}!expand.c@{expand.c}}
\subsubsection[{QSEC\_\-constructExpansion}]{\setlength{\rightskip}{0pt plus 5cm}{\bf QSEC\_\-expansion}$\ast$ QSEC\_\-constructExpansion (void $\ast$ {\em buffer}, \/  unsigned {\em cap})}}
\label{expand_8c_72b501512416cbe5684750aac0ccb6ec}


Construct a QSEC\_\-expansion structure in a buffer. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em cap}]Capacity of the decompression, maximum number of events in a single cycle\item[{\em buffer}]Uninitialised memory large enough to hold the expansion structure\end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]Pointer to an initialised expansion structure \end{Desc}


References QSEC\_\-calDecompress::accepts, QSEC\_\-expansion\_\-::acd, addDcm(), QSEC\_\-acdDecompress::cables, QSEC\_\-expansion\_\-::cal, QSEC\_\-acdDecompress::chns, QSEC\_\-gemDecompress::cno, QSEC\_\-calDecompress::columns, QSEC\_\-gemDecompress::cond, QSEC\_\-tkrDecompress::diags, QSEC\_\-calDecompress::diags, QSEC\_\-expansion\_\-::gem, QSEC\_\-gemDecompress::high, QSEC\_\-calDecompress::layCnts, QSEC\_\-tkrDecompress::layers, QSEC\_\-calDecompress::logs, QSEC\_\-gemDecompress::low, QSEC\_\-calDecompress::means, QSEC\_\-acdDecompress::phas, QSEC\_\-acdDecompress::pvahs, QSEC\_\-CURRENT\_\-VERSION, QSEC\_\-calDecompress::ranges, QSEC\_\-gemDecompress::rbn, QSEC\_\-tkrDecompress::requests, QSEC\_\-gemDecompress::roi, QSEC\_\-tkrDecompress::strips, QSEC\_\-expansion\_\-::tkr, QSEC\_\-gemDecompress::tkr, QSEC\_\-tkrDecompress::tots, QSEC\_\-tkrDecompress::towers, QSEC\_\-calDecompress::towers, QSEC\_\-expansion\_\-::ver, QSEC\_\-gemDecompress::xy0, QSEC\_\-gemDecompress::xy1, QSEC\_\-gemDecompress::xzm, QSEC\_\-gemDecompress::xzp, QSEC\_\-gemDecompress::yzm, and QSEC\_\-gemDecompress::yzp.

Referenced by QSEC\_\-construct().\hypertarget{expand_8c_40cd442568e2900a369fff69f9c053ce}{
\index{expand.c@{expand.c}!QSEC\_\-recoverUser@{QSEC\_\-recoverUser}}
\index{QSEC\_\-recoverUser@{QSEC\_\-recoverUser}!expand.c@{expand.c}}
\subsubsection[{QSEC\_\-recoverUser}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int$\ast$ QSEC\_\-recoverUser ({\bf QSEC\_\-expansion} $\ast$ {\em exp}, \/  const unsigned int $\ast$ {\em buf})}}
\label{expand_8c_40cd442568e2900a369fff69f9c053ce}


Unpack the tables against which the events were encoded. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em buf}]Pointer to the buffer where the context is held\item[{\em exp}]Pointer to the structure containing the tables (an expansion)\end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]Pointer to the next input location to be read or NULL if there was an error during recovery of User data \end{Desc}


References QSEC\_\-expansion\_\-::mode, QSEC\_\-CURRENT\_\-VERSION, QSEC\_\-VERS\_\-ALL\_\-RAW, recoverUserAcd(), recoverUserCal(), recoverUserTkr(), and QSEC\_\-expansion\_\-::ver.

Referenced by QSEC\_\-updateAtContribution().\hypertarget{expand_8c_cdafa7fc7dc224d05f57d4dbc961c437}{
\index{expand.c@{expand.c}!QSEC\_\-reportExpansion@{QSEC\_\-reportExpansion}}
\index{QSEC\_\-reportExpansion@{QSEC\_\-reportExpansion}!expand.c@{expand.c}}
\subsubsection[{QSEC\_\-reportExpansion}]{\setlength{\rightskip}{0pt plus 5cm}void QSEC\_\-reportExpansion ({\bf QSEC\_\-expansion} $\ast$ {\em exp}, \/  FILE $\ast$ {\em fp})}}
\label{expand_8c_cdafa7fc7dc224d05f57d4dbc961c437}


Report the contents of an expansion. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em exp}]Pointer to a expansion object\item[{\em fp}]Pointer to the destination file \end{description}
\end{Desc}


References QSEC\_\-calDecompress::accepts, QSEC\_\-expansion\_\-::acd, QSEC\_\-acdDecompress::cables, QSEC\_\-expansion\_\-::cal, QSEC\_\-acdDecompress::chns, QSEC\_\-gemDecompress::cno, QSEC\_\-calDecompress::columns, QSEC\_\-gemDecompress::cond, QSEC\_\-tkrDecompress::diags, QSEC\_\-calDecompress::diags, QSEC\_\-expansion\_\-::gem, QSEC\_\-gemDecompress::high, QSEC\_\-calDecompress::layCnts, QSEC\_\-tkrDecompress::layers, QSEC\_\-calDecompress::logs, QSEC\_\-gemDecompress::low, QSEC\_\-calDecompress::means, QSEC\_\-acdDecompress::phas, QSEC\_\-acdDecompress::pvahs, QSEC\_\-reportDecompression(), QSEC\_\-calDecompress::ranges, QSEC\_\-gemDecompress::rbn, QSEC\_\-tkrDecompress::requests, QSEC\_\-gemDecompress::roi, QSEC\_\-tkrDecompress::strips, QSEC\_\-expansion\_\-::tkr, QSEC\_\-gemDecompress::tkr, QSEC\_\-tkrDecompress::tots, QSEC\_\-tkrDecompress::towers, QSEC\_\-calDecompress::towers, QSEC\_\-gemDecompress::xy0, QSEC\_\-gemDecompress::xy1, QSEC\_\-gemDecompress::xzm, QSEC\_\-gemDecompress::xzp, QSEC\_\-gemDecompress::yzm, and QSEC\_\-gemDecompress::yzp.

Referenced by QSEC\_\-reportExpand().\hypertarget{expand_8c_5476ac4028f605b19103da2ae3332829}{
\index{expand.c@{expand.c}!QSEC\_\-reportExpCtx@{QSEC\_\-reportExpCtx}}
\index{QSEC\_\-reportExpCtx@{QSEC\_\-reportExpCtx}!expand.c@{expand.c}}
\subsubsection[{QSEC\_\-reportExpCtx}]{\setlength{\rightskip}{0pt plus 5cm}void QSEC\_\-reportExpCtx ({\bf QSEC\_\-expansion} $\ast$ {\em exp}, \/  FILE $\ast$ {\em fp})}}
\label{expand_8c_5476ac4028f605b19103da2ae3332829}


Report the contents of the expansion context. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em exp}]Pointer to a expansion object\item[{\em fp}]Pointer to the destination file \end{description}
\end{Desc}


References QSEC\_\-CURRENT\_\-VERSION, QSEC\_\-VERS\_\-ALL\_\-RAW, QSEC\_\-VERS\_\-FIXED\_\-CAL, QSEC\_\-VERS\_\-NEW\_\-SCHEME, QSEC\_\-VERS\_\-NEWER, QSEC\_\-VERS\_\-ORIGINAL, and QSEC\_\-expansion\_\-::ver.

Referenced by QSEC\_\-reportExp().\hypertarget{expand_8c_432e410d16b336f1be7012325929207a}{
\index{expand.c@{expand.c}!QSEC\_\-setMode@{QSEC\_\-setMode}}
\index{QSEC\_\-setMode@{QSEC\_\-setMode}!expand.c@{expand.c}}
\subsubsection[{QSEC\_\-setMode}]{\setlength{\rightskip}{0pt plus 5cm}void QSEC\_\-setMode ({\bf QSEC\_\-expansion} $\ast$ {\em exp}, \/  unsigned {\em mode})}}
\label{expand_8c_432e410d16b336f1be7012325929207a}


Set the calibration mode of an expansion. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em exp}]Pointer to a expansion structure\item[{\em mode}]Type of calibration \end{description}
\end{Desc}


References QSEC\_\-expansion\_\-::mode.

Referenced by QSEC\_\-updateAtContribution().\hypertarget{expand_8c_f2b835093871e036f994feb8c517c91d}{
\index{expand.c@{expand.c}!QSEC\_\-sizeofExpansion@{QSEC\_\-sizeofExpansion}}
\index{QSEC\_\-sizeofExpansion@{QSEC\_\-sizeofExpansion}!expand.c@{expand.c}}
\subsubsection[{QSEC\_\-sizeofExpansion}]{\setlength{\rightskip}{0pt plus 5cm}size\_\-t QSEC\_\-sizeofExpansion (unsigned {\em cap})}}
\label{expand_8c_f2b835093871e036f994feb8c517c91d}


Calculate the size of the memory block required to accomodate the expansion structure. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em cap}]Capacity of the decompression, maximum number of events in a single cycle\end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]Size of the memory block required to accomodate the expansion structure \end{Desc}


References QSEC\_\-sizeofDecompression().

Referenced by QSEC\_\-sizeof().\hypertarget{expand_8c_ededbd587f8f81da9d053cf14174869c}{
\index{expand.c@{expand.c}!recoverUserAcd@{recoverUserAcd}}
\index{recoverUserAcd@{recoverUserAcd}!expand.c@{expand.c}}
\subsubsection[{recoverUserAcd}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int $\ast$ recoverUserAcd ({\bf QSEC\_\-expansion} $\ast$ {\em exp}, \/  const unsigned int $\ast$ {\em buf})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{expand_8c_ededbd587f8f81da9d053cf14174869c}


Unpack the tables against which the ACD contributions were encoded. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em buf}]Pointer to the buffer where the context is held\item[{\em exp}]Pointer to the structure containing the tables (an expansion)\end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]Pointer to the next input location to read or NULL if there is an error in the unpacking. \end{Desc}


References QSEC\_\-expansion\_\-::acd, QSEC\_\-acdDecompress::cables, QSEC\_\-acdDecompress::chns, QSEC\_\-acdDecompress::phas, QSEC\_\-acdDecompress::pvahs, QSEC\_\-unpack(), QSEC\_\-VERS\_\-NEW\_\-SCHEME, recoverUserGem(), and QSEC\_\-expansion\_\-::ver.

Referenced by QSEC\_\-recoverUser().\hypertarget{expand_8c_3a15957f32fd44d445d4ca7549ab3db1}{
\index{expand.c@{expand.c}!recoverUserCal@{recoverUserCal}}
\index{recoverUserCal@{recoverUserCal}!expand.c@{expand.c}}
\subsubsection[{recoverUserCal}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int $\ast$ recoverUserCal ({\bf QSEC\_\-expansion} $\ast$ {\em exp}, \/  const unsigned int $\ast$ {\em buf})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{expand_8c_3a15957f32fd44d445d4ca7549ab3db1}


Unpack the tables against which the CAL contributions were encoded. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em buf}]Pointer to the buffer where the context is held\item[{\em exp}]Pointer to the structure containing the tables (an expansion)\end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]Pointer to the next input location to read or NULL if there is an error in the unpacking. \end{Desc}


References QSEC\_\-calDecompress::accepts, QSEC\_\-expansion\_\-::cal, QSEC\_\-calDecompress::columns, decodeCalMeans(), QSEC\_\-calDecompress::diags, QSEC\_\-calDecompress::layCnts, QSEC\_\-calDecompress::logs, QSEC\_\-calDecompress::means, QSEC\_\-unpack(), QSEC\_\-unpackH(), QSEC\_\-VERS\_\-NEW\_\-SCHEME, QSEC\_\-VERS\_\-NEWER, QSEC\_\-calDecompress::range, QSEC\_\-calDecompress::ranges, recoverUserGem(), QSEC\_\-calDecompress::towers, and QSEC\_\-expansion\_\-::ver.

Referenced by QSEC\_\-recoverUser().\hypertarget{expand_8c_9eb5d027c8a3b2170a7c1d1e75505e6f}{
\index{expand.c@{expand.c}!recoverUserGem@{recoverUserGem}}
\index{recoverUserGem@{recoverUserGem}!expand.c@{expand.c}}
\subsubsection[{recoverUserGem}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int $\ast$ recoverUserGem ({\bf QSEC\_\-expansion} $\ast$ {\em exp}, \/  const unsigned int $\ast$ {\em buf})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{expand_8c_9eb5d027c8a3b2170a7c1d1e75505e6f}


Unpack the tables against which the GEM data were encoded. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em buf}]Pointer to the buffer where the context is held\item[{\em exp}]Pointer to the structure containing the tables (an expansion)\end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]Pointer to the next input location to read or NULL if there is an error in the unpacking \end{Desc}


References QSEC\_\-gemDecompress::cno, QSEC\_\-gemDecompress::cond, QSEC\_\-expansion\_\-::gem, QSEC\_\-gemDecompress::high, QSEC\_\-gemDecompress::low, QSEC\_\-unpack(), QSEC\_\-VERS\_\-NEW\_\-SCHEME, QSEC\_\-gemDecompress::rbn, QSEC\_\-gemDecompress::roi, QSEC\_\-gemDecompress::tkr, QSEC\_\-expansion\_\-::ver, QSEC\_\-gemDecompress::xy0, QSEC\_\-gemDecompress::xy1, QSEC\_\-gemDecompress::xzm, QSEC\_\-gemDecompress::xzp, QSEC\_\-gemDecompress::yzm, and QSEC\_\-gemDecompress::yzp.

Referenced by recoverUserAcd(), recoverUserCal(), and recoverUserTkr().\hypertarget{expand_8c_31203b21eb24c7cb4e453fa1f6306304}{
\index{expand.c@{expand.c}!recoverUserTkr@{recoverUserTkr}}
\index{recoverUserTkr@{recoverUserTkr}!expand.c@{expand.c}}
\subsubsection[{recoverUserTkr}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int $\ast$ recoverUserTkr ({\bf QSEC\_\-expansion} $\ast$ {\em exp}, \/  const unsigned int $\ast$ {\em buf})\hspace{0.3cm}{\tt  \mbox{[}inline, static\mbox{]}}}}
\label{expand_8c_31203b21eb24c7cb4e453fa1f6306304}


Unpack the tables against which the TKR contributions were encoded. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em buf}]Pointer to the buffer where the context is held\item[{\em exp}]Pointer to the structure containing the tables (an expansion)\end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]Pointer to the next input location to read or NULL if there is an error in the unpacking. \end{Desc}


References QSEC\_\-tkrDecompress::chan, QSEC\_\-tkrDecompress::diags, QSEC\_\-tkrDecompress::layers, QSEC\_\-unpack(), QSEC\_\-VERS\_\-NEW\_\-SCHEME, recoverUserGem(), QSEC\_\-tkrDecompress::requests, QSEC\_\-tkrDecompress::strips, QSEC\_\-expansion\_\-::tkr, QSEC\_\-tkrDecompress::tots, QSEC\_\-tkrDecompress::towers, and QSEC\_\-expansion\_\-::ver.

Referenced by QSEC\_\-recoverUser().