## NMSettingTCConfig

NMSettingTCConfig — Describes connection properties for the Linux Traffic Control

## Functions

NMTCQdisc * | nm_tc_qdisc_new ()
void | nm_tc_qdisc_ref ()
void | nm_tc_qdisc_unref ()
gboolean | nm_tc_qdisc_equal ()
NMTCQdisc * | nm_tc_qdisc_dup ()
const char * | nm_tc_qdisc_get_kind ()
guint32 | nm_tc_qdisc_get_handle ()
void | nm_tc_qdisc_set_handle ()
guint32 | nm_tc_qdisc_get_parent ()
const char ** | nm_tc_qdisc_get_attribute_names ()
GVariant * | nm_tc_qdisc_get_attribute ()
void | nm_tc_qdisc_set_attribute ()
NMTCAction * | nm_tc_action_new ()
void | nm_tc_action_ref ()
void | nm_tc_action_unref ()
gboolean | nm_tc_action_equal ()
NMTCAction * | nm_tc_action_dup ()
const char * | nm_tc_action_get_kind ()
char ** | nm_tc_action_get_attribute_names ()
GVariant * | nm_tc_action_get_attribute ()
void | nm_tc_action_set_attribute ()
NMTCTfilter * | nm_tc_tfilter_new ()
void | nm_tc_tfilter_ref ()
void | nm_tc_tfilter_unref ()
gboolean | nm_tc_tfilter_equal ()
NMTCTfilter * | nm_tc_tfilter_dup ()
const char * | nm_tc_tfilter_get_kind ()
guint32 | nm_tc_tfilter_get_handle ()
void | nm_tc_tfilter_set_handle ()
guint32 | nm_tc_tfilter_get_parent ()
NMTCAction * | nm_tc_tfilter_get_action ()
void | nm_tc_tfilter_set_action ()
NMSetting * | nm_setting_tc_config_new ()
guint | nm_setting_tc_config_get_num_qdiscs ()
NMTCQdisc * | nm_setting_tc_config_get_qdisc ()
gboolean | nm_setting_tc_config_add_qdisc ()
void | nm_setting_tc_config_remove_qdisc ()
gboolean | nm_setting_tc_config_remove_qdisc_by_value ()
void | nm_setting_tc_config_clear_qdiscs ()
guint | nm_setting_tc_config_get_num_tfilters ()
NMTCTfilter * | nm_setting_tc_config_get_tfilter ()
gboolean | nm_setting_tc_config_add_tfilter ()
void | nm_setting_tc_config_remove_tfilter ()
gboolean | nm_setting_tc_config_remove_tfilter_by_value ()
void | nm_setting_tc_config_clear_tfilters ()

## Types and Values

#define | NM_SETTING_TC_CONFIG_SETTING_NAME
#define | NM_SETTING_TC_CONFIG_QDISCS
#define | NM_SETTING_TC_CONFIG_TFILTERS

## Object Hierarchy

        GBoxed
        ├── NMTCAction
        ├── NMTCQdisc
        ╰── NMTCTfilter

## Includes

    #include <nm-setting-tc-config.h>

## Description

## Functions

### nm_tc_qdisc_new ()

    NMTCQdisc *
    nm_tc_qdisc_new (const char *kind,
                     guint32 parent,
                     GError **error);

Creates a new NMTCQdisc object.

#### Parameters

kind | name of the queueing discipline |
parent | the parent queueing discipline |
error | location to store error, or `NULL` |

#### Returns

the new NMTCQdisc object, or `NULL` on error.

[transfer full]

Since: 1.12

### nm_tc_qdisc_ref ()

    void
    nm_tc_qdisc_ref (NMTCQdisc *qdisc);

Increases the reference count of the object.

#### Parameters

qdisc | the NMTCQdisc |

Since: 1.12

### nm_tc_qdisc_unref ()

    void
    nm_tc_qdisc_unref (NMTCQdisc *qdisc);

Decreases the reference count of the object. If the reference count reaches zero, the object will be destroyed.

#### Parameters

qdisc | the NMTCQdisc |

Since: 1.12

### nm_tc_qdisc_equal ()

    gboolean
    nm_tc_qdisc_equal (NMTCQdisc *qdisc,
                       NMTCQdisc *other);

Determines if two NMTCQdisc objects contain the same kind, * handle and parent.

#### Parameters

qdisc | the NMTCQdisc |
other | the NMTCQdisc to compare `qdisc` to. |

#### Returns

`TRUE` if the objects contain the same values, `FALSE` if they do not.

Since: 1.12

### nm_tc_qdisc_dup ()

    NMTCQdisc *
    nm_tc_qdisc_dup (NMTCQdisc *qdisc);

