test/py: hush_if_test: Add tests to cover octal/hex values
[oweals/u-boot.git] / include / net.h
index 75a16e4c8f8f51478f5ff7c2b53a0b764c27967e..834f2449826a96994738f0252205945ca38a6637 100644 (file)
@@ -16,6 +16,7 @@
 #include <asm/byteorder.h>     /* for nton* / ntoh* stuff */
 #include <env.h>
 #include <linux/if_ether.h>
+#include <rand.h>
 
 #define DEBUG_LL_STATE 0       /* Link local state machine changes */
 #define DEBUG_DEV_PKT 0                /* Packets or info directed to the device */
@@ -825,10 +826,30 @@ static inline void net_random_ethaddr(uchar *addr)
        addr[0] |= 0x02;        /* set local assignment bit (IEEE802) */
 }
 
+/**
+ * string_to_enetaddr() - Parse a MAC address
+ *
+ * Convert a string MAC address
+ *
+ * Implemented in lib/net_utils.c (built unconditionally)
+ *
+ * @addr: MAC address in aa:bb:cc:dd:ee:ff format, where each part is a 2-digit
+ *     hex value
+ * @enetaddr: Place to put MAC address (6 bytes)
+ */
+void string_to_enetaddr(const char *addr, uint8_t *enetaddr);
+
 /* Convert an IP address to a string */
 void ip_to_string(struct in_addr x, char *s);
 
-/* Convert a string to ip address */
+/**
+ * string_to_ip() - Convert a string to ip address
+ *
+ * Implemented in lib/net_utils.c (built unconditionally)
+ *
+ * @s: Input string to parse
+ * @return: in_addr struct containing the parsed IP address
+ */
 struct in_addr string_to_ip(const char *s);
 
 /* Convert a VLAN id to a string */
@@ -873,17 +894,16 @@ unsigned int random_port(void);
  */
 int update_tftp(ulong addr, char *interface, char *devstring);
 
-/**********************************************************************/
-
 /**
- * eth_parse_enetaddr() - Parse a MAC address
- *
- * Convert a string MAC address
+ * env_get_ip() - Convert an environment value to to an ip address
  *
- * @addr: MAC address in aa:bb:cc:dd:ee:ff format, where each part is a 2-digit
- *     hex value
- * @enetaddr: Place to put MAC address (6 bytes)
+ * @var: Environment variable to convert. The value of this variable must be
+ *     in the format format a.b.c.d, where each value is a decimal number from
+ *     0 to 255
+ * @return IP address, or 0 if invalid
  */
-void eth_parse_enetaddr(const char *addr, uint8_t *enetaddr);
-
+static inline struct in_addr env_get_ip(char *var)
+{
+       return string_to_ip(env_get(var));
+}
 #endif /* __NET_H__ */