32 #ifndef INCLUDE_DRIVERS_IDRIVERVTBL_H_ 33 #define INCLUDE_DRIVERS_IDRIVERVTBL_H_ 43 typedef struct _IDriver_vtbl IDriver_vtbl;
46 struct _IDriver_vtbl {
50 sys_error_code_t (*DoEnterPowerMode)(
IDriver *
this,
const EPowerMode eActivePowerMode,
const EPowerMode eNewPowerMode);
60 const IDriver_vtbl *vptr;
68 return this->vptr->Init(
this, pParams);
73 return this->vptr->Start(
this);
78 return this->vptr->Stop(
this);
83 return this->vptr->DoEnterPowerMode(
this, eActivePowerMode, eNewPowerMode);
88 return this->vptr->Write(
this, pDataBuffer, nDataSize, nChannel);
93 return this->vptr->Read(
this, pDataBuffer, nDataSize, nChannel);
Define the global error management API.
SYS_DEFINE_INLINE sys_error_code_t IDrvDoEnterPowerMode(IDriver *this, const EPowerMode eActivePowerMode, const EPowerMode eNewPowerMode)
Definition: IDriverVtbl.h:82
SYS_DEFINE_INLINE sys_error_code_t IDrvStop(IDriver *this)
Definition: IDriverVtbl.h:77
SYS_DEFINE_INLINE sys_error_code_t IDrvWrite(IDriver *this, uint8_t *pDataBuffer, uint16_t nDataSize, uint16_t nChannel)
Definition: IDriverVtbl.h:87
Definition: IDriverVtbl.h:59
SYS_DEFINE_INLINE sys_error_code_t IDrvInit(IDriver *this, void *pParams)
Definition: IDriverVtbl.h:67
unsigned short sys_error_code_t
Definition: syserror.h:45
SYS_DEFINE_INLINE sys_error_code_t IDrvRead(IDriver *this, uint8_t *pDataBuffer, uint16_t nDataSize, uint16_t nChannel)
Definition: IDriverVtbl.h:92
Target platform definition.
SYS_DEFINE_INLINE sys_error_code_t IDrvStart(IDriver *this)
Definition: IDriverVtbl.h:72