xref: /freebsd/sys/contrib/dev/broadcom/brcm80211/brcmfmac/vendor.h (revision b4c3e9b5b09c829b4135aff738bd2893ed052377)
1*b4c3e9b5SBjoern A. Zeeb // SPDX-License-Identifier: ISC
2*b4c3e9b5SBjoern A. Zeeb /*
3*b4c3e9b5SBjoern A. Zeeb  * Copyright (c) 2014 Broadcom Corporation
4*b4c3e9b5SBjoern A. Zeeb  */
5*b4c3e9b5SBjoern A. Zeeb 
6*b4c3e9b5SBjoern A. Zeeb #ifndef _vendor_h_
7*b4c3e9b5SBjoern A. Zeeb #define _vendor_h_
8*b4c3e9b5SBjoern A. Zeeb 
9*b4c3e9b5SBjoern A. Zeeb #define BROADCOM_OUI	0x001018
10*b4c3e9b5SBjoern A. Zeeb 
11*b4c3e9b5SBjoern A. Zeeb enum brcmf_vndr_cmds {
12*b4c3e9b5SBjoern A. Zeeb 	BRCMF_VNDR_CMDS_UNSPEC,
13*b4c3e9b5SBjoern A. Zeeb 	BRCMF_VNDR_CMDS_DCMD,
14*b4c3e9b5SBjoern A. Zeeb 	BRCMF_VNDR_CMDS_LAST
15*b4c3e9b5SBjoern A. Zeeb };
16*b4c3e9b5SBjoern A. Zeeb 
17*b4c3e9b5SBjoern A. Zeeb /**
18*b4c3e9b5SBjoern A. Zeeb  * enum brcmf_nlattrs - nl80211 message attributes
19*b4c3e9b5SBjoern A. Zeeb  *
20*b4c3e9b5SBjoern A. Zeeb  * @BRCMF_NLATTR_LEN: message body length
21*b4c3e9b5SBjoern A. Zeeb  * @BRCMF_NLATTR_DATA: message body
22*b4c3e9b5SBjoern A. Zeeb  */
23*b4c3e9b5SBjoern A. Zeeb enum brcmf_nlattrs {
24*b4c3e9b5SBjoern A. Zeeb 	BRCMF_NLATTR_UNSPEC,
25*b4c3e9b5SBjoern A. Zeeb 
26*b4c3e9b5SBjoern A. Zeeb 	BRCMF_NLATTR_LEN,
27*b4c3e9b5SBjoern A. Zeeb 	BRCMF_NLATTR_DATA,
28*b4c3e9b5SBjoern A. Zeeb 
29*b4c3e9b5SBjoern A. Zeeb 	__BRCMF_NLATTR_AFTER_LAST,
30*b4c3e9b5SBjoern A. Zeeb 	BRCMF_NLATTR_MAX = __BRCMF_NLATTR_AFTER_LAST - 1
31*b4c3e9b5SBjoern A. Zeeb };
32*b4c3e9b5SBjoern A. Zeeb 
33*b4c3e9b5SBjoern A. Zeeb /**
34*b4c3e9b5SBjoern A. Zeeb  * struct brcmf_vndr_dcmd_hdr - message header for cfg80211 vendor command dcmd
35*b4c3e9b5SBjoern A. Zeeb  *				support
36*b4c3e9b5SBjoern A. Zeeb  *
37*b4c3e9b5SBjoern A. Zeeb  * @cmd: common dongle cmd definition
38*b4c3e9b5SBjoern A. Zeeb  * @len: length of expecting return buffer
39*b4c3e9b5SBjoern A. Zeeb  * @offset: offset of data buffer
40*b4c3e9b5SBjoern A. Zeeb  * @set: get or set request(optional)
41*b4c3e9b5SBjoern A. Zeeb  * @magic: magic number for verification
42*b4c3e9b5SBjoern A. Zeeb  */
43*b4c3e9b5SBjoern A. Zeeb struct brcmf_vndr_dcmd_hdr {
44*b4c3e9b5SBjoern A. Zeeb 	uint cmd;
45*b4c3e9b5SBjoern A. Zeeb 	int len;
46*b4c3e9b5SBjoern A. Zeeb 	uint offset;
47*b4c3e9b5SBjoern A. Zeeb 	uint set;
48*b4c3e9b5SBjoern A. Zeeb 	uint magic;
49*b4c3e9b5SBjoern A. Zeeb };
50*b4c3e9b5SBjoern A. Zeeb 
51*b4c3e9b5SBjoern A. Zeeb extern const struct wiphy_vendor_command brcmf_vendor_cmds[];
52*b4c3e9b5SBjoern A. Zeeb 
53*b4c3e9b5SBjoern A. Zeeb #endif /* _vendor_h_ */
54