<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/RedfishPkg/PrivateInclude, branch dependabot/github_actions/actions/setup-python-7</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-python-7</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-python-7'/>
<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>RedfishPkg: 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:59:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=6181c85fa98fd1ea9e7292ad5390a2ec4f1da318'/>
<id>urn:sha1:6181c85fa98fd1ea9e7292ad5390a2ec4f1da318</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>RedfishPkg: Redfish modules may need to use the functions which are private</title>
<updated>2022-08-23T03:13:11+00:00</updated>
<author>
<name>Abner Chang</name>
<email>abner.chang@amd.com</email>
</author>
<published>2022-08-17T03:28:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=eebef1b3b7d992f28d8a5ba14a173ef535974373'/>
<id>urn:sha1:eebef1b3b7d992f28d8a5ba14a173ef535974373</id>
<content type='text'>
Definitions of the required functions to send requests to BMC
are in the PrivateInclude folder. So they cannot be used by
the other Redfish packages.

Cc: Abner Chang &lt;abner.chang@amd.com&gt;
Cc: Nickle Wang &lt;nickle.wang@hpe.com&gt;
Signed-off-by: Igor Kulchytskyy &lt;igork@ami.com&gt;
Reviewed-by: Abner Chang &lt;abner.chang@amd.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg: 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:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=39de741e2dcb8f11e9b4438e37224797643d8451'/>
<id>urn:sha1:39de741e2dcb8f11e9b4438e37224797643d8451</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Apply uncrustify changes to .c/.h files in the RedfishPkg 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: Abner Chang &lt;abner.chang@hpe.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg/RefishCrtLib: Public RefishCrtLib</title>
<updated>2021-08-11T05:03:31+00:00</updated>
<author>
<name>Abner Chang</name>
<email>abner.chang@hpe.com</email>
</author>
<published>2021-08-10T16:07:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=7311e9641785bbcdf2925bfc91b92e43a6158a7d'/>
<id>urn:sha1:7311e9641785bbcdf2925bfc91b92e43a6158a7d</id>
<content type='text'>
Public the header file, move RefishCrtLib.h from PrivateInclude/
to Include/.
RefishCrtLib.lib will be public later. (Moved out from PrivateLibrary/)

Signed-off-by: Abner Chang &lt;abner.chang@hpe.com&gt;
Cc: Nickle Wang &lt;nickle.wang@hpe.com&gt;
Reviewed-by: Nickle Wang &lt;nickle.wang@hpe.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg/Library: RedfishLib</title>
<updated>2021-03-11T08:44:51+00:00</updated>
<author>
<name>Abner Chang</name>
<email>abner.chang@hpe.com</email>
</author>
<published>2021-03-03T09:52:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=4751a48aeb2ab828b0a5cbdc585fd3642967cda1'/>
<id>urn:sha1:4751a48aeb2ab828b0a5cbdc585fd3642967cda1</id>
<content type='text'>
EDK2 port of DMTF libredfish project. We clone the necessary files
from open source project libredfish (https://github.com/DMTF/
libredfish) tag v1.0.0 and revise it to incorporate with edk2
firmware code base.

The reason of cloning the necessary files instead of using extern
submodule of libredfish project:
libredfish as a C library which is executed under Windows and
Linux. It could be binded with other programming languages such as
java and python. The library uses curl library as the communication service with Redfish, which is not easy to be abstracted and
replaced with EFI specific protocols (e.g. EFI_REST_EX_PROTOCOL or
payload encode/decode library) and EFI data types. We had the
conversation with DMTF community and they think edk2 is a firmware
solution but not the programming language,
therefore they rejected to have edk2 as a binding to libredfish.
According to above, we decide to clone the necessary files from
libredfish modify it to incorporate with edk2.

Signed-off-by: Jiaxin Wu &lt;jiaxin.wu@intel.com&gt;
Signed-off-by: Ting Ye &lt;ting.ye@intel.com&gt;
Signed-off-by: Siyuan Fu &lt;siyuan.fu@intel.com&gt;
Signed-off-by: Fan Wang &lt;fan.wang@intel.com&gt;
Signed-off-by: Abner Chang &lt;abner.chang@hpe.com&gt;
Cc: Nickle Wang &lt;nickle.wang@hpe.com&gt;
Reviewed-by: Nickle Wang &lt;nickle.wang@hpe.com&gt;
</content>
</entry>
<entry>
<title>RedfishPkg/RedfishCrtLib: Redfish C runtime library</title>
<updated>2021-01-09T03:08:51+00:00</updated>
<author>
<name>Abner Chang</name>
<email>abner.chang@hpe.com</email>
</author>
<published>2020-12-04T04:30:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=6e9233f968735219b2038c5dd23a46be2c021807'/>
<id>urn:sha1:6e9233f968735219b2038c5dd23a46be2c021807</id>
<content type='text'>
Redfish CRT library is currently used by edk2 JsonLib
(open source jansson project) and edk2 RedfishLib
(libredfish open source project). Redfish CrtLib library
provides the necessary C runtime equivalent edk2 functions
for open source projects.

Signed-off-by: Abner Chang &lt;abner.chang@hpe.com&gt;

Cc: Leif Lindholm &lt;leif@nuviainc.com&gt;
Cc: Nickle Wang &lt;nickle.wang@hpe.com&gt;
Cc: Peter O'Hanley &lt;peter.ohanley@hpe.com&gt;
Reviewed-by: Nickle Wang &lt;nickle.wang@hpe.com&gt;
Acked-by: Leif Lindholm &lt;leif@nuviainc.com&gt;
Reviewed-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
</content>
</entry>
</feed>
