| /* |
| * Definitions for nl80211 vendor command/event access to host driver |
| * |
| * Copyright (C) 2017, Broadcom. All Rights Reserved. |
| * |
| * Permission to use, copy, modify, and/or distribute this software for any |
| * purpose with or without fee is hereby granted, provided that the above |
| * copyright notice and this permission notice appear in all copies. |
| * |
| * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
| * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
| * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY |
| * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
| * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION |
| * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN |
| * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
| * |
| * |
| * <<Broadcom-WL-IPTag/Open:>> |
| * |
| * $Id: brcm_nl80211.h 601873 2015-11-24 11:04:28Z $ |
| * |
| */ |
| |
| #ifndef _brcm_nl80211_h_ |
| #define _brcm_nl80211_h_ |
| |
| #define OUI_BRCM 0x001018 |
| #define OUI_GOOGLE 0x001A11 |
| |
| enum wl_vendor_subcmd { |
| BRCM_VENDOR_SCMD_UNSPEC, |
| BRCM_VENDOR_SCMD_PRIV_STR, |
| BRCM_VENDOR_SCMD_BCM_STR |
| }; |
| |
| |
| struct bcm_nlmsg_hdr { |
| uint cmd; /* common ioctl definition */ |
| int len; /* expected return buffer length */ |
| uint offset; /* user buffer offset */ |
| uint set; /* get or set request optional */ |
| uint magic; /* magic number for verification */ |
| }; |
| |
| enum bcmnl_attrs { |
| BCM_NLATTR_UNSPEC, |
| |
| BCM_NLATTR_LEN, |
| BCM_NLATTR_DATA, |
| |
| __BCM_NLATTR_AFTER_LAST, |
| BCM_NLATTR_MAX = __BCM_NLATTR_AFTER_LAST - 1 |
| }; |
| |
| struct nl_prv_data { |
| int err; /* return result */ |
| void *data; /* ioctl return buffer pointer */ |
| uint len; /* ioctl return buffer length */ |
| struct bcm_nlmsg_hdr *nlioc; /* bcm_nlmsg_hdr header pointer */ |
| }; |
| |
| #endif /* _brcm_nl80211_h_ */ |