• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Declare directives for structure packing. No padding will be provided
4  * between the members of packed structures, and therefore, there is no
5  * guarantee that structure members will be aligned.
6  *
7  * Declaring packed structures is compiler specific. In order to handle all
8  * cases, packed structures should be delared as:
9  *
10  * #include <packed_section_start.h>
11  *
12  * typedef BWL_PRE_PACKED_STRUCT struct foobar_t {
13  *    some_struct_members;
14  * } BWL_POST_PACKED_STRUCT foobar_t;
15  *
16  * #include <packed_section_end.h>
17  *
18  *
19  * Copyright (C) 1999-2019, Broadcom.
20  *
21  *      Unless you and Broadcom execute a separate written software license
22  * agreement governing use of this software, this software is licensed to you
23  * under the terms of the GNU General Public License version 2 (the "GPL"),
24  * available at http://www.broadcom.com/licenses/GPLv2.php, with the
25  * following added to such license:
26  *
27  *      As a special exception, the copyright holders of this software give you
28  * permission to link this software with independent modules, and to copy and
29  * distribute the resulting executable under terms of your choice, provided that
30  * you also meet, for each linked independent module, the terms and conditions of
31  * the license of that module.  An independent module is a module which is not
32  * derived from this software.  The special exception does not apply to any
33  * modifications of the software.
34  *
35  *      Notwithstanding the above, under no circumstances may you combine this
36  * software in any way with any other Broadcom software provided under a license
37  * other than the GPL, without Broadcom's express prior written consent.
38  *
39  *
40  * <<Broadcom-WL-IPTag/Open:>>
41  *
42  * $Id: packed_section_end.h 776894 2018-08-16 05:50:57Z $
43  */
44 
45 /* Error check - BWL_PACKED_SECTION is defined in packed_section_start.h
46  * and undefined in packed_section_end.h. If it is NOT defined at this
47  * point, then there is a missing include of packed_section_start.h.
48  */
49 #ifdef BWL_PACKED_SECTION
50 	#undef BWL_PACKED_SECTION
51 #else
52 	#error "BWL_PACKED_SECTION is NOT defined!"
53 #endif // endif
54 
55 /* Compiler-specific directives for structure packing are declared in
56  * packed_section_start.h. This marks the end of the structure packing section,
57  * so, undef them here.
58  */
59 #undef	BWL_PRE_PACKED_STRUCT
60 #undef	BWL_POST_PACKED_STRUCT
61