## Network interfaces discovery Network interfaces discovery — Utility functions to discover local network interfaces |

## Stability Level

Stable, unless otherwise indicated

## Synopsis

    #include <interfaces.h>

    gchar *             nice_interfaces_get_ip_for_interface
                                                            (gchar *interface_name);
    GList *             nice_interfaces_get_local_interfaces
                                                            (void);
    GList *             nice_interfaces_get_local_ips       (gboolean include_loopback);

## 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.

## Details

### nice_interfaces_get_ip_for_interface ()

    gchar *             nice_interfaces_get_ip_for_interface
                                                            (gchar *interface_name);

Retreives the IPv4 address of an interface by its name

`interface_name` : | name of local interface
Returns : | a newly-allocated string with the IP address

### 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.

### nice_interfaces_get_local_ips ()

    GList *             nice_interfaces_get_local_ips       (gboolean include_loopback);

Get a list of local ipv4 interface addresses

`include_loopback` : | Include any loopback devices
Returns : | a newly-allocated GList of strings. The caller must free it.