Blame src/libnm-core-public/nm-setting-wireless.h

Packit Service dff8e4
/* SPDX-License-Identifier: LGPL-2.1-or-later */
Packit Service dff8e4
/*
Packit Service dff8e4
 * Copyright (C) 2007 - 2014 Red Hat, Inc.
Packit Service dff8e4
 * Copyright (C) 2007 - 2008 Novell, Inc.
Packit Service dff8e4
 */
Packit Service dff8e4
Packit Service dff8e4
#ifndef __NM_SETTING_WIRELESS_H__
Packit Service dff8e4
#define __NM_SETTING_WIRELESS_H__
Packit Service dff8e4
Packit Service dff8e4
#if !defined(__NETWORKMANAGER_H_INSIDE__) && !defined(NETWORKMANAGER_COMPILATION)
Packit Service dff8e4
    #error "Only <NetworkManager.h> can be included directly."
Packit Service dff8e4
#endif
Packit Service dff8e4
Packit Service dff8e4
#include "nm-setting.h"
Packit Service dff8e4
#include "nm-setting-wireless-security.h"
Packit Service dff8e4
Packit Service dff8e4
G_BEGIN_DECLS
Packit Service dff8e4
Packit Service dff8e4
#define NM_TYPE_SETTING_WIRELESS (nm_setting_wireless_get_type())
Packit Service dff8e4
#define NM_SETTING_WIRELESS(obj) \
Packit Service dff8e4
    (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_SETTING_WIRELESS, NMSettingWireless))
Packit Service dff8e4
#define NM_SETTING_WIRELESS_CLASS(klass) \
Packit Service dff8e4
    (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_SETTING_WIRELESS, NMSettingWirelessClass))
Packit Service dff8e4
#define NM_IS_SETTING_WIRELESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_SETTING_WIRELESS))
Packit Service dff8e4
#define NM_IS_SETTING_WIRELESS_CLASS(klass) \
Packit Service dff8e4
    (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_SETTING_WIRELESS))
Packit Service dff8e4
#define NM_SETTING_WIRELESS_GET_CLASS(obj) \
Packit Service dff8e4
    (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_SETTING_WIRELESS, NMSettingWirelessClass))
Packit Service dff8e4
Packit Service dff8e4
#define NM_SETTING_WIRELESS_SETTING_NAME "802-11-wireless"
Packit Service dff8e4
Packit Service dff8e4
/**
Packit Service dff8e4
 * NMSettingWirelessWakeOnWLan:
Packit Service dff8e4
 * @NM_SETTING_WIRELESS_WAKE_ON_WLAN_NONE: Wake-on-WLAN disabled
Packit Service dff8e4
 * @NM_SETTING_WIRELESS_WAKE_ON_WLAN_ANY: Wake on any activity
Packit Service dff8e4
 * @NM_SETTING_WIRELESS_WAKE_ON_WLAN_DISCONNECT: Wake on disconnect
Packit Service dff8e4
 * @NM_SETTING_WIRELESS_WAKE_ON_WLAN_MAGIC: Wake on magic packet
Packit Service dff8e4
 * @NM_SETTING_WIRELESS_WAKE_ON_WLAN_GTK_REKEY_FAILURE: Wake on GTK rekey failure
Packit Service dff8e4
 * @NM_SETTING_WIRELESS_WAKE_ON_WLAN_EAP_IDENTITY_REQUEST: Wake on EAP identity request
Packit Service dff8e4
 * @NM_SETTING_WIRELESS_WAKE_ON_WLAN_4WAY_HANDSHAKE: Wake on 4way handshake
Packit Service dff8e4
 * @NM_SETTING_WIRELESS_WAKE_ON_WLAN_RFKILL_RELEASE: Wake on rfkill release
Packit Service dff8e4
 * @NM_SETTING_WIRELESS_WAKE_ON_WLAN_ALL: Wake on all events. This does not
Packit Service dff8e4
 *   include the exclusive flags @NM_SETTING_WIRELESS_WAKE_ON_WLAN_DEFAULT or
Packit Service dff8e4
 *   @NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE.
Packit Service dff8e4
 * @NM_SETTING_WIRELESS_WAKE_ON_WLAN_DEFAULT: Use the default value
Packit Service dff8e4
 * @NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE: Don't change configured settings
Packit Service dff8e4
 * @NM_SETTING_WIRELESS_WAKE_ON_WLAN_EXCLUSIVE_FLAGS: Mask of flags that are
Packit Service dff8e4
 *   incompatible with other flags
Packit Service dff8e4
 *
Packit Service dff8e4
 * Options for #NMSettingWireless:wake-on-wlan. Note that not all options
Packit Service dff8e4
 * are supported by all devices.
Packit Service dff8e4
 *
Packit Service dff8e4
 * Since: 1.12
Packit Service dff8e4
 */
