proc文件的读写函数

每一个文件都有相应的文件操作表,最主要的就是读操作和写操作了, proc文件的读写函数得注意其对应的返回值,如果在读函数内一直返回一个正数,则上层会认为该文件还有数据需要读取,会一直无限的读下去。。。在实现proc文件读操作时,应该更新传递进来的offset参数来表示文件指针,在调用copy_to_user之前,应该将*offset的值与文件对应的数据buffer的长度进行比较,如果大于buffer的长度,说明已经读完了,此时需要返回一个0来表示读函数的退出,否则读完一定长度的数据,则 *offset +=count.  写函数一般就是调用copy_from_user将用户空间的数据复制到内核空间,然后返回一个len(传递进来的参数)值就行了

你可能感兴趣的:(proc文件的读写函数)