1*5113495bSYour Name /* 2*5113495bSYour Name * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. 3*5113495bSYour Name * 4*5113495bSYour Name * Permission to use, copy, modify, and/or distribute this software for any 5*5113495bSYour Name * purpose with or without fee is hereby granted, provided that the above 6*5113495bSYour Name * copyright notice and this permission notice appear in all copies. 7*5113495bSYour Name * 8*5113495bSYour Name * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9*5113495bSYour Name * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10*5113495bSYour Name * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11*5113495bSYour Name * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12*5113495bSYour Name * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13*5113495bSYour Name * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14*5113495bSYour Name * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15*5113495bSYour Name */ 16*5113495bSYour Name 17*5113495bSYour Name /** 18*5113495bSYour Name * DOC: wlan_hdd_coap.h 19*5113495bSYour Name * 20*5113495bSYour Name * Add Vendor subcommand QCA_NL80211_VENDOR_SUBCMD_COAP_OFFLOAD 21*5113495bSYour Name */ 22*5113495bSYour Name 23*5113495bSYour Name #ifndef __WLAN_HDD_COAP_H 24*5113495bSYour Name #define __WLAN_HDD_COAP_H 25*5113495bSYour Name 26*5113495bSYour Name #ifdef WLAN_FEATURE_COAP 27*5113495bSYour Name #include <net/cfg80211.h> 28*5113495bSYour Name 29*5113495bSYour Name /** 30*5113495bSYour Name * wlan_hdd_cfg80211_coap_offload() - configure CoAP offloading 31*5113495bSYour Name * @wiphy: pointer to wireless wiphy structure. 32*5113495bSYour Name * @wdev: pointer to wireless_dev structure. 33*5113495bSYour Name * @data: pointer to netlink TLV buffer 34*5113495bSYour Name * @data_len: the length of @data in bytes 35*5113495bSYour Name * 36*5113495bSYour Name * Return: An error code or 0 on success. 37*5113495bSYour Name */ 38*5113495bSYour Name int wlan_hdd_cfg80211_coap_offload(struct wiphy *wiphy, 39*5113495bSYour Name struct wireless_dev *wdev, 40*5113495bSYour Name const void *data, int data_len); 41*5113495bSYour Name 42*5113495bSYour Name extern const struct nla_policy 43*5113495bSYour Name coap_offload_policy[QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_MAX + 1]; 44*5113495bSYour Name 45*5113495bSYour Name #define FEATURE_COAP_OFFLOAD_COMMANDS \ 46*5113495bSYour Name { \ 47*5113495bSYour Name .info.vendor_id = QCA_NL80211_VENDOR_ID, \ 48*5113495bSYour Name .info.subcmd = QCA_NL80211_VENDOR_SUBCMD_COAP_OFFLOAD, \ 49*5113495bSYour Name .flags = WIPHY_VENDOR_CMD_NEED_WDEV | \ 50*5113495bSYour Name WIPHY_VENDOR_CMD_NEED_NETDEV | \ 51*5113495bSYour Name WIPHY_VENDOR_CMD_NEED_RUNNING, \ 52*5113495bSYour Name .doit = wlan_hdd_cfg80211_coap_offload, \ 53*5113495bSYour Name vendor_command_policy(coap_offload_policy, \ 54*5113495bSYour Name QCA_WLAN_VENDOR_ATTR_COAP_OFFLOAD_MAX) \ 55*5113495bSYour Name }, 56*5113495bSYour Name #else /* WLAN_FEATURE_COAP */ 57*5113495bSYour Name #define FEATURE_COAP_OFFLOAD_COMMANDS 58*5113495bSYour Name #endif /* WLAN_FEATURE_COAP */ 59*5113495bSYour Name 60*5113495bSYour Name #endif /* __WLAN_HDD_COAP_H */ 61