1 /* 2 * Copyright (c) 2016-2017, 2020 The Linux Foundation. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for 5 * any purpose with or without fee is hereby granted, provided that the 6 * above copyright notice and this permission notice appear in all 7 * copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16 * PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 #ifndef _WLAN_HDD_DISA_H 20 #define _WLAN_HDD_DISA_H 21 22 #include "wlan_hdd_main.h" 23 #include "sir_api.h" 24 #include "qca_vendor.h" 25 26 #ifdef WLAN_FEATURE_DISA 27 extern const struct nla_policy 28 encrypt_decrypt_policy[QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_MAX + 1]; 29 30 #define FEATURE_DISA_VENDOR_COMMANDS \ 31 { \ 32 .info.vendor_id = QCA_NL80211_VENDOR_ID, \ 33 .info.subcmd = QCA_NL80211_VENDOR_SUBCMD_ENCRYPTION_TEST, \ 34 .flags = WIPHY_VENDOR_CMD_NEED_WDEV | \ 35 WIPHY_VENDOR_CMD_NEED_NETDEV | \ 36 WIPHY_VENDOR_CMD_NEED_RUNNING, \ 37 .doit = wlan_hdd_cfg80211_encrypt_decrypt_msg, \ 38 vendor_command_policy(encrypt_decrypt_policy, \ 39 QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_MAX) \ 40 }, 41 42 /** 43 * wlan_hdd_cfg80211_encrypt_decrypt_msg () - Encrypt/Decrypt msg 44 * @wiphy: Pointer to wireless phy 45 * @wdev: Pointer to wireless device 46 * @data: Pointer to data 47 * @data_len: Data length 48 * 49 * Return: 0 on success, negative errno on failure 50 */ 51 int wlan_hdd_cfg80211_encrypt_decrypt_msg(struct wiphy *wiphy, 52 struct wireless_dev *wdev, 53 const void *data, 54 int data_len); 55 #else 56 #define FEATURE_DISA_VENDOR_COMMANDS 57 #endif 58 59 #endif 60