- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在编写一个简单的驱动程序。
我在这里学习 ioctl
调用,它们在 copy_to_user
和 copy_from_user
部分工作得很好,但在 get_user
和 put_user
部分。如果我通过这些功能发送一些数据,它就会工作;问题是当我必须传递一个整数或字符值时:
long ioctl_funcs(struct file *filp,unsigned int cmd, unsigned long arg)
{
int ret=0;
int len=10;
char val='d';
char valplusone='d';
switch(cmd) {
case IOCTL_HELLO:
printk(KERN_INFO "Hello ioctl world");
case READ_IOCTL:
copy_to_user((char *)arg, buf, 200);
//works fine
break;
case WRITE_IOCTL:
copy_from_user(buf, (char *)arg, len);
//works fine
buf[6]=' ';
buf[7]='t';
buf[8]='o';
buf[9]='o';
buf[10]='\n';
break;
case READ_ONE:
printk(KERN_ALERT "valplusone (put user)is %c \n",valplusone);
put_user(valplusone,(char __user *) arg);
//problem
break;
case WRITE_ONE:
if(access_ok(VERIFY_WRITE,(void*)arg,sizeof(char))!=1)
{
printk(KERN_ALERT "access not ok\n");
return -EFAULT;
}
else{
printk(KERN_ALERT "****arg %l",arg);
get_user(val,(char __user *)arg);
valplusone='t';
printk(KERN_ALERT "val (get user)is %c\n",val);
break;
}
}
return ret;
}
在上面的部分中,它适用于复制到用户 从用户复制但不是在 get_user put_user 的情况下现在用户端代码是:
char sent,received;
if(retval=ioctl(fd, WRITE_ONE, sent) < 0)
perror("third ioctl");
printf("you sent %c\nretval is %d\n",sent,retval);
if(ioctl(fd, READ_ONE, received) < 0)
perror("fourth ioctl");
printf("you got %c",received);
-----------------------------------
最佳答案
您必须传递地址,而不是值。示例:
if (ioctl(fd, READ_ONE, &received) < 0)
…
关于c - 为什么我的 IOCTL 调用适用于 copy_from_user 但不适用于 get_user?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29564521/
我似乎无法弄清楚为什么所有用户都会通过此查询返回。任何帮助将不胜感激。 function user_main(){ $args = array( 'meta_key'
我希望我的目录按姓氏排序。我怎样才能做到这一点? function dispDirectory() { global $user_ID; // Disallow directory i
我想模拟 HttpContext 的 User 属性。我正在使用 Scott Hanselman 的 MVCHelper 类和 RhinoMocks。 我有一个包含代码的单元测试,如下所示: ...
我需要在 WordPress 站点上运行 cron 作业,该站点在脚本中包含 get_users() 函数,但是因为此脚本是单个文件,所以它不包含任何核心 WordPress 文件。 我的问题是我需要
我需要在 WordPress 站点上运行 cron 作业,该站点在脚本中包含 get_users() 函数,但是因为此脚本是单个文件,所以它不包含任何核心 WordPress 文件。 我的问题是我需要
在玩 Tweepy 时,我注意到调用 get_user 返回的“状态”变量是 当然,我可以调用 get_user.USER.status,但如何从 get_user 调用中获取该信息?即我想循环遍历
我有一个 wp_users 表,它有一个列排序。我开始知道 get_users() 会返回所有用户。 我像 get_users('orderby=ordering') 这样使用它我得到了帮助表格 th
在Linux内核编程中,我看到 get_user 和 copy_from_user 从用户空间执行读取,较早的读取固定的 1、2 或 4 个字节,而后者从用户空间读取任意数量的字节。 get_user
首先:这与 this 不同。 。 ModelBackend 没有 request 成员。 我想访问当前用户的 session ,但不想访问全局请求对象或他/她的 session ID。为什么?我编写了
我通过子类化普通用户模型在 Django 中创建了一个自定义用户。该用户唯一的区别是它没有用户名。现在,我尝试使用内置的 Django UserCreationForms 来登录用户。我对 UserC
我正在编写一个简单的驱动程序。 我在这里学习 ioctl 调用,它们在 copy_to_user 和 copy_from_user 部分工作得很好,但在 get_user 和 put_user 部分。
如果一个 Action 包含 2 个词,我应该如何命名它: word_other wordOther wordother ? 最佳答案 我假设您在谈论 Controller 操作?在这种情况下,它们需
嗨,我正在使用 codeigniter,对此我还很陌生。我正在做一个简单的程序来显示数据库中的数据。但我有错误!这是我的代码 Controller 文件用户.php class User extend
我注意到有两种方法可以从请求中获取用户对象(假设用户已经登录并且 session 有效): user = request.user user = get_user(request) 其中 get_us
我正在尝试使用自我机器人 DM 自己。我正在尝试使用 get_user()我的代码中的功能。 bot = commands.Bot(command_prefix='', self_bot=True)
我是一名优秀的程序员,十分优秀!