00001 #ifndef LSF_DEVICE_H
00002 #define LSF_DEVICE_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "lsfDefines.h"
00018
00019
00020
00021
00022 typedef vltINT32 lsfSTATE;
00023 typedef vltINT32 lsfSUBSTATE;
00024
00025 typedef struct
00026 {
00027 lsfSTATE state;
00028 lsfSUBSTATE subState;
00029 vltLOGICAL init;
00030 vltLOGICAL simulation;
00031 vltINT32 timeout;
00032 } lsfDEVICE_ENTRY;
00033
00034 typedef struct
00035 {
00036 void *ctrlData;
00037 void *userData;
00038 lsfSTATE state;
00039 lsfSUBSTATE subState;
00040 vltLOGICAL init;
00041 vltLOGICAL simulation;
00042 vltINT32 timeout;
00043 vltINT32 numDevices;
00044 vltBYTES20 *deviceNames;
00045 char *attrTable[lsfMAX_DEVICES+1];
00046 lsfDEVICE_ENTRY *deviceTable[lsfMAX_DEVICES];
00047 } lsfDEVICE_DATA;
00048
00049 vltLOGICAL lsfDeviceIsDefined ( IN void *pData,
00050 IN const char *devName );
00051 vltLOGICAL lsfDeviceIsIgnored ( IN void *pData,
00052 IN const char *devName );
00053 vltLOGICAL lsfDeviceIsSimulated ( IN void *pData,
00054 IN const char *devName );
00055 vltLOGICAL lsfDeviceIsInState ( IN void *pData,
00056 IN lsfSTATE state );
00057
00058 ccsCOMPL_STAT lsfDeviceSetStatus ( IN void *pData,
00059 IN vltINT32 devIdx,
00060 IN lsfSTATE state,
00061 IN lsfSUBSTATE subState,
00062 IN vltINT32 init,
00063 OUT ccsERROR *error );
00064 ccsCOMPL_STAT lsfDeviceSetState ( IN void *pData,
00065 IN vltINT32 devIdx,
00066 IN lsfSTATE state,
00067 OUT ccsERROR *error );
00068 ccsCOMPL_STAT lsfDeviceSetSubState ( IN void *pData,
00069 IN vltINT32 devIdx,
00070 IN lsfSUBSTATE subState,
00071 OUT ccsERROR *error );
00072 ccsCOMPL_STAT lsfDeviceSetInit ( IN void *pData,
00073 IN vltINT32 devIdx,
00074 IN vltLOGICAL init,
00075 OUT ccsERROR *error );
00076 lsfSTATE lsfDeviceGetState ( IN void *devPtr,
00077 IN vltINT32 devIdx);
00078 lsfSUBSTATE lsfDeviceGetSubState ( IN void *devPtr,
00079 IN vltINT32 devIdx);
00080 vltLOGICAL lsfDeviceGetSim ( IN void *devPtr,
00081 IN vltINT32 devIdx);
00082
00083 typedef ccsCOMPL_STAT lsfDEVICE_HOOK( IN void *devData,
00084 IN const char *devName,
00085 OUT ccsERROR *error);
00086 typedef ccsCOMPL_STAT lsfDEVICE_CONSTRUCTOR ( IN void *devData,
00087 IN const char *devName,
00088 OUT ccsERROR *error);
00089 typedef void lsfDEVICE_DESTRUCTOR ( IN void *devData );
00090
00091 ccsCOMPL_STAT lsfDeviceCallHook ( IN const char *swdName,
00092 IN void *devData,
00093 IN const char *devName,
00094 IN const char *devFct,
00095 OUT ccsERROR *error );
00096 ccsCOMPL_STAT lsfConstructorHook ( IN const char *swdName,
00097 IN void *devData,
00098 IN const char *devName,
00099 OUT ccsERROR *error );
00100 void lsfDestructorHook ( IN const char *swdName,
00101 IN void *devData,
00102 IN const char *devName );
00103
00104 #endif