首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

linux ioctl函数详解,ioctl函数详解「建议收藏」

1.介绍 Linux网络程序与内核交互的方法是通过ioctl来实现的,ioctl与网络协议栈进行交互,可得到网络接口的信息,网卡设备的映射属性和配置网络接口.并且还能够查看,修改,删除ARP高速缓存的信息...,所以,我们有必要了解一下ioctl函数的具体实现. 2.相关结构体与相关函数 #include int ioctl(int d,int request,….); 参数: d-文件描述符,这里是对网络套接字操作...printf(“SIOCGIFHWADDR:%02x:%02x:%02x:%02x:%02x:%02x\n”,hw[0],hw[1],hw[2],hw[3],hw[4],hw[5]);}//获得网卡映射参数...err){inet_ntop(AF_INET,&sin->sin_addr.s_addr,ip,16);//转换的字符串保存到ip数组中,第二个参数是要转换的二进制IP指针,第三个参数是转换完成存放IP...的缓冲区,最后一个参数是缓冲区的长度printf(“SIOCGIFADDR:%s\n”,ip);}//查询目标IP地址err=ioctl(s,SIOCGIFDSTADDR,&ifr);if(!

2.7K50

ioctl函数_通过ioctl函数设置IP不允许修改

ioctl函数是文件结构中的一个属性分量,就是说如果你的驱动程序提供了对ioctl的支持,用户就可以在用户程序中使用ioctl函数来控制设备的I/O通道。   ...二、 ioctl如何实现   在驱动程序中实现的ioctl函数体内,实际上是有一个switch{case}结构,每一个case对应一个命令码,做出一些相应的操作。...三、ioctl参数 1、用户空间,ioctl的调用具有如下原型: int ioctl(int fd, unsigned long cmd, …); 其中fd是用户程序打开设备时使用open函数返回的文件标示符...,cmd是用户程序对设备的控制命令,至于后面的省略号,那是一些补充参数,一般最多一个,这个参数的有无和cmd的意义相关。...3)arg:补充参数

1.3K20

fcntl和ioctl_Liverpool fc

成功取决于cmd,失败返回-1; * 定义: */ #include int fcntl(int sockfd, int cmd, /* int arg */); /* 说明: * 第三个参数可有可没有...ioctl函数一些功能与fcntl函数是重叠的,主要功能为影响由参数fd打开的文件。.../* 返回值:成功返回0,出错返回-1;*/ #include int ioctl(int fd, int request, /* void *arg */); /* 说明: *...fd为描述符,request为执行操作参数,由一系列定义的宏来决定,arg为一个指针, * 类型由request决定; */ ioctl与网络相关的请求可以划分为6类: 套接口操作 文件操作 接口操作...ARP 高速缓存操作 路由表操作 流系统 对于每一种操作,都有几个不同的功能参数,这里不详细介绍,具体参考:ioctl用法详解;或UNIX网络编程卷1 :套接字联网API; 版权声明:本文内容由互联网用户自发贡献

75120
领券