откуда берется значение loff_t * (чтение, запись в драйвере устройства)? - PullRequest
0 голосов
/ 10 октября 2019

Я работаю над драйвером устройства Linux в первый раз. Я использую книгу ldd3 и некоторые примеры кодов, которые я нашел в Интернете. Итак,

Я нашел

device_lseek(struct file *file, loff_t offset, int orig)
device_write(struct file *fp, const char *buff, size_t length, loff_t *ppos)
device_read(struct file *fp, char *buff, size_t length, loff_t *ppos)

lseek, возвращаю loff_t (позицию) и также записываю позицию в file->f_pos

read,writeиспользуйте ppos, который кажется позицией.

Я хочу знать, откуда берется значение ppos?

Имеет ли это какое-либо отношение к f_pos в file передано write,read?

Какая часть действий, связанных с позицией, обрабатывается системой ядра?

Какую роль должен взять на себя разработчик устройства?

И, наконец, где находится документ, описывающий эти вещи?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...