Diff for /libaitio/src/bpf.c between versions 1.4 and 1.4.16.1

version 1.4, 2013/10/21 21:12:42 version 1.4.16.1, 2013/12/04 10:08:41
Line 68  io_get1stiface(char *szIface, int iflen) Line 68  io_get1stiface(char *szIface, int iflen)
 }  }
   
 /*  /*
    * io_getmaciface() - Get MAC address from interface name
    *
    * @csIface = interface name
    * @ea = ethernet address
    * return: -1 error, 0 ok or 1 not found
    */
   int
   io_getmaciface(const char *csIface, ether_addr_t * __restrict ea)
   {
           struct ifaddrs *ifa, *ifp;
           struct sockaddr_dl *dl;
           int ret = 1;
   
           if (!csIface || !ea)
                   return -1;
           else
                   memset(ea, 0, sizeof(ether_addr_t));
   
           getifaddrs(&ifa);
           for (ifp = ifa; ifp; ifp = ifp->ifa_next)
                   if (!strcmp(csIface, ifp->ifa_name) && ifp->ifa_addr && 
                                   ifp->ifa_addr->sa_family == AF_LINK) {
                           dl = (struct sockaddr_dl*) ifp->ifa_addr;
                           if ((dl->sdl_type == IFT_ETHER || dl->sdl_type == IFT_L2VLAN || 
                                           dl->sdl_type == IFT_BRIDGE) && 
                                           dl->sdl_alen == ETHER_ADDR_LEN) {
                                   memcpy(ea, LLADDR(dl), sizeof(ether_addr_t));
                                   ret = 0;
                                   break;
                           }
                   }
           freeifaddrs(ifa);
   
           return ret;
   }
   
   /*
  * io_etherClose() - Close BPF interface   * io_etherClose() - Close BPF interface
  *   *
  * @eth = bpf handle   * @eth = bpf handle

Removed from v.1.4  
changed lines
  Added in v.1.4.16.1


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>