summaryrefslogtreecommitdiff
path: root/MdePkg/Include/Protocol/PxeBaseCode.h
AgeCommit message (Collapse)AuthorFilesLines
2026-02-24MdePkg: Replace include guards with #pragma onceMichael Kubacki1-4/+1
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 <michael.kubacki@microsoft.com>
2025-09-26MdePkg: Remove ARM32 SupportOliver Smith-Denny1-2/+0
edk2 is dropping support for the ARM32 architecture. This commit removes the remaining ARM32 code from MdePkg. This also removes irrelevant VALID_ARCHITECTURES comments from infs that are not arch specific. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-01-09MdePkg: Update Default IP TTLINDIA\sachinganesh1-1/+1
Default IP TTL (Time to Live) has been updated in UEFI 2.10 A Specification. To comply with IANA recommendations. REF: https://www.iana.org/assignments/ip-parameters/ip-parameters.xhtml#ip-parameters-2 Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
2022-10-14MdePkg/Include: LoongArch definitions.Chao Li1-0/+3
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4053 Add LoongArch processor related definitions. For the Http boot and PXE boot types seeing this URL section "Processor Architecture Type" for the LOONGARCH values: https://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xhtml For definitions of PE/COFF and LOONGARCH relocation types, see the "Machine Types" and "Basic Relocation Types" sections of this URL for LOONGARCH values: https://docs.microsoft.com/en-us/windows/win32/debug/pe-format For the register definitions of exceptions context, see the UEFI V2.10 18.2.2, 18.2.4 and 18.2.5 sections of this URL for LOONGARCH definitions: https://uefi.org/specs/UEFI/2.10/18_Protocols_Debugger_Support.html Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Signed-off-by: Chao Li <lichao@loongson.cn> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2021-12-07MdePkg: Apply uncrustify changesMichael Kubacki1-133/+133
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the MdePkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2021-12-07MdePkg: Change OPTIONAL keyword usage styleMichael D Kinney1-27/+27
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3760 Update all use of ', OPTIONAL' to ' OPTIONAL,' for function params. Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael Kubacki <michael.kubacki@microsoft.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2020-05-07MdePkg/Include: RISC-V definitions.Abner Chang1-0/+4
Add RISC-V processor related definitions. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2672 Signed-off-by: Abner Chang <abner.chang@hpe.com> Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Gilbert Chen <gilbert.chen@hpe.com>
2019-04-09MdePkg: Replace BSD License with BSD+Patent LicenseMichael D Kinney1-7/+1
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 <michael.d.kinney@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
2018-09-25MdePkg: Removing ipf which is no longer supported from edk2.Chen A Chen1-2/+0
Removing rules for Ipf sources file: * Remove the source file which path with "ipf" and also listed in [Sources.IPF] section of INF file. * Remove the source file which listed in [Components.IPF] section of DSC file and not listed in any other [Components] section. * Remove the embedded Ipf code for MDE_CPU_IPF. Removing rules for Inf file: * Remove IPF from VALID_ARCHITECTURES comments. * Remove DXE_SAL_DRIVER from LIBRARY_CLASS in [Defines] section. * Remove the INF which only listed in [Components.IPF] section in DSC. * Remove statements from [BuildOptions] that provide IPF specific flags. * Remove any IPF sepcific sections. Removing rules for Dec file: * Remove [Includes.IPF] section from Dec. Removing rules for Dsc file: * Remove IPF from SUPPORTED_ARCHITECTURES in [Defines] section of DSC. * Remove any IPF specific sections. * Remove statements from [BuildOptions] that provide IPF specific flags. Cc: Liming Gao <liming.gao@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chen A Chen <chen.a.chen@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
2018-06-28MdePkg: Clean up source filesLiming Gao1-134/+134
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 <liming.gao@intel.com>
2013-07-29MdePkg/PxeBaseCode.h: Added PXE Client ID for Aarch64Harry Liebel1-0/+4
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Harry Liebel <Harry.Liebel@arm.com> Signed-off-by: Olivier Martin <olivier.martin@arm.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14514 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23Update the copyright notice formathhtian1-1/+1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10403 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-13Grammatical and disclaimer changes (does not follow internal C coding stds.)myronporter1-54/+54
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10235 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-02Remove some comments according to the latest UEFI Spec 2_3_Errata_B.ljin61-6/+0
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10152 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-28Add PXE Tag Definitions for IA32/X64/Arm/IPF architectures.ljin61-0/+15
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9847 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-25Define EFI_PXE_BASE_CODE_DHCPV6_PACKET and EFI_PXE_BASE_CODE_PACKET for PXE ↵tye11-4/+17
over IPv6. It's not consistent with the current UEFI2.3 spec, but it's supposed to updated in the next version. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9802 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-03Clarify the UEFI/EFI specification version in file header comments.vanjeff1-2/+5
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9238 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-06De-unicode to pass VS2005 buildqhuang81-5/+5
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7466 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-06code scrub for UefiPxeBcDxe.jgong51-4/+213
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7452 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-08Add comments for most of enum data type.lgao41-8/+26
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6924 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-22apply for doxgen format comments. vanjeff1-0/+32
move 2 structure around PXE Base Code Protocol from UefiPxe.h to PxeBaseCode.h. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6187 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-13Formalize comments for Protocols and PPIs.xli241-9/+11
1. Use doxygen format for Protocol/PPI data structure 2. Remove doxygen comments for function elements in Protocol/Ppi 3. Use doxygen format for data elements in Protocol/Ppi, and add missing comments where necessary 4. PEI Services Table is also updated accordingly. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6107 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-09Fix doxygen comment for structure and macroklu21-48/+5
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6097 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-14Use doxygen comment style for document entity such as struct, enum, variable ↵klu21-30/+30
that use /// but not // git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5649 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-25Code Scrub for Protocol and Ppi Definitionlgao41-2/+60
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5564 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-24Fix doxygen issue:klu21-12/+12
1) comment for structure should be in doxygen format, such as /// , /**, /*! 2) comment for data field of structure should in doxygen format. 3) should not exist blank between ") (" when declaring a type of function point. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5364 6f19259b-4bc3-4df7-8a09-765794883524
2007-06-28Updated headers to follow coding standardAJFISH1-2/+0
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2815 6f19259b-4bc3-4df7-8a09-765794883524
2007-06-21Update Protocol for backward-compatible with EFI1.1.yshang11-3/+12
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2696 6f19259b-4bc3-4df7-8a09-765794883524
2007-06-19Checked in the Protocols introduced in UEFI/PI.yshang11-0/+622
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2674 6f19259b-4bc3-4df7-8a09-765794883524
2007-06-01Moved the MdePkg to OldMdePkg so that new code in MdePkg does not break ↵lhauch1-622/+0
existing builds. Also updated the SPD and FPD files UiNames git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2616 6f19259b-4bc3-4df7-8a09-765794883524
2006-11-031. Add the fix for the following Bugs:cwu111-2/+2
i) BMM_FAKE_NV_DATA definition inconsistent in bm.vfr and BootMain.h (EdkNt32Pkg\Dxe\PlatformBdsDxe\Generic\BootMaint\BootMain.h) ii) Change some files’ EOL(end of line) format to DOS. Some file use even mixed style EOL. (EdkModulePkg\Universal\DevicePath\Dxe\DevicePath.c, DevicepathFromText.c, DevicePathUtilities.c; EdkModulePkg\Universal\Disk\DiskIo\Dxe\diskIo.c; MdePkg\Library\UefiLib\UefiNotTiano.c) iii) Change some illegal characters in many files, the problem is mainly connected with people using Chinese Input method to input symbols such as ' " - ?, etc. Multiple files are influenced. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1890 6f19259b-4bc3-4df7-8a09-765794883524
2006-04-22Initial import.bbahnsen1-0/+622
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3 6f19259b-4bc3-4df7-8a09-765794883524