Network interfaces discovery

Network interfaces discovery — Utility functions to discover local network interfaces

Stability Level

Stable, unless otherwise indicated

Functions

Includes

#include <interfaces.h>

Description

These utility functions allow the discovery of local network interfaces in a portable manner, they also allow finding the local ip addresses or the address allocated to a network interface.

Functions

nice_interfaces_get_ip_for_interface ()

gchar *
nice_interfaces_get_ip_for_interface (gchar *interface_name);

Retrieves the IP address of an interface by its name. If this fails, NULL is returned.

Parameters

interface_name

name of local interface

 

Returns

a newly-allocated string with the IP address.

[nullable][transfer full]


nice_interfaces_get_local_interfaces ()

GList *
nice_interfaces_get_local_interfaces (void);

Get the list of local interfaces

Returns

a newly-allocated GList of strings. The caller must free it.

[element-type utf8][transfer full]


nice_interfaces_get_local_ips ()

GList *
nice_interfaces_get_local_ips (gboolean include_loopback);

Get a list of local ipv4 interface addresses

Parameters

include_loopback

Include any loopback devices

 

Returns

a newly-allocated GList of strings. The caller must free it.

[element-type utf8][transfer full]


nice_interfaces_get_if_index_by_addr ()

guint
nice_interfaces_get_if_index_by_addr (NiceAddress *addr);

Returns the interface index match the local address passed. This can by used for APIs that need a specific address.

Parameters

addr

A NiceAddress for a local interface

 

Returns

The interface index or 0 on error

Since: 0.1.20