Diff for /libaitio/src/bpf.c between versions 1.6 and 1.7

version 1.6, 2014/02/08 22:06:17 version 1.7, 2015/01/19 23:32:30
Line 47  SUCH DAMAGE. Line 47  SUCH DAMAGE.
   
   
 /*  /*
  * io_get1stiface() - Get first interface of host  
  *  
  * @szIface = interface string buffer  
  * @iflen = size of interface buffer  
  * return: -1 error or 0 ok  
  */  
 int  
 io_get1stiface(char *szIface, int iflen)  
 {  
         struct ifaddrs *ifa;  
   
         if (!szIface || !iflen)  
                 return -1;  
   
         getifaddrs(&ifa);  
         strlcpy(szIface, ifa->ifa_name, iflen);  
         freeifaddrs(ifa);  
         return 0;  
 }  
   
 /*  
  * 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
Line 208  io_etherOpen(const char *csIface, int flags, u_int whd Line 150  io_etherOpen(const char *csIface, int flags, u_int whd
   
         if (csIface)          if (csIface)
                 strlcpy(szStr, csIface, sizeof szStr);                  strlcpy(szStr, csIface, sizeof szStr);
        else if (io_get1stiface(szStr, sizeof szStr) == -1) {        else if (e_get1stiface(szStr, sizeof szStr) == -1) {
                 close(eth);                  close(eth);
                 return -1;                  return -1;
         }          }

Removed from v.1.6  
changed lines
  Added in v.1.7


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