## 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 ()
guint | nm_setting_match_get_num_kernel_command_lines ()
const char * | nm_setting_match_get_kernel_command_line ()
void | nm_setting_match_remove_kernel_command_line ()
gboolean | nm_setting_match_remove_kernel_command_line_by_value ()
void | nm_setting_match_add_kernel_command_line ()
void | nm_setting_match_clear_kernel_command_lines ()
const char *const * | nm_setting_match_get_kernel_command_lines ()
guint | nm_setting_match_get_num_drivers ()
const char * | nm_setting_match_get_driver ()
void | nm_setting_match_remove_driver ()
gboolean | nm_setting_match_remove_driver_by_value ()
void | nm_setting_match_add_driver ()
void | nm_setting_match_clear_drivers ()
const char *const * | nm_setting_match_get_drivers ()
guint | nm_setting_match_get_num_paths ()
const char * | nm_setting_match_get_path ()
void | nm_setting_match_remove_path ()
gboolean | nm_setting_match_remove_path_by_value ()
void | nm_setting_match_add_path ()
void | nm_setting_match_clear_paths ()
const char *const * | nm_setting_match_get_paths ()

## Types and Values

#define | NM_SETTING_MATCH_SETTING_NAME
#define | NM_SETTING_MATCH_INTERFACE_NAME
#define | NM_SETTING_MATCH_KERNEL_COMMAND_LINE
#define | NM_SETTING_MATCH_DRIVER
#define | NM_SETTING_MATCH_PATH

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

Note that this function was present in header files since version 1.14. But due to a bug the symbol is only exposed and usable since version 1.32. As workaround, use g_object_new(NM_TYPE_SETTING_MATCH) which works with all versions since 1.14.

[transfer full]

Since: 1.32

### 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);

Since 1.46, access at index "len" is allowed and returns NULL.

#### 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 |
length | the length of the returned interface names array. | [out][optional]

#### Returns

the NULL terminated list of configured interface names.

Before 1.26, the returned array was not `NULL` terminated and you MUST provide a length.

[transfer none][array length=length]

Since: 1.14

### nm_setting_match_get_num_kernel_command_lines ()

    guint
    nm_setting_match_get_num_kernel_command_lines
                                   (NMSettingMatch *setting);

#### Parameters

setting | the NMSettingMatch |

#### Returns

the number of configured kernel command line arguments

Since: 1.26

### nm_setting_match_get_kernel_command_line ()

    const char *
    nm_setting_match_get_kernel_command_line
                                   (NMSettingMatch *setting,
                                    guint idx);

Since 1.46, access at index "len" is allowed and returns NULL.

#### Parameters

setting | the NMSettingMatch |
idx | index number of the kernel command line argument to return |

#### Returns

the kernel command line argument at index `idx`

Since: 1.26

### nm_setting_match_remove_kernel_command_line ()

    void
    nm_setting_match_remove_kernel_command_line
                                   (NMSettingMatch *setting,
                                    guint idx);

Removes the kernel command line argument at index `idx` .

#### Parameters

setting | the NMSettingMatch |
idx | index number of the kernel command line argument |

Since: 1.26

### nm_setting_match_remove_kernel_command_line_by_value ()

    gboolean
    nm_setting_match_remove_kernel_command_line_by_value
                                   (NMSettingMatch *setting,
                                    const char *kernel_command_line);

Removes `kernel_command_line` .

#### Parameters

setting | the NMSettingMatch |
kernel_command_line | the kernel command line argument name to remove |

#### Returns

`TRUE` if the kernel command line argument was found and removed; `FALSE` if it was not.

Since: 1.26

### nm_setting_match_add_kernel_command_line ()

    void
    nm_setting_match_add_kernel_command_line
                                   (NMSettingMatch *setting,
                                    const char *kernel_command_line);

Adds a new kernel command line argument to the setting.

#### Parameters

setting | the NMSettingMatch |
kernel_command_line | the kernel command line argument to add |

Since: 1.26

### nm_setting_match_clear_kernel_command_lines ()

    void
    nm_setting_match_clear_kernel_command_lines
                                   (NMSettingMatch *setting);

Removes all configured kernel command line arguments.

#### Parameters

setting | the NMSettingMatch |

Since: 1.26

### nm_setting_match_get_kernel_command_lines ()

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

Returns all the interface names.

#### Parameters

