summaryrefslogtreecommitdiff
path: root/include/efi_api.h
diff options
context:
space:
mode:
authorPatrick Wildt <patrick@blueri.se>2018-03-27 14:23:20 +0200
committerAlexander Graf <agraf@suse.de>2018-04-04 11:21:29 +0200
commite2742358661137b60eccd2e80b6835b58d8c5763 (patch)
treebe04b6ac69e90359fa7cce92c91615e5b01c93d2 /include/efi_api.h
parentf9cfad1a61e3461dcf256ecfb83f4eaf68142d1b (diff)
efi_loader: complete efi_pxe_mode struct definition
The efi_pxe_mode struct which represents the PXE_BASE_CODE_PROTOCOL Replace the placeholder paddings in the efi_pxe_mode struct with the actual fields as defined in UEFI's PXE Base Code Protocol. Since our efi_ip_address is a simple char array set a specific alignment to the efi_ip_address fields, as expected by the UEFI spec. Signed-off-by: Patrick Wildt <patrick@blueri.se> [agraf: s/pxe_discovervalid/pxe_discover_valid] Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'include/efi_api.h')
-rw-r--r--include/efi_api.h25
1 files changed, 23 insertions, 2 deletions
diff --git a/include/efi_api.h b/include/efi_api.h
index 28de93a132..d956aee560 100644
--- a/include/efi_api.h
+++ b/include/efi_api.h
@@ -703,7 +703,7 @@ struct efi_mac_address {
struct efi_ip_address {
u8 ip_addr[16];
-};
+} __attribute__((aligned(4)));
enum efi_simple_network_state {
EFI_NETWORK_STOPPED,
@@ -797,7 +797,28 @@ struct efi_pxe_packet {
struct efi_pxe_mode
{
- u8 unused[52];
+ u8 started;
+ u8 ipv6_available;
+ u8 ipv6_supported;
+ u8 using_ipv6;
+ u8 bis_supported;
+ u8 bis_detected;
+ u8 auto_arp;
+ u8 send_guid;
+ u8 dhcp_discover_valid;
+ u8 dhcp_ack_received;
+ u8 proxy_offer_received;
+ u8 pxe_discover_valid;
+ u8 pxe_reply_received;
+ u8 pxe_bis_reply_received;
+ u8 icmp_error_received;
+ u8 tftp_error_received;
+ u8 make_callbacks;
+ u8 ttl;
+ u8 tos;
+ u8 pad;
+ struct efi_ip_address station_ip;
+ struct efi_ip_address subnet_mask;
struct efi_pxe_packet dhcp_discover;
struct efi_pxe_packet dhcp_ack;
struct efi_pxe_packet proxy_offer;