[PATCH 2/4] discover/sysinfo: Add network availability helper

Samuel Mendoza-Jonas sam at mendozajonas.com
Fri Jun 23 15:51:13 AEST 2017


Add a helper function that describes interfaces as available if they
have an assigned address.

Signed-off-by: Samuel Mendoza-Jonas <sam at mendozajonas.com>
---
 discover/sysinfo.c | 9 +++++++++
 discover/sysinfo.h | 1 +
 2 files changed, 10 insertions(+)

diff --git a/discover/sysinfo.c b/discover/sysinfo.c
index e8e6d52..74d1eae 100644
--- a/discover/sysinfo.c
+++ b/discover/sysinfo.c
@@ -17,6 +17,15 @@ const struct system_info *system_info_get(void)
 	return sysinfo;
 }
 
+bool system_info_network_available(void)
+{
+	unsigned int i;
+
+	for (i = 0; i < sysinfo->n_interfaces; i++)
+		if (sysinfo->interfaces[i]->address)
+			return true;
+	return false;
+}
 
 void system_info_set_interface_address(unsigned int hwaddr_size,
 		uint8_t *hwaddr, const char *address)
diff --git a/discover/sysinfo.h b/discover/sysinfo.h
index c570951..835dfbe 100644
--- a/discover/sysinfo.h
+++ b/discover/sysinfo.h
@@ -7,6 +7,7 @@ struct discover_server;
 
 const struct system_info *system_info_get(void);
 
+bool system_info_network_available(void);
 void system_info_set_interface_address(unsigned int hwaddr_size,
 		uint8_t *hwaddr, const char *address);
 void system_info_register_interface(unsigned int hwaddr_size, uint8_t *hwaddr,
-- 
2.13.1



More information about the Petitboot mailing list