setting | the NMSettingMatch |
length | the length of the returned interface names array. | [out][optional]

#### Returns

the configured interface names.

[transfer none][array length=length]

Since: 1.26

### nm_setting_match_get_num_drivers ()

    guint
    nm_setting_match_get_num_drivers (NMSettingMatch *setting);

#### Parameters

setting | the NMSettingMatch |

#### Returns

the number of configured drivers

Since: 1.26

### nm_setting_match_get_driver ()

    const char *
    nm_setting_match_get_driver (NMSettingMatch *setting,
                                 guint idx);

Since 1.46, access at index "len" is allowed and returns NULL.

#### Parameters

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

#### Returns

the driver at index `idx`

Since: 1.26

### nm_setting_match_remove_driver ()

    void
    nm_setting_match_remove_driver (NMSettingMatch *setting,
                                    guint idx);

Removes the driver at index `idx` .

#### Parameters

setting | the NMSettingMatch |
idx | index number of the driver |

Since: 1.26

### nm_setting_match_remove_driver_by_value ()

    gboolean
    nm_setting_match_remove_driver_by_value
                                   (NMSettingMatch *setting,
                                    const char *driver);

Removes `driver` .

#### Parameters

setting | the NMSettingMatch |
driver | the driver to remove |

#### Returns

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

Since: 1.26

### nm_setting_match_add_driver ()

    void
    nm_setting_match_add_driver (NMSettingMatch *setting,
                                 const char *driver);

Adds a new driver to the setting.

#### Parameters

setting | the NMSettingMatch |
driver | the driver to add |

Since: 1.26

### nm_setting_match_clear_drivers ()

    void
    nm_setting_match_clear_drivers (NMSettingMatch *setting);

Removes all configured drivers.

#### Parameters

setting | the NMSettingMatch |

Since: 1.26

### nm_setting_match_get_drivers ()

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

Returns all the drivers.

#### Parameters

setting | the NMSettingMatch |
length | the length of the returned interface names array. | [out][optional]

#### Returns

the configured drivers.

[transfer none][array length=length]

Since: 1.26

### nm_setting_match_get_num_paths ()

    guint
    nm_setting_match_get_num_paths (NMSettingMatch *setting);

#### Parameters

setting | the NMSettingMatch |

#### Returns

the number of configured paths

Since: 1.26

### nm_setting_match_get_path ()

    const char *
    nm_setting_match_get_path (NMSettingMatch *setting,
                               guint idx);

Since 1.46, access at index "len" is allowed and returns NULL.

#### Parameters

setting | the NMSettingMatch |
idx | index number of the path to return |

#### Returns

the path at index `idx`

Since: 1.26

### nm_setting_match_remove_path ()

    void
    nm_setting_match_remove_path (NMSettingMatch *setting,
                                  guint idx);

Removes the path at index `idx` .

#### Parameters

setting | the NMSettingMatch |
idx | index number of the path |

Since: 1.26

### nm_setting_match_remove_path_by_value ()

    gboolean
    nm_setting_match_remove_path_by_value (NMSettingMatch *setting,
                                           const char *path);

Removes `path` .

#### Parameters

setting | the NMSettingMatch |
path | the path to remove |

#### Returns

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

Since: 1.26

### nm_setting_match_add_path ()

    void
    nm_setting_match_add_path (NMSettingMatch *setting,
                               const char *path);

Adds a new path to the setting.

#### Parameters

setting | the NMSettingMatch |
path | the path to add |

Since: 1.26

### nm_setting_match_clear_paths ()

    void
    nm_setting_match_clear_paths (NMSettingMatch *setting);

Removes all configured paths.

#### Parameters

setting | the NMSettingMatch |

Since: 1.26

### nm_setting_match_get_paths ()

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

Returns all the paths.

#### Parameters

setting | the NMSettingMatch |
length | the length of the returned paths array. | [out][optional]

#### Returns

the configured paths.

[transfer none][array length=length]

Since: 1.26

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

### NM_SETTING_MATCH_KERNEL_COMMAND_LINE

    #define NM_SETTING_MATCH_KERNEL_COMMAND_LINE "kernel-command-line"

### NM_SETTING_MATCH_DRIVER

    #define NM_SETTING_MATCH_DRIVER              "driver"

### NM_SETTING_MATCH_PATH

    #define NM_SETTING_MATCH_PATH                "path"