我对字符设备驱动程序有点困惑。我写了一个简单的字符设备驱动程序,它使用字符串和简单的东西。现在我必须实现它并修改write函数以接收整数N。
因为我必须接收一个整数,我想修改write函数而不是char * buffer接收一个int *数,但是当我尝试使用“my_write”终端映射file_operations时,会给出一个错误,说“不兼容的数组类型”
我的问题是我必须修改以便接收一个带有写入函数的字符串的整数
这些是我的功能:
static ssize_t my_write
(struct file *filp, const char __user *buf, size_t length, loff_t *offset)
{
int nc = 0;
if (length > BUF_LEN)
return BUF_LEN-length;
nc = copy_from_user(msg,buf,length);
msg_ptr = msg;
return length - nc;
}