0

次の行 1517 で定義されている struct file_operations で:

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 に答える