* @short_description: Functions for handling utsname
*/
+const char *connman_utsname_get_hostname(void);
+
struct connman_utsname_driver {
const char *name;
int priority;
+ const char * (*get_hostname) (void);
int (*set_hostname) (const char *hostname);
int (*set_domainname) (const char *domainname);
};
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;