57 if ( ( efirc = bs->
OpenProtocol ( service, binding, &
u.interface,
61 DBGC ( service,
"EFISVC %s cannot open %s binding: %s\n",
68 if ( ( efirc =
u.sb->CreateChild (
u.sb,
handle ) ) != 0 ) {
70 DBGC ( service,
"EFISVC %s could not create %s child: %s\n",
78 DBGC ( service,
"EFISVC %s created %s child ",
106 DBGC ( service,
"EFISVC %s removing %s child ",
111 if ( ( efirc = bs->
OpenProtocol ( service, binding, &
u.interface,
115 DBGC ( service,
"EFISVC %s cannot open %s binding: %s\n",
122 if ( ( efirc =
u.sb->DestroyChild (
u.sb,
handle ) ) != 0 ) {
124 DBGC ( service,
"EFISVC %s could not destroy %s child ",
126 DBGC ( service,
"%s: %s\n",
EFI_BOOT_SERVICES * BootServices
A pointer to the EFI Boot Services Table.
struct arbelprm_rc_send_wqe rc
#define EEFI(efirc)
Convert an EFI status code to an iPXE status code.
128 bit buffer containing a unique identifier value.
int efi_service_del(EFI_HANDLE service, EFI_GUID *binding, EFI_HANDLE handle)
Remove service from child handle.
EFI_CLOSE_PROTOCOL CloseProtocol
#define EFI_OPEN_PROTOCOL_GET_PROTOCOL
UEFI Service Binding Protocol is defined in UEFI specification.
const char * efi_handle_name(EFI_HANDLE handle)
Get name of an EFI handle.
const char * efi_guid_ntoa(CONST EFI_GUID *guid)
Convert GUID to a printable string.
char * strerror(int errno)
Retrieve string representation of error number.
EFI_HANDLE efi_image_handle
Image handle passed to entry point.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
The EFI_SERVICE_BINDING_PROTOCOL provides member functions to create and destroy child handles.
int efi_service_add(EFI_HANDLE service, EFI_GUID *binding, EFI_HANDLE *handle)
Add service to child handle.
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
EFI_SYSTEM_TABLE * efi_systab
EFI_OPEN_PROTOCOL OpenProtocol