Chinaunix首页 | 论坛 | 博客
  • 博客访问: 385695
  • 博文数量: 124
  • 博客积分: 2911
  • 博客等级: 少校
  • 技术积分: 1050
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-15 15:57
文章分类

全部博文(124)

文章存档

2012年(6)

2011年(26)

2010年(92)

我的朋友

分类: C/C++

2010-07-24 22:54:53

/*
Functionality:Get HWaddr in AIX
Prototype:
Parameters:
Return-Value:
Author:
Date:
*/

#include
#include
#include
#define MAXLINE 100

typedef unsigned char u_int8_t;

int main(int argc,char** argv)
{
    char line[MAXLINE];
    char cmd[MAXLINE];
    char* p;    
       FILE *res;
    unsigned int hwaddr[6];
    if (argc !=2)
    {
        fprintf(stderr,"usage: gethwaddr_aix \n");
        return -1;    
    }
    sprintf(cmd,"%s%s%s","/usr/bin/entstat -d ",argv[1]," | grep 'Hardware Address' | sed -e 's/Hardware Address: //'");    
    if((res=popen(cmd,"r")) == NULL)
    {
        fprintf(stderr,"popen error\n");
        return -1;
    }    
    while (fgets(line,MAXLINE,res) != NULL)
    {
        sscanf(line,"%x:%x:%x:%x:%x:%x",&hwaddr[0],&hwaddr[1],&hwaddr[2],&hwaddr[3],&hwaddr[4],&hwaddr[5]);
        printf("%02x:%02x:%02x:%02x:%02x:%02x\n",hwaddr[0],hwaddr[1],hwaddr[2],hwaddr[3],hwaddr[4],hwaddr[5]);
    }
    if (pclose(res) == -1)
    {
        fprintf(stderr,"pclose error\n");
        return -1;
    }        
    return 0;
}
阅读(1071) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~