Packit Service dff8e4
/* clang-format off */
Packit Service dff8e4
typedef enum {                                                            /*< flags >*/
Packit Service dff8e4
    NM_SETTING_WIRELESS_WAKE_ON_WLAN_NONE                 = 0, /*< skip >*/
Packit Service dff8e4
    NM_SETTING_WIRELESS_WAKE_ON_WLAN_ANY                  = 0x2,
Packit Service dff8e4
    NM_SETTING_WIRELESS_WAKE_ON_WLAN_DISCONNECT           = 0x4,
Packit Service dff8e4
    NM_SETTING_WIRELESS_WAKE_ON_WLAN_MAGIC                = 0x8,
Packit Service dff8e4
    NM_SETTING_WIRELESS_WAKE_ON_WLAN_GTK_REKEY_FAILURE    = 0x10,
Packit Service dff8e4
    NM_SETTING_WIRELESS_WAKE_ON_WLAN_EAP_IDENTITY_REQUEST = 0x20,
Packit Service dff8e4
    NM_SETTING_WIRELESS_WAKE_ON_WLAN_4WAY_HANDSHAKE       = 0x40,
Packit Service dff8e4
    NM_SETTING_WIRELESS_WAKE_ON_WLAN_RFKILL_RELEASE       = 0x80,
Packit Service dff8e4
    NM_SETTING_WIRELESS_WAKE_ON_WLAN_TCP                  = 0x100,
Packit Service dff8e4
Packit Service dff8e4
    NM_SETTING_WIRELESS_WAKE_ON_WLAN_ALL = 0x1FE,
Packit Service dff8e4
Packit Service dff8e4
    NM_SETTING_WIRELESS_WAKE_ON_WLAN_DEFAULT = 0x1,
Packit Service dff8e4
    NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE  = 0x8000,
Packit Service dff8e4
Packit Service dff8e4
    NM_SETTING_WIRELESS_WAKE_ON_WLAN_EXCLUSIVE_FLAGS = NM_SETTING_WIRELESS_WAKE_ON_WLAN_DEFAULT | NM_SETTING_WIRELESS_WAKE_ON_WLAN_IGNORE, /*< skip >*/
Packit Service dff8e4
} NMSettingWirelessWakeOnWLan;
Packit Service dff8e4
/* clang-format on */
Packit Service dff8e4
Packit Service dff8e4
#define NM_SETTING_WIRELESS_SSID                      "ssid"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_MODE                      "mode"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_BAND                      "band"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_CHANNEL                   "channel"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_BSSID                     "bssid"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_RATE                      "rate"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_TX_POWER                  "tx-power"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_MAC_ADDRESS               "mac-address"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_CLONED_MAC_ADDRESS        "cloned-mac-address"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_GENERATE_MAC_ADDRESS_MASK "generate-mac-address-mask"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST     "mac-address-blacklist"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_MTU                       "mtu"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_SEEN_BSSIDS               "seen-bssids"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_HIDDEN                    "hidden"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_POWERSAVE                 "powersave"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_MAC_ADDRESS_RANDOMIZATION "mac-address-randomization"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_WAKE_ON_WLAN              "wake-on-wlan"
Packit Service dff8e4
#define NM_SETTING_WIRELESS_AP_ISOLATION              "ap-isolation"
Packit Service dff8e4
Packit Service dff8e4
/**
Packit Service dff8e4
 * NM_SETTING_WIRELESS_MODE_ADHOC:
Packit Service dff8e4
 *
Packit Service dff8e4
 * Indicates Ad-Hoc mode where no access point is expected to be present.
Packit Service dff8e4
 */
