aboutsummaryrefslogtreecommitdiff
path: root/include/net.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net.h')
-rw-r--r--include/net.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/include/net.h b/include/net.h
index d8d187d..11eca1b 100644
--- a/include/net.h
+++ b/include/net.h
@@ -829,7 +829,13 @@ static inline void net_random_ethaddr(uchar *addr)
/* 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
+ *
+ * @s: String to conver, 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
+ */
struct in_addr string_to_ip(const char *s);
/* Convert a VLAN id to a string */
@@ -887,4 +893,17 @@ int update_tftp(ulong addr, char *interface, char *devstring);
*/
void eth_parse_enetaddr(const char *addr, uint8_t *enetaddr);
+/**
+ * env_get_ip() - Convert an environment value to to an ip address
+ *
+ * @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
+ */
+static inline struct in_addr env_get_ip(char *var)
+{
+ return string_to_ip(env_get(var));
+}
+
#endif /* __NET_H__ */