Creates a copy of `qdisc`

#### Parameters

qdisc | the NMTCQdisc |

#### Returns

a copy of `qdisc` .

[transfer full]

Since: 1.12

### nm_tc_qdisc_get_kind ()

    const char *
    nm_tc_qdisc_get_kind (NMTCQdisc *qdisc);

#### Parameters

qdisc | the NMTCQdisc |

Since: 1.12

### nm_tc_qdisc_get_handle ()

    guint32
    nm_tc_qdisc_get_handle (NMTCQdisc *qdisc);

#### Parameters

qdisc | the NMTCQdisc |

#### Returns

the queueing discipline handle

Since: 1.12

### nm_tc_qdisc_set_handle ()

    void
    nm_tc_qdisc_set_handle (NMTCQdisc *qdisc,
                            guint32 handle);

Sets the queueing discipline handle.

#### Parameters

qdisc | the NMTCQdisc |
handle | the queueing discipline handle |

Since: 1.12

### nm_tc_qdisc_get_parent ()

    guint32
    nm_tc_qdisc_get_parent (NMTCQdisc *qdisc);

#### Parameters

qdisc | the NMTCQdisc |

#### Returns

the parent class

Since: 1.12

### nm_tc_qdisc_get_attribute_names ()

    const char **
    nm_tc_qdisc_get_attribute_names (NMTCQdisc *qdisc);

Gets an array of attribute names defined on `qdisc` .

#### Parameters

qdisc | the NMTCQdisc |

#### Returns

a `NULL`-terminated array of attribute names or `NULL` if no attributes are set.

[transfer container]

Since: 1.18

### nm_tc_qdisc_get_attribute ()

    GVariant *
    nm_tc_qdisc_get_attribute (NMTCQdisc *qdisc,
                               const char *name);

Gets the value of the attribute with name `name` on `qdisc`

#### Parameters

qdisc | the NMTCQdisc |
name | the name of an qdisc attribute |

#### Returns

the value of the attribute with name `name` on `qdisc` , or `NULL` if `qdisc` has no such attribute.

[transfer none]

Since: 1.18

### nm_tc_qdisc_set_attribute ()

    void
    nm_tc_qdisc_set_attribute (NMTCQdisc *qdisc,
                               const char *name,
                               GVariant *value);

Sets or clears the named attribute on `qdisc` to the given value.

#### Parameters

qdisc | the NMTCQdisc |
name | the name of an qdisc attribute |
value | the value. | [transfer none][nullable]

Since: 1.18

### nm_tc_action_new ()

    NMTCAction *
    nm_tc_action_new (const char *kind,
                      GError **error);

Creates a new NMTCAction object.

#### Parameters

kind | name of the queueing discipline |
error | location to store error, or `NULL` |

#### Returns

the new NMTCAction object, or `NULL` on error.

[transfer full]

Since: 1.12

### nm_tc_action_ref ()

    void
    nm_tc_action_ref (NMTCAction *action);

Increases the reference count of the object.

#### Parameters

action | the NMTCAction |

Since: 1.12

### nm_tc_action_unref ()

    void
    nm_tc_action_unref (NMTCAction *action);

Decreases the reference count of the object. If the reference count reaches zero, the object will be destroyed.

#### Parameters

action | the NMTCAction |

Since: 1.12

### nm_tc_action_equal ()

    gboolean
    nm_tc_action_equal (NMTCAction *action,
                        NMTCAction *other);

Determines if two NMTCAction objects contain the same kind, family, handle, parent and info.

#### Parameters

action | the NMTCAction |
other | the NMTCAction to compare `action` to. |

#### Returns

`TRUE` if the objects contain the same values, `FALSE` if they do not.

Since: 1.12

### nm_tc_action_dup ()

    NMTCAction *
    nm_tc_action_dup (NMTCAction *action);

Creates a copy of `action`

#### Parameters

action | the NMTCAction |

#### Returns

a copy of `action` .

[transfer full]

Since: 1.12

### nm_tc_action_get_kind ()

    const char *
    nm_tc_action_get_kind (NMTCAction *action);

#### Parameters

action | the NMTCAction |

Since: 1.12

### nm_tc_action_get_attribute_names ()

    char **
    nm_tc_action_get_attribute_names (NMTCAction *action);

Gets an array of attribute names defined on `action` .

#### Parameters

action | the NMTCAction |

#### Returns

a `NULL`-terminated array of attribute names,.

[transfer full]

Since: 1.12

### nm_tc_action_get_attribute ()

    GVariant *
    nm_tc_action_get_attribute (NMTCAction *action,
                                const char *name);