Packit Service dff8e4
#define NM_SETTING_WIRELESS_MODE_ADHOC "adhoc"
Packit Service dff8e4
Packit Service dff8e4
/**
Packit Service dff8e4
 * NM_SETTING_WIRELESS_MODE_AP:
Packit Service dff8e4
 *
Packit Service dff8e4
 * Indicates AP/master mode where the wireless device is started as an access
Packit Service dff8e4
 * point/hotspot.
Packit Service dff8e4
 */
Packit Service dff8e4
#define NM_SETTING_WIRELESS_MODE_AP "ap"
Packit Service dff8e4
Packit Service dff8e4
/**
Packit Service dff8e4
 * NM_SETTING_WIRELESS_MODE_INFRA:
Packit Service dff8e4
 *
Packit Service dff8e4
 * Indicates infrastructure mode where an access point is expected to be present
Packit Service dff8e4
 * for this connection.
Packit Service dff8e4
 */
Packit Service dff8e4
#define NM_SETTING_WIRELESS_MODE_INFRA "infrastructure"
Packit Service dff8e4
Packit Service dff8e4
/**
Packit Service dff8e4
 * NM_SETTING_WIRELESS_MODE_MESH:
Packit Service dff8e4
 *
Packit Service dff8e4
 * Indicates that the connection should create a mesh point.
Packit Service dff8e4
 *
Packit Service dff8e4
 * Since: 1.20
Packit Service dff8e4
 */
Packit Service dff8e4
#define NM_SETTING_WIRELESS_MODE_MESH "mesh"
Packit Service dff8e4
Packit Service dff8e4
/**
Packit Service dff8e4
 * NMSettingWirelessPowersave:
Packit Service dff8e4
 * @NM_SETTING_WIRELESS_POWERSAVE_DEFAULT: use the default value
Packit Service dff8e4
 * @NM_SETTING_WIRELESS_POWERSAVE_IGNORE: don't touch existing setting
Packit Service dff8e4
 * @NM_SETTING_WIRELESS_POWERSAVE_DISABLE: disable powersave
Packit Service dff8e4
 * @NM_SETTING_WIRELESS_POWERSAVE_ENABLE: enable powersave
Packit Service dff8e4
 *
Packit Service dff8e4
 * These flags indicate whether wireless powersave must be enabled.
Packit Service dff8e4
 **/
Packit Service dff8e4
typedef enum {
Packit Service dff8e4
    NM_SETTING_WIRELESS_POWERSAVE_DEFAULT = 0,
Packit Service dff8e4
    NM_SETTING_WIRELESS_POWERSAVE_IGNORE  = 1,
Packit Service dff8e4
    NM_SETTING_WIRELESS_POWERSAVE_DISABLE = 2,
Packit Service dff8e4
    NM_SETTING_WIRELESS_POWERSAVE_ENABLE  = 3,
Packit Service dff8e4
    _NM_SETTING_WIRELESS_POWERSAVE_NUM,                                          /*< skip >*/
Packit Service dff8e4
    NM_SETTING_WIRELESS_POWERSAVE_LAST = _NM_SETTING_WIRELESS_POWERSAVE_NUM - 1, /*< skip >*/
Packit Service dff8e4
} NMSettingWirelessPowersave;
Packit Service dff8e4
Packit Service dff8e4
/**
Packit Service dff8e4
 * NMSettingWireless:
Packit Service dff8e4
 *
Packit Service dff8e4
 * Wi-Fi Settings
Packit Service dff8e4
 */
