diff options
Diffstat (limited to 'Lessons/Lesson_20')
-rw-r--r-- | Lessons/Lesson_20/README.md | 6 | ||||
-rw-r--r-- | Lessons/Lesson_20/UefiLessonsPkg/Include/CustomPcdTypes.h | 23 | ||||
-rw-r--r-- | Lessons/Lesson_20/UefiLessonsPkg/UefiLessonsPkg.dec | 7 |
3 files changed, 33 insertions, 3 deletions
diff --git a/Lessons/Lesson_20/README.md b/Lessons/Lesson_20/README.md index e9ad949..8dab81d 100644 --- a/Lessons/Lesson_20/README.md +++ b/Lessons/Lesson_20/README.md @@ -631,6 +631,12 @@ typedef struct { #endif ``` +Add the `Include` folder to the DEC file: +``` +[Includes] + Include +``` + You can use the created `CustomStruct` structure type and initialize its values via this sytnax: ``` gUefiLessonsPkgTokenSpaceGuid.PcdCustomStruct|{0}|CustomStruct|0x535D4CB5 { diff --git a/Lessons/Lesson_20/UefiLessonsPkg/Include/CustomPcdTypes.h b/Lessons/Lesson_20/UefiLessonsPkg/Include/CustomPcdTypes.h new file mode 100644 index 0000000..0b9eab0 --- /dev/null +++ b/Lessons/Lesson_20/UefiLessonsPkg/Include/CustomPcdTypes.h @@ -0,0 +1,23 @@ +#ifndef CUSTOM_PCD_TYPES_H +#define CUSTOM_PCD_TYPES_H + +typedef struct { + EFI_GUID Guid; + CHAR16 Name[6]; +} InnerCustomStruct; + +typedef struct { + UINT8 Val8; + UINT32 Val32[2]; + InnerCustomStruct ValStruct; + union { + struct { + UINT8 Field1:1; + UINT8 Field2:4; + UINT8 Filed3:3; + } BitFields; + UINT8 Byte; + } ValUnion; +} CustomStruct; + +#endif diff --git a/Lessons/Lesson_20/UefiLessonsPkg/UefiLessonsPkg.dec b/Lessons/Lesson_20/UefiLessonsPkg/UefiLessonsPkg.dec index 2fb6e56..3ce3c6e 100644 --- a/Lessons/Lesson_20/UefiLessonsPkg/UefiLessonsPkg.dec +++ b/Lessons/Lesson_20/UefiLessonsPkg/UefiLessonsPkg.dec @@ -9,9 +9,10 @@ PACKAGE_NAME = UefiLessonsPkg
PACKAGE_GUID = 7e7edbba-ca2c-4177-a3f0-d3371358773a
PACKAGE_VERSION = 1.01
-
-[Includes]
-
+ +[Includes] + Include + [LibraryClasses]
[Guids]
|