39#if defined(XWCDCFG_ds_PM) && (1 == XWCDCFG_ds_PM)
52#if defined(XWCDCFG_ds_PM) && (1 == XWCDCFG_ds_PM)
131 goto err_dev_vop_start;
161#if defined(XWCDCFG_ds_PM) && (1 == XWCDCFG_ds_PM)
211 goto err_ops_set_opmode;
226 *opmode = cantrcv->
opmode;
294 *wkuprs = cantrcv->
wkuprs;
void xwds_cantrcv_destruct(struct xwds_cantrcv *cantrcv)
XWDS API:CAN接收器对象的析构函数
void xwds_cantrcv_set_wkup_isr(struct xwds_cantrcv *cantrcv, xwds_cantrcv_wkup_isr_f isr)
XWDS API:设置唤醒中断的回调函数
void xwds_cantrcv_drvcb_wakeup_notification(struct xwds_cantrcv *cantrcv)
CAN接收器回调函数:CAN接收器的唤醒通知
void(* xwds_cantrcv_wkup_isr_f)(struct xwds_cantrcv *, struct xwds_canc *)
唤醒中断回调函数
xwer_t xwds_cantrcv_put(struct xwds_cantrcv *cantrcv)
XWDS API:减少对象的引用计数
void xwds_cantrcv_get_wkuprs(struct xwds_cantrcv *cantrcv, xwsq_t *wkuprs)
XWDS API:获取CAN接收器的唤醒原因
xwer_t xwds_cantrcv_enable_wkup(struct xwds_cantrcv *cantrcv)
XWDS API:开启CAN接收器的唤醒
void xwds_cantrcv_construct(struct xwds_cantrcv *cantrcv)
XWDS API:CAN接收器的构造函数
void xwds_cantrcv_clear_wkuprs(struct xwds_cantrcv *cantrcv)
XWDS API:清除CAN接收器的唤醒原因
xwer_t xwds_cantrcv_disable_wkup(struct xwds_cantrcv *cantrcv)
XWDS API:关闭CAN接收器的唤醒
xwer_t xwds_cantrcv_set_opmode(struct xwds_cantrcv *cantrcv, xwsq_t opmode)
XWDS API:设置CAN接收器的运行模式
void xwds_cantrcv_get_opmode(struct xwds_cantrcv *cantrcv, xwsq_t *opmode)
XWDS API:设置CAN接收器的模式
xwer_t xwds_cantrcv_grab(struct xwds_cantrcv *cantrcv)
XWDS API:增加对象的引用计数
@ XWDS_CANTRCV_OPMODE_NUM
@ XWDS_CANTRCV_WKUPRS_NOT_SUPPORTED
@ XWDS_CANTRCV_WKUPRS_NONE
static xwer_t xwds_device_grab(struct xwds_device *dev)
XWDS API:增加对象的引用计数
xwer_t xwds_device_vop_start(struct xwds_device *dev)
设备基本操作函数:启动设备
void xwds_device_construct(struct xwds_device *dev)
XWDS API:设备的构造函数
void xwds_device_destruct(struct xwds_device *dev)
XWDS API:设备的析构函数
static xwer_t xwds_device_put(struct xwds_device *dev)
XWDS API:减少对象的引用计数
xwer_t xwds_device_vop_stop(struct xwds_device *dev)
设备基本操作函数:停止设备
xwer_t xwds_device_vop_remove(struct xwds_device *dev)
设备基本操作函数:删除设备
xwer_t xwds_device_vop_resume(struct xwds_device *dev)
设备基本操作函数:继续设备
xwer_t xwds_device_vop_probe(struct xwds_device *dev)
设备基本操作函数:探测设备
xwer_t xwds_device_vop_suspend(struct xwds_device *dev)
设备基本操作函数:暂停设备
#define xwds_cast(type, dev)
#define XWDS_VALIDATE(exp, errstr,...)
#define EFAULT
Bad address
#define ENOSYS
Function not implemented
#define EOPNOTSUPP
Operation not supported on socket
#define ERANGE
Result too large
xwer_t(* disable_wkup)(struct xwds_cantrcv *)
xwer_t(* enable_wkup)(struct xwds_cantrcv *)
xwer_t(* set_opmode)(struct xwds_cantrcv *, xwsq_t)
union xwds_cantrcv::@16 bc
const struct xwds_cantrcv_cfg * cfg
xwds_cantrcv_wkup_isr_f wkup_isr
const struct xwds_driver * drv
const struct xwds_virtual_operation * vop
xwer_t(* stop)(struct xwds_device *)
xwer_t(* remove)(struct xwds_device *)
xwer_t(* probe)(struct xwds_device *)
xwer_t(* resume)(struct xwds_device *)
static xwer_t xwds_cantrcv_vop_stop(struct xwds_cantrcv *cantrcv)
XWDS VOP:停止CAN接收器
static xwer_t xwds_cantrcv_vop_start(struct xwds_cantrcv *cantrcv)
XWDS VOP:启动CAN接收器
static xwer_t xwds_cantrcv_vop_remove(struct xwds_cantrcv *cantrcv)
XWDS VOP:移除CAN接收器
static xwer_t xwds_cantrcv_vop_suspend(struct xwds_cantrcv *cantrcv)
XWDS VOP:暂停CAN接收器
static xwer_t xwds_cantrcv_vop_resume(struct xwds_cantrcv *cantrcv)
XWDS VOP:继续CAN接收器
const struct xwds_virtual_operation xwds_cantrcv_vop
static xwer_t xwds_cantrcv_vop_probe(struct xwds_cantrcv *cantrcv)
XWDS VOP:探测CAN接收器