morphling.huang
既然选择了远方,便只顾风雨兼程。
摘要: 用ioctl获得本地ip地址时要用到两个结构体ifconf和ifreq,它们对于大多数人 来说都是比较陌生的,这里给大家一种比较简单的理解方法,当然只一种帮助 理解的方法,在描述中可能会有一些地方与真实定义有所出入,仅供参考.首先先认识一下ifconf和ifreq://ifconf通常是用来保存所有接口信息的 //if.h struct ifconf { int ifc_len; /* size of buffer */ union { char *ifcu_buf; /* input... 阅读全文
posted @ 2012-11-06 23:53 morphling.huang 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 通常,一个用户程序使用ioctl (sockid,SIOCDEVPRIVATE,(char*)&ifr)来调用与某种设备(指像WaveLAN那样的特殊设备)相关的 ioctl命令,这里ifr是struct ifreq ifr形式的变量。用户程序应当在ifr.ifr_name中填充与这个设备相关的名字,例如,假设WaveLAN使用的接口号为eth1。一般的,一个 用户程序还需要与内核互相交换ioctl的command参数和结果,这可以通过ifr.ifr_data这个变量来实现,例如,想得到WaveLAN中 表示信号强度的信息时,可以通过返回这个变量来实现。Linux的源代码已经包括了两种 阅读全文
posted @ 2012-11-06 23:41 morphling.huang 阅读(676) 评论(0) 推荐(0) 编辑
摘要: 转自:http://yfydz.cublog.cnioctl 函数本函数影响由fd 参数引用的一个打开的文件。#include<unistd.h>int ioctl( int fd, int request, .../* void *arg */ );返回0 :成功-1 :出错第三个参数总是一个指针,但指针的类型依赖于request 参数。我们可以把和网络相关的请求划分为6 类:套接口操作文件操作接口操作ARP 高速缓存操作路由表操作流系统下表列出了网络相关ioctl 请求的request 参数以及arg 地址必须指向的数据类型:类别Request说明数据类型套接口SIOCATMA 阅读全文
posted @ 2012-11-06 23:33 morphling.huang 阅读(622) 评论(0) 推荐(0) 编辑