<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/MdePkg/Include/Library/FileHandleLib.h, branch master</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-02-23T21:01:28+00:00</updated>
<entry>
<title>MdePkg: Replace include guards with #pragma once</title>
<updated>2026-02-23T21:01:28+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2026-02-03T18:54:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=7835e5802a2a70984333c054002e449bfd1f0a0d'/>
<id>urn:sha1:7835e5802a2a70984333c054002e449bfd1f0a0d</id>
<content type='text'>
Replace traditional `#ifndef`/`#define`/`#endif` include guards with
`#pragma` once.

`#pragma once` is a widely supported preprocessor directive that
prevents header files from being included multiple times. It is
supported by all toolchains used to build edk2: GCC, Clang/LLVM, and
MSVC.

Compared to macro-based include guards, `#pragma once`:

- Eliminates the risk of macro name collisions or copy/paste errors
  where two headers inadvertently use the same guard macro.
- Eliminate inconsistency in the way include guard macros are named
  (e.g., some files use `__FILE_H__`, others use `FILE_H_`, etc.).
- Reduces boilerplate (three lines replaced by one).
- Avoids polluting the macro namespace with guard symbols.
- Can improve build times as the preprocessor can skip re-opening the
  file entirely, rather than re-reading it to find the matching
  `#endif` ("multiple-include optimization").
  - Note that some compilers may already optimize traditional include
    guards, by recognzining the idiomatic pattern.

This change is made acknowledging that overall portability of the
code will technically be reduced, as `#pragma once` is not part of the
C/C++ standards.

However, this is considered acceptable given:

1. edk2 already defines a subset of supported compilers in
   BaseTools/Conf/tools_def.template, all of which have supported
   `#pragma once` for over two decades.
2. There have been concerns raised to the project about inconsistent
   include guard naming and potential macro collisions.

Approximate compiler support dates:

