1 /* 2 * Copyright (c) 2019 The Linux Foundation. All rights reserved. 3 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. 4 * 5 * Permission to use, copy, modify, and/or distribute this software for 6 * any purpose with or without fee is hereby granted, provided that the 7 * above copyright notice and this permission notice appear in all 8 * copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 11 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 12 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 13 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 14 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 15 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 16 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 17 * PERFORMANCE OF THIS SOFTWARE. 18 */ 19 20 /** 21 * DOC: wlan_cfg80211_vdev_mlme.h 22 * 23 * This header file provide API declarations for osif layer 24 * to get and set vdev mgr mlme structure parameters 25 */ 26 27 #ifndef __WLAN_CFG80211_VDEV_MLME_H__ 28 #define __WLAN_CFG80211_VDEV_MLME_H__ 29 #include <wlan_objmgr_vdev_obj.h> 30 #include <qdf_nbuf.h> 31 #include "include/wlan_vdev_mlme.h" 32 33 /** 34 * wlan_cfg80211_vdev_mlme_get_param_ssid() - cfg80211 MLME API to 35 * get ssid 36 * @vdev: pointer to vdev object 37 * @ssid: pointer to store the ssid 38 * @ssid_len: pointer to store the ssid length value 39 * 40 * Return: 0 on success, negative value on failure 41 */ 42 int 43 wlan_cfg80211_vdev_mlme_get_param_ssid(struct wlan_objmgr_vdev *vdev, 44 uint8_t *ssid, 45 uint8_t *ssid_len); 46 47 /** 48 * wlan_cfg80211_vdev_mlme_get_trans_bssid() - cfg80211 MLME API to 49 * get trans bssid 50 * @vdev: pointer to vdev object 51 * @addr: pointer to store the addr of the transmission bssid 52 * 53 * Return: 0 on success, negative value on failure 54 */ 55 int 56 wlan_cfg80211_vdev_mlme_get_trans_bssid(struct wlan_objmgr_vdev *vdev, 57 uint8_t *addr); 58 59 /** 60 * wlan_cfg80211_vdev_mlme_set_param() - cfg80211 MLME API to fill common 61 * parameters of vdev_mlme object 62 * @vdev: pointer to vdev object 63 * @param_id: param id for which the value should be set 64 * @mlme_cfg: structure of a union to set the parameter 65 * 66 * Return: void 67 */ 68 void 69 wlan_cfg80211_vdev_mlme_set_param(struct wlan_objmgr_vdev *vdev, 70 enum wlan_mlme_cfg_id param_id, 71 struct wlan_vdev_mgr_cfg mlme_cfg); 72 73 /** 74 * wlan_cfg80211_vdev_mlme_get_param() - cfg80211 MLME API to get common 75 * parameters of vdev_mlme object 76 * @vdev: pointer to vdev object 77 * @param_id: param id for which the value should be set 78 * @value: pointer to store the value of the req vdev_mlme object 79 * 80 * Return: void 81 */ 82 void 83 wlan_cfg80211_vdev_mlme_get_param(struct wlan_objmgr_vdev *vdev, 84 enum wlan_mlme_cfg_id param_id, 85 uint32_t *value); 86 #endif /* __WLAN_CFG80211_VDEV_MLME_H__ */ 87