## NMSettingMatch

NMSettingMatch — Properties to match a connection with a device.

## Functions

NMSetting * | nm_setting_match_new ()
guint | nm_setting_match_get_num_interface_names ()
const char * | nm_setting_match_get_interface_name ()
void | nm_setting_match_remove_interface_name ()
gboolean | nm_setting_match_remove_interface_name_by_value ()
void | nm_setting_match_add_interface_name ()
void | nm_setting_match_clear_interface_names ()
const char *const * | nm_setting_match_get_interface_names ()

## Types and Values

#define | NM_SETTING_MATCH_SETTING_NAME
#define | NM_SETTING_MATCH_INTERFACE_NAME

## Includes

    #include <nm-setting-match.h>

## Description

## Functions

### nm_setting_match_new ()

    NMSetting *
    nm_setting_match_new (void);

Creates a new NMSettingMatch object with default values.

#### Returns

the new empty NMSettingMatch object.

[transfer full]

Since: 1.14

### nm_setting_match_get_num_interface_names ()

    guint
    nm_setting_match_get_num_interface_names
                                   (NMSettingMatch *setting);

#### Parameters

setting | the NMSettingMatch |

#### Returns

the number of configured interface names

Since: 1.14

### nm_setting_match_get_interface_name ()

    const char *
    nm_setting_match_get_interface_name (NMSettingMatch *setting,
                                         int idx);

#### Parameters

setting | the NMSettingMatch |
idx | index number of the DNS search domain to return |

#### Returns

the interface name at index `idx`

Since: 1.14

### nm_setting_match_remove_interface_name ()

    void
    nm_setting_match_remove_interface_name
                                   (NMSettingMatch *setting,
                                    int idx);

Removes the interface name at index `idx` .

#### Parameters

setting | the NMSettingMatch |
idx | index number of the interface name |

Since: 1.14

### nm_setting_match_remove_interface_name_by_value ()

    gboolean
    nm_setting_match_remove_interface_name_by_value
                                   (NMSettingMatch *setting,
                                    const char *interface_name);

Removes `interface_name` .

#### Parameters

setting | the NMSettingMatch |
interface_name | the interface name to remove |

#### Returns

`TRUE` if the interface name was found and removed; `FALSE` if it was not.

Since: 1.14

### nm_setting_match_add_interface_name ()

    void
    nm_setting_match_add_interface_name (NMSettingMatch *setting,
                                         const char *interface_name);

Adds a new interface name to the setting.

#### Parameters

setting | the NMSettingMatch |
interface_name | the interface name to add |

Since: 1.14

### nm_setting_match_clear_interface_names ()

    void
    nm_setting_match_clear_interface_names
                                   (NMSettingMatch *setting);

Removes all configured interface names.

#### Parameters

setting | the NMSettingMatch |

Since: 1.14

### nm_setting_match_get_interface_names ()

    const char *const *
    nm_setting_match_get_interface_names (NMSettingMatch *setting,
                                          guint *length);

Returns all the interface names.

#### Parameters

setting | the NMSettingMatch |

#### Returns

the configured interface names.

[transfer none]

Since: 1.14

## Types and Values

### NM_SETTING_MATCH_SETTING_NAME

    #define NM_SETTING_MATCH_SETTING_NAME      "match"

### NM_SETTING_MATCH_INTERFACE_NAME

    #define NM_SETTING_MATCH_INTERFACE_NAME    "interface-name"