Diff for /libelwix/src/net.c between versions 1.10.10.2 and 1.10.10.4

version 1.10.10.2, 2014/11/17 22:38:09 version 1.10.10.4, 2014/11/26 00:30:37
Line 95  e_link_ntoa(const struct sockaddr_dl *sdl) Line 95  e_link_ntoa(const struct sockaddr_dl *sdl)
 }  }
   
 /*  /*
    * e_link_addr() - String ethernet address to link address
    *
    * @mac = ethernet address
    * @sdl = link address
    * return: -1 error or 0 ok
    */
   int
   e_link_addr(const char *mac, struct sockaddr_dl * __restrict sdl)
   {
           if (!mac || !sdl)
                   return -1;
           if (!sdl->sdl_len)
                   sdl->sdl_len = sizeof(struct sockaddr_dl);
   
           link_addr(mac, sdl);
           return 0;
   }
   
   /*
  * e_ether_ntoa() - Convert ethernet address to string   * e_ether_ntoa() - Convert ethernet address to string
  *   *
  * @n = ethernet address structure, like struct ether_addr   * @n = ethernet address structure, like struct ether_addr
Line 490  e_get1stiface(char *szIface, int iflen) Line 509  e_get1stiface(char *szIface, int iflen)
         strlcpy(szIface, ifa->ifa_name, iflen);          strlcpy(szIface, ifa->ifa_name, iflen);
         freeifaddrs(ifa);          freeifaddrs(ifa);
         return 0;          return 0;
   }
   
   /*
    * e_getifacebyname() - Get interface and make network structure
    *
    * @psIface = Interface, if =NULL first interface
    * @addr = Network address structure
    * return: NULL error or !=NULL network structure
    */
   sockaddr_t *
   e_getifacebyname(const char *psIface, sockaddr_t * __restrict addr)
   {
           char szIface[64] = { [0 ... 63] = 0 };
           struct ifaddrs *p, *ifa = NULL;
   
           if (!addr)
                   return NULL;
   
           memset(addr, 0, sizeof(sockaddr_t));
           getifaddrs(&ifa);
           strlcpy(szIface, psIface ? psIface : ifa->ifa_name, sizeof szIface);
           for (p = ifa; p && p->ifa_name; p++)
                   if (p->ifa_name && !strcmp(p->ifa_name, szIface) && p->ifa_addr && 
                                   p->ifa_addr->sa_family == AF_LINK) {
                           memcpy(&addr->sdl, p->ifa_addr, sizeof(struct sockaddr_dl));
                           break;
                   }
           freeifaddrs(ifa);
   
           return addr;
   }
   
   /*
    * e_getlinkbyname() - Get host ethernet address and make network structure
    *
    * @psHost = Host ethernet address
    * @addr = Network address structure
    * return: NULL error or !=NULL network structure
    */
   sockaddr_t *
   e_getlinkbyname(const char *psHost, sockaddr_t * __restrict addr)
   {
           if (!addr)
                   return NULL;
           else
                   memset(addr, 0, sizeof(sockaddr_t));
   
           addr->sdl.sdl_len = sizeof(struct sockaddr_dl);
           e_link_addr(psHost, &addr->sdl);
   
           return addr;
 }  }

Removed from v.1.10.10.2  
changed lines
  Added in v.1.10.10.4


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