summaryrefslogtreecommitdiff
path: root/src/utsname.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2010-05-12 19:14:46 +0200
committerMarcel Holtmann <marcel@holtmann.org>2010-05-12 19:14:46 +0200
commit13c2b4b36ee970e01db734c4b0693189c39a7a3d (patch)
tree9fd54a3a3cee3ccddb62dbe02e1dab1ceab72046 /src/utsname.c
parent1722ac7307ac20824bb70a7cc3dc2fbd31995d45 (diff)
downloadconnman-13c2b4b36ee970e01db734c4b0693189c39a7a3d.tar.gz
connman-13c2b4b36ee970e01db734c4b0693189c39a7a3d.tar.bz2
connman-13c2b4b36ee970e01db734c4b0693189c39a7a3d.zip
Add support for getting current system hostname
Diffstat (limited to 'src/utsname.c')
-rw-r--r--src/utsname.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/utsname.c b/src/utsname.c
index 4008f8f4..aec8d783 100644
--- a/src/utsname.c
+++ b/src/utsname.c
@@ -68,6 +68,34 @@ void connman_utsname_driver_unregister(struct connman_utsname_driver *driver)
driver_list = g_slist_remove(driver_list, driver);
}
+/**
+ * connman_utsname_get_hostname:
+ *
+ * Returns current hostname
+ */
+const char *connman_utsname_get_hostname(void)
+{
+ GSList *list;
+
+ DBG("");
+
+ for (list = driver_list; list; list = list->next) {
+ struct connman_utsname_driver *driver = list->data;
+ const char *hostname;
+
+ DBG("driver %p name %s", driver, driver->name);
+
+ if (driver->get_hostname == NULL)
+ continue;
+
+ hostname = driver->get_hostname();
+ if (hostname != NULL)
+ return hostname;
+ }
+
+ return NULL;
+}
+
int __connman_utsname_set_hostname(const char *hostname)
{
GSList *list;