TianoCore EDK2 master
Loading...
Searching...
No Matches
HttpBootDhcp6.h File Reference

Go to the source code of this file.

Data Structures

struct  HTTP_BOOT_DHCP6_OPTION_ORO
 
struct  HTTP_BOOT_DHCP6_OPTION_UNDI
 
struct  HTTP_BOOT_DHCP6_OPTION_ARCH
 
struct  HTTP_BOOT_CLASS_ID
 
struct  HTTP_BOOT_DHCP6_OPTION_VENDOR_CLASS
 
union  HTTP_BOOT_DHCP6_OPTION_ENTRY
 
union  HTTP_BOOT_DHCP6_PACKET
 
struct  HTTP_BOOT_DHCP6_PACKET_CACHE
 

Macros

#define HTTP_BOOT_OFFER_MAX_NUM   16
 
#define HTTP_BOOT_DHCP6_OPTION_MAX_NUM   16
 
#define HTTP_BOOT_DHCP6_OPTION_MAX_SIZE   312
 
#define HTTP_BOOT_DHCP6_PACKET_MAX_SIZE   1472
 
#define HTTP_BOOT_IP6_ROUTE_TABLE_TIMEOUT   10
 
#define HTTP_BOOT_DEFAULT_HOPLIMIT   64
 
#define HTTP_BOOT_DEFAULT_LIFETIME   50000
 
#define HTTP_BOOT_DHCP6_ENTERPRISE_NUM   343
 
#define HTTP_BOOT_DHCP6_MAX_BOOT_FILE_SIZE   65535
 
#define HTTP_BOOT_DHCP6_IDX_IA_NA   0
 
#define HTTP_BOOT_DHCP6_IDX_BOOT_FILE_URL   1
 
#define HTTP_BOOT_DHCP6_IDX_BOOT_FILE_PARAM   2
 
#define HTTP_BOOT_DHCP6_IDX_VENDOR_CLASS   3
 
#define HTTP_BOOT_DHCP6_IDX_DNS_SERVER   4
 
#define HTTP_BOOT_DHCP6_IDX_MAX   5
 
#define HTTP_CACHED_DHCP6_PACKET_MAX_SIZE   (OFFSET_OF (EFI_DHCP6_PACKET, Dhcp6) + HTTP_BOOT_DHCP6_PACKET_MAX_SIZE)
 
#define GET_NEXT_DHCP6_OPTION(Opt)
 
#define GET_DHCP6_OPTION_SIZE(Pkt)    ((Pkt)->Length - sizeof (EFI_DHCP6_HEADER))
 

Functions

EFI_STATUS HttpBootDhcp6Sarr (IN HTTP_BOOT_PRIVATE_DATA *Private)
 
EFI_STATUS HttpBootSetIp6Policy (IN HTTP_BOOT_PRIVATE_DATA *Private)
 
EFI_STATUS HttpBootSetIp6Dns (IN HTTP_BOOT_PRIVATE_DATA *Private, IN UINTN DataLength, IN VOID *DnsServerData)
 
EFI_STATUS HttpBootSetIp6Gateway (IN HTTP_BOOT_PRIVATE_DATA *Private)
 
EFI_STATUS HttpBootSetIp6Address (IN HTTP_BOOT_PRIVATE_DATA *Private)
 

Detailed Description

Functions declaration related with DHCPv6 for HTTP boot driver.

Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file HttpBootDhcp6.h.

Macro Definition Documentation

◆ GET_DHCP6_OPTION_SIZE

#define GET_DHCP6_OPTION_SIZE (   Pkt)     ((Pkt)->Length - sizeof (EFI_DHCP6_HEADER))

Definition at line 90 of file HttpBootDhcp6.h.

◆ GET_NEXT_DHCP6_OPTION

#define GET_NEXT_DHCP6_OPTION (   Opt)
Value:
(EFI_DHCP6_PACKET_OPTION *) ((UINT8 *) (Opt) + \
sizeof (EFI_DHCP6_PACKET_OPTION) + (NTOHS ((Opt)->OpLen)) - 1)

Definition at line 86 of file HttpBootDhcp6.h.

◆ HTTP_BOOT_DEFAULT_HOPLIMIT

#define HTTP_BOOT_DEFAULT_HOPLIMIT   64

Definition at line 17 of file HttpBootDhcp6.h.

◆ HTTP_BOOT_DEFAULT_LIFETIME

#define HTTP_BOOT_DEFAULT_LIFETIME   50000

Definition at line 18 of file HttpBootDhcp6.h.

◆ HTTP_BOOT_DHCP6_ENTERPRISE_NUM

#define HTTP_BOOT_DHCP6_ENTERPRISE_NUM   343

Definition at line 20 of file HttpBootDhcp6.h.

◆ HTTP_BOOT_DHCP6_IDX_BOOT_FILE_PARAM

#define HTTP_BOOT_DHCP6_IDX_BOOT_FILE_PARAM   2

Definition at line 25 of file HttpBootDhcp6.h.

◆ HTTP_BOOT_DHCP6_IDX_BOOT_FILE_URL

#define HTTP_BOOT_DHCP6_IDX_BOOT_FILE_URL   1

Definition at line 24 of file HttpBootDhcp6.h.

◆ HTTP_BOOT_DHCP6_IDX_DNS_SERVER

