1 /*
2  * Copyright (c) 2014 Broadcom Corporation
3  *
4  * Permission to use, copy, modify, and/or distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
11  * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
13  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16 
17 #ifndef _vendor_h_
18 #define _vendor_h_
19 
20 #define BROADCOM_OUI	0x001018
21 
22 enum brcmf_vndr_cmds {
23 	BRCMF_VNDR_CMDS_UNSPEC,
24 	BRCMF_VNDR_CMDS_DCMD,
25 	BRCMF_VNDR_CMDS_LAST
26 };
27 
28 /**
29  * enum brcmf_nlattrs - nl80211 message attributes
30  *
31  * @BRCMF_NLATTR_LEN: message body length
32  * @BRCMF_NLATTR_DATA: message body
33  */
34 enum brcmf_nlattrs {
35 	BRCMF_NLATTR_UNSPEC,
36 
37 	BRCMF_NLATTR_LEN,
38 	BRCMF_NLATTR_DATA,
39 
40 	__BRCMF_NLATTR_AFTER_LAST,
41 	BRCMF_NLATTR_MAX = __BRCMF_NLATTR_AFTER_LAST - 1
42 };
43 
44 /**
45  * struct brcmf_vndr_dcmd_hdr - message header for cfg80211 vendor command dcmd
46  *				support
47  *
48  * @cmd: common dongle cmd definition
49  * @len: length of expecting return buffer
50  * @offset: offset of data buffer
51  * @set: get or set request(optional)
52  * @magic: magic number for verification
53  */
54 struct brcmf_vndr_dcmd_hdr {
55 	uint cmd;
56 	int len;
57 	uint offset;
58 	uint set;
59 	uint magic;
60 };
61 
62 extern const struct wiphy_vendor_command brcmf_vendor_cmds[];
63 
64 #endif /* _vendor_h_ */
65