PSI sics-cvs-psi_pre-ansto
This commit is contained in:
45
doc/programmer/ruli.tex
Normal file
45
doc/programmer/ruli.tex
Normal file
@@ -0,0 +1,45 @@
|
||||
\subsection{The R\"unlist}
|
||||
The R\"unlist is part of the LNS R\"unbuffer system. It is a stack of
|
||||
r\"unbuffers. When started, the last r\"unbuffer of the stack is executed.
|
||||
While this is happening it is
|
||||
possible to modify, delete and add r\"unbuffers to the stack.
|
||||
|
||||
The R\"unlist is characterized by the following data structure:
|
||||
\begin{verbatim}
|
||||
typedef struct {
|
||||
pObjectDescriptor pDes;
|
||||
int iList;
|
||||
} RuenStack, *pRuenStack;
|
||||
\end{verbatim}
|
||||
The fields are:
|
||||
\begin{description}
|
||||
\item[pDes] A pointer to the usual SICS object descriptor.
|
||||
\item[iList] A lld--list of r\"unbuffers.
|
||||
\end{description}
|
||||
|
||||
Interaction with the R\"unlist happens through the interface functions given
|
||||
below. If not stated otherwise functions return 1 on success, 0 on failure.
|
||||
Most functions take as first parameter a pointer to a r\"unlist structure.
|
||||
\begin{description}
|
||||
\item[pRuenStack CreateRuenStack(void)] creates a new r\"unlist. Returns the
|
||||
pointer to a new r\"unlist structure on success, NULL on failure.
|
||||
\item[void DeleteRuenStack(void *self)] deletes a r\"unlist.
|
||||
\item[int RuenStackAdd(pRuenStack self,pRuenBuffer pVictim)] puts
|
||||
r\"unbuffer pVictim on top of the r|'unlist.
|
||||
\item[int RuenStackUnlink(pRuenStack self, int iLine)] removes r\"unbuffer
|
||||
number iLine from the r\"unlist. This command does NOT delete the
|
||||
r\"unbuffer.
|
||||
\item[int RuenStackInsert(pRuenStack self, int iLine, pRuenBuffer pVictim)]
|
||||
inserts r\"unbuffer pVictim after line iLine into the r\"unlist.
|
||||
\item[int RuenStackList(pRuenStack self, SConnection *pCon)] list the
|
||||
contents of the r\"unlist onto the connection pCon.
|
||||
\item[int RuenStackRun(pRuenStack self,SConnection *pCon, SicsInterp
|
||||
*pSics)] executes the r\"unlist. Ends when the r\"unlist is empty.
|
||||
\item[int RuenStackBatch(pRuenStack self,SConnection *pCon, SicsInterp
|
||||
*pSics)] executes the r\"unlist. If the list is empty RuenStackBatch
|
||||
continues and checks for new r\"unbuffers being added to the list.
|
||||
\item[int RuenStackAction(SConnection *pCon, SicsInterp *pSics, void *pData,\\
|
||||
int argc, char *argv[])] The object wrapper function
|
||||
for the R\"unlist.
|
||||
\end{description}
|
||||
|
||||
Reference in New Issue
Block a user