wifi: update driver to 100.10.545.2 to support STA/AP concurrent [1/2]
[GitHub/LineageOS/G12/android_hardware_amlogic_kernel-modules_dhd-driver.git] / bcmdhd.100.10.315.x / include / bcmeth.h
CommitLineData
d2839953
RC
1/*
2 * Broadcom Ethernettype protocol definitions
3 *
965f77c4 4 * Copyright (C) 1999-2019, Broadcom.
d2839953
RC
5 *
6 * Unless you and Broadcom execute a separate written software license
7 * agreement governing use of this software, this software is licensed to you
8 * under the terms of the GNU General Public License version 2 (the "GPL"),
9 * available at http://www.broadcom.com/licenses/GPLv2.php, with the
10 * following added to such license:
11 *
12 * As a special exception, the copyright holders of this software give you
13 * permission to link this software with independent modules, and to copy and
14 * distribute the resulting executable under terms of your choice, provided that
15 * you also meet, for each linked independent module, the terms and conditions of
16 * the license of that module. An independent module is a module which is not
17 * derived from this software. The special exception does not apply to any
18 * modifications of the software.
19 *
20 * Notwithstanding the above, under no circumstances may you combine this
21 * software in any way with any other Broadcom software provided under a license
22 * other than the GPL, without Broadcom's express prior written consent.
23 *
24 *
25 * <<Broadcom-WL-IPTag/Open:>>
26 *
27 * $Id: bcmeth.h 701825 2017-05-26 16:45:27Z $
28 */
29
30/*
31 * Broadcom Ethernet protocol defines
32 */
33
34#ifndef _BCMETH_H_
35#define _BCMETH_H_
36
37#ifndef _TYPEDEFS_H_
38#include <typedefs.h>
39#endif // endif
40
41/* This marks the start of a packed structure section. */
42#include <packed_section_start.h>
43
44/* ETHER_TYPE_BRCM is defined in ethernet.h */
45
46/*
47 * Following the 2byte BRCM ether_type is a 16bit BRCM subtype field
48 * in one of two formats: (only subtypes 32768-65535 are in use now)
49 *
50 * subtypes 0-32767:
51 * 8 bit subtype (0-127)
52 * 8 bit length in bytes (0-255)
53 *
54 * subtypes 32768-65535:
55 * 16 bit big-endian subtype
56 * 16 bit big-endian length in bytes (0-65535)
57 *
58 * length is the number of additional bytes beyond the 4 or 6 byte header
59 *
60 * Reserved values:
61 * 0 reserved
62 * 5-15 reserved for iLine protocol assignments
63 * 17-126 reserved, assignable
64 * 127 reserved
65 * 32768 reserved
66 * 32769-65534 reserved, assignable
67 * 65535 reserved
68 */
69
70/*
71 * While adding the subtypes and their specific processing code make sure
72 * bcmeth_bcm_hdr_t is the first data structure in the user specific data structure definition
73 */
74
75#define BCMILCP_SUBTYPE_RATE 1
76#define BCMILCP_SUBTYPE_LINK 2
77#define BCMILCP_SUBTYPE_CSA 3
78#define BCMILCP_SUBTYPE_LARQ 4
79#define BCMILCP_SUBTYPE_VENDOR 5
80#define BCMILCP_SUBTYPE_FLH 17
81
82#define BCMILCP_SUBTYPE_VENDOR_LONG 32769
83#define BCMILCP_SUBTYPE_CERT 32770
84#define BCMILCP_SUBTYPE_SES 32771
85
86#define BCMILCP_BCM_SUBTYPE_RESERVED 0
87#define BCMILCP_BCM_SUBTYPE_EVENT 1
88#define BCMILCP_BCM_SUBTYPE_SES 2
89/*
90 * The EAPOL type is not used anymore. Instead EAPOL messages are now embedded
91 * within BCMILCP_BCM_SUBTYPE_EVENT type messages
92 */
93/* #define BCMILCP_BCM_SUBTYPE_EAPOL 3 */
94#define BCMILCP_BCM_SUBTYPE_DPT 4
95#define BCMILCP_BCM_SUBTYPE_DNGLEVENT 5
96
97#define BCMILCP_BCM_SUBTYPEHDR_MINLENGTH 8
98#define BCMILCP_BCM_SUBTYPEHDR_VERSION 0
99#define BCMILCP_BCM_SUBTYPE_EVENT_DATA_PAD 2
100
101/* These fields are stored in network order */
102typedef BWL_PRE_PACKED_STRUCT struct bcmeth_hdr
103{
104 uint16 subtype; /* Vendor specific..32769 */
105 uint16 length;
106 uint8 version; /* Version is 0 */
107 uint8 oui[3]; /* Broadcom OUI */
108 /* user specific Data */
109 uint16 usr_subtype;
110} BWL_POST_PACKED_STRUCT bcmeth_hdr_t;
111
112/* This marks the end of a packed structure section. */
113#include <packed_section_end.h>
114
115#endif /* _BCMETH_H_ */