Gets the value of the attribute with name `name` on `action`

#### Parameters

action | the NMTCAction |
name | the name of an action attribute |

#### Returns

the value of the attribute with name `name` on `action` , or `NULL` if `action` has no such attribute.

[transfer none]

Since: 1.12

### nm_tc_action_set_attribute ()

    void
    nm_tc_action_set_attribute (NMTCAction *action,
                                const char *name,
                                GVariant *value);

Sets or clears the named attribute on `action` to the given value.

#### Parameters

action | the NMTCAction |
name | the name of an action attribute |
value | the value. | [transfer none][nullable]

Since: 1.12

### nm_tc_tfilter_new ()

    NMTCTfilter *
    nm_tc_tfilter_new (const char *kind,
                       guint32 parent,
                       GError **error);

Creates a new NMTCTfilter object.

#### Parameters

kind | name of the queueing discipline |
parent | the parent queueing discipline |
error | location to store error, or `NULL` |

#### Returns

the new NMTCTfilter object, or `NULL` on error.

[transfer full]

Since: 1.12

### nm_tc_tfilter_ref ()

    void
    nm_tc_tfilter_ref (NMTCTfilter *tfilter);

Increases the reference count of the object.

#### Parameters

tfilter | the NMTCTfilter |

Since: 1.12

### nm_tc_tfilter_unref ()

    void
    nm_tc_tfilter_unref (NMTCTfilter *tfilter);

Decreases the reference count of the object. If the reference count reaches zero, the object will be destroyed.

#### Parameters

tfilter | the NMTCTfilter |

Since: 1.12

### nm_tc_tfilter_equal ()

    gboolean
    nm_tc_tfilter_equal (NMTCTfilter *tfilter,
                         NMTCTfilter *other);

Determines if two NMTCTfilter objects contain the same kind, family, handle, parent and info.

#### Parameters

tfilter | the NMTCTfilter |
other | the NMTCTfilter to compare `tfilter` to. |

#### Returns

`TRUE` if the objects contain the same values, `FALSE` if they do not.

Since: 1.12

### nm_tc_tfilter_dup ()

    NMTCTfilter *
    nm_tc_tfilter_dup (NMTCTfilter *tfilter);

Creates a copy of `tfilter`

#### Parameters

tfilter | the NMTCTfilter |

#### Returns

a copy of `tfilter` .

[transfer full]

Since: 1.12

### nm_tc_tfilter_get_kind ()

    const char *
    nm_tc_tfilter_get_kind (NMTCTfilter *tfilter);

#### Parameters

tfilter | the NMTCTfilter |

Since: 1.12

### nm_tc_tfilter_get_handle ()

    guint32
    nm_tc_tfilter_get_handle (NMTCTfilter *tfilter);

#### Parameters

tfilter | the NMTCTfilter |

#### Returns

the queueing discipline handle

Since: 1.12

### nm_tc_tfilter_set_handle ()

    void
    nm_tc_tfilter_set_handle (NMTCTfilter *tfilter,
                              guint32 handle);

Sets the queueing discipline handle.

#### Parameters

tfilter | the NMTCTfilter |
handle | the queueing discipline handle |

Since: 1.12

### nm_tc_tfilter_get_parent ()

    guint32
    nm_tc_tfilter_get_parent (NMTCTfilter *tfilter);

#### Parameters

tfilter | the NMTCTfilter |

#### Returns

the parent class

Since: 1.12

### nm_tc_tfilter_get_action ()

    NMTCAction *
    nm_tc_tfilter_get_action (NMTCTfilter *tfilter);

#### Parameters

tfilter | the NMTCTfilter |

#### Returns

the action associated with a traffic filter.

Since: 1.42

### nm_tc_tfilter_set_action ()

    void
    nm_tc_tfilter_set_action (NMTCTfilter *tfilter,
                              NMTCAction *action);

Sets the action associated with a traffic filter.

#### Parameters

tfilter | the NMTCTfilter |
action | the action object |

Since: 1.42

### nm_setting_tc_config_new ()

    NMSetting *
    nm_setting_tc_config_new (void);

Creates a new NMSettingTCConfig object with default values.

#### Returns

the new empty NMSettingTCConfig object.

[transfer full]

Since: 1.12

### nm_setting_tc_config_get_num_qdiscs ()

    guint
    nm_setting_tc_config_get_num_qdiscs (NMSettingTCConfig *setting);

#### Parameters

setting | the NMSettingTCConfig |

#### Returns

the number of configured queueing disciplines

Since: 1.12

### nm_setting_tc_config_get_qdisc ()

    NMTCQdisc *
    nm_setting_tc_config_get_qdisc (NMSettingTCConfig *setting,
                                    guint idx);

