static ssize_t read(struct file *file, char *buff, size_t len, loff_t *offset)
{
printk(KERN_INFO "write\n");
return simple_read_from_buffer(buff, len, offset, ker_buff, SIZE);
}
static ssize_t write(struct file *file, const char *buff, size_t len, loff_t *offset)
{
printk(KERN_INFO "read\n");
printk(KERN_INFO "your offset is:%lu\n",(long)offset);
return simple_write_to_buffer(ker_buff, SIZE, offset, buff, len);
}
когда я выполняю echo "hi" > /dev/device_name
Я получаю вывод:
read
your offset is 0 as output.`
Почему я получаю 0?
На странице руководства это упоминается как позиция смещения пользователя.
Может кто-нибудь объяснить мне, в чем польза от смещения?