linux内核驱动llseek接口,以及应用层lseek系统调用的介绍

本文介绍了Linux内核驱动中的llseek接口与应用层的lseek系统调用,阐述了其在文件操作中的作用,包括系统调用接口原型和驱动程序接口原型的详细说明,以及参数的解释和使用方式。重点关注llseek接口在驱动的write, read接口中的影响,以及如何通过llseek调整文件指针的位置。" 47153669,5112559,Swift实现冒泡排序及优化详解,"['iOS开发', 'swift', '算法', '排序算法', '编程实践']

驱动的文件操作 llseek 接口,对应系统调用接口 lseek 函数.如果实现这个接口,驱动中的write,read接口函数也需要考虑文件指针。

系统调用接口原型:

off_t lseek(int fd, off_t offset, int whence);

参数:fd文件描述符号
    offset:偏移量,可以正数,也可以负数
    whence:移动方式:
        SEEK_SET
        把文件指针直接设置成 offset
        SEEK_CUR
        把文件指针设置成 当前位置+ offset 值            
        SEEK_END
        把文件指针设置成  文件结束位置 + offset 值

返回值:

成功:相对文件头,当前文件指针位置

失败:-1。错误码如下:

ERRORS 描述
EBADF 打开文件错误返回这个错误
EINVAL   当 whence 值不是 S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值