Skip to content

Commit

Permalink
Add missing library header guards (#181)
Browse files Browse the repository at this point in the history
## Description

All header files should include header guards.

Some header files, such as those which define structures,
cannot be included more than once within a translation unit, as doing
so would cause a redefinition error. Such headers must be guarded to
prevent ill-effects from multiple inclusion. Similarly, if header
files include other header files, and this inclusion graph contains
a cycle, then at least one file within the cycle must contain header
guards in order to break the cycle. Because of cases like these, all
headers should be guarded as a matter of good practice, even if they
do not strictly need to be.

Furthermore, most modern compilers contain optimizations which are
triggered by header guards. If the header guard strictly conforms
to the pattern that compilers expect, then inclusions of that
header other than the first have absolutely no effect: the file
isn't re-read from disk, nor is it re-tokenised or re-preprocessed.
This can result in a noticeable, albeit minor, improvement to
compilation time.

- [ ] Impacts functionality?
- **Functionality** - Does the change ultimately impact how firmware
functions?
- Examples: Add a new library, publish a new PPI, update an algorithm,
...
- [ ] Impacts security?
- **Security** - Does the change have a direct security impact on an
application,
    flow, or firmware?
  - Examples: Crypto algorithm change, buffer overflow fix, parameter
    validation improvement, ...
- [ ] Breaking change?
- **Breaking change** - Will anyone consuming this change experience a
break
    in build or boot behavior?
- Examples: Add a new library class, move a module to a different repo,
call
    a function in a new library class in a pre-existing module, ...
- [ ] Includes tests?
  - **Tests** - Does the change include any explicit test code?
  - Examples: Unit tests, integration tests, robot tests, ...
- [ ] Includes documentation?
- **Documentation** - Does the change contain explicit documentation
additions
    outside direct code modifications (and comments)?
- Examples: Update readme file, add feature readme file, link to
documentation
    on an a separate Web page, ...

## How This Was Tested

- Compilation
- CodeQL

## Integration Instructions

N/A

Signed-off-by: Michael Kubacki <[email protected]>
  • Loading branch information
makubacki authored Jan 11, 2024
1 parent 94fab9c commit 6d9f164
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 0 deletions.
5 changes: 5 additions & 0 deletions DfciPkg/Include/Library/DfciAssetTagSettingLib.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
**/

#ifndef DFCI_ASSET_TAG_SETTING_LIB_H_
#define DFCI_ASSET_TAG_SETTING_LIB_H_

/**
* Settings Provider AssetTagGet routine for pre SettingsManager access.
*
Expand All @@ -25,3 +28,5 @@ DfciGetAssetTag (
IN OUT UINTN *ValueSize,
OUT VOID *Value
);

#endif
5 changes: 5 additions & 0 deletions DfciPkg/Include/Library/DfciGroupLib.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
**/

#ifndef DFCI_GROUP_LIB_H_
#define DFCI_GROUP_LIB_H_

typedef struct {
DFCI_SETTING_ID_STRING GroupId; // Pointer to Group Id
DFCI_SETTING_ID_STRING *GroupMembers; // Pointer to array of Setting Id's
Expand All @@ -26,3 +29,5 @@ EFIAPI
DfciGetGroupEntries (
VOID
);

#endif
5 changes: 5 additions & 0 deletions DfciPkg/Include/Library/DfciSettingChangedNotificationLib.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
**/

#ifndef DFCI_SETTING_CHANGED_NOTIFICATION_LIB_H_
#define DFCI_SETTING_CHANGED_NOTIFICATION_LIB_H_

/**
* Process Setting Changed - Called for any setting that has changed. Not called when a setting
* has not changed. The setting value is also supplied.
Expand Down Expand Up @@ -48,3 +51,5 @@ EFIAPI
DfciSettingChangedResetNotification (
VOID
);

#endif
5 changes: 5 additions & 0 deletions DfciPkg/Include/Library/DfciV1SupportLib.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
**/

#ifndef DFCI_V1_SUPPORT_LIB_H_
#define DFCI_V1_SUPPORT_LIB_H_

/**
* Return V2 string from V1 Id String
*
Expand Down Expand Up @@ -49,3 +52,5 @@ EFIAPI
DfciV1NumberFromId (
DFCI_SETTING_ID_STRING Id
);

#endif

0 comments on commit 6d9f164

Please sign in to comment.