PSI sics-cvs-psi-2008-10-02
This commit is contained in:
54
sicsobj.h
Normal file
54
sicsobj.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/**
|
||||
* This is the header file for the new (as of 2007) style SICS objects
|
||||
*
|
||||
* copyright: see file COPYRIGHT
|
||||
*
|
||||
* Mark Koennecke, July 2007
|
||||
*/
|
||||
#ifndef SICSOBJ2_H_
|
||||
#define SICSOBJ2_H_
|
||||
#include <stdio.h>
|
||||
#include <hipadaba.h>
|
||||
/*======================================================================
|
||||
* Be careful when changing this data structure. It has to be compatible
|
||||
* in its first fields with the SICS object descriptor as defined in
|
||||
* obdes.h in order to achieve backwards compatibility with old style
|
||||
* SICS objects.
|
||||
* =====================================================================*/
|
||||
typedef struct {
|
||||
pObjectDescriptor pDes;
|
||||
pHdb objectNode;
|
||||
void *pPrivate;
|
||||
void (*KillPrivate)(void *pPrivate);
|
||||
}SICSOBJ, *pSICSOBJ;
|
||||
/*-----------------------------------------------------------------------*/
|
||||
typedef int (*SICSOBJFunc)(pSICSOBJ self, SConnection *pCon,
|
||||
pHdb commandNode, pHdb par[], int nPar);
|
||||
/*======================= Live & Death =================================*/
|
||||
pSICSOBJ MakeSICSOBJ(char *name, char *class);
|
||||
pSICSOBJ MakeSICSOBJv(char *name, char *class, int type, int priv);
|
||||
void KillSICSOBJ(void *data);
|
||||
void DefaultKill(void *data);
|
||||
|
||||
|
||||
/**
|
||||
* This creates a new SICS object and installs it in the interpreter. It returns
|
||||
* the newly created SICS object such that the caller can continue
|
||||
* configuring it.
|
||||
*/
|
||||
pSICSOBJ SetupSICSOBJ(SConnection *pCon,SicsInterp *pSics, void *pData,
|
||||
int argc, char *argv[]);
|
||||
/*====================== Interpreter Interface ===========================
|
||||
* InvokeSICSObj is special in that it returns -1 if it cannot handle
|
||||
* the command. This leaves calling code the opportunity to process
|
||||
* further commands.It returns 1 on success and 0 on failures though.
|
||||
* ------------------------------------------------------------------------*/
|
||||
int InvokeSICSOBJ(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
int argc, char *argv[]);
|
||||
int InterInvokeSICSOBJ(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
int argc, char *argv[]);
|
||||
int InstallSICSOBJ(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
int argc, char *argv[]);
|
||||
|
||||
|
||||
#endif /*SICSOBJ2_H_*/
|
||||
Reference in New Issue
Block a user