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