40 lines
1.5 KiB
C
40 lines
1.5 KiB
C
/*------------------------------------------------------------------------------
|
|
R \"U N L I S T
|
|
|
|
LNS has this special scheme of collecting commands in R\"unbuffers
|
|
(see buffer.h) and execute them from a stack. The R\"unbuffers are
|
|
implemented in buffer.*. This implements the stack.
|
|
|
|
BEWARE: The R\"unList code does not delete R\"unbuffers!
|
|
|
|
Mark Koennecke, January 1996
|
|
|
|
|
|
copyright: see implementation file
|
|
------------------------------------------------------------------------------*/
|
|
#ifndef RUENSTACK
|
|
#define RUENSTACK
|
|
|
|
typedef struct {
|
|
pObjectDescriptor pDes;
|
|
int iList;
|
|
} RuenStack, *pRuenStack;
|
|
|
|
/*----------------------------- live & death --------------------------------*/
|
|
pRuenStack CreateRuenStack(void);
|
|
void DeleteRuenStack(void *self);
|
|
|
|
/*----------------------------- what can be done with it --------------------*/
|
|
int RuenStackAdd(pRuenStack self, pRuenBuffer pVictim);
|
|
int RuenStackUnlink(pRuenStack self, int iLine);
|
|
int RuenStackInsert(pRuenStack self, int iLine, pRuenBuffer pVictim);
|
|
int RuenStackList(pRuenStack self, SConnection * pCon);
|
|
int RuenStackRun(pRuenStack self, SConnection * pCon, SicsInterp * pSics);
|
|
int RuenStackBatch(pRuenStack self, SConnection * pCon,
|
|
SicsInterp * pSics);
|
|
/*------------------------- the command -------------------------------------*/
|
|
int RuenStackAction(SConnection * pCon, SicsInterp * pSics, void *pData,
|
|
int argc, char *argv[]);
|
|
|
|
#endif
|