
unix高级编程之函数说明
u010154760
这个作者很懒,什么都没留下…
展开
-
文件I/O_lseek函数
每个打开的文件都有一个与其相关联的“当前文件偏移量”。通常,读、写操作都从当前文件偏移量处开始,并使偏移量增加所读写的字节数。按系统默认的情况,当打开一个文件时,除非指定O_APPEND选项,否则该偏移量被设置为0。可以调用lseek显式地为一个打开的文件设置起偏移量。#include off_t lseek(int filedes, off_t offset, int whence);转载 2015-03-25 19:47:59 · 749 阅读 · 0 评论 -
Linux内核的ioctl函数学习
我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl, 所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。一、 什么是ioctl。ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达转载 2015-03-26 21:54:17 · 444 阅读 · 0 评论 -
ioctl
NAMEioctl - control a STREAMS device (STREAMS)SYNOPSIS[XSR] #include stropts.h>int ioctl(int fildes, int request, ... /* arg */); DESCRIPTIONThe ioctl() function shall perfo转载 2015-03-30 14:56:29 · 478 阅读 · 0 评论 -
getmsg, getpmsg - receive next message from a STREAMS file (STREAMS)
NAMEgetmsg, getpmsg - receive next message from a STREAMS file (STREAMS)SYNOPSIS[XSR] #include stropts.h>int getmsg(int fildes, struct strbuf *restrict ctlptr, struct strbuf *转载 2015-03-30 15:11:52 · 553 阅读 · 0 评论 -
设备控制接口(ioctl 函数)
【转】Linux设备控制接口序言设备驱动程序的一个基本功能就是管理和控制设备,同时为用户应用程序提供管理和控制设备的接口。我们前面的“Hello World”驱动程序已经可以提供读写功能了,在这里我们将扩展我们的驱动以支持设备控制接口,在Linux中这个接口是通过ioctl函数来实现的。设备控制接口(ioctl 函数)回想一下我们在字符设备驱动中介绍的struct file_o转载 2015-03-30 14:54:22 · 583 阅读 · 0 评论 -
用户空间与内核的交互---IOCTL
在procfs一节中我们提到过ioctl,它的作用编写过驱动和从事过网络编程的人,一定不会陌生. 就是由于它架构的思路的精妙之处,屏蔽了大量抽象的东西.这里我们就分析下它的使用和架构,当然这里不会分析ioctl系统调用的实现.这里参考资料有《linux设备驱动程序》,《深入理解linux网络技术内幕》 ,当然也少不了网上好的文章和帖子. 或许我们最熟悉就是文件的操作,文件有re转载 2015-03-30 15:02:40 · 1480 阅读 · 0 评论 -
关于函数strtok和strtok_r的使用要点和实现原理(一)
strtok函数的使用是一个老生常谈的问题了。该函数的作用很大,争议也很大。以下的表述可能与一些资料有区别或者说与你原来的认识有差异,因此,我尽量以实验为证。交代一下实验环境是必要的,winxp+vc6.0,一个极端平民化的实验环境。本文中使用的源代码大部分来自于网络,我稍加修改作为例证。当然,本人水平有限,有不妥之处在所难免,各位见谅的同时不妨多做实验,以实验为证。strtok的函数原型转载 2015-06-16 19:38:25 · 487 阅读 · 0 评论