Finding ethernet addresses
    Kemp at dockmaster.ncsc.mil 
    Kemp at dockmaster.ncsc.mil
       
    Wed May  3 19:14:25 AEST 1989
    
    
  
Dan Ehrlich <ehrlich at shire.cs.psu.edu> writes:  Does anyone know how to
determine the ethernet address of the second ethernet interface on a Sun?
There is a program in the Sun Software Technical Bulletin (November 1988,
page 2202) that does exactly that, using /dev/nit.  The code is 1 1/2
pages, but the relevant lines are (omitting error checking):
 #include <net/if.h>
 #include <net/nit_if.h>
 struct ifreq if_data;
 sfd = open("/dev/nit", O_RDONLY);
 if_data.ifr_addr.sa_family = AF_NIT;
 strcpy(if_data.ifr_name, argv[1]);l      /* the interface name */
 ioctl(sfd, NIOCBIND, &if_data);
 ioctl(sfd, SIOCGIFADDR, &if_data);      /* Get the ethernet addr */
    /*   print if_data.ifr_addr.sa_data[0:5]  */
I typed the program in and it works.  If you don't get the STB, the
above should be enough to get you pointed in the right direction.
   Dave Kemp <Kemp at dockmaster.ncsc.mil>
    
    
More information about the Comp.sys.sun
mailing list