diff options
| author | Michael Biebl <biebl@debian.org> | 2015-01-22 00:29:39 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2015-01-22 00:29:39 +0100 |
| commit | 2c032d8f1c6292c1338a615e6ec40252889ba85c (patch) | |
| tree | 1f77182220b2b0264288ba4a476ab47e5bc48716 /docs/libnm/html/libnm-nm-utils.html | |
| parent | 33491bc4279481db8ae47213e34a6d695a0e8830 (diff) | |
Imported Upstream version 1.0.0 upstream/1.0.0
Diffstat (limited to 'docs/libnm/html/libnm-nm-utils.html')
| -rw-r--r-- | docs/libnm/html/libnm-nm-utils.html | 2042 |
1 files changed, 2042 insertions, 0 deletions
diff --git a/docs/libnm/html/libnm-nm-utils.html b/docs/libnm/html/libnm-nm-utils.html new file mode 100644 index 00000000..4985188b --- /dev/null +++ b/docs/libnm/html/libnm-nm-utils.html @@ -0,0 +1,2042 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>nm-utils</title> +<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> +<link rel="home" href="index.html" title="libnm Reference Manual"> +<link rel="up" href="ch05.html" title="Utility API Reference"> +<link rel="prev" href="ch05.html" title="Utility API Reference"> +<link rel="next" href="libnm-nm-version.html" title="nm-version"> +<meta name="generator" content="GTK-Doc V1.19 (XML mode)"> +<link rel="stylesheet" href="style.css" type="text/css"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> +<tr valign="middle"> +<td><a accesskey="p" href="ch05.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="ch05.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">libnm Reference Manual</th> +<td><a accesskey="n" href="libnm-nm-version.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr> +<tr><td colspan="5" class="shortcuts"> +<a href="#libnm-nm-utils.synopsis" class="shortcut">Top</a> + | + <a href="#libnm-nm-utils.description" class="shortcut">Description</a> + | + <a href="#libnm-nm-utils.object-hierarchy" class="shortcut">Object Hierarchy</a> +</td></tr> +</table> +<div class="refentry"> +<a name="libnm-nm-utils"></a><div class="titlepage"></div> +<div class="refnamediv"><table width="100%"><tr> +<td valign="top"> +<h2><span class="refentrytitle"><a name="libnm-nm-utils.top_of_page"></a>nm-utils</span></h2> +<p>nm-utils — Utility functions</p> +</td> +<td valign="top" align="right"></td> +</tr></table></div> +<div class="refsynopsisdiv"> +<a name="libnm-nm-utils.synopsis"></a><h2>Synopsis</h2> +<a name="NMUtilsSecurityType"></a><pre class="synopsis"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-is-empty-ssid" title="nm_utils_is_empty_ssid ()">nm_utils_is_empty_ssid</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *ssid</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>); +const <span class="returnvalue">char</span> * <a class="link" href="libnm-nm-utils.html#nm-utils-escape-ssid" title="nm_utils_escape_ssid ()">nm_utils_escape_ssid</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *ssid</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-same-ssid" title="nm_utils_same_ssid ()">nm_utils_same_ssid</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *ssid1</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len1</code></em>, + <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *ssid2</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len2</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> ignore_trailing_null</code></em>); +<span class="returnvalue">char</span> * <a class="link" href="libnm-nm-utils.html#nm-utils-ssid-to-utf8" title="nm_utils_ssid_to_utf8 ()">nm_utils_ssid_to_utf8</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *ssid</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>); +enum <a class="link" href="libnm-nm-utils.html#NMUtilsSecurityType-enum" title="enum NMUtilsSecurityType">NMUtilsSecurityType</a>; +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-security-valid" title="nm_utils_security_valid ()">nm_utils_security_valid</a> (<em class="parameter"><code><a class="link" href="libnm-nm-utils.html#NMUtilsSecurityType"><span class="type">NMUtilsSecurityType</span></a> type</code></em>, + <em class="parameter"><code><a class="link" href="libnm-nm-dbus-interface.html#NMDeviceWifiCapabilities"><span class="type">NMDeviceWifiCapabilities</span></a> wifi_caps</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> have_ap</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> adhoc</code></em>, + <em class="parameter"><code><a class="link" href="libnm-nm-dbus-interface.html#NM80211ApFlags"><span class="type">NM80211ApFlags</span></a> ap_flags</code></em>, + <em class="parameter"><code><a class="link" href="libnm-nm-dbus-interface.html#NM80211ApSecurityFlags"><span class="type">NM80211ApSecurityFlags</span></a> ap_wpa</code></em>, + <em class="parameter"><code><a class="link" href="libnm-nm-dbus-interface.html#NM80211ApSecurityFlags"><span class="type">NM80211ApSecurityFlags</span></a> ap_rsn</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-ap-mode-security-valid" title="nm_utils_ap_mode_security_valid ()">nm_utils_ap_mode_security_valid</a> (<em class="parameter"><code><a class="link" href="libnm-nm-utils.html#NMUtilsSecurityType"><span class="type">NMUtilsSecurityType</span></a> type</code></em>, + <em class="parameter"><code><a class="link" href="libnm-nm-dbus-interface.html#NMDeviceWifiCapabilities"><span class="type">NMDeviceWifiCapabilities</span></a> wifi_caps</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-wep-key-valid" title="nm_utils_wep_key_valid ()">nm_utils_wep_key_valid</a> (<em class="parameter"><code>const <span class="type">char</span> *key</code></em>, + <em class="parameter"><code><a class="link" href="NMSettingWirelessSecurity.html#NMWepKeyType"><span class="type">NMWepKeyType</span></a> wep_type</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-wpa-psk-valid" title="nm_utils_wpa_psk_valid ()">nm_utils_wpa_psk_valid</a> (<em class="parameter"><code>const <span class="type">char</span> *psk</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-ip4-dns-to-variant" title="nm_utils_ip4_dns_to_variant ()">nm_utils_ip4_dns_to_variant</a> (<em class="parameter"><code><span class="type">char</span> **dns</code></em>); +<span class="returnvalue">char</span> ** <a class="link" href="libnm-nm-utils.html#nm-utils-ip4-dns-from-variant" title="nm_utils_ip4_dns_from_variant ()">nm_utils_ip4_dns_from_variant</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-ip4-addresses-to-variant" title="nm_utils_ip4_addresses_to_variant ()">nm_utils_ip4_addresses_to_variant</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *addresses</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *gateway</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-ip4-addresses-from-variant" title="nm_utils_ip4_addresses_from_variant ()">nm_utils_ip4_addresses_from_variant</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>, + <em class="parameter"><code><span class="type">char</span> **out_gateway</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-ip4-routes-to-variant" title="nm_utils_ip4_routes_to_variant ()">nm_utils_ip4_routes_to_variant</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *routes</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-ip4-routes-from-variant" title="nm_utils_ip4_routes_from_variant ()">nm_utils_ip4_routes_from_variant</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-ip4-netmask-to-prefix" title="nm_utils_ip4_netmask_to_prefix ()">nm_utils_ip4_netmask_to_prefix</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> netmask</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-ip4-prefix-to-netmask" title="nm_utils_ip4_prefix_to_netmask ()">nm_utils_ip4_prefix_to_netmask</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> prefix</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-ip4-get-default-prefix" title="nm_utils_ip4_get_default_prefix ()">nm_utils_ip4_get_default_prefix</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> ip</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-ip6-dns-to-variant" title="nm_utils_ip6_dns_to_variant ()">nm_utils_ip6_dns_to_variant</a> (<em class="parameter"><code><span class="type">char</span> **dns</code></em>); +<span class="returnvalue">char</span> ** <a class="link" href="libnm-nm-utils.html#nm-utils-ip6-dns-from-variant" title="nm_utils_ip6_dns_from_variant ()">nm_utils_ip6_dns_from_variant</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-ip6-addresses-to-variant" title="nm_utils_ip6_addresses_to_variant ()">nm_utils_ip6_addresses_to_variant</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *addresses</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *gateway</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-ip6-addresses-from-variant" title="nm_utils_ip6_addresses_from_variant ()">nm_utils_ip6_addresses_from_variant</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>, + <em class="parameter"><code><span class="type">char</span> **out_gateway</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-ip6-routes-to-variant" title="nm_utils_ip6_routes_to_variant ()">nm_utils_ip6_routes_to_variant</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *routes</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-ip6-routes-from-variant" title="nm_utils_ip6_routes_from_variant ()">nm_utils_ip6_routes_from_variant</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-ip-addresses-to-variant" title="nm_utils_ip_addresses_to_variant ()">nm_utils_ip_addresses_to_variant</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *addresses</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-ip-addresses-from-variant" title="nm_utils_ip_addresses_from_variant ()">nm_utils_ip_addresses_from_variant</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>, + <em class="parameter"><code><span class="type">int</span> family</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-ip-routes-to-variant" title="nm_utils_ip_routes_to_variant ()">nm_utils_ip_routes_to_variant</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *routes</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-ip-routes-from-variant" title="nm_utils_ip_routes_from_variant ()">nm_utils_ip_routes_from_variant</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>, + <em class="parameter"><code><span class="type">int</span> family</code></em>); +<span class="returnvalue">char</span> * <a class="link" href="libnm-nm-utils.html#nm-utils-uuid-generate" title="nm_utils_uuid_generate ()">nm_utils_uuid_generate</a> (<em class="parameter"><code><span class="type">void</span></code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-file-is-certificate" title="nm_utils_file_is_certificate ()">nm_utils_file_is_certificate</a> (<em class="parameter"><code>const <span class="type">char</span> *filename</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-file-is-private-key" title="nm_utils_file_is_private_key ()">nm_utils_file_is_private_key</a> (<em class="parameter"><code>const <span class="type">char</span> *filename</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *out_encrypted</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-file-is-pkcs12" title="nm_utils_file_is_pkcs12 ()">nm_utils_file_is_pkcs12</a> (<em class="parameter"><code>const <span class="type">char</span> *filename</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (<a class="link" href="libnm-nm-utils.html#NMUtilsFileSearchInPathsPredicate" title="NMUtilsFileSearchInPathsPredicate ()">*NMUtilsFileSearchInPathsPredicate</a>) + (<em class="parameter"><code>const <span class="type">char</span> *filename</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>); +const <span class="returnvalue">char</span> * <a class="link" href="libnm-nm-utils.html#nm-utils-file-search-in-paths" title="nm_utils_file_search_in_paths ()">nm_utils_file_search_in_paths</a> (<em class="parameter"><code>const <span class="type">char</span> *progname</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *try_first</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *const *paths</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#GFileTest"><span class="type">GFileTest</span></a> file_test_flags</code></em>, + <em class="parameter"><code><a class="link" href="libnm-nm-utils.html#NMUtilsFileSearchInPathsPredicate" title="NMUtilsFileSearchInPathsPredicate ()"><span class="type">NMUtilsFileSearchInPathsPredicate</span></a> predicate</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-wifi-freq-to-channel" title="nm_utils_wifi_freq_to_channel ()">nm_utils_wifi_freq_to_channel</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> freq</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-wifi-channel-to-freq" title="nm_utils_wifi_channel_to_freq ()">nm_utils_wifi_channel_to_freq</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> channel</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *band</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-wifi-find-next-channel" title="nm_utils_wifi_find_next_channel ()">nm_utils_wifi_find_next_channel</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> channel</code></em>, + <em class="parameter"><code><span class="type">int</span> direction</code></em>, + <em class="parameter"><code><span class="type">char</span> *band</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-wifi-is-channel-valid" title="nm_utils_wifi_is_channel_valid ()">nm_utils_wifi_is_channel_valid</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> channel</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *band</code></em>); +const <span class="returnvalue">char</span> * <a class="link" href="libnm-nm-utils.html#nm-utils-wifi-strength-bars" title="nm_utils_wifi_strength_bars ()">nm_utils_wifi_strength_bars</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> strength</code></em>); +#define <a class="link" href="libnm-nm-utils.html#NM-UTILS-HWADDR-LEN-MAX:CAPS" title="NM_UTILS_HWADDR_LEN_MAX">NM_UTILS_HWADDR_LEN_MAX</a> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-hwaddr-len" title="nm_utils_hwaddr_len ()">nm_utils_hwaddr_len</a> (<em class="parameter"><code><span class="type">int</span> type</code></em>); +<span class="returnvalue">char</span> * <a class="link" href="libnm-nm-utils.html#nm-utils-hwaddr-ntoa" title="nm_utils_hwaddr_ntoa ()">nm_utils_hwaddr_ntoa</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> addr</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> length</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="returnvalue">GByteArray</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-hwaddr-atoba" title="nm_utils_hwaddr_atoba ()">nm_utils_hwaddr_atoba</a> (<em class="parameter"><code>const <span class="type">char</span> *asc</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> length</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-hwaddr-aton" title="nm_utils_hwaddr_aton ()">nm_utils_hwaddr_aton</a> (<em class="parameter"><code>const <span class="type">char</span> *asc</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> buffer</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> length</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-hwaddr-valid" title="nm_utils_hwaddr_valid ()">nm_utils_hwaddr_valid</a> (<em class="parameter"><code>const <span class="type">char</span> *asc</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> length</code></em>); +<span class="returnvalue">char</span> * <a class="link" href="libnm-nm-utils.html#nm-utils-hwaddr-canonical" title="nm_utils_hwaddr_canonical ()">nm_utils_hwaddr_canonical</a> (<em class="parameter"><code>const <span class="type">char</span> *asc</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> length</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-hwaddr-matches" title="nm_utils_hwaddr_matches ()">nm_utils_hwaddr_matches</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> hwaddr1</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> hwaddr1_len</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> hwaddr2</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> hwaddr2_len</code></em>); +<span class="returnvalue">char</span> * <a class="link" href="libnm-nm-utils.html#nm-utils-bin2hexstr" title="nm_utils_bin2hexstr ()">nm_utils_bin2hexstr</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> src</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>, + <em class="parameter"><code><span class="type">int</span> final_len</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Byte-Arrays.html#GBytes"><span class="returnvalue">GBytes</span></a> * <a class="link" href="libnm-nm-utils.html#nm-utils-hexstr2bin" title="nm_utils_hexstr2bin ()">nm_utils_hexstr2bin</a> (<em class="parameter"><code>const <span class="type">char</span> *hex</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-iface-valid-name" title="nm_utils_iface_valid_name ()">nm_utils_iface_valid_name</a> (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-is-uuid" title="nm_utils_is_uuid ()">nm_utils_is_uuid</a> (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>); +#define <a class="link" href="libnm-nm-utils.html#NM-UTILS-INET-ADDRSTRLEN:CAPS" title="NM_UTILS_INET_ADDRSTRLEN">NM_UTILS_INET_ADDRSTRLEN</a> +const <span class="returnvalue">char</span> * <a class="link" href="libnm-nm-utils.html#nm-utils-inet4-ntop" title="nm_utils_inet4_ntop ()">nm_utils_inet4_ntop</a> (<em class="parameter"><code><span class="type">in_addr_t</span> inaddr</code></em>, + <em class="parameter"><code><span class="type">char</span> *dst</code></em>); +const <span class="returnvalue">char</span> * <a class="link" href="libnm-nm-utils.html#nm-utils-inet6-ntop" title="nm_utils_inet6_ntop ()">nm_utils_inet6_ntop</a> (<em class="parameter"><code>const <span class="type">struct in6_addr</span> *in6addr</code></em>, + <em class="parameter"><code><span class="type">char</span> *dst</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-ipaddr-valid" title="nm_utils_ipaddr_valid ()">nm_utils_ipaddr_valid</a> (<em class="parameter"><code><span class="type">int</span> family</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *ip</code></em>); +<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="libnm-nm-utils.html#nm-utils-check-virtual-device-compatibility" title="nm_utils_check_virtual_device_compatibility ()">nm_utils_check_virtual_device_compatibility</a> + (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> virtual_type</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> other_type</code></em>); +</pre> +</div> +<div class="refsect1"> +<a name="libnm-nm-utils.object-hierarchy"></a><h2>Object Hierarchy</h2> +<pre class="synopsis"> + GEnum + +----NMUtilsSecurityType +</pre> +</div> +<div class="refsect1"> +<a name="libnm-nm-utils.description"></a><h2>Description</h2> +<p> +A collection of utility functions for working with SSIDs, IP addresses, Wi-Fi +access points and devices, among other things. +</p> +</div> +<div class="refsect1"> +<a name="libnm-nm-utils.details"></a><h2>Details</h2> +<div class="refsect2"> +<a name="nm-utils-is-empty-ssid"></a><h3>nm_utils_is_empty_ssid ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> nm_utils_is_empty_ssid (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *ssid</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>);</pre> +<p> +Different manufacturers use different mechanisms for not broadcasting the +AP's SSID. This function attempts to detect blank/empty SSIDs using a +number of known SSID-cloaking methods. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>ssid</code></em> :</span></p></td> +<td>pointer to a buffer containing the SSID data. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td> +<td>length of the SSID data in <em class="parameter"><code>ssid</code></em> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the SSID is "empty", <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it is not</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-escape-ssid"></a><h3>nm_utils_escape_ssid ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * nm_utils_escape_ssid (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *ssid</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>);</pre> +<p> +This function does a quick printable character conversion of the SSID, simply +replacing embedded NULLs and non-printable characters with the hexadecimal +representation of that character. Intended for debugging only, should not +be used for display of SSIDs. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>ssid</code></em> :</span></p></td> +<td>pointer to a buffer containing the SSID data. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td> +<td>length of the SSID data in <em class="parameter"><code>ssid</code></em> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>pointer to the escaped SSID, which uses an internal static buffer +and will be overwritten by subsequent calls to this function</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-same-ssid"></a><h3>nm_utils_same_ssid ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> nm_utils_same_ssid (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *ssid1</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len1</code></em>, + <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *ssid2</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len2</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> ignore_trailing_null</code></em>);</pre> +<p> +Earlier versions of the Linux kernel added a NULL byte to the end of the +SSID to enable easy printing of the SSID on the console or in a terminal, +but this behavior was problematic (SSIDs are simply byte arrays, not strings) +and thus was changed. This function compensates for that behavior at the +cost of some compatibility with odd SSIDs that may legitimately have trailing +NULLs, even though that is functionally pointless. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>ssid1</code></em> :</span></p></td> +<td>the first SSID to compare. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len1]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>len1</code></em> :</span></p></td> +<td>length of the SSID data in <em class="parameter"><code>ssid1</code></em> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>ssid2</code></em> :</span></p></td> +<td>the second SSID to compare. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len2]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>len2</code></em> :</span></p></td> +<td>length of the SSID data in <em class="parameter"><code>ssid2</code></em> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>ignore_trailing_null</code></em> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to ignore one trailing NULL byte</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the SSIDs are the same, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if they are not</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ssid-to-utf8"></a><h3>nm_utils_ssid_to_utf8 ()</h3> +<pre class="programlisting"><span class="returnvalue">char</span> * nm_utils_ssid_to_utf8 (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *ssid</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>);</pre> +<p> +Wi-Fi SSIDs are byte arrays, they are _not_ strings. Thus, an SSID may +contain embedded NULLs and other unprintable characters. Often it is +useful to print the SSID out for debugging purposes, but that should be the +_only_ use of this function. Do not use this function for any persistent +storage of the SSID, since the printable SSID returned from this function +cannot be converted back into the real SSID of the access point. +</p> +<p> +This function does almost everything humanly possible to convert the input +into a printable UTF-8 string, using roughly the following procedure: +</p> +<p> +1) if the input data is already UTF-8 safe, no conversion is performed +2) attempts to get the current system language from the LANG environment + variable, and depending on the language, uses a table of alternative + encodings to try. For example, if LANG=hu_HU, the table may first try + the ISO-8859-2 encoding, and if that fails, try the Windows-1250 encoding. + If all fallback encodings fail, replaces non-UTF-8 characters with '?'. +3) If the system language was unable to be determined, falls back to the + ISO-8859-1 encoding, then to the Windows-1251 encoding. +4) If step 3 fails, replaces non-UTF-8 characters with '?'. +</p> +<p> +Again, this function should be used for debugging and display purposes +_only_. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>ssid</code></em> :</span></p></td> +<td>pointer to a buffer containing the SSID data. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td> +<td>length of the SSID data in <em class="parameter"><code>ssid</code></em> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>an allocated string containing a UTF-8 +representation of the SSID, which must be freed by the caller using <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. +Returns <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> on errors. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="NMUtilsSecurityType-enum"></a><h3>enum NMUtilsSecurityType</h3> +<pre class="programlisting">typedef enum { + NMU_SEC_INVALID = 0, + NMU_SEC_NONE, + NMU_SEC_STATIC_WEP, + NMU_SEC_LEAP, + NMU_SEC_DYNAMIC_WEP, + NMU_SEC_WPA_PSK, + NMU_SEC_WPA_ENTERPRISE, + NMU_SEC_WPA2_PSK, + NMU_SEC_WPA2_ENTERPRISE +} NMUtilsSecurityType; +</pre> +<p> +Describes generic security mechanisms that 802.11 access points may offer. +Used with <a class="link" href="libnm-nm-utils.html#nm-utils-security-valid" title="nm_utils_security_valid ()"><code class="function">nm_utils_security_valid()</code></a> for checking whether a given access +point is compatible with a network device. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><a name="NMU-SEC-INVALID:CAPS"></a><span class="term"><code class="literal">NMU_SEC_INVALID</code></span></p></td> +<td>unknown or invalid security, placeholder and not used +</td> +</tr> +<tr> +<td><p><a name="NMU-SEC-NONE:CAPS"></a><span class="term"><code class="literal">NMU_SEC_NONE</code></span></p></td> +<td>unencrypted and open +</td> +</tr> +<tr> +<td><p><a name="NMU-SEC-STATIC-WEP:CAPS"></a><span class="term"><code class="literal">NMU_SEC_STATIC_WEP</code></span></p></td> +<td>static WEP keys are used for encryption +</td> +</tr> +<tr> +<td><p><a name="NMU-SEC-LEAP:CAPS"></a><span class="term"><code class="literal">NMU_SEC_LEAP</code></span></p></td> +<td>Cisco LEAP is used for authentication and for generating the +dynamic WEP keys automatically +</td> +</tr> +<tr> +<td><p><a name="NMU-SEC-DYNAMIC-WEP:CAPS"></a><span class="term"><code class="literal">NMU_SEC_DYNAMIC_WEP</code></span></p></td> +<td>standard 802.1x is used for authentication and +generating the dynamic WEP keys automatically +</td> +</tr> +<tr> +<td><p><a name="NMU-SEC-WPA-PSK:CAPS"></a><span class="term"><code class="literal">NMU_SEC_WPA_PSK</code></span></p></td> +<td>WPA1 is used with Pre-Shared Keys (PSK) +</td> +</tr> +<tr> +<td><p><a name="NMU-SEC-WPA-ENTERPRISE:CAPS"></a><span class="term"><code class="literal">NMU_SEC_WPA_ENTERPRISE</code></span></p></td> +<td>WPA1 is used with 802.1x authentication +</td> +</tr> +<tr> +<td><p><a name="NMU-SEC-WPA2-PSK:CAPS"></a><span class="term"><code class="literal">NMU_SEC_WPA2_PSK</code></span></p></td> +<td>WPA2/RSN is used with Pre-Shared Keys (PSK) +</td> +</tr> +<tr> +<td><p><a name="NMU-SEC-WPA2-ENTERPRISE:CAPS"></a><span class="term"><code class="literal">NMU_SEC_WPA2_ENTERPRISE</code></span></p></td> +<td>WPA2 is used with 802.1x authentication +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-security-valid"></a><h3>nm_utils_security_valid ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> nm_utils_security_valid (<em class="parameter"><code><a class="link" href="libnm-nm-utils.html#NMUtilsSecurityType"><span class="type">NMUtilsSecurityType</span></a> type</code></em>, + <em class="parameter"><code><a class="link" href="libnm-nm-dbus-interface.html#NMDeviceWifiCapabilities"><span class="type">NMDeviceWifiCapabilities</span></a> wifi_caps</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> have_ap</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> adhoc</code></em>, + <em class="parameter"><code><a class="link" href="libnm-nm-dbus-interface.html#NM80211ApFlags"><span class="type">NM80211ApFlags</span></a> ap_flags</code></em>, + <em class="parameter"><code><a class="link" href="libnm-nm-dbus-interface.html#NM80211ApSecurityFlags"><span class="type">NM80211ApSecurityFlags</span></a> ap_wpa</code></em>, + <em class="parameter"><code><a class="link" href="libnm-nm-dbus-interface.html#NM80211ApSecurityFlags"><span class="type">NM80211ApSecurityFlags</span></a> ap_rsn</code></em>);</pre> +<p> +Given a set of device capabilities, and a desired security type to check +against, determines whether the combination of device, desired security +type, and AP capabilities intersect. +</p> +<p> +NOTE: this function cannot handle checking security for AP/Hotspot mode; +use <a class="link" href="libnm-nm-utils.html#nm-utils-ap-mode-security-valid" title="nm_utils_ap_mode_security_valid ()"><code class="function">nm_utils_ap_mode_security_valid()</code></a> instead. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td> +<td>the security type to check AP flags and device capabilties against, +e.g. <a class="link" href="libnm-nm-utils.html#NMU-SEC-STATIC-WEP:CAPS"><span class="type">NMU_SEC_STATIC_WEP</span></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>wifi_caps</code></em> :</span></p></td> +<td>bitfield of the capabilities of the specific Wi-Fi device, e.g. +<a class="link" href="libnm-nm-dbus-interface.html#NM-WIFI-DEVICE-CAP-CIPHER-WEP40:CAPS"><span class="type">NM_WIFI_DEVICE_CAP_CIPHER_WEP40</span></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>have_ap</code></em> :</span></p></td> +<td>whether the <em class="parameter"><code>ap_flags</code></em>, <em class="parameter"><code>ap_wpa</code></em>, and <em class="parameter"><code>ap_rsn</code></em> arguments are valid</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>adhoc</code></em> :</span></p></td> +<td>whether the capabilities being tested are from an Ad-Hoc AP (IBSS)</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>ap_flags</code></em> :</span></p></td> +<td>bitfield of AP capabilities, e.g. <a class="link" href="libnm-nm-dbus-interface.html#NM-802-11-AP-FLAGS-PRIVACY:CAPS"><span class="type">NM_802_11_AP_FLAGS_PRIVACY</span></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>ap_wpa</code></em> :</span></p></td> +<td>bitfield of AP capabilties derived from the AP's WPA beacon, +e.g. (<a class="link" href="libnm-nm-dbus-interface.html#NM-802-11-AP-SEC-PAIR-TKIP:CAPS"><span class="type">NM_802_11_AP_SEC_PAIR_TKIP</span></a> | <a class="link" href="libnm-nm-dbus-interface.html#NM-802-11-AP-SEC-KEY-MGMT-PSK:CAPS"><span class="type">NM_802_11_AP_SEC_KEY_MGMT_PSK</span></a>)</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>ap_rsn</code></em> :</span></p></td> +<td>bitfield of AP capabilties derived from the AP's RSN/WPA2 beacon, +e.g. (<a class="link" href="libnm-nm-dbus-interface.html#NM-802-11-AP-SEC-PAIR-CCMP:CAPS"><span class="type">NM_802_11_AP_SEC_PAIR_CCMP</span></a> | <a class="link" href="libnm-nm-dbus-interface.html#NM-802-11-AP-SEC-PAIR-TKIP:CAPS"><span class="type">NM_802_11_AP_SEC_PAIR_TKIP</span></a>)</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the device capabilities and AP capabilties intersect and are +compatible with the desired <em class="parameter"><code>type</code></em>, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if they are not</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ap-mode-security-valid"></a><h3>nm_utils_ap_mode_security_valid ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> nm_utils_ap_mode_security_valid (<em class="parameter"><code><a class="link" href="libnm-nm-utils.html#NMUtilsSecurityType"><span class="type">NMUtilsSecurityType</span></a> type</code></em>, + <em class="parameter"><code><a class="link" href="libnm-nm-dbus-interface.html#NMDeviceWifiCapabilities"><span class="type">NMDeviceWifiCapabilities</span></a> wifi_caps</code></em>);</pre> +<p> +Given a set of device capabilities, and a desired security type to check +against, determines whether the combination of device capabilities and +desired security type are valid for AP/Hotspot connections. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td> +<td>the security type to check device capabilties against, +e.g. <a class="link" href="libnm-nm-utils.html#NMU-SEC-STATIC-WEP:CAPS"><span class="type">NMU_SEC_STATIC_WEP</span></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>wifi_caps</code></em> :</span></p></td> +<td>bitfield of the capabilities of the specific Wi-Fi device, e.g. +<a class="link" href="libnm-nm-dbus-interface.html#NM-WIFI-DEVICE-CAP-CIPHER-WEP40:CAPS"><span class="type">NM_WIFI_DEVICE_CAP_CIPHER_WEP40</span></a> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the device capabilities are compatible with the desired +<em class="parameter"><code>type</code></em>, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if they are not.</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-wep-key-valid"></a><h3>nm_utils_wep_key_valid ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> nm_utils_wep_key_valid (<em class="parameter"><code>const <span class="type">char</span> *key</code></em>, + <em class="parameter"><code><a class="link" href="NMSettingWirelessSecurity.html#NMWepKeyType"><span class="type">NMWepKeyType</span></a> wep_type</code></em>);</pre> +<p> +Checks if <em class="parameter"><code>key</code></em> is a valid WEP key +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td> +<td>a string that might be a WEP key</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>wep_type</code></em> :</span></p></td> +<td>the <a class="link" href="NMSettingWirelessSecurity.html#NMWepKeyType"><span class="type">NMWepKeyType</span></a> type of the WEP key</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>key</code></em> is a WEP key, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if not</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-wpa-psk-valid"></a><h3>nm_utils_wpa_psk_valid ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> nm_utils_wpa_psk_valid (<em class="parameter"><code>const <span class="type">char</span> *psk</code></em>);</pre> +<p> +Checks if <em class="parameter"><code>psk</code></em> is a valid WPA PSK +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>psk</code></em> :</span></p></td> +<td>a string that might be a WPA PSK</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>psk</code></em> is a WPA PSK, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if not</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip4-dns-to-variant"></a><h3>nm_utils_ip4_dns_to_variant ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * nm_utils_ip4_dns_to_variant (<em class="parameter"><code><span class="type">char</span> **dns</code></em>);</pre> +<p> +Utility function to convert an array of IP address strings int a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of +type 'au' representing an array of IPv4 addresses. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>dns</code></em> :</span></p></td> +<td>an array of IP address strings. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> utf8]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a new floating <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>dns</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip4-dns-from-variant"></a><h3>nm_utils_ip4_dns_from_variant ()</h3> +<pre class="programlisting"><span class="returnvalue">char</span> ** nm_utils_ip4_dns_from_variant (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre> +<p> +Utility function to convert a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'au' representing a list of +IPv4 addresses into an array of IP address strings. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td> +<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'au'</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of IP address strings. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> utf8]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip4-addresses-to-variant"></a><h3>nm_utils_ip4_addresses_to_variant ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * nm_utils_ip4_addresses_to_variant (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *addresses</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *gateway</code></em>);</pre> +<p> +Utility function to convert a <a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPAddress"><span class="type">NMIPAddress</span></a> objects representing +IPv4 addresses into a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'aau' representing an array of +NetworkManager IPv4 addresses (which are tuples of address, prefix, and +gateway). The "gateway" field of the first address will get the value of +<em class="parameter"><code>gateway</code></em> (if non-<a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>). In all of the other addresses, that field will be 0. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>addresses</code></em> :</span></p></td> +<td>an array of <a class="link" href="NMSettingIPConfig.html#NMIPAddress"><span class="type">NMIPAddress</span></a> objects. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPAddress]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>gateway</code></em> :</span></p></td> +<td>the gateway IP address. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a new floating <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>addresses</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip4-addresses-from-variant"></a><h3>nm_utils_ip4_addresses_from_variant ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> * nm_utils_ip4_addresses_from_variant (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>, + <em class="parameter"><code><span class="type">char</span> **out_gateway</code></em>);</pre> +<p> +Utility function to convert a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'aau' representing a list of +NetworkManager IPv4 addresses (which are tuples of address, prefix, and +gateway) into a <a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPAddress"><span class="type">NMIPAddress</span></a> objects. The "gateway" field of +the first address (if set) will be returned in <em class="parameter"><code>out_gateway</code></em>; the "gateway" fields +of the other addresses are ignored. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td> +<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'aau'</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>out_gateway</code></em> :</span></p></td> +<td>on return, will contain the IP gateway. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a newly allocated +<a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPAddress"><span class="type">NMIPAddress</span></a> objects. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPAddress]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip4-routes-to-variant"></a><h3>nm_utils_ip4_routes_to_variant ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * nm_utils_ip4_routes_to_variant (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *routes</code></em>);</pre> +<p> +Utility function to convert a <a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPRoute"><span class="type">NMIPRoute</span></a> objects representing +IPv4 routes into a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'aau' representing an array of +NetworkManager IPv4 routes (which are tuples of route, prefix, next hop, and +metric). +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>routes</code></em> :</span></p></td> +<td>an array of <a href="https://developer.gnome.org/libnm-util/0.9/NMSettingIP4Config.html#NMIP4Route"><span class="type">NMIP4Route</span></a> objects. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPRoute]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a new floating <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>routes</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip4-routes-from-variant"></a><h3>nm_utils_ip4_routes_from_variant ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> * nm_utils_ip4_routes_from_variant (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre> +<p> +Utility function to convert a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'aau' representing an array +of NetworkManager IPv4 routes (which are tuples of route, prefix, next hop, +and metric) into a <a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPRoute"><span class="type">NMIPRoute</span></a> objects. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'aau'</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a newly allocated +<a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPRoute"><span class="type">NMIPRoute</span></a> objects. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPRoute]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip4-netmask-to-prefix"></a><h3>nm_utils_ip4_netmask_to_prefix ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a> nm_utils_ip4_netmask_to_prefix (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> netmask</code></em>);</pre> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>netmask</code></em> :</span></p></td> +<td>an IPv4 netmask in network byte order</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the CIDR prefix represented by the netmask</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip4-prefix-to-netmask"></a><h3>nm_utils_ip4_prefix_to_netmask ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a> nm_utils_ip4_prefix_to_netmask (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> prefix</code></em>);</pre> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>prefix</code></em> :</span></p></td> +<td>a CIDR prefix</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the netmask represented by the prefix, in network byte order</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip4-get-default-prefix"></a><h3>nm_utils_ip4_get_default_prefix ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a> nm_utils_ip4_get_default_prefix (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> ip</code></em>);</pre> +<p> +When the Internet was originally set up, various ranges of IP addresses were +segmented into three network classes: A, B, and C. This function will return +a prefix that is associated with the IP address specified defining where it +falls in the predefined classes. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>ip</code></em> :</span></p></td> +<td>an IPv4 address (in network byte order)</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the default class prefix for the given IP</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip6-dns-to-variant"></a><h3>nm_utils_ip6_dns_to_variant ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * nm_utils_ip6_dns_to_variant (<em class="parameter"><code><span class="type">char</span> **dns</code></em>);</pre> +<p> +Utility function to convert an array of IP address strings int a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of +type 'aay' representing an array of IPv6 addresses. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>dns</code></em> :</span></p></td> +<td>an array of IP address strings. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> utf8]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a new floating <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>dns</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip6-dns-from-variant"></a><h3>nm_utils_ip6_dns_from_variant ()</h3> +<pre class="programlisting"><span class="returnvalue">char</span> ** nm_utils_ip6_dns_from_variant (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre> +<p> +Utility function to convert a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'aay' representing a list of +IPv6 addresses into an array of IP address strings. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td> +<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'aay'</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of IP address strings. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> utf8]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip6-addresses-to-variant"></a><h3>nm_utils_ip6_addresses_to_variant ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * nm_utils_ip6_addresses_to_variant (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *addresses</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *gateway</code></em>);</pre> +<p> +Utility function to convert a <a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPAddress"><span class="type">NMIPAddress</span></a> objects representing +IPv6 addresses into a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'a(ayuay)' representing an array of +NetworkManager IPv6 addresses (which are tuples of address, prefix, and +gateway). The "gateway" field of the first address will get the value of +<em class="parameter"><code>gateway</code></em> (if non-<a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>). In all of the other addresses, that field will be +all 0s. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>addresses</code></em> :</span></p></td> +<td>an array of <a class="link" href="NMSettingIPConfig.html#NMIPAddress"><span class="type">NMIPAddress</span></a> objects. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPAddress]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>gateway</code></em> :</span></p></td> +<td>the gateway IP address. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a new floating <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>addresses</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip6-addresses-from-variant"></a><h3>nm_utils_ip6_addresses_from_variant ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> * nm_utils_ip6_addresses_from_variant (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>, + <em class="parameter"><code><span class="type">char</span> **out_gateway</code></em>);</pre> +<p> +Utility function to convert a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'a(ayuay)' representing a +list of NetworkManager IPv6 addresses (which are tuples of address, prefix, +and gateway) into a <a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPAddress"><span class="type">NMIPAddress</span></a> objects. The "gateway" field +of the first address (if set) will be returned in <em class="parameter"><code>out_gateway</code></em>; the "gateway" +fields of the other addresses are ignored. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td> +<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'a(ayuay)'</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>out_gateway</code></em> :</span></p></td> +<td>on return, will contain the IP gateway. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a newly allocated +<a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPAddress"><span class="type">NMIPAddress</span></a> objects. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPAddress]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip6-routes-to-variant"></a><h3>nm_utils_ip6_routes_to_variant ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * nm_utils_ip6_routes_to_variant (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *routes</code></em>);</pre> +<p> +Utility function to convert a <a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPRoute"><span class="type">NMIPRoute</span></a> objects representing +IPv6 routes into a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'a(ayuayu)' representing an array of +NetworkManager IPv6 routes (which are tuples of route, prefix, next hop, and +metric). +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>routes</code></em> :</span></p></td> +<td>an array of <a class="link" href="NMSettingIPConfig.html#NMIPRoute"><span class="type">NMIPRoute</span></a> objects. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPRoute]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a new floating <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>routes</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip6-routes-from-variant"></a><h3>nm_utils_ip6_routes_from_variant ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> * nm_utils_ip6_routes_from_variant (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>);</pre> +<p> +Utility function to convert a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'a(ayuayu)' representing an +array of NetworkManager IPv6 routes (which are tuples of route, prefix, next +hop, and metric) into a <a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPRoute"><span class="type">NMIPRoute</span></a> objects. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'a(ayuayu)'</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a newly allocated +<a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPRoute"><span class="type">NMIPRoute</span></a> objects. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPRoute]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip-addresses-to-variant"></a><h3>nm_utils_ip_addresses_to_variant ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * nm_utils_ip_addresses_to_variant (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *addresses</code></em>);</pre> +<p> +Utility function to convert a <a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPAddress"><span class="type">NMIPAddress</span></a> objects representing +IPv4 or IPv6 addresses into a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'aa{sv}' representing an +array of new-style NetworkManager IP addresses. All addresses will include +"address" (an IP address string), and "prefix" (a uint). Some addresses may +include additional attributes. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>addresses</code></em> :</span></p></td> +<td>an array of <a class="link" href="NMSettingIPConfig.html#NMIPAddress"><span class="type">NMIPAddress</span></a> objects. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPAddress]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a new floating <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>addresses</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip-addresses-from-variant"></a><h3>nm_utils_ip_addresses_from_variant ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> * nm_utils_ip_addresses_from_variant (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>, + <em class="parameter"><code><span class="type">int</span> family</code></em>);</pre> +<p> +Utility function to convert a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing a list of new-style +NetworkManager IPv4 or IPv6 addresses (as described in the documentation for +<a class="link" href="libnm-nm-utils.html#nm-utils-ip-addresses-to-variant" title="nm_utils_ip_addresses_to_variant ()"><code class="function">nm_utils_ip_addresses_to_variant()</code></a>) into a <a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPAddress"><span class="type">NMIPAddress</span></a> +objects. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td> +<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'aa{sv}'</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>family</code></em> :</span></p></td> +<td>an IP address family</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a newly allocated +<a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPAddress"><span class="type">NMIPAddress</span></a> objects. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPAddress]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip-routes-to-variant"></a><h3>nm_utils_ip_routes_to_variant ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * nm_utils_ip_routes_to_variant (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *routes</code></em>);</pre> +<p> +Utility function to convert a <a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPRoute"><span class="type">NMIPRoute</span></a> objects representing +IPv4 or IPv6 routes into a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'aa{sv}' representing an array +of new-style NetworkManager IP routes (which are tuples of destination, +prefix, next hop, metric, and additional attributes). +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>routes</code></em> :</span></p></td> +<td>an array of <a class="link" href="NMSettingIPConfig.html#NMIPRoute"><span class="type">NMIPRoute</span></a> objects. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPRoute]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a new floating <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing <em class="parameter"><code>routes</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ip-routes-from-variant"></a><h3>nm_utils_ip_routes_from_variant ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> * nm_utils_ip_routes_from_variant (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *value</code></em>, + <em class="parameter"><code><span class="type">int</span> family</code></em>);</pre> +<p> +Utility function to convert a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> representing a list of new-style +NetworkManager IPv4 or IPv6 addresses (which are tuples of destination, +prefix, next hop, metric, and additional attributes) into a <a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of +<a class="link" href="NMSettingIPConfig.html#NMIPRoute"><span class="type">NMIPRoute</span></a> objects. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td> +<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> of type 'aa{sv}'</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>family</code></em> :</span></p></td> +<td>an IP address family</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a newly allocated +<a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a class="link" href="NMSettingIPConfig.html#NMIPRoute"><span class="type">NMIPRoute</span></a> objects. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> NMIPRoute]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-uuid-generate"></a><h3>nm_utils_uuid_generate ()</h3> +<pre class="programlisting"><span class="returnvalue">char</span> * nm_utils_uuid_generate (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody><tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a newly allocated UUID suitable for use as the <a class="link" href="NMSettingConnection.html" title="NMSettingConnection"><span class="type">NMSettingConnection</span></a> +object's <a class="link" href="NMSettingConnection.html#NMSettingConnection--id" title='The "id" property'><span class="type">"id"</span></a>: property. Should be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> +</td> +</tr></tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-file-is-certificate"></a><h3>nm_utils_file_is_certificate ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> nm_utils_file_is_certificate (<em class="parameter"><code>const <span class="type">char</span> *filename</code></em>);</pre> +<p> +Tests if <em class="parameter"><code>filename</code></em> has a valid extension for an X.509 certificate file +(".cer", ".crt", ".der", or ".pem"), and contains a certificate in a format +recognized by NetworkManager. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> +<td>name of the file to test</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the file is a certificate, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it is not</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-file-is-private-key"></a><h3>nm_utils_file_is_private_key ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> nm_utils_file_is_private_key (<em class="parameter"><code>const <span class="type">char</span> *filename</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *out_encrypted</code></em>);</pre> +<p> +Tests if <em class="parameter"><code>filename</code></em> has a valid extension for an X.509 private key file +(".der", ".key", ".pem", or ".p12"), and contains a private key in a format +recognized by NetworkManager. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> +<td>name of the file to test</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>out_encrypted</code></em> :</span></p></td> +<td>on return, whether the file is encrypted. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the file is a private key, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it is not</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-file-is-pkcs12"></a><h3>nm_utils_file_is_pkcs12 ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> nm_utils_file_is_pkcs12 (<em class="parameter"><code>const <span class="type">char</span> *filename</code></em>);</pre> +<p> +Tests if <em class="parameter"><code>filename</code></em> is a PKCS#12 file. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> +<td>name of the file to test</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the file is PKCS#12, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if it is not</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="NMUtilsFileSearchInPathsPredicate"></a><h3>NMUtilsFileSearchInPathsPredicate ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (*NMUtilsFileSearchInPathsPredicate) + (<em class="parameter"><code>const <span class="type">char</span> *filename</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre> +<p> +</p> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-file-search-in-paths"></a><h3>nm_utils_file_search_in_paths ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * nm_utils_file_search_in_paths (<em class="parameter"><code>const <span class="type">char</span> *progname</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *try_first</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *const *paths</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#GFileTest"><span class="type">GFileTest</span></a> file_test_flags</code></em>, + <em class="parameter"><code><a class="link" href="libnm-nm-utils.html#NMUtilsFileSearchInPathsPredicate" title="NMUtilsFileSearchInPathsPredicate ()"><span class="type">NMUtilsFileSearchInPathsPredicate</span></a> predicate</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre> +<p> +Searches for a <em class="parameter"><code>progname</code></em> file in a list of search <em class="parameter"><code>paths</code></em>. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>progname</code></em> :</span></p></td> +<td>the helper program name, like "iptables" +Must be a non-empty string, without path separator (/).</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>try_first</code></em> :</span></p></td> +<td>a custom path to try first before searching. +It is silently ignored if it is empty or not an absolute path. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>paths</code></em> :</span></p></td> +<td>a <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated list of search paths. +Can be empty or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>, in which case only <em class="parameter"><code>try_first</code></em> is checked. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>file_test_flags</code></em> :</span></p></td> +<td>the flags passed to <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#g-file-test"><code class="function">g_file_test()</code></a> when searching +for <em class="parameter"><code>progname</code></em>. Set it to 0 to skip the <a href="http://library.gnome.org/devel/glib/unstable/glib-File-Utilities.html#g-file-test"><code class="function">g_file_test()</code></a>.</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>predicate</code></em> :</span></p></td> +<td>if given, pass the file name to this function +for additional checks. This check is performed after the check for +<em class="parameter"><code>file_test_flags</code></em>. You cannot omit both <em class="parameter"><code>file_test_flags</code></em> and <em class="parameter"><code>predicate</code></em>. <span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td> +<td>(allow-none): user data for <em class="parameter"><code>predicate</code></em> function. <span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td> +<td>on failure, a "not found" error using <em class="parameter"><code>error_domain</code></em> and <em class="parameter"><code>error_code</code></em> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the full path to the helper, if found, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. +The returned string is not owned by the caller, but later +invocations of the function might overwrite it. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-wifi-freq-to-channel"></a><h3>nm_utils_wifi_freq_to_channel ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a> nm_utils_wifi_freq_to_channel (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> freq</code></em>);</pre> +<p> +Utility function to translate a Wi-Fi frequency to its corresponding channel. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>freq</code></em> :</span></p></td> +<td>frequency</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the channel represented by the frequency or 0</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-wifi-channel-to-freq"></a><h3>nm_utils_wifi_channel_to_freq ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a> nm_utils_wifi_channel_to_freq (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> channel</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *band</code></em>);</pre> +<p> +Utility function to translate a Wi-Fi channel to its corresponding frequency. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>channel</code></em> :</span></p></td> +<td>channel</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>band</code></em> :</span></p></td> +<td>frequency band for wireless ("a" or "bg")</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the frequency represented by the channel of the band, +or -1 when the freq is invalid, or 0 when the band +is invalid</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-wifi-find-next-channel"></a><h3>nm_utils_wifi_find_next_channel ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a> nm_utils_wifi_find_next_channel (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> channel</code></em>, + <em class="parameter"><code><span class="type">int</span> direction</code></em>, + <em class="parameter"><code><span class="type">char</span> *band</code></em>);</pre> +<p> +Utility function to find out next/previous Wi-Fi channel for a channel. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>channel</code></em> :</span></p></td> +<td>current channel</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>direction</code></em> :</span></p></td> +<td>whether going downward (0 or less) or upward (1 or more)</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>band</code></em> :</span></p></td> +<td>frequency band for wireless ("a" or "bg")</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the next channel in the specified direction or 0</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-wifi-is-channel-valid"></a><h3>nm_utils_wifi_is_channel_valid ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> nm_utils_wifi_is_channel_valid (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> channel</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *band</code></em>);</pre> +<p> +Utility function to verify Wi-Fi channel validity. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>channel</code></em> :</span></p></td> +<td>channel</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>band</code></em> :</span></p></td> +<td>frequency band for wireless ("a" or "bg")</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-wifi-strength-bars"></a><h3>nm_utils_wifi_strength_bars ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * nm_utils_wifi_strength_bars (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> strength</code></em>);</pre> +<p> +Converts <em class="parameter"><code>strength</code></em> into a 4-character-wide graphical representation of +strength suitable for printing to stdout. If the current locale and terminal +support it, this will use unicode graphics characters to represent +"bars". Otherwise it will use 0 to 4 asterisks. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>strength</code></em> :</span></p></td> +<td>the access point strength, from 0 to 100</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the graphical representation of the access point strength</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="NM-UTILS-HWADDR-LEN-MAX:CAPS"></a><h3>NM_UTILS_HWADDR_LEN_MAX</h3> +<pre class="programlisting">#define NM_UTILS_HWADDR_LEN_MAX 20 /* INFINIBAND_ALEN */ +</pre> +<p> +The maximum length of hardware addresses handled by NetworkManager itself, +<a class="link" href="libnm-nm-utils.html#nm-utils-hwaddr-len" title="nm_utils_hwaddr_len ()"><code class="function">nm_utils_hwaddr_len()</code></a>, and <a class="link" href="libnm-nm-utils.html#nm-utils-hwaddr-aton" title="nm_utils_hwaddr_aton ()"><code class="function">nm_utils_hwaddr_aton()</code></a>. +</p> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-hwaddr-len"></a><h3>nm_utils_hwaddr_len ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a> nm_utils_hwaddr_len (<em class="parameter"><code><span class="type">int</span> type</code></em>);</pre> +<p> +Returns the length in octets of a hardware address of type <em class="parameter"><code>type</code></em>. +</p> +<p> +It is an error to call this function with any value other than +<code class="literal">ARPHRD_ETHER</code> or <code class="literal">ARPHRD_INFINIBAND</code>. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td> +<td>the type of address; either <code class="literal">ARPHRD_ETHER</code> or +<code class="literal">ARPHRD_INFINIBAND</code> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the length.</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-hwaddr-ntoa"></a><h3>nm_utils_hwaddr_ntoa ()</h3> +<pre class="programlisting"><span class="returnvalue">char</span> * nm_utils_hwaddr_ntoa (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> addr</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> length</code></em>);</pre> +<p> +Converts <em class="parameter"><code>addr</code></em> to textual form. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>addr</code></em> :</span></p></td> +<td>a binary hardware address. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> guint8][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td> +<td>the length of <em class="parameter"><code>addr</code></em> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the textual form of <em class="parameter"><code>addr</code></em>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-hwaddr-atoba"></a><h3>nm_utils_hwaddr_atoba ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="returnvalue">GByteArray</span></a> * nm_utils_hwaddr_atoba (<em class="parameter"><code>const <span class="type">char</span> *asc</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> length</code></em>);</pre> +<p> +Parses <em class="parameter"><code>asc</code></em> and converts it to binary form in a <a href="http://library.gnome.org/devel/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="type">GByteArray</span></a>. See +<a class="link" href="libnm-nm-utils.html#nm-utils-hwaddr-aton" title="nm_utils_hwaddr_aton ()"><code class="function">nm_utils_hwaddr_aton()</code></a> if you don't want a <a href="http://library.gnome.org/devel/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="type">GByteArray</span></a>. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>asc</code></em> :</span></p></td> +<td>the ASCII representation of a hardware address</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td> +<td>the expected length in bytes of the result</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>a new <a href="http://library.gnome.org/devel/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="type">GByteArray</span></a>, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>asc</code></em> couldn't +be parsed. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-hwaddr-aton"></a><h3>nm_utils_hwaddr_aton ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> * nm_utils_hwaddr_aton (<em class="parameter"><code>const <span class="type">char</span> *asc</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> buffer</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> length</code></em>);</pre> +<p> +Parses <em class="parameter"><code>asc</code></em> and converts it to binary form in <em class="parameter"><code>buffer</code></em>. +Bytes in <em class="parameter"><code>asc</code></em> can be sepatared by colons (:), or hyphens (-), but not mixed. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>asc</code></em> :</span></p></td> +<td>the ASCII representation of a hardware address</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td> +<td>buffer to store the result into</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td> +<td>the expected length in bytes of the result and +the size of the buffer in bytes.</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<em class="parameter"><code>buffer</code></em>, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>asc</code></em> couldn't be parsed +or would be shorter or longer than <em class="parameter"><code>length</code></em>.</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-hwaddr-valid"></a><h3>nm_utils_hwaddr_valid ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> nm_utils_hwaddr_valid (<em class="parameter"><code>const <span class="type">char</span> *asc</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> length</code></em>);</pre> +<p> +Parses <em class="parameter"><code>asc</code></em> to see if it is a valid hardware address of the given +length. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>asc</code></em> :</span></p></td> +<td>the ASCII representation of a hardware address</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td> +<td>the length of address that <em class="parameter"><code>asc</code></em> is expected to convert to +(or -1 to accept any length up to <a class="link" href="libnm-nm-utils.html#NM-UTILS-HWADDR-LEN-MAX:CAPS" title="NM_UTILS_HWADDR_LEN_MAX"><code class="literal">NM_UTILS_HWADDR_LEN_MAX</code></a>)</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>asc</code></em> appears to be a valid hardware address +of the indicated length, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if not.</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-hwaddr-canonical"></a><h3>nm_utils_hwaddr_canonical ()</h3> +<pre class="programlisting"><span class="returnvalue">char</span> * nm_utils_hwaddr_canonical (<em class="parameter"><code>const <span class="type">char</span> *asc</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> length</code></em>);</pre> +<p> +Parses <em class="parameter"><code>asc</code></em> to see if it is a valid hardware address of the given +length, and if so, returns it in canonical form (uppercase, with +leading 0s as needed, and with colons rather than hyphens). +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>asc</code></em> :</span></p></td> +<td>the ASCII representation of a hardware address</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td> +<td>the length of address that <em class="parameter"><code>asc</code></em> is expected to convert to +(or -1 to accept any length up to <a class="link" href="libnm-nm-utils.html#NM-UTILS-HWADDR-LEN-MAX:CAPS" title="NM_UTILS_HWADDR_LEN_MAX"><code class="literal">NM_UTILS_HWADDR_LEN_MAX</code></a>)</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the canonicalized address if <em class="parameter"><code>asc</code></em> appears to +be a valid hardware address of the indicated length, <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if not. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-hwaddr-matches"></a><h3>nm_utils_hwaddr_matches ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> nm_utils_hwaddr_matches (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> hwaddr1</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> hwaddr1_len</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> hwaddr2</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> hwaddr2_len</code></em>);</pre> +<p> +Generalized hardware address comparison function. Tests if <em class="parameter"><code>hwaddr1</code></em> and +<em class="parameter"><code>hwaddr2</code></em> "equal" (or more precisely, "equivalent"), with several advantages +over a simple <code class="function">memcmp()</code>: +</p> +<p> + 1. If <em class="parameter"><code>hwaddr1_len</code></em> or <em class="parameter"><code>hwaddr2_len</code></em> is -1, then the corresponding address is + assumed to be ASCII rather than binary, and will be converted to binary + before being compared. +</p> +<p> + 2. If <em class="parameter"><code>hwaddr1</code></em> or <em class="parameter"><code>hwaddr2</code></em> is <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>, it is treated instead as though it was + a zero-filled buffer <em class="parameter"><code>hwaddr1_len</code></em> or <em class="parameter"><code>hwaddr2_len</code></em> bytes long. +</p> +<p> + 3. If <em class="parameter"><code>hwaddr1</code></em> and <em class="parameter"><code>hwaddr2</code></em> are InfiniBand hardware addresses (that is, if + they are <code class="literal">INFINIBAND_ALEN</code> bytes long in binary form) + then only the last 8 bytes are compared, since those are the only bytes + that actually identify the hardware. (The other 12 bytes will change + depending on the configuration of the InfiniBand fabric that the device + is connected to.) +</p> +<p> +If a passed-in ASCII hardware address cannot be parsed, or would parse to an +address larger than <a class="link" href="libnm-nm-utils.html#NM-UTILS-HWADDR-LEN-MAX:CAPS" title="NM_UTILS_HWADDR_LEN_MAX"><code class="literal">NM_UTILS_HWADDR_LEN_MAX</code></a>, then it will silently fail to +match. (This means that externally-provided address strings do not need to be +sanity-checked before comparing them against known good addresses; they are +guaranteed to not match if they are invalid.) +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>hwaddr1</code></em> :</span></p></td> +<td>pointer to a binary or ASCII hardware address, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>hwaddr1_len</code></em> :</span></p></td> +<td>size of <em class="parameter"><code>hwaddr1</code></em>, or -1 if <em class="parameter"><code>hwaddr1</code></em> is ASCII</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>hwaddr2</code></em> :</span></p></td> +<td>pointer to a binary or ASCII hardware address, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>hwaddr2_len</code></em> :</span></p></td> +<td>size of <em class="parameter"><code>hwaddr2</code></em>, or -1 if <em class="parameter"><code>hwaddr2</code></em> is ASCII</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>hwaddr1</code></em> and <em class="parameter"><code>hwaddr2</code></em> are equivalent, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if they are +different (or either of them is invalid).</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-bin2hexstr"></a><h3>nm_utils_bin2hexstr ()</h3> +<pre class="programlisting"><span class="returnvalue">char</span> * nm_utils_bin2hexstr (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> src</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> len</code></em>, + <em class="parameter"><code><span class="type">int</span> final_len</code></em>);</pre> +<p> +Converts the byte array <em class="parameter"><code>src</code></em> into a hexadecimal string. If <em class="parameter"><code>final_len</code></em> is +greater than -1, the returned string is terminated at that index +(returned_string[final_len] == '\0'), +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td> +<td>an array of bytes. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> guint8][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=len]</span> +</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td> +<td>the length of the <em class="parameter"><code>src</code></em> array</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>final_len</code></em> :</span></p></td> +<td>an index where to cut off the returned string, or -1</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the textual form of <em class="parameter"><code>bytes</code></em>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-hexstr2bin"></a><h3>nm_utils_hexstr2bin ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Byte-Arrays.html#GBytes"><span class="returnvalue">GBytes</span></a> * nm_utils_hexstr2bin (<em class="parameter"><code>const <span class="type">char</span> *hex</code></em>);</pre> +<p> +Converts a hexadecimal string <em class="parameter"><code>hex</code></em> into an array of bytes. The optional +separator ':' may be used between single or pairs of hexadecimal characters, +eg "00:11" or "0:1". Any "0x" at the beginning of <em class="parameter"><code>hex</code></em> is ignored. <em class="parameter"><code>hex</code></em> +may not start or end with ':'. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>hex</code></em> :</span></p></td> +<td>a string of hexadecimal characters with optional ':' separators</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the converted bytes, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> on error. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-iface-valid-name"></a><h3>nm_utils_iface_valid_name ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> nm_utils_iface_valid_name (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre> +<p> +This function is a 1:1 copy of the kernel's interface validation +function in net/core/dev.c. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td> +<td>Name of interface</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if interface name is valid, otherwise <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> is returned.</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-is-uuid"></a><h3>nm_utils_is_uuid ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> nm_utils_is_uuid (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>);</pre> +<p> +Checks if <em class="parameter"><code>str</code></em> is a UUID +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td> +<td>a string that might be a UUID</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>str</code></em> is a UUID, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if not</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="NM-UTILS-INET-ADDRSTRLEN:CAPS"></a><h3>NM_UTILS_INET_ADDRSTRLEN</h3> +<pre class="programlisting">#define NM_UTILS_INET_ADDRSTRLEN INET6_ADDRSTRLEN +</pre> +<p> +Defines the minimal length for a char buffer that is suitable as <em class="parameter"><code>dst</code></em> argument +for both <a class="link" href="libnm-nm-utils.html#nm-utils-inet4-ntop" title="nm_utils_inet4_ntop ()"><code class="function">nm_utils_inet4_ntop()</code></a> and <a class="link" href="libnm-nm-utils.html#nm-utils-inet6-ntop" title="nm_utils_inet6_ntop ()"><code class="function">nm_utils_inet6_ntop()</code></a>. +</p> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-inet4-ntop"></a><h3>nm_utils_inet4_ntop ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * nm_utils_inet4_ntop (<em class="parameter"><code><span class="type">in_addr_t</span> inaddr</code></em>, + <em class="parameter"><code><span class="type">char</span> *dst</code></em>);</pre> +<p> +Wrapper for inet_ntop. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>inaddr</code></em> :</span></p></td> +<td>the address that should be converted to string.</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>dst</code></em> :</span></p></td> +<td>the destination buffer, it must contain at least +<code class="literal">INET_ADDRSTRLEN</code> or <a class="link" href="libnm-nm-utils.html#NM-UTILS-INET-ADDRSTRLEN:CAPS" title="NM_UTILS_INET_ADDRSTRLEN"><code class="literal">NM_UTILS_INET_ADDRSTRLEN</code></a> +characters. If set to <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>, it will return a pointer to an internal, static +buffer (shared with <a class="link" href="libnm-nm-utils.html#nm-utils-inet6-ntop" title="nm_utils_inet6_ntop ()"><code class="function">nm_utils_inet6_ntop()</code></a>). Beware, that the internal +buffer will be overwritten with ever new call of <a class="link" href="libnm-nm-utils.html#nm-utils-inet4-ntop" title="nm_utils_inet4_ntop ()"><code class="function">nm_utils_inet4_ntop()</code></a> or +<a class="link" href="libnm-nm-utils.html#nm-utils-inet6-ntop" title="nm_utils_inet6_ntop ()"><code class="function">nm_utils_inet6_ntop()</code></a> that does not provied it's own <em class="parameter"><code>dst</code></em> buffer. Also, +using the internal buffer is not thread safe. When in doubt, pass your own +<em class="parameter"><code>dst</code></em> buffer to avoid these issues.</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the input buffer <em class="parameter"><code>dst</code></em>, or a pointer to an +internal, static buffer. This function cannot fail.</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-inet6-ntop"></a><h3>nm_utils_inet6_ntop ()</h3> +<pre class="programlisting">const <span class="returnvalue">char</span> * nm_utils_inet6_ntop (<em class="parameter"><code>const <span class="type">struct in6_addr</span> *in6addr</code></em>, + <em class="parameter"><code><span class="type">char</span> *dst</code></em>);</pre> +<p> +Wrapper for inet_ntop. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>in6addr</code></em> :</span></p></td> +<td>the address that should be converted to string.</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>dst</code></em> :</span></p></td> +<td>the destination buffer, it must contain at least +<code class="literal">INET6_ADDRSTRLEN</code> or <a class="link" href="libnm-nm-utils.html#NM-UTILS-INET-ADDRSTRLEN:CAPS" title="NM_UTILS_INET_ADDRSTRLEN"><code class="literal">NM_UTILS_INET_ADDRSTRLEN</code></a> +characters. If set to <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>, it will return a pointer to an internal, static +buffer (shared with <a class="link" href="libnm-nm-utils.html#nm-utils-inet4-ntop" title="nm_utils_inet4_ntop ()"><code class="function">nm_utils_inet4_ntop()</code></a>). Beware, that the internal +buffer will be overwritten with ever new call of <a class="link" href="libnm-nm-utils.html#nm-utils-inet4-ntop" title="nm_utils_inet4_ntop ()"><code class="function">nm_utils_inet4_ntop()</code></a> or +<a class="link" href="libnm-nm-utils.html#nm-utils-inet6-ntop" title="nm_utils_inet6_ntop ()"><code class="function">nm_utils_inet6_ntop()</code></a> that does not provied it's own <em class="parameter"><code>dst</code></em> buffer. Also, +using the internal buffer is not thread safe. When in doubt, pass your own +<em class="parameter"><code>dst</code></em> buffer to avoid these issues.</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td>the input buffer <em class="parameter"><code>dst</code></em>, or a pointer to an +internal, static buffer. <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> is not allowed as <em class="parameter"><code>in6addr</code></em>, +otherwise, this function cannot fail.</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-ipaddr-valid"></a><h3>nm_utils_ipaddr_valid ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> nm_utils_ipaddr_valid (<em class="parameter"><code><span class="type">int</span> family</code></em>, + <em class="parameter"><code>const <span class="type">char</span> *ip</code></em>);</pre> +<p> +Checks if <em class="parameter"><code>ip</code></em> contains a valid IP address of the given family. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>family</code></em> :</span></p></td> +<td> +<code class="literal">AF_INET</code> or <code class="literal">AF_INET6</code>, or +<code class="literal">AF_UNSPEC</code> to accept either</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>ip</code></em> :</span></p></td> +<td>an IP address</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> +</td> +</tr> +</tbody> +</table></div> +</div> +<hr> +<div class="refsect2"> +<a name="nm-utils-check-virtual-device-compatibility"></a><h3>nm_utils_check_virtual_device_compatibility ()</h3> +<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> nm_utils_check_virtual_device_compatibility + (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> virtual_type</code></em>, + <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> other_type</code></em>);</pre> +<p> +Determines if a connection of type <em class="parameter"><code>virtual_type</code></em> can (in the +general case) work with connections of type <em class="parameter"><code>other_type</code></em>. +</p> +<p> +If <em class="parameter"><code>virtual_type</code></em> is <code class="literal">NM_TYPE_SETTING_VLAN</code>, then this checks if +<em class="parameter"><code>other_type</code></em> is a valid type for the parent of a VLAN. +</p> +<p> +If <em class="parameter"><code>virtual_type</code></em> is a "master" type (eg, <code class="literal">NM_TYPE_SETTING_BRIDGE</code>), +then this checks if <em class="parameter"><code>other_type</code></em> is a valid type for a slave of that +master. +</p> +<p> +Note that even if this returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> it is not guaranteed that +<span class="emphasis"><em>every</em></span> connection of type <em class="parameter"><code>other_type</code></em> is +compatible with <em class="parameter"><code>virtual_type</code></em>; it may depend on the exact +configuration of the two connections, or on the capabilities of an +underlying device driver. +</p> +<div class="variablelist"><table border="0" class="variablelist"> +<colgroup> +<col align="left" valign="top"> +<col> +</colgroup> +<tbody> +<tr> +<td><p><span class="term"><em class="parameter"><code>virtual_type</code></em> :</span></p></td> +<td>a virtual connection type</td> +</tr> +<tr> +<td><p><span class="term"><em class="parameter"><code>other_type</code></em> :</span></p></td> +<td>a connection type to test against <em class="parameter"><code>virtual_type</code></em> +</td> +</tr> +<tr> +<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> +<td> +<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> +</td> +</tr> +</tbody> +</table></div> +</div> +</div> +</div> +<div class="footer"> +<hr> + Generated by GTK-Doc V1.19</div> +</body> +</html> \ No newline at end of file |