#### Parameters

setting | the NMSettingTCConfig |
idx | index number of the qdisc to return |

#### Returns

the qdisc at index `idx` .

[transfer none]

Since: 1.12

### nm_setting_tc_config_add_qdisc ()

    gboolean
    nm_setting_tc_config_add_qdisc (NMSettingTCConfig *setting,
                                    NMTCQdisc *qdisc);

Appends a new qdisc and associated information to the setting. The given qdisc is duplicated internally and is not changed by this function. If an identical qdisc (considering attributes as well) already exists, the qdisc is not added and the function returns `FALSE`.

#### Parameters

setting | the NMSettingTCConfig |
qdisc | the qdisc to add |

#### Returns

`TRUE` if the qdisc was added; `FALSE` if the qdisc was already known.

Since: 1.12

### nm_setting_tc_config_remove_qdisc ()

    void
    nm_setting_tc_config_remove_qdisc (NMSettingTCConfig *setting,
                                       guint idx);

Removes the qdisc at index `idx` .

#### Parameters

setting | the NMSettingTCConfig |
idx | index number of the qdisc |

Since: 1.12

### nm_setting_tc_config_remove_qdisc_by_value ()

    gboolean
    nm_setting_tc_config_remove_qdisc_by_value
                                   (NMSettingTCConfig *setting,
                                    NMTCQdisc *qdisc);

Removes the first matching qdisc that matches `qdisc` .

#### Parameters

setting | the NMSettingTCConfig |
qdisc | the qdisc to remove |

#### Returns

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

Since: 1.12

### nm_setting_tc_config_clear_qdiscs ()

    void
    nm_setting_tc_config_clear_qdiscs (NMSettingTCConfig *setting);

Removes all configured queueing disciplines.

#### Parameters

setting | the NMSettingTCConfig |

Since: 1.12

### nm_setting_tc_config_get_num_tfilters ()

    guint
    nm_setting_tc_config_get_num_tfilters (NMSettingTCConfig *setting);

#### Parameters

setting | the NMSettingTCConfig |

#### Returns

the number of configured queueing disciplines

Since: 1.12

### nm_setting_tc_config_get_tfilter ()

    NMTCTfilter *
    nm_setting_tc_config_get_tfilter (NMSettingTCConfig *setting,
                                      guint idx);

#### Parameters

setting | the NMSettingTCConfig |
idx | index number of the tfilter to return |

#### Returns

the tfilter at index `idx` .

[transfer none]

Since: 1.12

### nm_setting_tc_config_add_tfilter ()

    gboolean
    nm_setting_tc_config_add_tfilter (NMSettingTCConfig *setting,
                                      NMTCTfilter *tfilter);

Appends a new tfilter and associated information to the setting. The given tfilter is duplicated internally and is not changed by this function. If an identical tfilter (considering attributes as well) already exists, the tfilter is not added and the function returns `FALSE`.

#### Parameters

setting | the NMSettingTCConfig |
tfilter | the tfilter to add |

#### Returns

`TRUE` if the tfilter was added; `FALSE` if the tfilter was already known.

Since: 1.12

### nm_setting_tc_config_remove_tfilter ()

    void
    nm_setting_tc_config_remove_tfilter (NMSettingTCConfig *setting,
                                         guint idx);

Removes the tfilter at index `idx` .

#### Parameters

setting | the NMSettingTCConfig |
idx | index number of the tfilter |

Since: 1.12

### nm_setting_tc_config_remove_tfilter_by_value ()

    gboolean
    nm_setting_tc_config_remove_tfilter_by_value
                                   (NMSettingTCConfig *setting,
                                    NMTCTfilter *tfilter);

Removes the first matching tfilter that matches `tfilter` .

#### Parameters

setting | the NMSettingTCConfig |
tfilter | the tfilter to remove |

#### Returns

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

Since: 1.12

### nm_setting_tc_config_clear_tfilters ()

    void
    nm_setting_tc_config_clear_tfilters (NMSettingTCConfig *setting);

Removes all configured queueing disciplines.

#### Parameters

setting | the NMSettingTCConfig |

Since: 1.12

## Types and Values

### NM_SETTING_TC_CONFIG_SETTING_NAME

    #define NM_SETTING_TC_CONFIG_SETTING_NAME "tc"

### NM_SETTING_TC_CONFIG_QDISCS

    #define NM_SETTING_TC_CONFIG_QDISCS   "qdiscs"

### NM_SETTING_TC_CONFIG_TFILTERS

    #define NM_SETTING_TC_CONFIG_TFILTERS "tfilters"