当前位置:  技术问答>linux和unix

求助:为什么我我在MAC OS上 执行ioctl 函数SIOCGIFADDR的命令获取IP地址失败呢?

    来源: 互联网  发布时间:2016-05-27

    本文导语:          ......         struct ifconf ifc; char devid[256]={0};  char is_find_dev = 0; struct ifreq buf[MAXINTERFACES]; ifc.ifc_len = sizeof(buf); ifc.ifc_buf = (caddr_t) buf; if (!ioctl(*sockfd, SIOCGIFCONF, (char *) &ifc))  { int interfac...

        ......
        struct ifconf ifc;
char devid[256]={0}; 
char is_find_dev = 0;
struct ifreq buf[MAXINTERFACES];
ifc.ifc_len = sizeof(buf);
ifc.ifc_buf = (caddr_t) buf;
if (!ioctl(*sockfd, SIOCGIFCONF, (char *) &ifc)) 
{
int interface = ifc.ifc_len / sizeof(struct ifreq);
while (interface-- > 0) 
{
if (!(ioctl(*sockfd, SIOCGIFADDR, (char *) &buf[interface]))) 
{
if(0 == strncmp(deviceIP->address, (char*)inet_ntoa(((struct sockaddr_in*) (&buf[interface].ifr_addr))->sin_addr),16)){
strcpy(devid,buf[interface].ifr_name);
is_find_dev = 1;
break;
}
}
else
perror("ioctl SIOCGIFADDR");
}
}
        ...........
interface 为15.while (interface-- > 0) 循环后,而所有设备显示ioctl SIOCGIFADDR:Device not configured.但是我用ifconfig现实有两个网卡在工作啊,一个LAN一个WIFI网卡。能上网。

|
Most of the Mac OS X networking subsystem is derived from that of 4.4BSD, although there are some important differences, such as in the handling of timers and the interaction of network devices with the higher layers of the networking stack.

The I/O Kit's Network family provides various classes that together constitute the low-level layers of the Mac OS X networking subsystem. For example, if you wish to create a network controller driver, you use the framework defined by the Network family. Moreover, the networking subsystem has a data link interface layer (DLIL) that connects the Network family with the BSD networking code. Specifically, the DLIL is used for communication between the Network family's IONetworkInterface class and higher-level components such as the protocols.

A notable feature of the Mac OS X implementation is the Network Kernel Extensions (NKE) mechanism, which provides ways to extend the system's networking architecture through loadable kernel modules that interact with the networking stack. Examples of applications of NKEs include implementation of new protocols, modification of existing protocols, creation of link-layer encryption mechanisms, and attachment of filters at various layers of the stack.

Before Mac OS X 10.4, a kernel extension had to be explicitly designated as an NKE. Beginning with version 10.4, the kernel exports several kernel programming interfaces (KPIs) that make NKE functionality available to kernel extensions.

    
 
 

您可能感兴趣的文章:

  • 求助,linux下如何使用函数更改时区,例如设置美国时区 谢谢
  • 求助 请问vxworks支持inet_ntoa函数吗? 需要包含哪些头文件? 谢谢
  • 【求助】:如何用ioctl()函数调用一个驱动程序
  • [求助] 关于ctime函数..
  • 求助:ioctl函数的命令参数
  • [求助]请问socket编程中send()函数可以发送整形数据吗?
  • C++如何调用库里面的C函数?求助~~
  • 求助:函数getpeername()返回的namelen很小,导致获得名字失败是为什么?谢谢!!!
  • 【求助】我刚装REDHAT9,用SOCK函数总返回-1
  • 求助,关于GTK的退出函数
  • 菜鸟求助linux最最基本的HELLO函数错误
  • [求助]popen 函数引起 shell 调用, sh 成为僵尸进程.
  • 【急】求助各位老师。关于getrusage函数的用法。
  • [求助]关于SOCKET编程中close函数阻塞的问题。
  • 高分求助icmp_hdr()函数的问题
  • 高分求助关于jsp自定义函数的问题
  • 向各位求助:关于signal函数
  • 求助socket编程问题:C/S模式.客户端调用Winsock函数connect()的时候,返回错误码是10065(主机路由不可达).
  • gethostbyaddr函数老是返回为null 但是查看errno又说成功(success) 为什么求助 深夜求帖
  • 【求助】文件open函数打开时的O_NONBLOCK 什么意思
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助! 如何获取服务器的剩余磁盘空间?
  • [求助]如何获取一个程序所使用的系统调用和参数?
  • 【求助】获取系统时间的毫秒值
  • 获取对方的 smtp server ,最高分求助!
  • 紧急求助:怎么获取一个目录中的所有目录和文件名?
  • 求助,一个获取字符及输出问题
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 怎样读取HZK24S前十区的内容啊???求助求助
  • 紧急求助!紧急求助!
  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • 求助~~求助 ~~linux文件读写问题
  • 求助:信号 --13 进程中断
  • 求助,安装了红帽子后进不了
  • 新装linux求助
  • linux的 iptables问题求助
  • (高分求助)请问,那里有软件开发的<设计文档>
  • 一个简单的问题,高分求助!!!
  • 紧急求助:Unix下给文件夹重命名用什么命令?谢谢!!!!
  • VJ的一个问题,高分求助,熟悉VJ得请进!
  • 高分求助


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3