mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-02 00:40:11 +01:00
Hide the object and class structures from public API. This is an API and ABI break, but of something that is very likely unused. This is mainly done to embed the private structure in the object itself. This has benefits for performance and debugability.
121 lines
5.1 KiB
C
121 lines
5.1 KiB
C
// SPDX-License-Identifier: LGPL-2.1+
|
|
/*
|
|
* Copyright (C) 2011 - 2015 Red Hat, Inc.
|
|
*/
|
|
|
|
#ifndef __NM_SETTING_BRIDGE_H__
|
|
#define __NM_SETTING_BRIDGE_H__
|
|
|
|
#if !defined (__NETWORKMANAGER_H_INSIDE__) && !defined (NETWORKMANAGER_COMPILATION)
|
|
#error "Only <NetworkManager.h> can be included directly."
|
|
#endif
|
|
|
|
#include "nm-setting.h"
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
#define NM_TYPE_SETTING_BRIDGE (nm_setting_bridge_get_type ())
|
|
#define NM_SETTING_BRIDGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_SETTING_BRIDGE, NMSettingBridge))
|
|
#define NM_SETTING_BRIDGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_SETTING_BRIDGE, NMSettingBridgeClass))
|
|
#define NM_IS_SETTING_BRIDGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_SETTING_BRIDGE))
|
|
#define NM_IS_SETTING_BRIDGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_SETTING_BRIDGE))
|
|
#define NM_SETTING_BRIDGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_SETTING_BRIDGE, NMSettingBridgeClass))
|
|
|
|
#define NM_SETTING_BRIDGE_SETTING_NAME "bridge"
|
|
|
|
#define NM_SETTING_BRIDGE_MAC_ADDRESS "mac-address"
|
|
#define NM_SETTING_BRIDGE_STP "stp"
|
|
#define NM_SETTING_BRIDGE_PRIORITY "priority"
|
|
#define NM_SETTING_BRIDGE_FORWARD_DELAY "forward-delay"
|
|
#define NM_SETTING_BRIDGE_HELLO_TIME "hello-time"
|
|
#define NM_SETTING_BRIDGE_MAX_AGE "max-age"
|
|
#define NM_SETTING_BRIDGE_AGEING_TIME "ageing-time"
|
|
#define NM_SETTING_BRIDGE_GROUP_FORWARD_MASK "group-forward-mask"
|
|
#define NM_SETTING_BRIDGE_MULTICAST_SNOOPING "multicast-snooping"
|
|
#define NM_SETTING_BRIDGE_VLAN_FILTERING "vlan-filtering"
|
|
#define NM_SETTING_BRIDGE_VLAN_DEFAULT_PVID "vlan-default-pvid"
|
|
#define NM_SETTING_BRIDGE_VLANS "vlans"
|
|
|
|
#define NM_BRIDGE_VLAN_VID_MIN 1
|
|
#define NM_BRIDGE_VLAN_VID_MAX 4094
|
|
|
|
typedef struct _NMSettingBridgeClass NMSettingBridgeClass;
|
|
|
|
typedef struct _NMBridgeVlan NMBridgeVlan;
|
|
|
|
GType nm_setting_bridge_get_type (void);
|
|
|
|
NMSetting * nm_setting_bridge_new (void);
|
|
|
|
const char * nm_setting_bridge_get_mac_address (NMSettingBridge *setting);
|
|
|
|
gboolean nm_setting_bridge_get_stp (NMSettingBridge *setting);
|
|
|
|
guint16 nm_setting_bridge_get_priority (NMSettingBridge *setting);
|
|
|
|
guint16 nm_setting_bridge_get_forward_delay (NMSettingBridge *setting);
|
|
|
|
guint16 nm_setting_bridge_get_hello_time (NMSettingBridge *setting);
|
|
|
|
guint16 nm_setting_bridge_get_max_age (NMSettingBridge *setting);
|
|
|
|
guint32 nm_setting_bridge_get_ageing_time (NMSettingBridge *setting);
|
|
NM_AVAILABLE_IN_1_10
|
|
guint16 nm_setting_bridge_get_group_forward_mask (NMSettingBridge *setting);
|
|
|
|
gboolean nm_setting_bridge_get_multicast_snooping (NMSettingBridge *setting);
|
|
NM_AVAILABLE_IN_1_18
|
|
gboolean nm_setting_bridge_get_vlan_filtering (NMSettingBridge *setting);
|
|
NM_AVAILABLE_IN_1_18
|
|
guint16 nm_setting_bridge_get_vlan_default_pvid (NMSettingBridge *setting);
|
|
NM_AVAILABLE_IN_1_18
|
|
void nm_setting_bridge_add_vlan (NMSettingBridge *setting,
|
|
NMBridgeVlan *vlan);
|
|
NM_AVAILABLE_IN_1_18
|
|
guint nm_setting_bridge_get_num_vlans (NMSettingBridge *setting);
|
|
NM_AVAILABLE_IN_1_18
|
|
NMBridgeVlan *nm_setting_bridge_get_vlan (NMSettingBridge *setting, guint idx);
|
|
NM_AVAILABLE_IN_1_18
|
|
void nm_setting_bridge_remove_vlan (NMSettingBridge *setting, guint idx);
|
|
NM_AVAILABLE_IN_1_18
|
|
gboolean nm_setting_bridge_remove_vlan_by_vid (NMSettingBridge *setting,
|
|
guint16 vid_start,
|
|
guint16 vid_end);
|
|
NM_AVAILABLE_IN_1_18
|
|
void nm_setting_bridge_clear_vlans (NMSettingBridge *setting);
|
|
|
|
NM_AVAILABLE_IN_1_18
|
|
GType nm_bridge_vlan_get_type (void);
|
|
NM_AVAILABLE_IN_1_18
|
|
NMBridgeVlan * nm_bridge_vlan_new (guint16 vid_start, guint16 vid_end);
|
|
NM_AVAILABLE_IN_1_18
|
|
NMBridgeVlan * nm_bridge_vlan_ref (NMBridgeVlan *vlan);
|
|
NM_AVAILABLE_IN_1_18
|
|
void nm_bridge_vlan_unref (NMBridgeVlan *vlan);
|
|
NM_AVAILABLE_IN_1_18
|
|
NMBridgeVlan * nm_bridge_vlan_new_clone (const NMBridgeVlan *vlan);
|
|
NM_AVAILABLE_IN_1_18
|
|
int nm_bridge_vlan_cmp (const NMBridgeVlan *a, const NMBridgeVlan *b);
|
|
NM_AVAILABLE_IN_1_18
|
|
void nm_bridge_vlan_seal (NMBridgeVlan *vlan);
|
|
NM_AVAILABLE_IN_1_18
|
|
gboolean nm_bridge_vlan_is_sealed (const NMBridgeVlan *vlan);
|
|
NM_AVAILABLE_IN_1_18
|
|
void nm_bridge_vlan_set_untagged (NMBridgeVlan *vlan, gboolean value);
|
|
NM_AVAILABLE_IN_1_18
|
|
void nm_bridge_vlan_set_pvid (NMBridgeVlan *vlan, gboolean value);
|
|
NM_AVAILABLE_IN_1_18
|
|
gboolean nm_bridge_vlan_get_vid_range (const NMBridgeVlan *vlan, guint16 *vid_start, guint16 *vid_end);
|
|
NM_AVAILABLE_IN_1_18
|
|
gboolean nm_bridge_vlan_is_untagged (const NMBridgeVlan *vlan);
|
|
NM_AVAILABLE_IN_1_18
|
|
gboolean nm_bridge_vlan_is_pvid (const NMBridgeVlan *vlan);
|
|
|
|
NM_AVAILABLE_IN_1_18
|
|
char * nm_bridge_vlan_to_str (const NMBridgeVlan *vlan, GError **error);
|
|
NM_AVAILABLE_IN_1_18
|
|
NMBridgeVlan * nm_bridge_vlan_from_str (const char *str, GError **error);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __NM_SETTING_BRIDGE_H__ */
|