在结构file_operations中,它在第1517行中定义自:
http://lxr.free-electrons.com/source/include/linux/fs.h?a=arm
行1520中有读取操作的方法:
ssize_t (* read) (struct file *, char __ user *, size_t, loff_t *);
从应用程序调用此方法的正确方法是什么?我在将"loff_t *"
作为参数传递时遇到问题
要从应用程序中第一次读取"lof_t*"参数中的非零值,我认为您需要首先调用"lseek"。
类似:
#include <unistd.h>
...
offset = ...
pos = lseek(fh, (off_t) offset, SEEK_SET);
read(fh, buffer, bytesToRead);
这里的偏移量将通过"lof_t*参数"传递给内核。