Meta-data File Header EBNF
All EDK II INF, DEC, DSC and FDF files should include this header. For completeness, the optional sections Abstract and Description should be completed prior to creating an UEFI Distribution Package.
<CommonHeader> := <Comment>*"##" [<Space>] <Space> "@file" [<TS> <Filename>] <EOL>[<Abstract>][<Description>]<Copyright>+"#" <EOL><License>+"##" <EOL>+​<Abstract> := "#" <MTS> <AsciiString> <EOL>["#" <EOL>]​<Description> := ["#" <MTS> <AsciiString> <EOL>]+["#" <EOL>]​<Copyright> := "#" <MTS> <CopyName> <Date> "," <CompInfo>​<CopyName> := ["Portions" <MTS>] "Copyright (c)" <MTS>​<Date> := <Year> [<TS> {<DateList>} {<DateRange>}]​<Year> := "2" (0-9)(0-9)(0-9)​<DateList> := <CommaSpace> <Year> [<CommaSpace> <Year>]*​<DateRange> := "-" <TS> <Year>​<CompInfo> := (0x20 - 0x7e)* <MTS> "All rights reserved." [<TS> "<BR>"] <EOL>​<License> := ["#" <MTS> <AsciiString> <EOL>]+["#" <EOL>]
Abstract
A brief one line description of what the module does.
The INF or DEC file will always have an English version of the Abstract. Other localized versions of the abstract must be stored in a Multi-string UNI file that is specified in the [Defines]
section's MODULE_UNI_FILE
entry in INF files or PACKAGE_UNI_FILE
entry in DEC files.
Description
A detailed description of what the module does.
The INF or DEC file will always have an English version of the Description. Other localized versions of the description must be stored in a Multi-string UNI file that is specified in the [Defines]
section's MODULE_UNI_FILE
entry in INF files or PACKAGE_UNI_FILE
entry in DEC files.
Copyright
The copyright date should be modified if there is a functional change to the source code or meta-data file. Copyright data will not be localized.
License
One or more licenses that the module with source code is released under. License content will not be localized.
This optional header is valid for INF and DEC file only. It must immediately follow the common header.
<BinaryHeader> := <Comment>*"##" [<Space>] <Space> "@BinaryHeader" <EOL><BinaryAbstract>"#" <EOL><BinaryDescription>"#" <EOL><Copyright>+"#" <EOL><BinaryLicense>+"##" <EOL>+​<BinaryAbstract> := "#" <MTS> <AsciiString> <EOL>​<BinaryDescription> := ["#" <MTS> <AsciiString> <EOL>]+​<BinaryLicense> := ["#" <MTS> <AsciiString> <EOL>]+["#" <EOL>]
@BinaryHeader
In a Binary or AsBuilt INF or a DEC file, this Doxygen tag must not be present.
BinaryAbstract
A brief one line description of what the module does that may be different from a source abstract.
The INF or DEC file will always have an English version of the Abstract. Other localized versions of the abstract must be stored in a Multi-string UNI file that is specified in the [Defines]
section's MODULE_UNI_FILE
entry in INF files or PACKAGE_UNI_FILE
entry in DEC files.
BinaryDescription
A detailed description of what the module does that may be different from a source description.
The INF or DEC file will always have an English version of the Description. Other localized versions of the description must be stored in a Multi-string UNI file that is specified in the [Defines]
section's MODULE_UNI_FILE
entry in INF files or PACKAGE_UNI_FILE
entry in DEC files.
Copyright
The copyright date should be modified if there is a functional change to the source code. Since binaries are constructed from source, the binary file may have the same copyright date as the source INF. Copyright data will not be localized.
License
One or more licenses that the binary module or package is released under. License content will not be localized.
The AsBuilt INF is generated by the EDK II build tools.
<AsBuiltHeader> := <Comment>*"##" [<Space>] <Space> "@file" <EOL>[{<BinaryAbstract>} {<Abstract>}]"#" <EOL>[{<BinaryDescription>} {<Description>}]"#" <EOL><Copyright>+"#" <EOL>{<BinaryLicense>+} {<License>+}"##" <EOL>+<EOL>"# DO NOT EDIT" <EOL>"# FILE auto-generated" <EOL><EOL>