\subsection{NXUTIL} Ther are some utility functions for writing NeXus data files from SICS with the NXDICT-API. These are collected in the files nxutil.h and nxutil.c. \begin{description} \item[int SNXSPutMotor(SicsInterp *pSics, SConnection *pCon, NXhandle hFil, NXdict pDict, char *pAlias, char *pName)] writes the value of a motor to file. The parameters are: \begin{description} \item[pSics] The SICS interpreter to search for the motor. \item[pCon] The connection object to which to print errors. \item[hFil] The handle of the NeXus file to write. \item[pDict] The handle of the NeXus dictionary to use. \item[pAlias] The alias name to use for writing. \item[pName] The name of the motor. \end{description} \item[SNXSPutMotorNULL] writes the motor zero point. Same parameters as above. \item[int SNXSPutVariable(SicsInterp *pSics, SConnection *pCon,\\ NXHandle hFil, NXdict pDict, char *pAlias,\\ char *pName)] writes a SICS variable to a NeXus file using the dictionary. Parameters similar to SNXSPutMotor. \item[SNXSPutEVVar(NXhandle hfil,NXdict pDict,char *pName, SConnection *pCon,\\ char *pValAlias, char *pStddevAlias)] This writes an environment variable pName to the file described by hfil, using the dictionary pDict. A warning is printed if the variable is not configured. If a variable is found its value and standard deviation are written to file using the aliases given as parameters. \item[SNXSPutGlobals] writes global data to the file. \item[SNXSFormatTime] returns the current time formatted according to the NeXus specification in buffer. Max iLen characters will be copied to buffer. \item[SNXSMakeFileName] returns a pointer to a buffer containing a new file name for a data file. This function assembles the filename from the DataNUmber and various SICS variables. The caller has to free the buffer containg the name. \item[SNXSPutDrivable] writes any variable adhering to the drivable interface. \end{description}