我正在制作设备驱动程序。我添加了与阅读和学习最相关的代码。我可以输入并使用阅读功能。但是由于某些原因,无法输入llseek。我在llseek的文件操作中列出了它,并将其与我想要的功能匹配,参数似乎很好?
在dmesg中,我得到“ inside READ”,但没有“ inside SEEK”,也没有错误。在终端或编译期间也没有错误。我也不太了解c。
主要
users
在我的设备驱动程序中:
int file = open("/dev/simple_char_driver", O_RDWR);
//read example, this works fine
printf("Enter how many bytes you want to read: \n");
int len[10];
scanf("%d", len);
char *ptr = malloc(*len * sizeof(char));
read(file, ptr, *len);
//llseek example, doesn't enter
int offset [10];
int whence [10];
scanf("%d",offset);
printf("Enter a value for whence: \n");
scanf("%d",whence);
llseek(file, offset, whence);
答案 0 :(得分:1)
关于第二个问题:
Ajaxsubmit()
被行缓冲。这意味着遇到换行符(printk
)时,将刷新缓冲区(内容将发送到日志文件)。否则,只有在程序退出时才能执行。
因此,请在您的\n
语句中使用“ \ n”。