OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
OpenNetworkBoot.c File Reference

Go to the source code of this file.

Macros

#define ENROLL_CERT   L"enroll-cert"
 
#define DELETE_CERT   L"delete-cert"
 
#define DELETE_ALL_CERTS   L"delete-all-certs"
 

Functions

STATIC VOID InternalFreePickerEntry (IN OC_PICKER_ENTRY *Entry)
 
STATIC VOID EFIAPI FreeNetworkBootEntries (IN OC_PICKER_ENTRY **Entries, IN UINTN NumEntries)
 
STATIC EFI_STATUS InternalAddEntry (OC_FLEX_ARRAY *FlexPickerEntries, CHAR16 *Description, EFI_HANDLE Handle, CHAR16 *HttpBootUri, BOOLEAN IsIPv4, BOOLEAN IsHttpBoot)
 
STATIC EFI_STATUS EFIAPI GetNetworkBootEntries (IN OUT OC_PICKER_CONTEXT *PickerContext, IN CONST EFI_HANDLE Device OPTIONAL, OUT OC_PICKER_ENTRY **Entries, OUT UINTN *NumEntries)
 
STATIC EFI_STATUS EnrollCerts (OC_FLEX_ARRAY *ParsedLoadOptions)
 
EFI_STATUS EFIAPI UefiMain (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
 

Variables

BOOLEAN gRequireHttpsUri
 
STATIC BOOLEAN mAllowPxeBoot
 
STATIC BOOLEAN mAllowHttpBoot
 
STATIC BOOLEAN mAllowIpv4
 
STATIC BOOLEAN mAllowIpv6
 
STATIC BOOLEAN mAuxEntries
 
STATIC CHAR16 * mHttpBootUri
 
STATIC CHAR16 PxeBootId [] = L"PXE Boot IPv"
 
STATIC CHAR16 HttpBootId [] = L"HTTP Boot IPv"
 
STATIC OC_BOOT_ENTRY_PROTOCOL mNetworkBootEntryProtocol
 

Detailed Description

Boot entry protocol handler for PXE and HTTP Boot.

Copyright (c) 2024, Mike Beaton. All rights reserved.
SPDX-License-Identifier: BSD-3-Clause

Definition in file OpenNetworkBoot.c.

Macro Definition Documentation

◆ DELETE_ALL_CERTS

#define DELETE_ALL_CERTS   L"delete-all-certs"

Definition at line 12 of file OpenNetworkBoot.c.

◆ DELETE_CERT

#define DELETE_CERT   L"delete-cert"

Definition at line 11 of file OpenNetworkBoot.c.

◆ ENROLL_CERT

#define ENROLL_CERT   L"enroll-cert"

Definition at line 10 of file OpenNetworkBoot.c.

Function Documentation

◆ EnrollCerts()

STATIC EFI_STATUS EnrollCerts ( OC_FLEX_ARRAY * ParsedLoadOptions)

Definition at line 269 of file OpenNetworkBoot.c.

◆ FreeNetworkBootEntries()

STATIC VOID EFIAPI FreeNetworkBootEntries ( IN OC_PICKER_ENTRY ** Entries,
IN UINTN NumEntries )

Definition at line 62 of file OpenNetworkBoot.c.

◆ GetNetworkBootEntries()

STATIC EFI_STATUS EFIAPI GetNetworkBootEntries ( IN OUT OC_PICKER_CONTEXT * PickerContext,
IN CONST EFI_HANDLE Device OPTIONAL,
OUT OC_PICKER_ENTRY ** Entries,
OUT UINTN * NumEntries )

Definition at line 164 of file OpenNetworkBoot.c.

◆ InternalAddEntry()

STATIC EFI_STATUS InternalAddEntry ( OC_FLEX_ARRAY * FlexPickerEntries,
CHAR16 * Description,
EFI_HANDLE Handle,
CHAR16 * HttpBootUri,
BOOLEAN IsIPv4,
BOOLEAN IsHttpBoot )

Definition at line 85 of file OpenNetworkBoot.c.

◆ InternalFreePickerEntry()

STATIC VOID InternalFreePickerEntry ( IN OC_PICKER_ENTRY * Entry)

Definition at line 28 of file OpenNetworkBoot.c.

◆ UefiMain()

EFI_STATUS EFIAPI UefiMain ( IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE * SystemTable )

Definition at line 429 of file OpenNetworkBoot.c.

Variable Documentation

◆ gRequireHttpsUri

BOOLEAN gRequireHttpsUri

Set if we should enforce https only within this driver.

Definition at line 14 of file OpenNetworkBoot.c.

◆ HttpBootId

STATIC CHAR16 HttpBootId[] = L"HTTP Boot IPv"

Definition at line 24 of file OpenNetworkBoot.c.

◆ mAllowHttpBoot

STATIC BOOLEAN mAllowHttpBoot

Definition at line 17 of file OpenNetworkBoot.c.

◆ mAllowIpv4

STATIC BOOLEAN mAllowIpv4

Definition at line 18 of file OpenNetworkBoot.c.

◆ mAllowIpv6

STATIC BOOLEAN mAllowIpv6

Definition at line 19 of file OpenNetworkBoot.c.

◆ mAllowPxeBoot

STATIC BOOLEAN mAllowPxeBoot

Definition at line 16 of file OpenNetworkBoot.c.

◆ mAuxEntries

STATIC BOOLEAN mAuxEntries

Definition at line 20 of file OpenNetworkBoot.c.

◆ mHttpBootUri

STATIC CHAR16* mHttpBootUri

Definition at line 21 of file OpenNetworkBoot.c.

◆ mNetworkBootEntryProtocol

STATIC OC_BOOT_ENTRY_PROTOCOL mNetworkBootEntryProtocol
Initial value:
= {
NULL
}
#define OC_BOOT_ENTRY_PROTOCOL_REVISION
Definition OcBootEntry.h:31
STATIC VOID EFIAPI FreeNetworkBootEntries(IN OC_PICKER_ENTRY **Entries, IN UINTN NumEntries)
STATIC EFI_STATUS EFIAPI GetNetworkBootEntries(IN OUT OC_PICKER_CONTEXT *PickerContext, IN CONST EFI_HANDLE Device OPTIONAL, OUT OC_PICKER_ENTRY **Entries, OUT UINTN *NumEntries)

Definition at line 420 of file OpenNetworkBoot.c.

◆ PxeBootId

STATIC CHAR16 PxeBootId[] = L"PXE Boot IPv"

Definition at line 23 of file OpenNetworkBoot.c.