\subsection{The Alias Facility}
Aliases make commands available under a different name. SICS currently supports two types of aliases:
\begin{itemize}
\item Object aliases. This is a facility for renaming first class SICS
objects such as commands and hardware objects. This is installed into
SICS by creating a new name in the interpreter but with the data
structures of the original object. Thus all interface operations such
as driving etc will work. Object aliases are installed from the
initialization script through the SicsAlias command.  
\item Command aliases. This is just plain text replacement. For
instance one may define ``sttll'' instead of ``a4 softlowerlim''. Such
an alias can be installed with the ``alias'' command at any
time. However, renaming a motor with this scheme will not work
properly as this alias facility has no way to forward interfaces
properly.        
\end{itemize}
There is no
data structure associated with object aliases. The trick is done by
just  putting in
the same command as a new name into the interpreter.
 
 Corrspondingly there is only one function to it:
\begin{verbatim}
  int SicsAlias(SConnection *pCon, SicsInterp *pSics, void *pData,
                int argc, char *argv[]);
\end{verbatim}
SicsAlias is the object wrapper function which implements the alias command.
                  				

Command aliases are implemented through:
\begin{verbatim}
  int MakeAlias(SConnection *pCon, SicsInterp *pSics, void *pData,
                int argc, char *argv[]);
\end{verbatim}
There is a little trivial data structure associated with command
aliases which is defined in alias.c.

