# HttpBootDxe

## Function Table

| Address | Name | Description |
|---------|------|-------------|
|  | **HttpBootDxeEntryPoint** |  |
|  | **HttpBootDxeDriverBindingSupported** |  |
|  | **HttpBootDxeDriverBindingStart** |  |
|  | **HttpBootDxeDriverBindingStop** |  |
|  | **HttpBootCheckIpv6Support** |  |
|  | **HttpBootDiscoverBootInfo** |  |
|  | **HttpBootFormInit** |  |
|  | **HttpBootFormCleanup** |  |
|  | **HttpBootCloseChildren** |  |
|  | **HttpBootBuildDevicePath** |  |
| Global | **variables (cf. AutoGen.c)** |  |
| EFI_HANDLE | **gImageHandle;** |  |
| Read | **"NetworkStackVar" to check if HTTP boot is enabled** |  |
| VariableSize | **= sizeof(VariableValue);** |  |
| Install | **driver binding protocol** |  |
| Status | **= EfiLibInstallDriverBinding (** |  |
| Open | **the SNP protocol to see if it exists.** |  |
| Status | **= gBSS->OpenProtocol (** |  |
| Allocate | **the private conttext** |  |
| Private | **= (HTTP_BOOT_PRIVATE_DATA *)gBS->AllocatePool (** |  |
| Open | **required protocols** |  |
| Status | **= gBS->OpenProtocol (** |  |
| Check | **IP version support** |  |
| Status | **= HttpBootCheckIpv6Support (Private, &Ipv6Support);** |  |
| Default | **to true on error** |  |
| Create | **IPv6 child handles** |  |
| Status | **= HttpBootCreateIp6Children (** |  |
| Create | **IPv4 child handles** |  |
| Status | **= HttpBootCreateIp4Children (** |  |
| Open | **DHCP protocols** |  |
| if | **(Private->UsingIpv6) {** |  |
| Initialize | **HII form** |  |
| Status | **= HttpBootFormInit (Private);** |  |
| Start | **DHCP discovery** |  |
| Status | **= HttpBootDiscoverBootInfo (Private);** |  |
| Install | **Load File protocol on child handle** |  |
| Status | **= HttpBootBuildDevicePath (Private);** |  |
| Clean | **up** |  |
| if | **(Private->Snp != NULL) {** |  |
| Find | **the private context for this controller** |  |
| for | **(Index = 0; Index < NumberOfChildren; Index++) {** |  |
| Retrieve | **private data from child handle** |  |
| Stop | **discovery and close all protocols** |  |
| HttpBootCloseChildren | **(Private);** |  |
| Initialize | **the HII Config Access protocol instance** |  |
| Uninstall | **HII Config Access protocol if installed** |  |
| if | **(Private->ConfigAccessInstalled) {** |  |
| Allocate | **device path for HTTP boot** |  |
| DevicePath | **= NULL;** |  |
| Install | **LoadFile protocol on child handle** |  |
| Status | **= gBBS->InstallMultipleProtocolInterFaces (** |  |
| Driver | **Binding Protocol instance** |  |
| EFII_DRIVER_BINDING_PROTOCOL | **gHttpBootDxeDriverBinding = {** |  |
| ImageHandle | **(set at entry point)** |  |
| DriverBindingHandle | **};** |  |
| Component | **Name 2 protocol instance** |  |
| EFI_COMPONENT_NAME2_PROTOCOL | **gHttpBootDxeComponentName2 = {** |  |
| Supported | **langages** |  |

---
*Generated by HR650X BIOS Decompilation Project*