📄 printetheraddrs.c
字号:
/* printEtherAddrs.c - Prints the ethernet address of a network * interface on the VxWorks target *//* Copyright 1984-1997 Wind River Systems, Inc. *//*modification history--------------------01c,06nov97,mm added copyright.01b,15Sep97,mm included <string.h> and changed "if.h" to "net/if.h"01a,16Feb93,ms written*/#include <string.h>#include "vxWorks.h"#include "stdio.h"#include "net/if.h"#include "etherLib.h"/***************************************************************************** * printEtherAddrs - Demo for printing the ethernet address of the network * interface in the VxWorks target. * * EXAMPLE: * * To run printEtherAddrs from the VxWorks shell do as follows: * * -> printEtherAddrs ("nameOfTheNetworkInterface") * * where nameOfTheNetworkInterface is the name of the network * interface in your the VxWorks target (Eg: "ln0") * */ void printEtherAddrs ( char *netIfName /* name of the network interface */ ) { struct ifnet *ifPtr; /* Pointer to network interface's ifnet struct */ unsigned char enet[6]; /* This is a temporary variable used in this demo * for storing the Ethernet address of the network * interface. */ if ((ifPtr = ifunit (netIfName)) == NULL) printf ("Interface not found \n"); else { /* get the ethernet address from the arpcom structure (arpcom * structure is shared between the network interface * driver and address resolution code) and print it. The first data * element in an arpcom structure (vw/h/netinet/if_ether.h) is an * ifnet structure (vw/h/net/if.h) (hence the address of arpcom and * ifnet structures are the same for any given network). */ bcopy ((char *) ((struct arpcom *) ifPtr)->ac_enaddr, enet, sizeof (enet)); printf(" Ethernet address is %02x:%02x:%02x:%02x:%02x:%02x\n", enet [0], enet [1], enet [2], enet [3], enet [4], enet[5]); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -