/** * nm_setting_ip4_config_get_num_dns: * @setting: the #NMSettingIP4Config * * Returns: the number of configured DNS servers **/ guint32 nm_setting_ip4_config_get_num_dns (NMSettingIP4Config *setting) { g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), 0); return NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting)->dns->len; }
/** * nm_setting_ip4_config_get_may_fail: * @setting: the #NMSettingIP4Config * * Returns the value contained in the #NMSettingIP4Config:may-fail * property. * * Returns: %TRUE if this connection doesn't require IPv4 addressing to complete * for the connection to succeed. **/ gboolean nm_setting_ip4_config_get_may_fail (NMSettingIP4Config *setting) { g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), FALSE); return NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting)->may_fail; }
const char * nm_setting_ip4_config_get_dhcp_client_id (NMSettingIP4Config *setting) { g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), FALSE); return NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting)->dhcp_client_id; }
/** * nm_setting_ip4_config_get_ignore_auto_routes: * @setting: the #NMSettingIP4Config * * Returns the value contained in the #NMSettingIP4Config:ignore-auto-routes * property. * * Returns: %TRUE if automatically configured (ie via DHCP) routes should be * ignored. **/ gboolean nm_setting_ip4_config_get_ignore_auto_routes (NMSettingIP4Config *setting) { g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), FALSE); return NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting)->ignore_auto_routes; }
/** * nm_setting_ip4_config_get_dhcp_send_hostname: * @setting: the #NMSettingIP4Config * * Returns the value contained in the #NMSettingIP4Config:dhcp-send-hostname * property. * * Returns: %TRUE if NetworkManager should send the machine hostname to the * DHCP server when requesting addresses to allow the server to automatically * update DNS information for this machine. **/ gboolean nm_setting_ip4_config_get_dhcp_send_hostname (NMSettingIP4Config *setting) { g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), FALSE); return NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting)->dhcp_send_hostname; }
/** * nm_setting_ip4_config_get_method: * @setting: the #NMSettingIP4Config * * Returns: the #NMSettingIP4Config:method property of the setting **/ const char * nm_setting_ip4_config_get_method (NMSettingIP4Config *setting) { g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), NULL); return NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting)->method; }
/** * nm_setting_ip4_config_get_dhcp_hostname: * @setting: the #NMSettingIP4Config * * Returns the value contained in the #NMSettingIP4Config:dhcp-hostname * property. * * Returns: the configured hostname to send to the DHCP server **/ const char * nm_setting_ip4_config_get_dhcp_hostname (NMSettingIP4Config *setting) { g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), NULL); return NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting)->dhcp_hostname; }
/** * nm_setting_ip4_config_get_num_routes: * @setting: the #NMSettingIP4Config * * Returns: the number of configured routes **/ guint32 nm_setting_ip4_config_get_num_routes (NMSettingIP4Config *setting) { g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), 0); return g_slist_length (NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting)->routes); }
/** * nm_setting_ip4_config_clear_dns_searches: * @setting: the #NMSettingIP4Config * * Removes all configured DNS search domains. **/ void nm_setting_ip4_config_clear_dns_searches (NMSettingIP4Config *setting) { g_return_if_fail (NM_IS_SETTING_IP4_CONFIG (setting)); nm_utils_slist_free (NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting)->dns_search, g_free); NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting)->dns_search = NULL; }
/** * nm_setting_ip4_config_clear_dns: * @setting: the #NMSettingIP4Config * * Removes all configured DNS servers. **/ void nm_setting_ip4_config_clear_dns (NMSettingIP4Config *setting) { NMSettingIP4ConfigPrivate *priv; g_return_if_fail (NM_IS_SETTING_IP4_CONFIG (setting)); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); g_array_remove_range (priv->dns, 0, priv->dns->len); }
/** * nm_setting_ip4_config_clear_routes: * @setting: the #NMSettingIP4Config * * Removes all configured routes. **/ void nm_setting_ip4_config_clear_routes (NMSettingIP4Config *setting) { NMSettingIP4ConfigPrivate *priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); g_return_if_fail (NM_IS_SETTING_IP4_CONFIG (setting)); nm_utils_slist_free (priv->routes, (GDestroyNotify) nm_ip4_route_unref); priv->routes = NULL; }
/** * nm_setting_ip4_config_get_dns: * @setting: the #NMSettingIP4Config * @i: index number of the DNS server to return * * Returns: the IPv4 address (network byte order) of the DNS server at index * @i **/ guint32 nm_setting_ip4_config_get_dns (NMSettingIP4Config *setting, guint32 i) { NMSettingIP4ConfigPrivate *priv; g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), 0); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); g_return_val_if_fail (i <= priv->dns->len, 0); return g_array_index (priv->dns, guint32, i); }
/** * nm_setting_ip4_config_remove_dns: * @setting: the #NMSettingIP4Config * @i: index number of the DNS server to remove * * Removes the DNS server at index @i. **/ void nm_setting_ip4_config_remove_dns (NMSettingIP4Config *setting, guint32 i) { NMSettingIP4ConfigPrivate *priv; g_return_if_fail (NM_IS_SETTING_IP4_CONFIG (setting)); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); g_return_if_fail (i <= priv->dns->len); g_array_remove_index (priv->dns, i); }
/** * nm_setting_ip4_config_get_dns_search: * @setting: the #NMSettingIP4Config * @i: index number of the DNS search domain to return * * Returns: the DNS search domain at index @i **/ const char * nm_setting_ip4_config_get_dns_search (NMSettingIP4Config *setting, guint32 i) { NMSettingIP4ConfigPrivate *priv; g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), NULL); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); g_return_val_if_fail (i <= g_slist_length (priv->dns_search), NULL); return (const char *) g_slist_nth_data (priv->dns_search, i); }
/** * nm_setting_ip4_config_get_route: * @setting: the #NMSettingIP4Config * @i: index number of the route to return * * Returns: the route at index @i **/ NMIP4Route * nm_setting_ip4_config_get_route (NMSettingIP4Config *setting, guint32 i) { NMSettingIP4ConfigPrivate *priv; g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), NULL); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); g_return_val_if_fail (i <= g_slist_length (priv->routes), NULL); return (NMIP4Route *) g_slist_nth_data (priv->routes, i); }
/** * nm_setting_ip4_config_remove_route: * @setting: the #NMSettingIP4Config * @i: index number of the route * * Removes the route at index @i. **/ void nm_setting_ip4_config_remove_route (NMSettingIP4Config *setting, guint32 i) { NMSettingIP4ConfigPrivate *priv; GSList *elt; g_return_if_fail (NM_IS_SETTING_IP4_CONFIG (setting)); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); elt = g_slist_nth (priv->routes, i); g_return_if_fail (elt != NULL); nm_ip4_route_unref ((NMIP4Route *) elt->data); priv->routes = g_slist_delete_link (priv->routes, elt); }
/** * nm_setting_ip4_config_remove_dns_search: * @setting: the #NMSettingIP4Config * @i: index number of the DNS search domain * * Removes the DNS search domain at index @i. **/ void nm_setting_ip4_config_remove_dns_search (NMSettingIP4Config *setting, guint32 i) { NMSettingIP4ConfigPrivate *priv; GSList *elt; g_return_if_fail (NM_IS_SETTING_IP4_CONFIG (setting)); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); elt = g_slist_nth (priv->dns_search, i); g_return_if_fail (elt != NULL); g_free (elt->data); priv->dns_search = g_slist_delete_link (priv->dns_search, elt); }
/** * nm_setting_ip4_config_add_dns: * @setting: the #NMSettingIP4Config * @dns: the IPv4 address (network byte order) of the DNS server to add * * Adds a new DNS server to the setting. * * Returns: %TRUE if the DNS server was added; %FALSE if the server was already * known **/ gboolean nm_setting_ip4_config_add_dns (NMSettingIP4Config *setting, guint32 dns) { NMSettingIP4ConfigPrivate *priv; int i; g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), FALSE); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); for (i = 0; i < priv->dns->len; i++) { if (dns == g_array_index (priv->dns, guint32, i)) return FALSE; } g_array_append_val (priv->dns, dns); return TRUE; }
/** * nm_setting_ip4_config_add_dns_search: * @setting: the #NMSettingIP4Config * @dns_search: the search domain to add * * Adds a new DNS search domain to the setting. * * Returns: %TRUE if the DNS search domain was added; %FALSE if the search * domain was already known **/ gboolean nm_setting_ip4_config_add_dns_search (NMSettingIP4Config *setting, const char *dns_search) { NMSettingIP4ConfigPrivate *priv; GSList *iter; g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), FALSE); g_return_val_if_fail (dns_search != NULL, FALSE); g_return_val_if_fail (dns_search[0] != '\0', FALSE); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); for (iter = priv->dns_search; iter; iter = g_slist_next (iter)) { if (!strcmp (dns_search, (char *) iter->data)) return FALSE; } priv->dns_search = g_slist_append (priv->dns_search, g_strdup (dns_search)); return TRUE; }
/** * nm_setting_ip4_config_add_route: * @setting: the #NMSettingIP4Config * @route: the route to add * * Adds a new IPv4 route and associated information to the setting. The * given route is duplicated internally and is not changed by this function. * * Returns: %TRUE if the route was added; %FALSE if the route was already known. **/ gboolean nm_setting_ip4_config_add_route (NMSettingIP4Config *setting, NMIP4Route *route) { NMSettingIP4ConfigPrivate *priv; NMIP4Route *copy; GSList *iter; g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), FALSE); g_return_val_if_fail (route != NULL, FALSE); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); for (iter = priv->routes; iter; iter = g_slist_next (iter)) { if (nm_ip4_route_compare ((NMIP4Route *) iter->data, route)) return FALSE; } copy = nm_ip4_route_dup (route); g_return_val_if_fail (copy != NULL, FALSE); priv->routes = g_slist_append (priv->routes, copy); return TRUE; }
/** * nm_setting_ip4_config_add_address: * @setting: the #NMSettingIP4Config * @address: the new address to add * * Adds a new IPv4 address and associated information to the setting. The * given address is duplicated internally and is not changed by this function. * * Returns: %TRUE if the address was added; %FALSE if the address was already * known. **/ gboolean nm_setting_ip4_config_add_address (NMSettingIP4Config *setting, NMIP4Address *address) { NMSettingIP4ConfigPrivate *priv; NMIP4Address *copy; GSList *iter; g_return_val_if_fail (NM_IS_SETTING_IP4_CONFIG (setting), FALSE); g_return_val_if_fail (address != NULL, FALSE); priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (setting); for (iter = priv->addresses; iter; iter = g_slist_next (iter)) { if (nm_ip4_address_compare ((NMIP4Address *) iter->data, address)) return FALSE; } copy = nm_ip4_address_dup (address); g_return_val_if_fail (copy != NULL, FALSE); priv->addresses = g_slist_append (priv->addresses, copy); return TRUE; }