Version:  2.0.40 2.2.26 2.4.37 3.13 3.14 3.15 3.16 3.17 3.18 3.19 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10

Linux/lib/net_utils.c

  1 #include <linux/string.h>
  2 #include <linux/if_ether.h>
  3 #include <linux/ctype.h>
  4 #include <linux/kernel.h>
  5 
  6 bool mac_pton(const char *s, u8 *mac)
  7 {
  8         int i;
  9 
 10         /* XX:XX:XX:XX:XX:XX */
 11         if (strlen(s) < 3 * ETH_ALEN - 1)
 12                 return false;
 13 
 14         /* Don't dirty result unless string is valid MAC. */
 15         for (i = 0; i < ETH_ALEN; i++) {
 16                 if (!isxdigit(s[i * 3]) || !isxdigit(s[i * 3 + 1]))
 17                         return false;
 18                 if (i != ETH_ALEN - 1 && s[i * 3 + 2] != ':')
 19                         return false;
 20         }
 21         for (i = 0; i < ETH_ALEN; i++) {
 22                 mac[i] = (hex_to_bin(s[i * 3]) << 4) | hex_to_bin(s[i * 3 + 1]);
 23         }
 24         return true;
 25 }
 26 EXPORT_SYMBOL(mac_pton);
 27 

This page was automatically generated by LXR 0.3.1 (source).  •  Linux is a registered trademark of Linus Torvalds  •  Contact us