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

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