\subsection{The Status Object}
Again a simple thing which maintains a string describinh what the SICSserver
is up to. The codes recognized are:
\begin{description}
\item[eEager] ready to execute commands.
\item[eUserWait] user requested wait.
\item[eCounting] counting something.
\item[eOutOfBeam] there is no beam.
\item[ePaused] paused.
\item[eDriving] driving bits around.
\item[eRunning] moving somewhere.
\item[eScanning] doing a scan.
\item[eBatch] processing a batch file.
\item[eHalted] halt has been called, not used.
\item[eDead] server is dead, not used.
\item[eInput] waiting for user input in prompting mode. 
\end{description}
   
Status can be interfaced with:
\begin{description}
\item[void SetStatus(Status eNew)] sets a new status.
\item[int SetStatusFromText(char *text)] sets a new status from text.
\item[void KillStatus(void *pData)] deletes status data structures. Status
can have callbacks associated with it, these need to be remved by this
function.
\item[Status GetStatus(void)] retrives the current status.
\item[void   GetStatusText(char *buf, int iBufLen)] retrieves the status as text.
\item[int UserStatus(SConnection *pCon, SicsInterp *pSics, void *pData,\\
                  int argc, char *argv[])] The object wrapper function for
the status object.
\item[int ResetStatus(SConnection *pCon, SicsInterp *pSics, void *pData,\\
                  int argc, char *argv[])] The wrapper function
implementing the reset command.
\item[int BackupStatus(SConnection *pCon, SicsInterp *pSics, void *pData,\\
                  int argc, char *argv[])] is the object wrapper function
implementing the backup command which saves the server status into a file.
This is all of the server. This function does not really belong here.
\item[int RestoreStatus(SConnection *pCon, SicsInterp *pSics, void *pData,\\
                  int argc, char *argv[])] complement to BackupStatus. Reads
SICS server status back from file.
\end{description}

