cfg80211.h (9d2bb84d54a40361c7008b33a60dc24f78724746) cfg80211.h (e7a7b84e33178db4a839c5e1773247be17597c1f)
1/* SPDX-License-Identifier: GPL-2.0-only */
2#ifndef __NET_CFG80211_H
3#define __NET_CFG80211_H
4/*
5 * 802.11 device and configuration interface
6 *
7 * Copyright 2006-2010 Johannes Berg <johannes@sipsolutions.net>
8 * Copyright 2013-2014 Intel Mobile Communications GmbH

--- 3917 unchanged lines hidden (view full) ---

3926 * This additionally holds the RTNL to be able to do netdev changes.
3927 *
3928 * @add_intf_link: Add a new MLO link to the given interface. Note that
3929 * the wdev->link[] data structure has been updated, so the new link
3930 * address is available.
3931 * @del_intf_link: Remove an MLO link from the given interface.
3932 *
3933 * @add_key: add a key with the given parameters. @mac_addr will be %NULL
1/* SPDX-License-Identifier: GPL-2.0-only */
2#ifndef __NET_CFG80211_H
3#define __NET_CFG80211_H
4/*
5 * 802.11 device and configuration interface
6 *
7 * Copyright 2006-2010 Johannes Berg <johannes@sipsolutions.net>
8 * Copyright 2013-2014 Intel Mobile Communications GmbH

--- 3917 unchanged lines hidden (view full) ---

3926 * This additionally holds the RTNL to be able to do netdev changes.
3927 *
3928 * @add_intf_link: Add a new MLO link to the given interface. Note that
3929 * the wdev->link[] data structure has been updated, so the new link
3930 * address is available.
3931 * @del_intf_link: Remove an MLO link from the given interface.
3932 *
3933 * @add_key: add a key with the given parameters. @mac_addr will be %NULL
3934 * when adding a group key.
3934 * when adding a group key. @link_id will be -1 for non-MLO connection.
3935 * For MLO connection, @link_id will be >= 0 for group key and -1 for
3936 * pairwise key, @mac_addr will be peer's MLD address for MLO pairwise key.
3935 *
3936 * @get_key: get information about the key with the given parameters.
3937 * @mac_addr will be %NULL when requesting information for a group
3938 * key. All pointers given to the @callback function need not be valid
3939 * after it returns. This function should return an error if it is
3940 * not possible to retrieve the key, -ENOENT if it doesn't exist.
3937 *
3938 * @get_key: get information about the key with the given parameters.
3939 * @mac_addr will be %NULL when requesting information for a group
3940 * key. All pointers given to the @callback function need not be valid
3941 * after it returns. This function should return an error if it is
3942 * not possible to retrieve the key, -ENOENT if it doesn't exist.
3943 * @link_id will be -1 for non-MLO connection. For MLO connection,
3944 * @link_id will be >= 0 for group key and -1 for pairwise key, @mac_addr
3945 * will be peer's MLD address for MLO pairwise key.
3941 *
3942 * @del_key: remove a key given the @mac_addr (%NULL for a group key)
3946 *
3947 * @del_key: remove a key given the @mac_addr (%NULL for a group key)
3943 * and @key_index, return -ENOENT if the key doesn't exist.
3948 * and @key_index, return -ENOENT if the key doesn't exist. @link_id will
3949 * be -1 for non-MLO connection. For MLO connection, @link_id will be >= 0
3950 * for group key and -1 for pairwise key, @mac_addr will be peer's MLD
3951 * address for MLO pairwise key.
3944 *
3952 *
3945 * @set_default_key: set the default key on an interface
3953 * @set_default_key: set the default key on an interface. @link_id will be >= 0
3954 * for MLO connection and -1 for non-MLO connection.
3946 *
3955 *
3947 * @set_default_mgmt_key: set the default management frame key on an interface
3956 * @set_default_mgmt_key: set the default management frame key on an interface.
3957 * @link_id will be >= 0 for MLO connection and -1 for non-MLO connection.
3948 *
3958 *
3949 * @set_default_beacon_key: set the default Beacon frame key on an interface
3959 * @set_default_beacon_key: set the default Beacon frame key on an interface.
3960 * @link_id will be >= 0 for MLO connection and -1 for non-MLO connection.
3950 *
3951 * @set_rekey_data: give the data necessary for GTK rekeying to the driver
3952 *
3953 * @start_ap: Start acting in AP mode defined by the parameters.
3954 * @change_beacon: Change the beacon parameters for an access point mode
3955 * interface. This should reject the call when AP mode wasn't started.
3956 * @stop_ap: Stop being an AP, including stopping beaconing.
3957 *

--- 332 unchanged lines hidden (view full) ---

4290 int (*add_intf_link)(struct wiphy *wiphy,
4291 struct wireless_dev *wdev,
4292 unsigned int link_id);
4293 void (*del_intf_link)(struct wiphy *wiphy,
4294 struct wireless_dev *wdev,
4295 unsigned int link_id);
4296
4297 int (*add_key)(struct wiphy *wiphy, struct net_device *netdev,
3961 *
3962 * @set_rekey_data: give the data necessary for GTK rekeying to the driver
3963 *
3964 * @start_ap: Start acting in AP mode defined by the parameters.
3965 * @change_beacon: Change the beacon parameters for an access point mode
3966 * interface. This should reject the call when AP mode wasn't started.
3967 * @stop_ap: Stop being an AP, including stopping beaconing.
3968 *

--- 332 unchanged lines hidden (view full) ---

4301 int (*add_intf_link)(struct wiphy *wiphy,
4302 struct wireless_dev *wdev,
4303 unsigned int link_id);
4304 void (*del_intf_link)(struct wiphy *wiphy,
4305 struct wireless_dev *wdev,
4306 unsigned int link_id);
4307
4308 int (*add_key)(struct wiphy *wiphy, struct net_device *netdev,
4298 u8 key_index, bool pairwise, const u8 *mac_addr,
4299 struct key_params *params);
4309 int link_id, u8 key_index, bool pairwise,
4310 const u8 *mac_addr, struct key_params *params);
4300 int (*get_key)(struct wiphy *wiphy, struct net_device *netdev,
4311 int (*get_key)(struct wiphy *wiphy, struct net_device *netdev,
4301 u8 key_index, bool pairwise, const u8 *mac_addr,
4302 void *cookie,
4312 int link_id, u8 key_index, bool pairwise,
4313 const u8 *mac_addr, void *cookie,
4303 void (*callback)(void *cookie, struct key_params*));
4304 int (*del_key)(struct wiphy *wiphy, struct net_device *netdev,
4314 void (*callback)(void *cookie, struct key_params*));
4315 int (*del_key)(struct wiphy *wiphy, struct net_device *netdev,
4305 u8 key_index, bool pairwise, const u8 *mac_addr);
4316 int link_id, u8 key_index, bool pairwise,
4317 const u8 *mac_addr);
4306 int (*set_default_key)(struct wiphy *wiphy,
4318 int (*set_default_key)(struct wiphy *wiphy,
4307 struct net_device *netdev,
4319 struct net_device *netdev, int link_id,
4308 u8 key_index, bool unicast, bool multicast);
4309 int (*set_default_mgmt_key)(struct wiphy *wiphy,
4320 u8 key_index, bool unicast, bool multicast);
4321 int (*set_default_mgmt_key)(struct wiphy *wiphy,
4310 struct net_device *netdev,
4322 struct net_device *netdev, int link_id,
4311 u8 key_index);
4312 int (*set_default_beacon_key)(struct wiphy *wiphy,
4313 struct net_device *netdev,
4323 u8 key_index);
4324 int (*set_default_beacon_key)(struct wiphy *wiphy,
4325 struct net_device *netdev,
4326 int link_id,
4314 u8 key_index);
4315
4316 int (*start_ap)(struct wiphy *wiphy, struct net_device *dev,
4317 struct cfg80211_ap_settings *settings);
4318 int (*change_beacon)(struct wiphy *wiphy, struct net_device *dev,
4319 struct cfg80211_beacon_data *info);
4320 int (*stop_ap)(struct wiphy *wiphy, struct net_device *dev,
4321 unsigned int link_id);

--- 4570 unchanged lines hidden ---
4327 u8 key_index);
4328
4329 int (*start_ap)(struct wiphy *wiphy, struct net_device *dev,
4330 struct cfg80211_ap_settings *settings);
4331 int (*change_beacon)(struct wiphy *wiphy, struct net_device *dev,
4332 struct cfg80211_beacon_data *info);
4333 int (*stop_ap)(struct wiphy *wiphy, struct net_device *dev,
4334 unsigned int link_id);

--- 4570 unchanged lines hidden ---