荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jjk (UNIX+C+XML+?? 傻了?), 信区: Linux
标  题: Re: 在模块中如何得到本机的IP地址[转载]
发信站: 荔园晨风BBS站 (Mon Apr 22 19:42:09 2002), 转信

【 以下文字转载自 jjk 的信箱 】
【 原文由 jjk.bbs@apue.dhs.org 所发表 】
发信人: ysq (ysq), 信区: UKP
标  题: Re: 在模块中如何得到本机的IP地址
发信站: UNIX编程 (2002年04月21日18:34:37 星期天), 站内信件

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/netdevice.h>
#include <linux/inetdevice.h>

static char ifname[12]="eth0";
MODULE_PARM(ifname,"s");


int init_module(void)
{
    struct net_device *netdev = dev_get_by_name(ifname);
    struct in_device *indev = in_dev_get(netdev);
    struct in_ifaddr **ifap = NULL;
    struct in_ifaddr *ifa = NULL;

    if ( (indev) != NULL)
      {
          for ( ifap =& indev->ifa_list ;
                (ifa=*ifap) != NULL; ifap=&ifa->ifa_next )
              if (strcmp(ifname, ifa->ifa_label) == 0)
                  break;
          printk("ip = %u.%u.%u.%u\n", NIPQUAD(ifa->ifa_address));
      }

    in_dev_put(indev);
    dev_put(netdev);

    return -1;
}

void cleanup_module(void)
{
}

【 在 snowhu (糊涂) 的大作中提到: 】
: 有什么函数没有?
: 谢谢!
--
※ 来源:·UNIX编程 apue.dhs.org·[FROM: 202.114.2.11] --
※ 转寄:·UNIX编程 apue.dhs.org·[FROM: 210.39.3.50]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店