Skip to content
Snippets Groups Projects
brcm_nl80211.h 1.78 KiB
Newer Older
  • Learn to ignore specific revisions
  • /*
     * Definitions for nl80211 vendor command/event access to host driver
     *
     * Copyright (C) 2020, 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_ */