#define HTTP_BOOT_DHCP6_IDX_DNS_SERVER   4

Definition at line 27 of file HttpBootDhcp6.h.

◆ HTTP_BOOT_DHCP6_IDX_IA_NA

#define HTTP_BOOT_DHCP6_IDX_IA_NA   0

Definition at line 23 of file HttpBootDhcp6.h.

◆ HTTP_BOOT_DHCP6_IDX_MAX

#define HTTP_BOOT_DHCP6_IDX_MAX   5

Definition at line 28 of file HttpBootDhcp6.h.

◆ HTTP_BOOT_DHCP6_IDX_VENDOR_CLASS

#define HTTP_BOOT_DHCP6_IDX_VENDOR_CLASS   3

Definition at line 26 of file HttpBootDhcp6.h.

◆ HTTP_BOOT_DHCP6_MAX_BOOT_FILE_SIZE

#define HTTP_BOOT_DHCP6_MAX_BOOT_FILE_SIZE   65535

Definition at line 21 of file HttpBootDhcp6.h.

◆ HTTP_BOOT_DHCP6_OPTION_MAX_NUM

#define HTTP_BOOT_DHCP6_OPTION_MAX_NUM   16

Definition at line 13 of file HttpBootDhcp6.h.

◆ HTTP_BOOT_DHCP6_OPTION_MAX_SIZE

#define HTTP_BOOT_DHCP6_OPTION_MAX_SIZE   312

Definition at line 14 of file HttpBootDhcp6.h.

◆ HTTP_BOOT_DHCP6_PACKET_MAX_SIZE

#define HTTP_BOOT_DHCP6_PACKET_MAX_SIZE   1472

Definition at line 15 of file HttpBootDhcp6.h.

◆ HTTP_BOOT_IP6_ROUTE_TABLE_TIMEOUT

#define HTTP_BOOT_IP6_ROUTE_TABLE_TIMEOUT   10

Definition at line 16 of file HttpBootDhcp6.h.

◆ HTTP_BOOT_OFFER_MAX_NUM

#define HTTP_BOOT_OFFER_MAX_NUM   16

Definition at line 12 of file HttpBootDhcp6.h.

◆ HTTP_CACHED_DHCP6_PACKET_MAX_SIZE

#define HTTP_CACHED_DHCP6_PACKET_MAX_SIZE   (OFFSET_OF (EFI_DHCP6_PACKET, Dhcp6) + HTTP_BOOT_DHCP6_PACKET_MAX_SIZE)

Definition at line 71 of file HttpBootDhcp6.h.

Function Documentation

◆ HttpBootDhcp6Sarr()

EFI_STATUS HttpBootDhcp6Sarr ( IN HTTP_BOOT_PRIVATE_DATA Private)

Start the S.A.R.R DHCPv6 process to acquire the IPv6 address and other Http boot information.

Parameters
[in]PrivatePointer to HTTP_BOOT private data.
Return values
EFI_SUCCESSThe S.A.R.R process successfully finished.
OthersFailed to finish the S.A.R.R process.

Definition at line 943 of file HttpBootDhcp6.c.

◆ HttpBootSetIp6Address()

EFI_STATUS HttpBootSetIp6Address ( IN HTTP_BOOT_PRIVATE_DATA Private)

This function will register the station IP address.

Parameters
[in]PrivateThe pointer to HTTP_BOOT_PRIVATE_DATA.
Return values
EFI_SUCCESSThe new IP address has been configured successfully.
OthersFailed to configure the address.

Definition at line 767 of file HttpBootDhcp6.c.

◆ HttpBootSetIp6Dns()

EFI_STATUS HttpBootSetIp6Dns ( IN HTTP_BOOT_PRIVATE_DATA Private,
IN UINTN  DataLength,
IN VOID *  DnsServerData 
)

This function will register the default DNS addresses to the network device.

Parameters
[in]PrivateThe pointer to HTTP_BOOT_PRIVATE_DATA.
[in]DataLengthSize of the buffer pointed to by DnsServerData in bytes.
[in]DnsServerDataPoint a list of DNS server address in an array of EFI_IPv6_ADDRESS instances.
Return values
EFI_SUCCESSThe DNS configuration has been configured successfully.
OthersFailed to configure the address.

Definition at line 699 of file HttpBootDhcp6.c.

◆ HttpBootSetIp6Gateway()

EFI_STATUS HttpBootSetIp6Gateway ( IN HTTP_BOOT_PRIVATE_DATA Private)

This function will register the IPv6 gateway address to the network device.

Parameters
[in]PrivateThe pointer to HTTP_BOOT_PRIVATE_DATA.
Return values
EFI_SUCCESSThe new IP configuration has been configured successfully.
OthersFailed to configure the address.

Definition at line 729 of file HttpBootDhcp6.c.

◆ HttpBootSetIp6Policy()

EFI_STATUS HttpBootSetIp6Policy ( IN HTTP_BOOT_PRIVATE_DATA Private)

Set the IP6 policy to Automatic.

Parameters
[in]PrivateThe pointer to HTTP_BOOT_PRIVATE_DATA.
Return values
EFI_SUCCESSSwitch the IP policy successfully.
OthersUnexpected error happened.

Definition at line 645 of file HttpBootDhcp6.c.