0

在 struct 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 *"

4

1 回答 1

1

我相信,要在“loff_t *”参数中获得非零值并首先从您的应用程序中读取,您需要首先调用“lseek”。

喜欢:

#include <unistd.h>
...
offset = ...
pos = lseek(fh, (off_t) offset, SEEK_SET);
read(fh, buffer, bytesToRead);

这里的偏移量将通过“loff_t* 参数”传递给内核。

于 2013-07-05T04:08:47.947 回答