LinuxARMLinux指纹门禁系统剖析.ppt

int ret = 0; unsigned char tmp; if(_IOC_TYPE(cmd) != FPS200_IOC_MAGIC) return -ENOTTY; if(_IOC_NR(cmd) FPS200_IOC_MAXNR) return -ENOTTY; if (_IOC_DIR(cmd) _IOC_READ) err = verify_area(VERIFY_WRITE, (void *)arg, _IOC_SIZE(cmd)); else if (_IOC_DIR(cmd) _IOC_WRITE) err = verify_area(VERIFY_READ, (void *)arg, _IOC_SIZE(cmd)); if (err) return err; switch(cmd) { case FPS200_IOCSDTR: ret = __get_user(tmp, (unsigned char *)arg); if(tmp 0x7f) tmp = 0x7f; FPS_INDEX = FPS_DTR; FPS_DATA = tmp; break; case FPS200_IOCSDCR: ret = __get_user(tmp, (unsigned char *)arg); i

文档评论(0)

1亿VIP精品文档

相关文档