UEFI Specification 2.9 Errata A¶
Acknowledgments
The material contained herein is not a license, either expressly or impliedly, to any intellectual property owned or controlled by any of the authors or developers of this material or to any contribution thereto. The material contained herein is provided on an “AS IS” basis and, to the maximum extent permitted by applicable law, this information is provided AS IS AND WITH ALL FAULTS, and the authors and developers of this material hereby disclaim all other warranties and conditions, either express, implied or statutory, including, but not limited to, any (if any) implied warranties, duties or conditions of merchantability, of fitness for a particular purpose, of accuracy or completeness of responses, of results, of workmanlike effort, of lack of viruses and of lack of negligence, all with regard to this material and any contribution thereto. Designers must not rely on the absence or characteristics of any features or instructions marked “reserved” or “undefined.” The Unified EFI Forum, Inc. reserves any features or instructions so marked for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT WITH REGARD TO THE SPECIFICATION AND ANY CONTRIBUTION THERETO.
IN NO EVENT WILL ANY AUTHOR OR DEVELOPER OF THIS MATERIAL OR ANY CONTRIBUTION THERETO BE LIABLE TO ANY OTHER PARTY FOR THE COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST PROFITS, LOSS OF USE, LOSS OF DATA, OR ANY INCIDENTAL, CONSEQUENTIAL, DIRECT, INDIRECT, OR SPECIAL DAMAGES WHETHER UNDER CONTRACT, TORT, WARRANTY, OR OTHERWISE, ARISING IN ANY WAY OUT OF THIS OR ANY OTHER AGREEMENT RELATING TO THIS DOCUMENT, WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.
Copyright © 2022, Unified Extensible Firmware Interface (UEFI) Forum, Inc. All Rights Reserved. The UEFI Forum is the owner of all rights and title in and to this work, including all copyright rights that may exist, and all rights to use and reproduce this work. Further to such rights, permission is hereby granted to any person implementing this specification to maintain an electronic version of this work accessible by its internal personnel, and to print a copy of this specification in hard copy form, in whole or in part, in each case solely for use by that person in connection with the implementation of this Specification, provided no modification is made to the Specification.
- 1. Introduction
- 2. Overview
- 2.1. Boot Manager
- 2.2. Firmware Core
- 2.3. Calling Conventions
- 2.4. Protocols
- 2.5. UEFI Driver Model
- 2.6. Requirements
- 3. Boot Manager
- 4. EFI System Table
- 5. GUID Partition Table (GPT) Disk Layout
- 6. Block Translation Table (BTT) Layout
- 7. Services — Boot Services
- 7.1. Event, Timer, and Task Priority Services
- 7.1.1. EFI_BOOT_SERVICES.CreateEvent()
- 7.1.2. EFI_BOOT_SERVICES.CreateEventEx()
- 7.1.3. EFI_BOOT_SERVICES.CloseEvent()
- 7.1.4. EFI_BOOT_SERVICES.SignalEvent()
- 7.1.5. EFI_BOOT_SERVICES.WaitForEvent()
- 7.1.6. EFI_BOOT_SERVICES.CheckEvent()
- 7.1.7. EFI_BOOT_SERVICES.SetTimer()
- 7.1.8. EFI_BOOT_SERVICES.RaiseTPL()
- 7.1.9. EFI_BOOT_SERVICES.RestoreTPL()
- 7.2. Memory Allocation Services
- 7.3. Protocol Handler Services
- 7.3.1. Driver Model Boot Services
- 7.3.2. EFI_BOOT_SERVICES.InstallProtocolInterface()
- 7.3.3. EFI_BOOT_SERVICES.UninstallProtocolInterface()
- 7.3.4. EFI_BOOT_SERVICES.ReinstallProtocolInterface()
- 7.3.5. EFI_BOOT_SERVICES.RegisterProtocolNotify()
- 7.3.6. EFI_BOOT_SERVICES.LocateHandle()
- 7.3.7. EFI_BOOT_SERVICES.HandleProtocol()
- 7.3.8. EFI_BOOT_SERVICES.LocateDevicePath()
- 7.3.9. EFI_BOOT_SERVICES.OpenProtocol()
- 7.3.10. EFI_BOOT_SERVICES.CloseProtocol()
- 7.3.11. EFI_BOOT_SERVICES.OpenProtocolInformation()
- 7.3.12. EFI_BOOT_SERVICES.ConnectController()
- 7.3.13. EFI_BOOT_SERVICES.DisconnectController()
- 7.3.14. EFI_BOOT_SERVICES.ProtocolsPerHandle()
- 7.3.15. EFI_BOOT_SERVICES.LocateHandleBuffer()
- 7.3.16. EFI_BOOT_SERVICES.LocateProtocol()
- 7.3.17. EFI_BOOT_SERVICES.InstallMultipleProtocolInterfaces()
- 7.3.18. EFI_BOOT_SERVICES.UninstallMultipleProtocolInterfaces()
- 7.4. Image Services
- 7.5. Miscellaneous Boot Services
- 7.1. Event, Timer, and Task Priority Services
- 8. Services — Runtime Services
- 8.1. Runtime Services Rules and Restrictions
- 8.2. Variable Services
- 8.2.1. GetVariable()
- 8.2.2. GetNextVariableName()
- 8.2.3. SetVariable()
- 8.2.4. QueryVariableInfo()
- 8.2.5. Using the EFI_VARIABLE_AUTHENTICATION_3 descriptor
- 8.2.6. Using the EFI_VARIABLE_AUTHENTICATION_2 descriptor
- 8.2.7. Using the EFI_VARIABLE_AUTHENTICATION descriptor
- 8.2.8. Hardware Error Record Persistence
- 8.3. Time Services
- 8.4. Virtual Memory Services
- 8.5. Miscellaneous Runtime Services
- 8.5.1. Reset System
- 8.5.2. Get Next High Monotonic Count
- 8.5.3. Update Capsule
- 8.5.4. Exchanging information between the OS and Firmware
- 8.5.5. Delivery of Capsules via file on Mass Storage Device
- 8.5.6. UEFI variable reporting on the Success or any Errors encountered in processing of capsules after restart
- 9. Protocols - EFI Loaded Image
- 10. Protocols – Device Path Protocol
- 10.1. Device Path Overview
- 10.2. EFI Device Path Protocol
- 10.3. Device Path Nodes
- 10.3.1. Generic Device Path Structures
- 10.3.2. Hardware Device Path
- 10.3.3. ACPI Device Path
- 10.3.4. Messaging Device Path
- 10.3.4.1. ATAPI Device Path
- 10.3.4.2. SCSI Device Path
- 10.3.4.3. Fibre Channel Device Path
- 10.3.4.4. 1394 Device Path
- 10.3.4.5. USB Device Paths
- 10.3.4.6. SATA Device Path
- 10.3.4.7. USB Device Paths (WWID)
- 10.3.4.8. Device Logical Unit
- 10.3.4.9. I 2 O Device Path
- 10.3.4.10. MAC Address Device Path
- 10.3.4.11. IPv4 Device Path
- 10.3.4.12. IPv6 Device Path
- 10.3.4.13. 2. VLAN device path node
- 10.3.4.14. InfiniBand Device Path
- 10.3.4.15. UART Device Path
- 10.3.4.16. Vendor-Defined Messaging Device Path
- 10.3.4.17. UART Flow Control Messaging Path
- 10.3.4.18. Serial Attached SCSI (SAS) Device Path
- 10.3.4.19. Serial Attached SCSI (SAS) Extended Device Path
- 10.3.4.20. iSCSI Device Path
- 10.3.4.21. NVM Express namespace messaging device path node
- 10.3.4.22. Uniform Resource Identifiers (URI) Device Path
- 10.3.4.23. UFS (Universal Flash Storage) device messaging devicepath node
- 10.3.4.24. SD (Secure Digital) Device Path
- 10.3.4.25. EFI Bluetooth Device Path
- 10.3.4.26. Wireless Device Path
- 10.3.4.27. eMMC (Embedded Multi-Media Card) Device Path
- 10.3.4.28. EFI BluetoothLE Device Path
- 10.3.4.29. DNS Device Path
- 10.3.4.30. NVDIMM Namespace path
- 10.3.4.31. REST Service Device Path
- 10.3.5. Media Device Path
- 10.3.6. BIOS Boot Specification Device Path
- 10.4. Device Path Generation Rules
- 10.5. Device Path Utilities Protocol
- 10.5.1. EFI_DEVICE_PATH_UTILITIES_PROTOCOL
- 10.5.2. EFI_DEVICE_PATH_UTILITIES_PROTOCOL.GetDevicePathSize()
- 10.5.3. EFI_DEVICE_PATH_UTILITIES_PROTOCOL.DuplicateDevicePath()
- 10.5.4. EFI_DEVICE_PATH_UTILITIES_PROTOCOL.AppendDevicePath()
- 10.5.5. EFI_DEVICE_PATH_UTILITIES_PROTOCOL.AppendDeviceNode()
- 10.5.6. EFI_DEVICE_PATH_UTILITIES_PROTOCOL.AppendDevicePathInstance()
- 10.5.7. EFI_DEVICE_PATH_UTILITIES_PROTOCOL.GetNextDevicePathInstance()
- 10.5.8. EFI_DEVICE_PATH_UTILITIES_PROTOCOL.CreateDeviceNode()
- 10.5.9. EFI_DEVICE_PATH_UTILITIES_PROTOCOL.IsDevicePathMultiInstance()
- 10.6. EFI Device Path Display Format Overview
- 11. Protocols — UEFI Driver Model
- 11.1. EFI Driver Binding Protocol
- 11.2. EFI Platform Driver Override Protocol
- 11.3. EFI Bus Specific Driver Override Protocol
- 11.4. EFI Driver Diagnostics Protocol
- 11.5. EFI Component Name Protocol
- 11.6. EFI Service Binding Protocol
- 11.7. EFI Platform to Driver Configuration Protocol
- 11.8. EFI Driver Supported EFI Version Protocol
- 11.9. EFI Driver Family Override Protocol
- 11.10. EFI Driver Health Protocol
- 11.11. EFI Adapter Information Protocol
- 11.12. EFI Adapter Information Protocol Information Types
- 12. Protocols — Console Support
- 12.1. Console I/O Protocol
- 12.2. Simple Text Input Ex Protocol
- 12.2.1. EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL
- 12.2.2. EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.Reset()
- 12.2.3. EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.ReadKeyStrokeEx()
- 12.2.4. EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.SetState()
- 12.2.5. EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.RegisterKeyNotify()
- 12.2.6. EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.UnregisterKeyNotify()
- 12.3. Simple Text Input Protocol
- 12.4. Simple Text Output Protocol
- 12.4.1. EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL
- 12.4.2. EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.Reset()
- 12.4.3. EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.OutputString()
- 12.4.4. EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.TestString()
- 12.4.5. EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.QueryMode()
- 12.4.6. EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.SetMode()
- 12.4.7. EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.SetAttribute()
- 12.4.8. EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.ClearScreen()
- 12.4.9. EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.SetCursorPosition()
- 12.4.10. EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.EnableCursor()
- 12.5. Simple Pointer Protocol
- 12.6. EFI Simple Pointer Device Paths
- 12.7. Absolute Pointer Protocol
- 12.8. Serial I/O Protocol
- 12.9. Graphics Output Protocol
- 12.9.1. Blt Buffer
- 12.9.2. EFI_GRAPHICS_OUTPUT_PROTOCOL
- 12.9.2.1. EFI_GRAPHICS_OUTPUT_PROTOCOL.QueryMode()
- 12.9.2.2. EFI_GRAPHICS_OUTPUT_PROTOCOL.SetMode()
- 12.9.2.3. EFI_GRAPHICS_OUTPUT_PROTOCOL.Blt()
- 12.9.2.4. EFI_EDID_DISCOVERED_PROTOCOL
- 12.9.2.5. EFI_EDID_ACTIVE_PROTOCOL
- 12.9.2.6. EFI_EDID_OVERRIDE_PROTOCOL
- 12.9.2.7. EFI_EDID_OVERRIDE_PROTOCOL.GetEdid()
- 12.10. Rules for PCI/AGP Devices
- 13. Protocols – Media Access
- 13.1. Load File Protocol
- 13.2. Load File 2 Protocol
- 13.3. File System Format
- 13.4. Simple File System Protocol
- 13.5. File Protocol
- 13.5.1. EFI_FILE_PROTOCOL
- 13.5.2. EFI_FILE_PROTOCOL.Open()
- 13.5.3. EFI_FILE_PROTOCOL.Close()
- 13.5.4. EFI_FILE_PROTOCOL.Delete()
- 13.5.5. EFI_FILE_PROTOCOL.Read()
- 13.5.6. EFI_FILE_PROTOCOL.Write()
- 13.5.7. EFI_FILE_PROTOCOL.OpenEx()
- 13.5.8. EFI_FILE_PROTOCOL.ReadEx()
- 13.5.9. EFI_FILE_PROTOCOL.WriteEx()
- 13.5.10. EFI_FILE_PROTOCOL.FlushEx()
- 13.5.11. EFI_FILE_PROTOCOL.SetPosition()
- 13.5.12. EFI_FILE_PROTOCOL.GetPosition()
- 13.5.13. EFI_FILE_PROTOCOL.GetInfo()
- 13.5.14. EFI_FILE_PROTOCOL.SetInfo()
- 13.5.15. EFI_FILE_PROTOCOL.Flush()
- 13.5.16. EFI_FILE_INFO
- 13.5.17. EFI_FILE_SYSTEM_INFO
- 13.5.18. EFI_FILE_SYSTEM_VOLUME_LABEL
- 13.6. Tape Boot Support
- 13.7. Disk I/O Protocol
- 13.8. Disk I/O 2 Protocol
- 13.9. Block I/O Protocol
- 13.10. Block I/O 2 Protocol
- 13.11. Inline Cryptographic Interface Protocol
- 13.11.1. EFI_BLOCK_IO_CRYPTO_PROTOCOL
- 13.11.2. EFI_BLOCK_IO_CRYPTO_PROTOCOL.Reset()
- 13.11.3. EFI_BLOCK_IO_CRYPTO_PROTOCOL.GetCapabilities()
- 13.11.4. EFI_BLOCK_IO_CRYPTO_PROTOCOL.SetConfiguration()
- 13.11.5. EFI_BLOCK_IO_CRYPTO_PROTOCOL.GetConfiguration()
- 13.11.6. EFI_BLOCK_IO_CRYPTO_PROTOCOL.ReadExtended()
- 13.11.7. EFI_BLOCK_IO_CRYPTO_PROTOCOL.WriteExtended()
- 13.11.8. EFI_BLOCK_IO_CRYPTO_PROTOCOL.FlushBlocks()
- 13.12. Erase Block Protocol
- 13.13. ATA Pass Thru Protocol
- 13.13.1. EFI_ATA_PASS_THRU_PROTOCOL
- 13.13.2. EFI_ATA_PASS_THRU_PROTOCOL.PassThru()
- 13.13.3. EFI_ATA_PASS_THRU_PROTOCOL.GetNextPort()
- 13.13.4. EFI_ATA_PASS_THRU_PROTOCOL.GetNextDevice()
- 13.13.5. EFI_ATA_PASS_THRU_PROTOCOL.BuildDevicePath()
- 13.13.6. EFI_ATA_PASS_THRU_PROTOCOL.GetDevice()
- 13.13.7. EFI_ATA_PASS_THRU_PROTOCOL.ResetPort()
- 13.13.8. EFI_ATA_PASS_THRU_PROTOCOL.ResetDevice()
- 13.14. Storage Security Command Protocol
- 13.15. NVM Express Pass Through Protocol
- 13.16. SD MMC Pass Thru Protocol
- 13.16.1. EFI_SD_MMC_PASS_THRU_PROTOCOL
- 13.16.2. EFI_SD_MMC_PASS_THRU_PROTOCOL.PassThru()
- 13.16.3. EFI_SD_MMC_PASS_THRU_PROTOCOL.GetNextSlot()
- 13.16.4. EFI_SD_MMC_PASS_THRU_PROTOCOL.BuildDevicePath()
- 13.16.5. EFI_SD_MMC_PASS_THRU_PROTOCOL.GetSlotNumber()
- 13.16.6. EFI_SD_MMC_PASS_THRU_PROTOCOL.ResetDevice()
- 13.17. RAM Disk Protocol
- 13.18. Partition Information Protocol
- 13.19. NVDIMM Label Protocol
- 13.20. EFI UFS Device Config Protocol
- 14. Protocols — PCI Bus Support
- 14.1. PCI Root Bridge I/O Support
- 14.2. PCI Root Bridge I/O Protocol
- 14.2.1. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL
- 14.2.2. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.PollMem()
- 14.2.3. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.PollIo()
- 14.2.4. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.Mem.Read()
- 14.2.5. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.Mem.Write()
- 14.2.6. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.Io.Read()
- 14.2.7. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.Io.Write()
- 14.2.8. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.Pci.Read()
- 14.2.9. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.Pci.Write()
- 14.2.10. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.CopyMem()
- 14.2.11. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.Map()
- 14.2.12. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.Unmap()
- 14.2.13. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.AllocateBuffer()
- 14.2.14. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.FreeBuffer()
- 14.2.15. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.Flush()
- 14.2.16. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.GetAttributes()
- 14.2.17. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.SetAttributes()
- 14.2.18. EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.Configuration()
- 14.2.19. PCI Root Bridge Device Paths
- 14.3. PCI Driver Model
- 14.3.1. PCI Driver Initialization
- 14.3.2. Driver Diagnostics Protocol
- 14.3.3. Component Name Protocol
- 14.3.4. Driver Family Override Protocol
- 14.3.5. PCI Bus Drivers
- 14.3.6. Driver Binding Protocol for PCI Bus Drivers
- 14.3.7. PCI Enumeration
- 14.3.8. PCI Device Drivers
- 14.3.9. Driver Binding Protocol for PCI Device Drivers
- 14.4. EFI PCI I/O Protocol
- 14.4.1. EFI_PCI_IO_PROTOCOL
- 14.4.2. EFI_PCI_IO_PROTOCOL.PollMem()
- 14.4.3. EFI_PCI_IO_PROTOCOL.PollIo()
- 14.4.4. EFI_PCI_IO_PROTOCOL.Mem.Read()
- 14.4.5. EFI_PCI_IO_PROTOCOL.Mem.Write()
- 14.4.6. EFI_PCI_IO_PROTOCOL.Io.Read()
- 14.4.7. EFI_PCI_IO_PROTOCOL.Io.Write()
- 14.4.8. EFI_PCI_IO_PROTOCOL.Pci.Read()
- 14.4.9. EFI_PCI_IO_PROTOCOL.Pci.Write()
- 14.4.10. EFI_PCI_IO_PROTOCOL.CopyMem()
- 14.4.11. EFI_PCI_IO_PROTOCOL.Map()
- 14.4.12. EFI-PCI-IO-PROTOCOL-Unmap()
- 14.4.13. EFI_PCI_IO_PROTOCOL.AllocateBuffer()
- 14.4.14. EFI_PCI_IO_PROTOCOL.FreeBuffer()
- 14.4.15. EFI_PCI_IO_PROTOCOL.Flush()
- 14.4.16. EFI_PCI_IO_PROTOCOL.GetLocation()
- 14.4.17. EFI_PCI_IO_PROTOCOL.Attributes()
- 14.4.18. EFI_PCI_IO_PROTOCOL.GetBarAttributes()
- 14.4.19. EFI_PCI_IO_PROTOCOL.SetBarAttributes()
- 14.4.20. PCI Device Paths
- 14.4.21. PCI Option ROMs
- 14.4.22. PCI Bus Driver Responsibilities
- 14.4.23. PCI Device Driver Responsibilities
- 14.4.24. Nonvolatile Storage
- 14.4.25. PCI Hot-Plug Events
- 15. Protocols — SCSI Driver Models and Bus Support
- 15.1. SCSI Driver Model Overview
- 15.2. SCSI Bus Drivers
- 15.3. SCSI Device Drivers
- 15.4. EFI SCSI I/O Protocol
- 15.5. SCSI Device Paths
- 15.6. SCSI Pass Thru Device Paths
- 15.7. Extended SCSI Pass Thru Protocol
- 15.7.1. EFI_EXT_SCSI_PASS_THRU_PROTOCOL
- 15.7.2. EFI_EXT_SCSI_PASS_THRU_PROTOCOL.PassThru()
- 15.7.3. EFI_EXT_SCSI_PASS_THRU_PROTOCOL.GetNextTargetLun()
- 15.7.4. EFI_EXT_SCSI_PASS_THRU_PROTOCOL.BuildDevicePath()
- 15.7.5. EFI_EXT_SCSI_PASS_THRU_PROTOCOL.GetTargetLun()
- 15.7.6. EFI_EXT_SCSI_PASS_THRU_PROTOCOL.ResetChannel()
- 15.7.7. EFI_EXT_SCSI_PASS_THRU_PROTOCOL.ResetTargetLun()
- 15.7.8. EFI_EXT_SCSI_PASS_THRU_PROTOCOL.GetNextTarget()
- 16. Protocols — iSCSI Boot
- 17. Protocols — USB Support
- 17.1. USB2 Host Controller Protocol
- 17.1.1. USB Host Controller Protocol Overview
- 17.1.2. EFI_USB2_HC_PROTOCOL
- 17.1.3. EFI_USB2_HC_PROTOCOL.GetCapability()
- 17.1.4. EFI_USB2_HC_PROTOCOL.Reset()
- 17.1.5. EFI_USB2_HC_PROTOCOL.GetState()
- 17.1.6. EFI_USB2_HC_PROTOCOL.SetState()
- 17.1.7. EFI_USB2_HC_PROTOCOL.ControlTransfer()
- 17.1.8. EFI_USB2_HC_PROTOCOL.BulkTransfer()
- 17.1.9. EFI_USB2_HC_PROTOCOL.AsyncInterruptTransfer()
- 17.1.10. EFI_USB2_HC_PROTOCOL.SyncInterruptTransfer()
- 17.1.11. EFI_USB2_HC_PROTOCOL.IsochronousTransfer()
- 17.1.12. EFI_USB2_HC_PROTOCOL.AsyncIsochronousTransfer()
- 17.1.13. EFI_USB2_HC_PROTOCOL.GetRootHubPortStatus()
- 17.1.14. EFI_USB2_HC_PROTOCOL.SetRootHubPortFeature()
- 17.1.15. EFI_USB2_HC_PROTOCOL.ClearRootHubPortFeature()
- 17.2. USB Driver Model
- 17.2.1. Scope
- 17.2.2. USB Bus Driver
- 17.2.3. USB Device Driver
- 17.2.4. USB I/O Protocol
- 17.2.5. EFI_USB_IO_PROTOCOL
- 17.2.6. EFI_USB_IO_PROTOCOL.UsbControlTransfer()
- 17.2.7. EFI_USB_IO_PROTOCOL.UsbBulkTransfer()
- 17.2.8. EFI_USB_IO_PROTOCOL.UsbAsyncInterruptTransfer()
- 17.2.9. EFI_USB_IO_PROTOCOL.UsbSyncInterruptTransfer()
- 17.2.10. EFI_USB_IO_PROTOCOL.UsbIsochronousTransfer()
- 17.2.11. EFI_USB_IO_PROTOCOL.UsbAsyncIsochronousTransfer()
- 17.2.12. EFI_USB_IO_PROTOCOL.UsbGetDeviceDescriptor()
- 17.2.13. EFI_USB_IO_PROTOCOL.UsbGetConfigDescriptor()
- 17.2.14. EFI_USB_IO_PROTOCOL.UsbGetInterfaceDescriptor()
- 17.2.15. EFI_USB_IO_PROTOCOL.UsbGetEndpointDescriptor()
- 17.2.16. EFI_USB_IO_PROTOCOL.UsbGetStringDescriptor()
- 17.2.17. EFI_USB_IO_PROTOCOL.UsbGetSupportedLanguages()
- 17.2.18. EFI_USB_IO_PROTOCOL.UsbPortReset()
- 17.3. USB Function Protocol
- 17.3.1. EFI_USBFN_IO_PROTOCOL
- 17.3.2. EFI_USBFN_IO_PROTOCOL.DetectPort()
- 17.3.3. EFI_USBFN_IO_PROTOCOL.ConfigureEnableEndpoints()
- 17.3.4. EFI_USBFN_IO_PROTOCOL.GetEndpointMaxPacketSize()
- 17.3.5. EFI_USBFN_IO_PROTOCOL.GetDeviceInfo()
- 17.3.6. EFI_USBFN_IO_PROTOCOL.GetVendorIdProductId()
- 17.3.7. EFI_USBFN_IO_PROTOCOL.AbortTransfer()
- 17.3.8. EFI_USBFN_IO_PROTOCOL.GetEndpointStallState()
- 17.3.9. EFI_USBFN_IO_PROTOCOL.SetEndpointStallState()
- 17.3.10. EFI_USBFN_IO_PROTOCOL.EventHandler()
- 17.3.11. EFI_USBFN_IO_PROTOCOL.Transfer()
- 17.3.12. EFI_USBFN_IO_PROTOCOL.GetMaxTransferSize()
- 17.3.13. EFI_USBFN_IO_PROTOCOL.AllocateTransferBuffer()
- 17.3.14. EFI_USBFN_IO_PROTOCOL.FreeTransferBuffer()
- 17.3.15. EFI_USBFN_IO_PROTOCOL.StartController()
- 17.3.16. EFI_USBFN_IO_PROTOCOL.StopController()
- 17.3.17. EFI_USBFN_IO_PROTOCOL.SetEndpointPolicy()
- 17.3.18. EFI_USBFN_IO_PROTOCOL.GetEndpointPolicy()
- 17.3.19. USB Function Sequence Diagram
- 17.1. USB2 Host Controller Protocol
- 18. Protocols — Debugger Support
- 18.1. Overview
- 18.2. EFI Debug Support Protocol
- 18.2.1. EFI Debug Support Protocol Overview
- 18.2.2. EFI_DEBUG_SUPPORT_PROTOCOL
- 18.2.3. EFI_DEBUG_SUPPORT_PROTOCOL.GetMaximumProcessorIndex()
- 18.2.4. EFI_DEBUG_SUPPORT_PROTOCOL.RegisterPeriodicCallback()
- 18.2.5. EFI_DEBUG_SUPPORT_PROTOCOL.RegisterExceptionCallback()
- 18.2.6. EFI_DEBUG_SUPPORT_PROTOCOL.InvalidateInstructionCache()
- 18.3. EFI Debugport Protocol
- 18.4. EFI Debug Support Table
- 19. Protocols — Compression Algorithm Specification
- 20. Protocols — ACPI Protocols
- 21. Protocols — String Services
- 21.1. Unicode Collation Protocol
- 21.1.1. EFI_UNICODE_COLLATION_PROTOCOL
- 21.1.2. EFI_UNICODE_COLLATION_PROTOCOL.StriColl()
- 21.1.3. EFI_UNICODE_COLLATION_PROTOCOL.MetaiMatch()
- 21.1.4. EFI_UNICODE_COLLATION_PROTOCOL.StrLwr()
- 21.1.5. EFI_UNICODE_COLLATION_PROTOCOL.StrUpr()
- 21.1.6. EFI_UNICODE_COLLATION_PROTOCOL.FatToStr()
- 21.1.7. EFI_UNICODE_COLLATION_PROTOCOL.StrToFat()
- 21.2. Regular Expression Protocol
- 21.1. Unicode Collation Protocol
- 22. EFI Byte Code Virtual Machine
- 22.1. Overview
- 22.2. Memory Ordering
- 22.3. Virtual Machine Registers
- 22.4. Natural Indexing
- 22.5. EBC Instruction Operands
- 22.6. EBC Instruction Syntax
- 22.7. Instruction Encoding
- 22.8. EBC Instruction Set
- 22.8.1. ADD
- 22.8.2. AND
- 22.8.3. ASHR
- 22.8.4. BREAK
- 22.8.5. CALL
- 22.8.6. CMP
- 22.8.7. CMPI
- 22.8.8. DIV
- 22.8.9. DIVU
- 22.8.10. EXTNDB
- 22.8.11. EXTNDD
- 22.8.12. EXTNDW
- 22.8.13. JMP
- 22.8.14. JMP8
- 22.8.15. LOADSP
- 22.8.16. MOD
- 22.8.17. MODU
- 22.8.18. MOV
- 22.8.19. MOVI
- 22.8.20. MOVIn
- 22.8.21. MOVn
- 22.8.22. MOVREL
- 22.8.23. MOVsn
- 22.8.24. MUL
- 22.8.25. MULU
- 22.8.26. NEG
- 22.8.27. NOT
- 22.8.28. OR
- 22.8.29. POP
- 22.8.30. POPn
- 22.8.31. PUSH
- 22.8.32. PUSHn
- 22.8.33. RET
- 22.8.34. SHL
- 22.8.35. SHR
- 22.8.36. STORESP
- 22.8.37. SUB
- 22.8.38. XOR
- 22.9. Runtime and Software Conventions
- 22.10. Architectural Requirements
- 22.11. EBC Interpreter Protocol
- 22.12. EBC Tools
- 22.12.1. EBC C Compiler
- 22.12.2. C Coding Convention
- 22.12.3. EBC Interface Assembly Instructions
- 22.12.4. Stack Maintenance and Argument Passing
- 22.12.5. Native to EBC Arguments Calling Convention
- 22.12.6. EBC to Native Arguments Calling Convention
- 22.12.7. EBC to EBC Arguments Calling Convention
- 22.12.8. Function Returns
- 22.12.9. Function Return Values
- 22.12.10. Thunking
- 22.12.11. EBC Linker
- 22.12.12. Image Loader
- 22.12.13. Debug Support
- 22.13. VM Exception Handling
- 22.14. Option ROM Formats
- 23. Firmware Update and Reporting
- 23.1. Firmware Management Protocol
- 23.1.1. EFI_FIRMWARE_MANAGEMENT_PROTOCOL
- 23.1.2. EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImageInfo()
- 23.1.3. EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImage()
- 23.1.4. EFI_FIRMWARE_MANAGEMENT_PROTOCOL.SetImage()
- 23.1.5. EFI_FIRMWARE_MANAGEMENT_PROTOCOL.CheckImage()
- 23.1.6. EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetPackageInfo()
- 23.1.7. EFI_FIRMWARE_MANAGEMENT_PROTOCOL.SetPackageInfo()
- 23.2. Dependency Expression Instruction Set
- 23.3. Delivering Capsules Containing Updates toFirmware Management Protocol
- 23.4. EFI System Resource Table
- 23.5. Delivering Capsule Containing JSON payload
- 23.1. Firmware Management Protocol
- 24. Network Protocols — SNP, PXE, BIS and HTTP Boot
- 24.1. Simple Network Protocol
- 24.1.1. EFI_SIMPLE_NETWORK_PROTOCOL
- 24.1.2. EFI_SIMPLE_NETWORK.Start()
- 24.1.3. EFI_SIMPLE_NETWORK.Stop()
- 24.1.4. EFI_SIMPLE_NETWORK.Initialize()
- 24.1.5. EFI_SIMPLE_NETWORK.Reset()
- 24.1.6. EFI_SIMPLE_NETWORK.Shutdown()
- 24.1.7. EFI_SIMPLE_NETWORK.ReceiveFilters()
- 24.1.8. EFI_SIMPLE_NETWORK.StationAddress()
- 24.1.9. EFI_SIMPLE_NETWORK.Statistics()
- 24.1.10. EFI_SIMPLE_NETWORK.MCastIPtoMAC()
- 24.1.11. EFI_SIMPLE_NETWORK.NvData()
- 24.1.12. EFI_SIMPLE_NETWORK.GetStatus()
- 24.1.13. EFI_SIMPLE_NETWORK.Transmit()
- 24.1.14. EFI_SIMPLE_NETWORK.Receive()
- 24.2. Network Interface Identifier Protocol
- 24.3. PXE Base Code Protocol
- 24.3.1. EFI_PXE_BASE_CODE_PROTOCOL
- 24.3.2. DHCP Packet Data Types
- 24.3.3. IP Receive Filter Settings
- 24.3.4. ARP Cache Entries
- 24.3.5. Filter Operations for UDP Read/Write Functions
- 24.3.6. EFI_PXE_BASE_CODE_PROTOCOL.Start()
- 24.3.7. EFI_PXE_BASE_CODE_PROTOCOL.Stop()
- 24.3.8. EFI_PXE_BASE_CODE_PROTOCOL.Dhcp()
- 24.3.9. EFI_PXE_BASE_CODE_PROTOCOL.Discover()
- 24.3.10. EFI_PXE_BASE_CODE_PROTOCOL.Mtftp()
- 24.3.11. EFI_PXE_BASE_CODE_PROTOCOL.UdpWrite()
- 24.3.12. EFI_PXE_BASE_CODE_PROTOCOL.UdpRead()
- 24.3.13. EFI_PXE_BASE_CODE_PROTOCOL.SetIpFilter()
- 24.3.14. EFI_PXE_BASE_CODE_PROTOCOL.Arp()
- 24.3.15. EFI_PXE_BASE_CODE_PROTOCOL.SetParameters()
- 24.3.16. EFI_PXE_BASE_CODE_PROTOCOL.SetStationIp()
- 24.3.17. EFI_PXE_BASE_CODE_PROTOCOL.SetPackets()
- 24.3.18. Netboot6
- 24.4. PXE Base Code Callback Protocol
- 24.5. Boot Integrity Services Protocol
- 24.5.1. EFI_BIS_PROTOCOL
- 24.5.2. EFI_BIS_PROTOCOL.Initialize()
- 24.5.3. EFI_BIS_PROTOCOL.Shutdown()
- 24.5.4. EFI_BIS_PROTOCOL.Free()
- 24.5.5. EFI_BIS_PROTOCOL.GetBootObjectAuthorizationCertificate()
- 24.5.6. EFI_BIS_PROTOCOL.GetBootObjectAuthorizationCheckFlag()
- 24.5.7. EFI_BIS_PROTOCOL.GetBootObjectAuthorizationUpdateToken()
- 24.5.8. EFI_BIS_PROTOCOL.GetSignatureInfo()
- 24.5.9. EFI_BIS_PROTOCOL.UpdateBootObjectAuthorization()
- 24.5.10. EFI_BIS_PROTOCOL.VerifyBootObject()
- 24.5.11. EFI_BIS_PROTOCOL.VerifyObjectWithCredential()
- 24.6. DHCP options for ISCSI on IPV6
- 24.7. HTTP Boot
- 24.7.1. Boot from URL
- 24.7.2. Concept configuration for a typical HTTP Bootscenario
- 24.7.3. Protocol Layout for UEFI HTTP Boot Clientconcept configuration for a typical HTTP Boot scenario
- 24.7.4. Concept of Message Exchange in a typical HTTPBoot scenario (IPv4 in Corporate Environment)
- 24.7.5. Priority1
- 24.7.6. Priority2
- 24.7.7. Priority3
- 24.7.8. Priority4
- 24.7.9. Concept of Message Exchange in HTTP Bootscenario (IPv6)
- 24.7.10. EFI HTTP Boot Callback Protocol
- 24.7.11. EFI_HTTP_BOOT_CALLBACK_PROTOCOL
- 24.7.12. EFI_HTTP_BOOT_CALLBACK_PROTOCOL.Callback()
- 24.1. Simple Network Protocol
- 25. Network Protocols - Managed Network
- 25.1. EFI Managed Network Protocol
- 25.1.1. EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL
- 25.1.2. EFI_MANAGED_NETWORK_PROTOCOL
- 25.1.3. EFI_MANAGED_NETWORK_PROTOCOL.GetModeData()
- 25.1.4. EFI_MANAGED_NETWORK_PROTOCOL.Configure()
- 25.1.5. EFI_MANAGED_NETWORK_PROTOCOL.McastIpToMac()
- 25.1.6. EFI_MANAGED_NETWORK_PROTOCOL.Groups()
- 25.1.7. EFI_MANAGED_NETWORK_PROTOCOL.Transmit()
- 25.1.8. EFI_MANAGED_NETWORK_PROTOCOL.Receive()
- 25.1.9. EFI_MANAGED_NETWORK_PROTOCOL.Cancel()
- 25.1.10. EFI_MANAGED_NETWORK_PROTOCOL.Poll()
- 25.1. EFI Managed Network Protocol
- 26. Network Protocols — Bluetooth
- 26.1. EFI Bluetooth Host Controller Protocol
- 26.1.1. EFI_BLUETOOTH_HC_PROTOCOL
- 26.1.2. BLUETOOTH_HC_PROTOCOL.SendCommand()
- 26.1.3. BLUETOOTH_HC_PROTOCOL.ReceiveEvent()
- 26.1.4. BLUETOOTH_HC_PROTOCOL.AsyncReceiveEvent()
- 26.1.5. BLUETOOTH_HC_PROTOCOL.SendACLData()
- 26.1.6. BLUETOOTH_HC_PROTOCOL.ReceiveACLData()
- 26.1.7. BLUETOOTH_HC_PROTOCOL.AsyncReceiveACLData()
- 26.1.8. BLUETOOTH_HC_PROTOCOL.SendSCOData()
- 26.1.9. BLUETOOTH_HC_PROTOCOL.ReceiveSCOData()
- 26.1.10. BLUETOOTH_HC_PROTOCOL.AsyncReceiveSCOData()
- 26.2. EFI Bluetooth Bus Protocol
- 26.2.1. EFI_BLUETOOTH_IO_SERVICE_BINDING_PROTOCOL
- 26.2.2. EFI_BLUETOOTH_IO_PROTOCOL
- 26.2.3. BLUETOOTH_IO_PROTOCOL.GetDeviceInfo
- 26.2.4. BLUETOOTH_IO_PROTOCOL.GetSdpInfo
- 26.2.5. BLUETOOTH_IO_PROTOCOL.L2CapRawSend
- 26.2.6. BLUETOOTH_IO_PROTOCOL.L2CapRawReceive
- 26.2.7. BLUETOOTH_IO_PROTOCOL.L2CapRawAsyncReceive
- 26.2.8. BLUETOOTH_IO_PROTOCOL.L2CapSend
- 26.2.9. BLUETOOTH_IO_PROTOCOL.L2CapReceive
- 26.2.10. BLUETOOTH_IO_PROTOCOL.L2CapAsyncReceive
- 26.2.11. BLUETOOTH_IO_PROTOCOL.L2CapConnect
- 26.2.12. BLUETOOTH_IO_PROTOCOL.L2CapDisconnect
- 26.2.13. BLUETOOTH_IO_PROTOCOL.L2CapRegisterService
- 26.3. EFI Bluetooth Configuration Protocol
- 26.3.1. EFI_BLUETOOTH_CONFIG_PROTOCOL
- 26.3.2. BLUETOOTH_CONFIG_PROTOCOL.Init
- 26.3.3. BLUETOOTH_CONFIG_PROTOCOL.Scan
- 26.3.4. BLUETOOTH_CONFIG_PROTOCOL.Connect
- 26.3.5. BLUETOOTH_CONFIG_PROTOCOL.Disconnect
- 26.3.6. BLUETOOTH_CONFIG_PROTOCOL.GetData
- 26.3.7. BLUETOOTH_CONFIG_PROTOCOL.SetData
- 26.3.8. BLUETOOTH_CONFIG_PROTOCOL.GetRemoteData
- 26.3.9. BLUETOOTH_CONFIG_PROTOCOL.RegisterPinCallback
- 26.3.10. BLUETOOTH_CONFIG_PROTOCOL.RegisterGetLinkKeyCallback
- 26.3.11. BLUETOOTH_CONFIG_PROTOCOL.RegisterSetLinkKeyCallback
- 26.3.12. BLUETOOTH_CONFIG_PROTOCOL.RegisterLinkConnectCompleteCallback
- 26.4. EFI Bluetooth Attribute Protocol
- 26.4.1. EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL
- 26.4.2. BLUETOOTH_ATTRIBUTE_PROTOCOL.SendRequest
- 26.4.3. BLUETOOTH_ATTRIBUTE_PROTOCOL.RegisterForServerNotification
- 26.4.4. BLUETOOTH_ATTRIBUTE_PROTOCOL.GetServiceInfo
- 26.4.5. BLUETOOTH_ATTRIBUTE_PROTOCOL.GetDeviceInfo
- 26.4.6. EFI_BLUETOOTH_ATTRIBUTE_SERVICE_BINDING_PROTOCOL
- 26.5. EFI Bluetooth LE Configuration Protocol
- 26.5.1. EFI_BLUETOOTH_LE_CONFIG_PROTOCOL
- 26.5.2. BLUETOOTH_LE_CONFIG_PROTOCOL.Init
- 26.5.3. BLUETOOTH_LE_CONFIG_PROTOCOL.Scan
- 26.5.4. BLUETOOTH_LE_CONFIG_PROTOCOL.Connect
- 26.5.5. BLUETOOTH_LE_CONFIG_PROTOCOL.Disconnect
- 26.5.6. BLUETOOTH_LE_CONFIG_PROTOCOL.GetData
- 26.5.7. BLUETOOTH_LE_CONFIG_PROTOCOL.SetData
- 26.5.8. BLUETOOTH_LE_CONFIG_PROTOCOL.GetRemoteData
- 26.5.9. BLUETOOTH_LE_CONFIG_PROTOCOL.RegisterSmpAuthCallback
- 26.5.10. BLUETOOTH_LE_CONFIG_PROTOCOL.SendSmpAuthData
- 26.5.11. BLUETOOTH_LE_CONFIG_PROTOCOL.RegisterSmpGetDataCallback
- 26.5.12. BLUETOOTH_LE_CONFIG_PROTOCOL.RegisterSmpSetDataCallback
- 26.5.13. BLUETOOTH_LE_CONFIG_PROTOCOL.RegisterLinkConnectCompleteCallback
- 26.1. EFI Bluetooth Host Controller Protocol
- 27. Network Protocols — VLAN, EAP, Wi-Fi and Supplicant
- 27.1. VLAN Configuration Protocol
- 27.2. EAP Protocol
- 27.2.1. EFI_EAP_PROTOCOL
- 27.2.2. EFI_EAP.SetDesiredAuthMethod()
- 27.2.3. EFI_EAP.RegisterAuthMethod()
- 27.2.4. EAPManagement Protocol
- 27.2.5. EFI_EAP_MANAGEMENT_PROTOCOL
- 27.2.6. EFI_EAP_MANAGEMENT.GetSystemConfiguration()
- 27.2.7. EFI_EAP_MANAGEMENT.SetSystemConfiguration()
- 27.2.8. EFI_EAP_MANAGEMENT.InitializePort()
- 27.2.9. EFI_EAP_MANAGEMENT.UserLogon()
- 27.2.10. EFI_EAP_MANAGEMENT.UserLogoff()
- 27.2.11. EFI_EAP_MANAGEMENT.GetSupplicantStatus()
- 27.2.12. EFI_EAP_MANAGEMENT.SetSupplicantConfiguration()
- 27.2.13. EFI_EAP_MANAGEMENT.GetSupplicantStatistics()
- 27.2.14. EFI EAP Management2 Protocol
- 27.2.15. EFI_EAP_MANAGEMENT2_PROTOCOL.GetKey()
- 27.2.16. EFI EAP Configuration Protocol
- 27.2.17. EFI_EAP_CONFIGURATION_PROTOCOL.SetData()
- 27.2.18. EFI_EAP_CONFIGURATION_PROTOCOL.GetData()
- 27.3. EFI Wireless MAC Connection Protocol
- 27.3.1. EFI_WIRELESS_MAC_CONNECTION_PROTOCOL
- 27.3.2. EFI_WIRELESS_MAC_CONNECTION_PROTOCOL.Scan()
- 27.3.3. EFI_WIRELESS_MAC_CONNECTION_PROTOCOL.Associate()
- 27.3.4. EFI_WIRELESS_MAC_CONNECTION_PROTOCOL.Disassociate()
- 27.3.5. EFI_WIRELESS_MAC_CONNECTION_PROTOCOL.Authenticate()
- 27.3.6. EFI_WIRELESS_MAC_CONNECTION_PROTOCOL.Deauthenticate()
- 27.4. EFI Wireless MAC Connection II Protocol
- 27.5. EFI Supplicant Protocol
- 27.5.1. Supplicant Service Binding Protocol
- 27.5.2. EFI_SUPPLICANT_SERVICE_BINDING_PROTOCOL
- 27.5.3. Supplicant Protocol
- 27.5.4. EFI_SUPPLICANT_PROTOCOL
- 27.5.5. EFI_SUPPLICANT_PROTOCOL.BuildResponsePacket()
- 27.5.6. EFI_SUPPLICANT_PROTOCOL.ProcessPacket()
- 27.5.7. EFI_SUPPLICANT_PROTOCOL.SetData()
- 27.5.8. EFI_SUPPLICANT_PROTOCOL.GetData()
- 28. Network Protocols — TCP, IP, IPsec, FTP, TLS and Configurations
- 28.1. EFI TCPv4 Protocol
- 28.1.1. TCP4 Service Binding Protocol
- 28.1.2. EFI_TCP4_SERVICE_BINDING_PROTOCOL
- 28.1.3. TCP4 Protocol
- 28.1.4. EFI_TCP4_PROTOCOL
- 28.1.5. EFI_TCP4_PROTOCOL.GetModeData()
- 28.1.6. EFI_TCP4_PROTOCOL.Configure()
- 28.1.7. EFI_TCP4_PROTOCOL.Routes()
- 28.1.8. EFI_TCP4_PROTOCOL.Connect()
- 28.1.9. EFI_TCP4_PROTOCOL.Accept()
- 28.1.10. EFI_TCP4_PROTOCOL.Transmit()
- 28.1.11. EFI_TCP4_PROTOCOL.Close()
- 28.1.12. EFI_TCP4_PROTOCOL.Cancel()
- 28.1.13. EFI_TCP4_PROTOCOL.Poll()
- 28.2. EFI TCPv6 Protocol
- 28.2.1. TCPv6 Service Binding Protocol
- 28.2.2. EFI_TCP6_SERVICE_BINDING_PROTOCOL
- 28.2.3. TCPv6 Protocol
- 28.2.4. EFI_TCP6_PROTOCOL
- 28.2.5. EFI_TCP6_PROTOCOL.GetModeData()
- 28.2.6. EFI_TCP6_PROTOCOL.Configure()
- 28.2.7. EFI_TCP6_PROTOCOL.Connect()
- 28.2.8. EFI_TCP6_PROTOCOL.Accept()
- 28.2.9. EFI_TCP6_PROTOCOL.Transmit()
- 28.2.10. EFI_TCP6_PROTOCOL.Receive()
- 28.2.11. EFI_TCP6_PROTOCOL.Close()
- 28.2.12. EFI_TCP6_PROTOCOL.Cancel()
- 28.2.13. EFI_TCP6_PROTOCOL.Poll()
- 28.3. EFI IPv4 Protocol
- 28.3.1. IP4 Service Binding Protocol
- 28.3.2. EFI_IP4_SERVICE_BINDING_PROTOCOL
- 28.3.3. IP4 Protocol
- 28.3.4. EFI_IP4_PROTOCOL
- 28.3.5. EFI_IP4_PROTOCOL.GetModeData()
- 28.3.6. EFI_IP4_PROTOCOL.Configure()
- 28.3.7. EFI_IP4_PROTOCOL.Groups()
- 28.3.8. EFI_IP4_PROTOCOL.Routes()
- 28.3.9. EFI_IP4_PROTOCOL.Transmit()
- 28.3.10. EFI_IP4_PROTOCOL.Receive()
- 28.3.11. EFI_IP4_PROTOCOL.Cancel()
- 28.3.12. EFI_IP4_PROTOCOL.Poll()
- 28.4. EFI IPv4 Configuration Protocol
- 28.5. EFI IPv4 Configuration II Protocol
- 28.6. EFI IPv6 Protocol
- 28.6.1. IPv6 Service Binding Protocol
- 28.6.2. EFI_IP6_SERVICE_BINDING_PROTOCOL
- 28.6.3. IPv6 Protocol
- 28.6.4. EFI_IP6_PROTOCOL
- 28.6.5. EFI_IP6_PROTOCOL.GetModeData()
- 28.6.6. EFI_IP6_PROTOCOL.Configure()
- 28.6.7. EFI_IP6_PROTOCOL.Groups()
- 28.6.8. EFI_IP6_PROTOCOL.Routes()
- 28.6.9. EFI_IP6_PROTOCOL.Neighbors()
- 28.6.10. EFI_IP6_PROTOCOL.Transmit()
- 28.6.11. EFI_IP6_PROTOCOL.Receive()
- 28.6.12. EFI_IP6_PROTOCOL.Cancel()
- 28.6.13. EFI_IP6_PROTOCOL.Poll()
- 28.7. EFI IPv6 Configuration Protocol
- 28.8. IPsec
- 28.8.1. IPsec Overview
- 28.8.2. EFI IPsec Configuration Protocol
- 28.8.3. EFI_IPSEC_CONFIG_PROTOCOL
- 28.8.4. EFI_IPSEC_CONFIG_PROTOCOL.SetData()
- 28.8.5. EFI_IPSEC_CONFIG_PROTOCOL.GetData()
- 28.8.6. EFI_IPSEC_CONFIG_PROTOCOL.GetNextSelector()
- 28.8.7. EFI_IPSEC_CONFIG_PROTOCOL.RegisterDataNotify ()
- 28.8.8. EFI_IPSEC_CONFIG_PROTOCOL.UnregisterDataNotify ()
- 28.8.9. EFI IPsec Protocol
- 28.8.10. EFI_IPSEC_PROTOCOL
- 28.8.11. EFI_IPSEC_PROTOCOL.Process()
- 28.8.12. EFI IPsec2 Protocol
- 28.8.13. EFI_IPSEC2_PROTOCOL
- 28.8.14. EFI_IPSEC2_PROTOCOL.ProcessExt()
- 28.9. Network Protocol - EFI FTP Protocol
- 28.9.1. EFI_FTP4_SERVICE_BINDING_PROTOCOL Summary
- 28.9.2. EFI_FTP4_PROTOCOL
- 28.9.3. EFI_FTP4_PROTOCOL.GetModeData()
- 28.9.4. EFI_FTP4_PROTOCOL.Connect()
- 28.9.5. EFI_FTP4_PROTOCOL.Close()
- 28.9.6. EFI_FTP4_PROTOCOL.Configure()
- 28.9.7. EFI_FTP4_PROTOCOL.ReadFile()
- 28.9.8. EFI_FTP4_PROTOCOL.WriteFile()
- 28.9.9. EFI_FTP4_PROTOCOL.ReadDirectory()
- 28.9.10. EFI_FTP4_PROTOCOL.Poll()
- 28.10. EFI TLS Protocols
- 28.10.1. EFI TLS Service Binding Protocol
- 28.10.2. EFI TLS Protocol
- 28.10.3. EFI_TLS_PROTOCOL.SetSessionData ()
- 28.10.4. EFI_TLS_PROTOCOL.GetSessionData ()
- 28.10.5. EFI_TLS_PROTOCOL.BuildResponsePacket ()
- 28.10.6. EFI_TLS_PROTOCOL.ProcessPacket ()
- 28.10.7. EFI TLS Configuration Protocol
- 28.10.8. EFI_TLS_CONFIGURATION_PROTOCOL.SetData()
- 28.10.9. EFI_TLS_CONFIGURATION_PROTOCOL.GetData()
- 28.1. EFI TCPv4 Protocol
- 29. Network Protocols — ARP, DHCP, DNS, HTTP and REST
- 29.1. ARP Protocol
- 29.1.1. EFI_ARP_SERVICE_BINDING_PROTOCOL
- 29.1.2. EFI_ARP_PROTOCOL
- 29.1.3. EFI_ARP_PROTOCOL.Configure()
- 29.1.4. EFI_ARP_PROTOCOL.Add()
- 29.1.5. EFI_ARP_PROTOCOL.Find()
- 29.1.6. EFI_ARP_PROTOCOL.Delete()
- 29.1.7. EFI_ARP_PROTOCOL.Flush()
- 29.1.8. EFI_ARP_PROTOCOL.Request()
- 29.1.9. EFI_ARP_PROTOCOL.Cancel()
- 29.2. EFI DHCPv4 Protocol
- 29.2.1. EFI_DHCP4_SERVICE_BINDING_PROTOCOL
- 29.2.2. EFI_DHCP4_PROTOCOL
- 29.2.3. EFI_DHCP4_PROTOCOL.GetModeData()
- 29.2.4. EFI_DHCP4_PROTOCOL.Configure()
- 29.2.5. EFI_DHCP4_PROTOCOL.Start()
- 29.2.6. EFI_DHCP4_PROTOCOL.RenewRebind()
- 29.2.7. EFI_DHCP4_PROTOCOL.Release()
- 29.2.8. EFI_DHCP4_PROTOCOL.Stop()
- 29.2.9. EFI_DHCP4_PROTOCOL.Build()
- 29.2.10. EFI_DHCP4_PROTOCOL.TransmitReceive()
- 29.2.11. EFI_DHCP4_PROTOCOL.Parse()
- 29.3. EFI DHCP6 Protocol
- 29.3.1. DHCP6 Service Binding Protocol
- 29.3.2. EFI_DHCP6_SERVICE_BINDING_PROTOCOL
- 29.3.3. DHCP6 Protocol
- 29.3.4. EFI_DHCP6_PROTOCOL
- 29.3.5. EFI_DHCP6_PROTOCOL.GetModeData ()
- 29.3.6. EFI_DHCP6_PROTOCOL.Configure ()
- 29.3.7. EFI_DHCP6_PROTOCOL.Start ()
- 29.3.8. EFI_DHCP6_PROTOCOL.InfoRequest ()
- 29.3.9. EFI_DHCP6_PROTOCOL.RenewRebind ()
- 29.3.10. EFI_DHCP6_PROTOCOL.Decline ()
- 29.3.11. EFI_DHCP6_PROTOCOL.Release ()
- 29.3.12. EFI_DHCP6_PROTOCOL.Stop ()
- 29.3.13. EFI_DHCP6_PROTOCOL.Parse ()
- 29.4. EFI DNSv4 Protocol
- 29.4.1. EFI_DNS4_SERVICE_BINDING_PROTOCOL
- 29.4.2. EFI_DNS4_PROTOCOL
- 29.4.3. EFI_DNS4_PROTOCOL.GetModeData()
- 29.4.4. EFI_DNS4_PROTOCOL.Configure()
- 29.4.5. EFI_DNS4_PROTOCOL.HostNameToIp()
- 29.4.6. EFI_DNS4_PROTOCOL.IpToHostName()
- 29.4.7. EFI_DNS4_PROTOCOL.GeneralLookUp()
- 29.4.8. EFI_DNS4_PROTOCOL.UpdateDnsCache()
- 29.4.9. EFI_DNS4_PROTOCOL.Poll()
- 29.4.10. EFI_DNS4_PROTOCOL.Cancel()
- 29.5. EFI DNSv6 Protocol
- 29.5.1. DNS6 Service Binding Protocol
- 29.5.2. EFI_DNS6_SERVICE_BINDING_PROTOCOL
- 29.5.3. DNS6 Protocol
- 29.5.4. EFI_DNS6_PROTOCOL
- 29.5.5. EFI_DNS6_PROTOCOL.GetModeData()
- 29.5.6. EFI_DNS6_PROTOCOL.Configure()
- 29.5.7. EFI_DNS6_PROTOCOL.HostNameToIp()
- 29.5.8. EFI_DNS6_PROTOCOL.IpToHostName()
- 29.5.9. EFI_DNS6_PROTOCOL.GeneralLookUp()
- 29.5.10. EFI_DNS6_PROTOCOL.UpdateDnsCache()
- 29.5.11. EFI_DNS6_PROTOCOL.POLL()
- 29.5.12. EFI_DNS6_PROTOCOL.Cancel()
- 29.6. EFI HTTP Protocols
- 29.6.1. HTTP Service Binding Protocol
- 29.6.2. EFI HTTP Protocol Specific Definitions
- 29.6.3. EFI_HTTP_PROTOCOL
- 29.6.4. EFI_HTTP_PROTOCOL.GetModeData()
- 29.6.5. EFI_HTTP_PROTOCOL.Configure()
- 29.6.6. EFI_HTTP_PROTOCOL.Request()
- 29.6.7. EFI_HTTP_PROTOCOL.Cancel()
- 29.6.8. EFI_HTTP_PROTOCOL.Response()
- 29.6.9. EFI_HTTP_PROTOCOL.Poll()
- 29.6.10. HTTP Utilities Protocol
- 29.6.11. EFI_HTTP_UTILITIES_PROTOCOL
- 29.6.12. EFI_HTTP_UTILITIES_PROTOCOL.Build()
- 29.6.13. EFI_HTTP_UTILITIES_PROTOCOL.Parse()
- 29.7. EFI REST Support Overview
- 29.7.1. EFI REST Support Scenario 1 (PlatformManagement)
- 29.7.2. EFI REST Support Scenario 2 (PlatformManagement)
- 29.7.3. EFI REST Protocol
- 29.7.4. EFI_REST_PROTOCOL
- 29.7.5. EFI_REST_PROTOCOL.SendReceive()
- 29.7.6. EFI_REST_PROTOCOL.GetServiceTime()
- 29.7.7. EFI REST EX Protocol
- 29.7.8. EFI_REST_EX_SERVICE_BINDING_PROTOCOL
- 29.7.9. EFI_REST_EX_PROTOCOL
- 29.7.10. EFI_REST_EX_PROTOCOL.SendReceive()
- 29.7.11. EFI_REST_EX_PROTOCOL.GetService()
- 29.7.12. EFI_REST_EX_PROTOCOL.GetModeData()
- 29.7.13. EFI_REST_EX_PROTOCOL.Configure()
- 29.7.14. EFI_REST_EX_PROTOCOL.AsyncSendReceive()
- 29.7.15. EFI_REST_EX_PROTOCOL.EventService()
- 29.7.16. EFI_REST_EX_PROTOCOL.EventService()
- 29.7.17. EFI REST JSON Resource to C Structure Converter
- 29.7.18. EFI_REST_JSON_STRUCTURE.Register ()
- 29.7.19. EFI_REST_JSON_STRUCTURE.ToStructure ()
- 29.7.20. EFI_REST_JSON_STRUCTURE.ToJson ()
- 29.7.21. EFI_REST_JSON_STRUCTURE.DestroyStructure ()
- 29.1. ARP Protocol
- 30. Network Protocols — UDP and MTFTP
- 30.1. EFI UDP Protocol
- 30.1.1. UDP4 Service Binding Protocol
- 30.1.2. UDP4 Protocol
- 30.1.2.1. EFI_UDP4_PROTOCOL
- 30.1.2.2. EFI_UDP4_PROTOCOL.GetModeData()
- 30.1.2.3. EFI_UDP4_PROTOCOL.Configure()
- 30.1.2.4. EFI_UDP4_PROTOCOL.Groups()
- 30.1.2.5. EFI_UDP4_PROTOCOL.Routes()
- 30.1.2.6. EFI_UDP4_PROTOCOL.Transmit()
- 30.1.2.7. EFI_UDP4_PROTOCOL.Receive()
- 30.1.2.8. EFI_UDP4_PROTOCOL.Cancel()
- 30.1.2.9. EFI_UDP4_PROTOCOL.Poll()
- 30.2. EFI UDPv6 Protocol
- 30.3. EFI MTFTPv4 Protocol
- 30.3.1. EFI_MTFTP4_SERVICE_BINDING_PROTOCOL
- 30.3.2. EFI_MTFTP4_PROTOCOL
- 30.3.3. EFI_MTFTP4_PROTOCOL.GetModeData()
- 30.3.4. EFI_MTFTP4_PROTOCOL.Configure()
- 30.3.5. EFI_MTFTP4_PROTOCOL.GetInfo()
- 30.3.6. EFI_MTFTP4_PROTOCOL.ParseOptions()
- 30.3.7. EFI_MTFTP4_PROTOCOL.ReadFile()
- 30.3.8. EFI_MTFTP4_PROTOCOL.WriteFile()
- 30.3.9. EFI_MTFTP4_PROTOCOL.ReadDirectory()
- 30.3.10. EFI_MTFTP4_PROTOCOL.POLL()
- 30.4. EFI MTFTPv6 Protocol
- 30.4.1. MTFTP6 Service Binding Protocol
- 30.4.2. MTFTP6 Protocol
- 30.4.2.1. EFI_MTFTP6_PROTOCOL
- 30.4.2.2. EFI_MTFTP6_PROTOCOL.GetModeData()
- 30.4.2.3. EFI_MTFTP6_PROTOCOL.Configure()
- 30.4.2.4. EFI_MTFTP6_PROTOCOL.GetInfo()
- 30.4.2.5. EFI_MTFTP6_PROTOCOL.ParseOptions()
- 30.4.2.6. EFI_MTFTP6_PROTOCOL.ReadFile()
- 30.4.2.7. EFI_MTFTP6_PROTOCOL.WriteFile()
- 30.4.2.8. EFI_MTFTP6_PROTOCOL.ReadDirectory()
- 30.4.2.9. EFI_MTFTP6_PROTOCOL.Poll()
- 30.1. EFI UDP Protocol
- 31. EFI Redfish Service Support
- 32. Secure Boot and Driver Signing
- 33. Human Interface Infrastructure Overview
- 33.1. Goals
- 33.2. Design Discussion
- 33.2.1. Drivers And Applications
- 33.2.1.1. Platform and Driver Configuration
- 33.2.1.2. Pre-O/S applications
- 33.2.1.3. Description of User Interface Components
- 33.2.1.4. Forms
- 33.2.1.5. Strings
- 33.2.1.6. Images/Fonts
- 33.2.1.7. Consumers of the user interface data
- 33.2.1.8. Connected forms browser/processor
- 33.2.1.9. Disconnected Forms Browser/Processor
- 33.2.1.10. O/S-Present Forms Browser/Processor
- 33.2.1.11. Where are the Results Stored
- 33.2.2. Localization
- 33.2.3. User Input
- 33.2.4. Keyboard Layout
- 33.2.5. Forms
- 33.2.6. Strings
- 33.2.7. Fonts
- 33.2.8. Images
- 33.2.9. HII Database
- 33.2.10. Forms Browser
- 33.2.11. Configuration Settings
- 33.2.12. Form Callback Logic
- 33.2.13. Driver Model Interaction
- 33.2.14. Human Interface Component Interactions
- 33.2.15. Standards Map Forms
- 33.2.1. Drivers And Applications
- 33.3. Code Definitions
- 34. HII Protocols
- 34.1. Font Protocol
- 34.2. EFI HII Font Ex Protocol
- 34.2.1. EFI_HII_FONT_EX_PROTOCOL
- 34.2.2. EFI_HII_FONT_EX_PROTOCOL.StringToImageEx()
- 34.2.3. EFI_HII_FONT_EX_PROTOCOL.StringIdToImageEx()
- 34.2.4. EFI_HII_FONT_EX_PROTOCOL.GetGlyphEx()
- 34.2.5. EFI_HII_FONT_EX_PROTOCOL.GetFontInfoEx()
- 34.2.6. EFI_HII_FONT_EX_PROTOCOL.GetGlyphInfo()
- 34.2.7. Code Definitions
- 34.3. String Protocol
- 34.4. Image Protocol
- 34.5. EFI HII Image Ex Protocol
- 34.5.1. EFI_HII_IMAGE_EX_PROTOCOL
- 34.5.2. EFI_HII_IMAGE_EX_PROTOCOL.NewImageEx()
- 34.5.3. EFI_HII_IMAGE_EX_PROTOCOL.GetImageEx()
- 34.5.4. EFI_HII_IMAGE_EX_PROTOCOL.SetImageEx()
- 34.5.5. EFI_HII_IMAGE_EX_PROTOCOL.DrawImageEx()
- 34.5.6. EFI_HII_IMAGE_EX_PROTOCOL.DrawImageIdEx()
- 34.5.7. EFI_HII_IMAGE_EX_PROTOCOL.GetImageInfo()
- 34.6. EFI HII Image Decoder Protocol
- 34.7. Font Glyph Generator Protocol
- 34.8. Database Protocol
- 34.8.1. EFI_HII_DATABASE_PROTOCOL
- 34.8.2. EFI_HII_DATABASE_PROTOCOL.NewPackageList()
- 34.8.3. EFI_HII_DATABASE_PROTOCOL.RemovePackageList()
- 34.8.4. EFI_HII_DATABASE_PROTOCOL.UpdatePackageList()
- 34.8.5. EFI_HII_DATABASE_PROTOCOL.ListPackageLists()
- 34.8.6. EFI_HII_DATABASE_PROTOCOL.ExportPackageLists()
- 34.8.7. EFI_HII_DATABASE_PROTOCOL.RegisterPackageNotify()
- 34.8.8. EFI_HII_DATABASE_PROTOCOL.UnregisterPackageNotify()
- 34.8.9. EFI_HII_DATABASE_PROTOCOL.FindKeyboardLayouts()
- 34.8.10. EFI_HII_DATABASE_PROTOCOL.GetKeyboardLayout()
- 34.8.11. EFI_HII_DATABASE_PROTOCOL.SetKeyboardLayout()
- 34.8.12. EFI_HII_DATABASE_PROTOCOL.GetPackageListHandle()
- 34.8.13. Database Structures
- 34.8.14. EFI_HII_DATABASE_NOTIFY_TYPE
- 35. HII Configuration Processing and Browser Protocol
- 35.1. Introduction
- 35.2. Configuration Strings
- 35.3. EFI Configuration Keyword Handler Protocol
- 35.4. EFI HII Configuration Routing Protocol
- 35.4.1. EFI_HII_CONFIG_ROUTING_PROTOCOL
- 35.4.2. EFI_HII_CONFIG_ROUTING_PROTOCOL.ExtractConfig()
- 35.4.3. EFI_HII_CONFIG_ROUTING_PROTOCOL.ExportConfig()
- 35.4.4. EFI_HII_CONFIG_ROUTING_PROTOCOL.RouteConfig()
- 35.4.5. EFI_HII_CONFIG_ROUTING_PROTOCOL.BlockToConfig()
- 35.4.6. EFI_HII_CONFIG_ROUTING_PROTOCOL.ConfigToBlock()
- 35.4.7. EFI_HII_CONFIG_ROUTING_PROTOCOL.GetAltCfg()
- 35.5. EFI HII Configuration Access Protocol
- 35.6. Form Browser Protocol
- 35.7. HII Popup Protocol
- 36. User Identification
- 36.1. User Identification Overview
- 36.2. User Identification Process
- 36.3. Code Definitions
- 36.3.1. User Manager Protocol
- 36.3.1.1. EFI_USER_MANAGER_PROTOCOL
- 36.3.1.2. EFI_USER_MANAGER_PROTOCOL.Create()
- 36.3.1.3. EFI_USER_MANAGER_PROTOCOL.Delete()
- 36.3.1.4. EFI_USER_MANAGER_PROTOCOL.GetNext()
- 36.3.1.5. EFI_USER_MANAGER_PROTOCOL.Current()
- 36.3.1.6. EFI_USER_MANAGER_PROTOCOL.Identify()
- 36.3.1.7. EFI_USER_MANAGER_PROTOCOL.Find()
- 36.3.1.8. EFI_USER_MANAGER_PROTOCOL.Notify()
- 36.3.1.9. EFI_USER_MANAGER_PROTOCOL.GetInfo()
- 36.3.1.10. EFI_USER_MANAGER_PROTOCOL.SetInfo()
- 36.3.1.11. EFI_USER_MANAGER_PROTOCOL.DeleteInfo()
- 36.3.1.12. EFI_USER_MANAGER_PROTOCOL.GetNextInfo()
- 36.3.2. Credential Provider Protocols
- 36.3.2.1. EFI_USER_CREDENTIAL2_PROTOCOL
- 36.3.2.2. EFI_USER_CREDENTIAL2_PROTOCOL.Enroll()
- 36.3.2.3. EFI_USER_CREDENTIAL2_PROTOCOL.Form()
- 36.3.2.4. EFI_USER_CREDENTIAL2_PROTOCOL.Tile()
- 36.3.2.5. EFI_USER_CREDENTIAL2_PROTOCOL.Title()
- 36.3.2.6. EFI_USER_CREDENTIAL2_PROTOCOL.User()
- 36.3.2.7. EFI_USER_CREDENTIAL2_PROTOCOL.Select()
- 36.3.2.8. EFI_USER_CREDENTIAL2_PROTOCOL.Deselect()
- 36.3.2.9. EFI_USER_CREDENTIAL2_PROTOCOL.Default()
- 36.3.2.10. EFI_USER_CREDENTIAL2_PROTOCOL.GetInfo()
- 36.3.2.11. EFI_USER_CREDENTIAL2_PROTOCOL.GetNextInfo()
- 36.3.2.12. EFI_USER_CREDENTIAL2_PROTOCOL.Delete()
- 36.3.3. Deferred Image Load Protocol
- 36.3.1. User Manager Protocol
- 36.4. User Information
- 36.4.1. EFI_USER_INFO_ACCESS_POLICY_RECORD
- 36.4.1.1. EFI_USER_INFO_ACCESS_FORBID_LOAD
- 36.4.1.2. EFI_USER_INFO_ACCESS_PERMIT_LOAD
- 36.4.1.3. EFI_USER_INFO_ACCESS_ENROLL_SELF
- 36.4.1.4. EFI_USER_INFO_ACCESS_ENROLL_OTHERS
- 36.4.1.5. EFI_USER_INFO_ACCESS_MANAGE
- 36.4.1.6. EFI_USER_INFO_ACCESS_SETUP
- 36.4.1.7. EFI_USER_INFO_ACCESS_FORBID_CONNECT
- 36.4.1.8. EFI_USER_INFO_ACCESS_PERMIT_CONNECT
- 36.4.1.9. EFI_USER_INFO_ACCESS_BOOT_ORDER
- 36.4.2. EFI_USER_INFO_CBEFF_RECORD
- 36.4.3. EFI_USER_INFO_CREATE_DATE_RECORD
- 36.4.4. EFI_USER_INFO_CREDENTIAL_PROVIDER_RECORD
- 36.4.5. EFI_USER_INFO_CREDENTIAL_PROVIDER_NAME_RECORD
- 36.4.6. EFI_USER_INFO_CREDENTIAL_TYPE_RECORD
- 36.4.7. EFI_USER_INFO_CREDENTIAL_TYPE_NAME_RECORD
- 36.4.8. EFI_USER_INFO_GUID_RECORD
- 36.4.9. EFI_USER_INFO_FAR_RECORD
- 36.4.10. EFI_USER_INFO_IDENTIFIER_RECORD
- 36.4.11. EFI_USER_INFO_IDENTITY_POLICY_RECORD
- 36.4.12. EFI_USER_INFO_NAME_RECORD
- 36.4.13. EFI_USER_INFO_PKCS11_RECORD
- 36.4.14. EFI_USER_INFO_RETRY_RECORD
- 36.4.15. EFI_USER_INFO_USAGE_DATE_RECORD
- 36.4.16. EFI_USER_INFO_USAGE_COUNT_RECORD
- 36.4.1. EFI_USER_INFO_ACCESS_POLICY_RECORD
- 36.5. User Information Table
- 37. Secure Technologies
- 37.1. Hash Overview
- 37.2. Hash2 Protocols
- 37.3. Key Management Service
- 37.3.1. EFI_KEY_MANAGEMENT_SERVICE_PROTOCOL
- 37.3.2. EFI_KMS_PROTOCOL.GetServiceStatus()
- 37.3.2.1. EFI_KMS_PROTOCOL.RegisterClient()
- 37.3.2.2. EFI_KMS_PROTOCOL.CreateKey()
- 37.3.2.3. EFI_KMS_PROTOCOL.GetKey()
- 37.3.2.4. EFI_KMS_PROTOCOL.AddKey()
- 37.3.2.5. EFI_KMS_PROTOCOL.DeleteKey()
- 37.3.2.6. EFI_KMS_PROTOCOL.GetKeyAttributes()
- 37.3.2.7. EFI_KMS_PROTOCOL.AddKeyAttributes()
- 37.3.2.8. EFI_KMS_PROTOCOL.DeleteKeyAttributes()
- 37.3.2.9. EFI_KMS_PROTOCOL.GetKeyByAttributes()
- 37.4. PKCS7 Verify Protocol
- 37.5. Random Number Generator Protocol
- 37.6. Smart Card Reader and Smart Card Edge Protocol
- 37.6.1. Smart Card Reader Protocol
- 37.6.2. EFI_SMART_CARD_READER_PROTOCOL.SCardConnect()
- 37.6.3. EFI_SMART_CARD_READER_PROTOCOL.SCardDisconnect()
- 37.6.4. EFI_SMART_CARD_READER_PROTOCOL.SCardStatus()
- 37.6.5. EFI_SMART_CARD_READER_PROTOCOL.SCardTransmit()
- 37.6.6. EFI_SMART_CARD_READER_PROTOCOL.SCardControl()
- 37.6.7. EFI_SMART_CARD_READER_PROTOCOL.SCardGetAttrib()
- 37.6.8. Smart Card Edge Protocol
- 37.6.8.1. EFI_SMART_CARD_EDGE_PROTOCOL
- 37.6.8.2. EFI_SMART_CARD_EDGE_PROTOCOL.GetContext()
- 37.6.8.3. EFI_SMART_CARD_EDGE_PROTOCOL. Connect()
- 37.6.8.4. EFI_SMART_CARD_EDGE_PROTOCOL.Disconnect()
- 37.6.8.5. EFI_SMART_CARD_EDGE_PROTOCOL.GetCsn
- 37.6.8.6. EFI_SMART_CARD_EDGE_PROTOCOL.GetReaderName
- 37.6.8.7. EFI_SMART_CARD_EDGE_PROTOCOL.VerifyPin()
- 37.6.8.8. EFI_SMART_CARD_EDGE_PROTOCOL.GetPinRemaining()
- 37.6.8.9. EFI_SMART_CARD_EDGE_PROTOCOL.GetData()
- 37.6.8.10. EFI_SMART_CARD_EDGE_PROTOCOL.GetCredentials()
- 37.6.8.11. EFI_SMART_CARD_EDGE_PROTOCOL.SignData()
- 37.6.8.12. EFI_SMART_CARD_EDGE_PROTOCOL.DecryptData()
- 37.6.8.13. EFI_SMART_CARD_EDGE_PROTOCOL.BuildDHAgreement()
- 38. Miscellaneous Protocols
- A. Appendix A — GUID and Time Formats
- B. Appendix B — Console
- C. Appendix C — Device Path Examples
- D. Appendix D — Status Codes
- E. Appendix E — Universal Network Driver Interfaces
- E.1. Introduction
- E.2. Overview
- E.3. UNDI C Definitions
- E.4. UNDI Commands
- E.4.1. Command Linking and Queuing
- E.4.2. Get State
- E.4.3. Start
- E.4.4. Stop
- E.4.5. Get Init Info
- E.4.6. Get Config Info
- E.4.7. Initialize
- E.4.8. Reset
- E.4.9. Shutdown
- E.4.10. Interrupt Enables
- E.4.11. Receive Filters
- E.4.12. Station Address
- E.4.13. Statistics
- E.4.14. MCast IP To MAC
- E.4.15. NvData
- E.4.16. Get Status
- E.4.17. Fill Header
- E.4.18. Transmit
- E.4.19. Receive
- E.4.20. PXE 2.1 specification wire protocol clarifications
- F. APPPENDIX F — Using the Simple Pointer Protocol
- G. Appendix G — Using the EFI Extended SCSI Pass Thru Protocol
- H. Appendix H — Compression Source Code
- I. Appendix I — Decompression Source Code
- J. Appendix J — EFI Byte Code Virtual Machine Opcode List
- K. Appendix K — Alphabetic Function Lists
- L. Appendix L — EFI 1.10 Protocol Changes and Deprecation List
- M. Appendix M — Formats — Language Codes and Language Code Arrays
- N. Appendix N - Common Platform Error Record (CPER)
- N.1. Introduction
- N.2. Format
- N.2.1. Record Header
- N.2.2. Section Descriptor
- N.2.3. Non-standard Section Body
- N.2.4. Processor Error Sections
- N.2.5. Memory Error Section
- N.2.6. Memory Error Section 2
- N.2.7. PCI Express Error Section
- N.2.8. PCI/PCI-X Bus Error Section
- N.2.9. PCI/PCI-X Component Error Section
- N.2.10. Firmware Error Record Reference
- N.2.11. DMAr Error Sections
- N.2.12. CCIX PER Log Error Section
- N.2.13. Compute Express Link (CXL) Protocol Error Section
- N.2.14. CXL Component Events Section
- O. Appendix O — UEFI ACPI Data Table
- P. Appendix P — Hardware Error Record Persistence Usage
- Q. Appendix Q — References
- R. Appendix R — Glossary