- MSVC: Supported since Visual C++ 4.2 (1996)
- GCC: Supported since 3.4 (2004)
  (http://gnu.ist.utl.pt/software/gcc/gcc-3.4/changes.html)
- Clang (LLVM based): Since initial release in 2007

Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdePkg: Apply uncrustify changes</title>
<updated>2021-12-07T17:24:28+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2021-12-05T22:54:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2f88bd3a1296c522317f1c21377876de63de5be7'/>
<id>urn:sha1:2f88bd3a1296c522317f1c21377876de63de5be7</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Apply uncrustify changes to .c/.h files in the MdePkg package

Cc: Andrew Fish &lt;afish@apple.com&gt;
Cc: Leif Lindholm &lt;leif@nuviainc.com&gt;
Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
Reviewed-by: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>MdePkg: Replace BSD License with BSD+Patent License</title>
<updated>2019-04-09T17:58:13+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2019-04-03T23:06:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=9344f0921518309295da89c221d10cbead8531aa'/>
<id>urn:sha1:9344f0921518309295da89c221d10cbead8531aa</id>
<content type='text'>
https://bugzilla.tianocore.org/show_bug.cgi?id=1373

Replace BSD 2-Clause License with BSD+Patent License.  This change is
based on the following emails:

  https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
  https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html

RFCs with detailed process for the license change:

  V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
  V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
  V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Reviewed-by: Liming Gao &lt;liming.gao@intel.com&gt;
</content>
</entry>
<entry>
<title>MdePkg: Clean up source files</title>
<updated>2018-06-28T03:19:47+00:00</updated>
<author>
<name>Liming Gao</name>
<email>liming.gao@intel.com</email>
</author>
<published>2018-06-27T13:11:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=9095d37b8fe5bfc3d02adad6ba7fd7359ebc0107'/>
<id>urn:sha1:9095d37b8fe5bfc3d02adad6ba7fd7359ebc0107</id>
<content type='text'>
1. Do not use tab characters
2. No trailing white space in one line
3. All files must end with CRLF

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao &lt;liming.gao@intel.com&gt;
</content>
</entry>
<entry>
<title>MdePkg/Include: Add include file to FileHandleLib.h</title>
<updated>2017-01-10T20:31:28+00:00</updated>
<author>
<name>Michael Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2017-01-04T17:06:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=0f705029d91559030bfa5f505daca57dcefd1a2e'/>
<id>urn:sha1:0f705029d91559030bfa5f505daca57dcefd1a2e</id>
<content type='text'>
FileHandleLib.h uses the data type EFI_FILE_INFO,
so this library class should include &lt;Guid/FileInfo.h&gt;.

Liming Gao &lt;liming.gao@intel.com&gt;
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney &lt;michael.d.kinney@intel.com&gt;
Reviewed-by: Liming Gao &lt;liming.gao@intel.com&gt;
</content>
</entry>
<entry>
<title>MdePkg: Fix some typing errors in the header files</title>
<updated>2016-10-08T01:09:09+00:00</updated>
<author>
<name>Thomas Huth</name>
<email>thuth@redhat.com</email>
</author>
<published>2016-09-12T08:35:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=00b7cc0fe327fcd00d70a8d30f16245cca0c55f2'/>
<id>urn:sha1:00b7cc0fe327fcd00d70a8d30f16245cca0c55f2</id>
<content type='text'>
Correct the typos in some header files of MdePkg.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Thomas Huth &lt;thuth@redhat.com&gt;
Reviewed-by: Liming Gao &lt;liming.gao@intel.com&gt;
Reviewed-by: Michael Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
<entry>
<title>MdePkg: Make the FileHandleGetFileName return the file name in right format.</title>
<updated>2015-08-26T02:25:42+00:00</updated>
<author>
<name>Qiu Shumin</name>
<email>shumin.qiu@intel.com</email>
</author>
<published>2015-08-26T02:25:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=ad6f6f86789eb27215b083f376fbec6389126284'/>
<id>urn:sha1:ad6f6f86789eb27215b083f376fbec6389126284</id>
<content type='text'>
1. If the file is not a directory remove the redundant '\' char in file name string returned from UefiFileHandleLib.FileHandleGetFileName.
2. Update function comments.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin &lt;shumin.qiu@intel.com&gt;
Reviewed-by: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
Reviewed-by: Liming Gao &lt;liming.gao@intel.com&gt;


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18314 6f19259b-4bc3-4df7-8a09-765794883524
</content>
</entry>
<entry>
<title>MdePkg/Library/UefiFileHandleLib: Make FileHandleReadLine return the right buffer size.</title>
<updated>2015-08-24T07:42:27+00:00</updated>
<author>
<name>Qiu Shumin</name>
<email>shumin.qiu@intel.com</email>
</author>
<published>2015-08-24T07:42:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=ba1806251ff8ff695175b92ab5732eadbcd2f72e'/>
<id>urn:sha1:ba1806251ff8ff695175b92ab5732eadbcd2f72e</id>
<content type='text'>
1. '\r' char will not return in buffer so buffer size should exclude the number of '\r' char.
2. When 'Truncate' is TRUE return the truncated string with 'EFI_SUCCESS' status.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin &lt;shumin.qiu@intel.com&gt;
Reviewed-by: Liming Gao &lt;liming.gao@intel.com&gt;

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18276 6f19259b-4bc3-4df7-8a09-765794883524
</content>
</entry>
<entry>
<title>MdePkg\Library\UefiFileHandleLib: Make FileHandleWriteLine support both ASCII and UNICODE file.</title>
<updated>2015-06-24T08:09:05+00:00</updated>
<author>
<name>Qiu Shumin</name>
<email>shumin.qiu@intel.com</email>
</author>
<published>2015-06-24T08:09:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=a86c73cddaaa88bfc65955be21b1d5102e20ee47'/>
<id>urn:sha1:a86c73cddaaa88bfc65955be21b1d5102e20ee47</id>
<content type='text'>
When the file is a UNICODE file (with UNICODE file tag) write UNICODE text.
When the file is an ASCII file write ASCII text.
If the file size is zero (without the file tag at the beginning) write ASCII text as default.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin &lt;shumin.qiu@intel.com&gt;
Reviewed-by: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
Reviewed-by: Liming Gao &lt;liming.gao@intel.com&gt;



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17701 6f19259b-4bc3-4df7-8a09-765794883524
</content>
</entry>
<entry>
<title>MdePkg: Refine the comments for FileHandleLib.</title>
<updated>2015-06-17T04:49:47+00:00</updated>
<author>
<name>Qiu Shumin</name>
<email>shumin.qiu@intel.com</email>
</author>
<published>2015-06-17T04:49:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=b269f8956321c598e13c55881d6f8f021bae1829'/>
<id>urn:sha1:b269f8956321c598e13c55881d6f8f021bae1829</id>
<content type='text'>
Make the function comments of FileHandleLib consistent with instance implementation.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin &lt;shumin.qiu@intel.com&gt;
Reviewed-by: Liming Gao &lt;liming.gao@intel.com&gt;


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17650 6f19259b-4bc3-4df7-8a09-765794883524
</content>
</entry>
</feed>
