1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ioctl详解

/evenness/article/details/7665970ioctl函数详细说明(网络) 分类: /evenness/article/category/1180790应用编程 2012-06-15 12:02 947人阅读 /evenness/article/details/7665970评论(0) javascript:void(0);收藏 /evenness/article/details/7665970举报 /tag/%e7%bd%91%e7%bb%9c网络/tag/structstruct/tag/commandcommand/tag/socketsocket/tag/interfaceinterface/tag/%e8%bd%af%e4%bb%b6%e6%b5%8b%e8%af%95软件测试ioctl?函数?本函数影响由fd?参数引用的一个打开的文件。?#includeunistd.hint?ioctl( int fd, int request, .../* void *arg */ );返回0?:成功 -1?:出错?第三个参数总是一个指针,但指针的类型依赖于request?参数。我们可以把和网络相关的请求划分为6?类:套接口操作文件操作接口操作ARP?高速缓存操作路由表操作流系统下表列出了网络相关ioctl?请求的request?参数以及arg?地址必须指向的数据类型:?类别Request说明数据类型套接口SIOCATMARKSIOCSPGRPSIOCGPGRP是否位于带外标记设置套接口的进程ID?或进程组ID获取套接口的进程ID?或进程组IDintintint?文?件??FIONBINFIOASYNCFIONREADFIOSETOWNFIOGETOWN?设置/?清除非阻塞I/O?标志设置/?清除信号驱动异步I/O?标志获取接收缓存区中的字节数设置文件的进程ID?或进程组ID获取文件的进程ID?或进程组IDintintintintint????接口??????????SIOCGIFCONFSIOCSIFADDRSIOCGIFADDRSIOCSIFFLAGSSIOCGIFFLAGSSIOCSIFDSTADDRSIOCGIFDSTADDRSIOCGIFBRDADDRSIOCSIFBRDADDRSIOCGIFNETMASKSIOCSIFNETMASKSIOCGIFMETRICSIOCSIFMETRICSIOCGIFMTUSIOCxxx获取所有接口的清单设置接口地址获取接口地址设置接口标志获取接口标志设置点到点地址获取点到点地址获取广播地址设置广播地址获取子网掩码设置子网掩码获取接口的测度设置接口的测度获取接口MTU(还有很多取决于系统的实现)struct ifconfstruct ifreqstruct ifreqstruct ifreqstruct ifreqstruct ifreqstruct ifreqstruct ifreqstruct ifreqstruct ifreqstruct ifreqstruct ifreqstruct ifreqstruct ifreq?ARPSIOCSARPSIOCGARPSIOCDARP创建/?修改ARP?表项获取ARP?表项删除ARP?表项struct arpreqstruct arpreqstruct arpreq路由SIOCADDRTSIOCDELRT增加路径删除路径struct rtentrystruct rtentry流I_xxx????套接口操作:明确用于套接口操作的ioctl?请求有三个,?它们都要求ioctl?的第三个参数是指向某个整数的一个指针。?SIOCATMARK:如果本套接口的的度指针当前位于带外标记,那就通过由第三个参数指向的整数返回一个非0?值;否则返回一个0?值。POSIX?以函数sockatmark?替换本请求。SIOCGPGRP?:?通过第三个参数指向的整数返回本套接口的进程ID?或进程组ID?,该ID?指定针对本套接口的SIGIO?或SIGURG?信号的接收进程。本请求和fcntl?的F_GETOWN?命令等效,POSIX?标准化的是fcntl?函数。SIOCSPGRP?:?把本套接口的进程ID?或者进程组ID?设置成第三个参数指向的整数,该ID?指定针对本套接口的SIGIO?或SIGURG?信号的接收进程,本请求和fcntl?的F_SETOWN?命令等效,POSIX?标准化的是fcntl?操作。?文件操作:以下5?个请求都要求ioctl?的第三个参数指向一个整数。?FIONBIO?:?根据ioctl?的第三个参数指向一个0?或非0?值分别清除或设置本套接口的非阻塞标志。本请求和O_NONBLOCK?文件状态标志等效,而该标志通过fcn

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档