00001 #ifndef LSF_TASKDEV_H
00002 #define LSF_TASKDEV_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "lsfControl.h"
00018
00019 typedef struct
00020 {
00021 lsfSTATE state;
00022 lsfSUBSTATE subState;
00023 vltLOGICAL init;
00024 vltLOGICAL simulation;
00025 vltINT32 timeout;
00026
00027 lsfSTATE startState;
00028 vltINT32 priority;
00029 vltLOGICAL ignoreStop;
00030 vltLOGICAL first;
00031 vltINT32 tcb,tid;
00032 SEM_ID tmrSem;
00033 void *fctHook[3];
00034
00035 } lsfTASKDEV_ENTRY;
00036
00037 typedef struct
00038 {
00039 void *ctrlData;
00040 void *userData;
00041 lsfSTATE state;
00042 lsfSUBSTATE subState;
00043 vltLOGICAL init;
00044 vltLOGICAL simulation;
00045 vltINT32 timeout;
00046 vltINT32 numTaskDevs;
00047
00048 vltBYTES20 *taskDevNames;
00049 char *attrTable[lsfMAX_DEVICES+1];
00050 lsfTASKDEV_ENTRY *taskDevTable[lsfMAX_DEVICES];
00051 } lsfTASKDEV_DATA;
00052
00053 typedef ccsCOMPL_STAT lsfTASKDEV_HOOK ( IN lsfTASKDEV_DATA *taskDevData,
00054 IN const char *taskDevName,
00055 OUT ccsERROR *error);
00056
00057 #define lsfTaskDevGetData(ptr) \
00058 (lsfTASKDEV_DATA *)lsfControlGetDevData((lsfCONTROL_DATA *)(((lsfCONTROL_DATA *)ptr)->ctrlData),lsfDEVICE_TASKDEV)
00059 #define lsfTaskDevGetUserData(ptr) \
00060 (lsfTaskDevGetData(ptr))->userData
00061
00062 ccsCOMPL_STAT lsfTaskDevConstructor ( IN const char *swdName,
00063 IN lsfCONTROL_DATA *controlData,
00064 IN const char *taskDevNames[],
00065 OUT ccsERROR *error );
00066 void lsfTaskDevDestructor ( IN lsfCONTROL_DATA *controlData );
00067
00068 ccsCOMPL_STAT lsfTaskDevInit ( IN lsfTASKDEV_DATA *taskDevData,
00069 IN const char *taskDevName,
00070 OUT ccsERROR *error );
00071 ccsCOMPL_STAT lsfTaskDevStandby ( IN lsfTASKDEV_DATA *taskDevData,
00072 IN const char *taskDevName,
00073 OUT ccsERROR *error );
00074 ccsCOMPL_STAT lsfTaskDevOnline ( IN lsfTASKDEV_DATA *taskDevData,
00075 IN const char *taskDevName,
00076 OUT ccsERROR *error );
00077 ccsCOMPL_STAT lsfTaskDevStop ( IN lsfTASKDEV_DATA *taskDevData,
00078 IN const char *taskDevName,
00079 OUT ccsERROR *error );
00080 ccsCOMPL_STAT lsfTaskDevOff ( IN lsfTASKDEV_DATA *taskDevData,
00081 IN const char *taskDevName,
00082 OUT ccsERROR *error );
00083 ccsCOMPL_STAT lsfTaskDevExit ( IN lsfTASKDEV_DATA *taskDevData,
00084 IN const char *taskDevName,
00085 OUT ccsERROR *error );
00086 ccsCOMPL_STAT lsfTaskDevSimulat ( IN lsfTASKDEV_DATA *taskDevData,
00087 IN const char *taskDevName,
00088 OUT ccsERROR *error );
00089 ccsCOMPL_STAT lsfTaskDevStopsim ( IN lsfTASKDEV_DATA *taskDevData,
00090 IN const char *taskDevName,
00091 OUT ccsERROR *error );
00092 ccsCOMPL_STAT lsfTaskDevSelftest ( IN lsfTASKDEV_DATA *taskDevData,
00093 IN const char *taskDevName,
00094 OUT ccsERROR *error );
00095 ccsCOMPL_STAT lsfTaskDevTest ( IN lsfTASKDEV_DATA *taskDevData,
00096 IN const char *taskDevName,
00097 OUT ccsERROR *error );
00098 ccsCOMPL_STAT lsfTaskDevTrigger ( IN lsfTASKDEV_DATA *taskDevData,
00099 IN const char *taskDevName,
00100 OUT ccsERROR *error );
00101 STATUS lsfTaskDevVerify ( IN lsfTASKDEV_DATA *taskDevData,
00102 IN const char *taskDevName,
00103 OUT ccsERROR *error );
00104
00105 #endif