Packit Service dff8e4
struct _NMSettingWireless {
Packit Service dff8e4
    NMSetting parent;
Packit Service dff8e4
};
Packit Service dff8e4
Packit Service dff8e4
typedef struct {
Packit Service dff8e4
    NMSettingClass parent;
Packit Service dff8e4
Packit Service dff8e4
    /*< private >*/
Packit Service dff8e4
    gpointer padding[4];
Packit Service dff8e4
} NMSettingWirelessClass;
Packit Service dff8e4
Packit Service dff8e4
GType nm_setting_wireless_get_type(void);
Packit Service dff8e4
Packit Service dff8e4
NMSetting *nm_setting_wireless_new(void);
Packit Service dff8e4
Packit Service dff8e4
GBytes *    nm_setting_wireless_get_ssid(NMSettingWireless *setting);
Packit Service dff8e4
const char *nm_setting_wireless_get_mode(NMSettingWireless *setting);
Packit Service dff8e4
const char *nm_setting_wireless_get_band(NMSettingWireless *setting);
Packit Service dff8e4
guint32     nm_setting_wireless_get_channel(NMSettingWireless *setting);
Packit Service dff8e4
const char *nm_setting_wireless_get_bssid(NMSettingWireless *setting);
Packit Service dff8e4
guint32     nm_setting_wireless_get_rate(NMSettingWireless *setting);
Packit Service dff8e4
guint32     nm_setting_wireless_get_tx_power(NMSettingWireless *setting);
Packit Service dff8e4
const char *nm_setting_wireless_get_mac_address(NMSettingWireless *setting);
Packit Service dff8e4
const char *nm_setting_wireless_get_cloned_mac_address(NMSettingWireless *setting);
Packit Service dff8e4
Packit Service dff8e4
NM_AVAILABLE_IN_1_4
Packit Service dff8e4
const char *nm_setting_wireless_get_generate_mac_address_mask(NMSettingWireless *setting);
Packit Service dff8e4
Packit Service dff8e4
const char *const *nm_setting_wireless_get_mac_address_blacklist(NMSettingWireless *setting);
Packit Service dff8e4
guint32            nm_setting_wireless_get_num_mac_blacklist_items(NMSettingWireless *setting);
Packit Service dff8e4
const char *nm_setting_wireless_get_mac_blacklist_item(NMSettingWireless *setting, guint32 idx);
Packit Service dff8e4
gboolean    nm_setting_wireless_add_mac_blacklist_item(NMSettingWireless *setting, const char *mac);
Packit Service dff8e4
void        nm_setting_wireless_remove_mac_blacklist_item(NMSettingWireless *setting, guint32 idx);
Packit Service dff8e4
gboolean    nm_setting_wireless_remove_mac_blacklist_item_by_value(NMSettingWireless *setting,
Packit Service dff8e4
                                                                   const char *       mac);
Packit Service dff8e4
void        nm_setting_wireless_clear_mac_blacklist_items(NMSettingWireless *setting);
Packit Service dff8e4
Packit Service dff8e4
guint32  nm_setting_wireless_get_mtu(NMSettingWireless *setting);
Packit Service dff8e4
gboolean nm_setting_wireless_get_hidden(NMSettingWireless *setting);
Packit Service dff8e4
NM_AVAILABLE_IN_1_2
Packit Service dff8e4
guint32 nm_setting_wireless_get_powersave(NMSettingWireless *setting);
Packit Service dff8e4
Packit Service dff8e4
NM_AVAILABLE_IN_1_2
Packit Service dff8e4
NMSettingMacRandomization
Packit Service dff8e4
nm_setting_wireless_get_mac_address_randomization(NMSettingWireless *setting);
Packit Service dff8e4
Packit Service dff8e4
gboolean nm_setting_wireless_add_seen_bssid(NMSettingWireless *setting, const char *bssid);
Packit Service dff8e4
Packit Service dff8e4
guint32     nm_setting_wireless_get_num_seen_bssids(NMSettingWireless *setting);
Packit Service dff8e4
const char *nm_setting_wireless_get_seen_bssid(NMSettingWireless *setting, guint32 i);
Packit Service dff8e4
Packit Service dff8e4
gboolean nm_setting_wireless_ap_security_compatible(NMSettingWireless *        s_wireless,
Packit Service dff8e4
                                                    NMSettingWirelessSecurity *s_wireless_sec,
Packit Service dff8e4
                                                    NM80211ApFlags             ap_flags,
Packit Service dff8e4
                                                    NM80211ApSecurityFlags     ap_wpa,
Packit Service dff8e4
                                                    NM80211ApSecurityFlags     ap_rsn,
Packit Service dff8e4
                                                    NM80211Mode                ap_mode);
Packit Service dff8e4
Packit Service dff8e4
NM_AVAILABLE_IN_1_12
Packit Service dff8e4
NMSettingWirelessWakeOnWLan nm_setting_wireless_get_wake_on_wlan(NMSettingWireless *setting);
Packit Service dff8e4
Packit Service dff8e4
NM_AVAILABLE_IN_1_28
Packit Service dff8e4
NMTernary nm_setting_wireless_get_ap_isolation(NMSettingWireless *setting);
Packit Service dff8e4
Packit Service dff8e4
G_END_DECLS
Packit Service dff8e4
Packit Service dff8e4
#endif /* __NM_SETTING_WIRELESS_H__ */