efi_loader: EFI_PXE_BASE_CODE_PROTOCOL stub
[oweals/u-boot.git] / lib / efi_loader / efi_net.c
index d71c663068258be8ec909b8d81a4d8d5ba088815..825e064f9aa83f99dd051c72ae836d21aa11ee9d 100644 (file)
@@ -10,7 +10,8 @@
 #include <malloc.h>
 
 static const efi_guid_t efi_net_guid = EFI_SIMPLE_NETWORK_PROTOCOL_GUID;
-static const efi_guid_t efi_pxe_guid = EFI_PXE_BASE_CODE_PROTOCOL_GUID;
+static const efi_guid_t efi_pxe_base_code_protocol_guid =
+                                       EFI_PXE_BASE_CODE_PROTOCOL_GUID;
 static struct efi_pxe_packet *dhcp_ack;
 static bool new_rx_packet;
 static void *new_tx_packet;
@@ -39,7 +40,7 @@ struct efi_net_obj {
        struct efi_object header;
        struct efi_simple_network net;
        struct efi_simple_network_mode net_mode;
-       struct efi_pxe pxe;
+       struct efi_pxe_base_code_protocol pxe;
        struct efi_pxe_mode pxe_mode;
 };
 
@@ -581,6 +582,118 @@ out:
        EFI_EXIT(EFI_SUCCESS);
 }
 
+static efi_status_t EFIAPI efi_pxe_base_code_start(
+                               struct efi_pxe_base_code_protocol *this,
+                               u8 use_ipv6)
+{
+       return EFI_UNSUPPORTED;
+}
+
+static efi_status_t EFIAPI efi_pxe_base_code_stop(
+                               struct efi_pxe_base_code_protocol *this)
+{
+       return EFI_UNSUPPORTED;
+}
+
+static efi_status_t EFIAPI efi_pxe_base_code_dhcp(
+                               struct efi_pxe_base_code_protocol *this,
+                               u8 sort_offers)
+{
+       return EFI_UNSUPPORTED;
+}
+
+static efi_status_t EFIAPI efi_pxe_base_code_discover(
+                               struct efi_pxe_base_code_protocol *this,
+                               u16 type, u16 *layer, u8 bis,
+                               struct efi_pxe_base_code_discover_info *info)
+{
+       return EFI_UNSUPPORTED;
+}
+
+static efi_status_t EFIAPI efi_pxe_base_code_mtftp(
+                               struct efi_pxe_base_code_protocol *this,
+                               u32 operation, void *buffer_ptr,
+                               u8 overwrite, efi_uintn_t *buffer_size,
+                               struct efi_ip_address server_ip, char *filename,
+                               struct efi_pxe_base_code_mtftp_info *info,
+                               u8 dont_use_buffer)
+{
+       return EFI_UNSUPPORTED;
+}
+
+static efi_status_t EFIAPI efi_pxe_base_code_udp_write(
+                               struct efi_pxe_base_code_protocol *this,
+                               u16 op_flags, struct efi_ip_address *dest_ip,
+                               u16 *dest_port,
+                               struct efi_ip_address *gateway_ip,
+                               struct efi_ip_address *src_ip, u16 *src_port,
+                               efi_uintn_t *header_size, void *header_ptr,
+                               efi_uintn_t *buffer_size, void *buffer_ptr)
+{
+       return EFI_UNSUPPORTED;
+}
+
+static efi_status_t EFIAPI efi_pxe_base_code_udp_read(
+                               struct efi_pxe_base_code_protocol *this,
+                               u16 op_flags, struct efi_ip_address *dest_ip,
+                               u16 *dest_port, struct efi_ip_address *src_ip,
+                               u16 *src_port, efi_uintn_t *header_size,
+                               void *header_ptr, efi_uintn_t *buffer_size,
+                               void *buffer_ptr)
+{
+       return EFI_UNSUPPORTED;
+}
+
+static efi_status_t EFIAPI efi_pxe_base_code_set_ip_filter(
+                               struct efi_pxe_base_code_protocol *this,
+                               struct efi_pxe_base_code_filter *new_filter)
+{
+       return EFI_UNSUPPORTED;
+}
+
+static efi_status_t EFIAPI efi_pxe_base_code_arp(
+                               struct efi_pxe_base_code_protocol *this,
+                               struct efi_ip_address *ip_addr,
+                               struct efi_mac_address *mac_addr)
+{
+       return EFI_UNSUPPORTED;
+}
+
+static efi_status_t EFIAPI efi_pxe_base_code_set_parameters(
+                               struct efi_pxe_base_code_protocol *this,
+                               u8 *new_auto_arp, u8 *new_send_guid,
+                               u8 *new_ttl, u8 *new_tos,
+                               u8 *new_make_callback)
+{
+       return EFI_UNSUPPORTED;
+}
+
+static efi_status_t EFIAPI efi_pxe_base_code_set_station_ip(
+                               struct efi_pxe_base_code_protocol *this,
+                               struct efi_ip_address *new_station_ip,
+                               struct efi_ip_address *new_subnet_mask)
+{
+       return EFI_UNSUPPORTED;
+}
+
+static efi_status_t EFIAPI efi_pxe_base_code_set_packets(
+                               struct efi_pxe_base_code_protocol *this,
+                               u8 *new_dhcp_discover_valid,
+                               u8 *new_dhcp_ack_received,
+                               u8 *new_proxy_offer_received,
+                               u8 *new_pxe_discover_valid,
+                               u8 *new_pxe_reply_received,
+                               u8 *new_pxe_bis_reply_received,
+                               EFI_PXE_BASE_CODE_PACKET *new_dchp_discover,
+                               EFI_PXE_BASE_CODE_PACKET *new_dhcp_acc,
+                               EFI_PXE_BASE_CODE_PACKET *new_proxy_offer,
+                               EFI_PXE_BASE_CODE_PACKET *new_pxe_discover,
+                               EFI_PXE_BASE_CODE_PACKET *new_pxe_reply,
+                               EFI_PXE_BASE_CODE_PACKET *new_pxe_bis_reply)
+{
+       return EFI_UNSUPPORTED;
+}
+
 /**
  * efi_net_register() - register the simple network protocol
  *
@@ -619,7 +732,7 @@ efi_status_t efi_net_register(void)
                             efi_dp_from_eth());
        if (r != EFI_SUCCESS)
                goto failure_to_add_protocol;
-       r = efi_add_protocol(&netobj->header, &efi_pxe_guid,
+       r = efi_add_protocol(&netobj->header, &efi_pxe_base_code_protocol_guid,
                             &netobj->pxe);
        if (r != EFI_SUCCESS)
                goto failure_to_add_protocol;
@@ -644,6 +757,19 @@ efi_status_t efi_net_register(void)
        netobj->net_mode.max_packet_size = PKTSIZE;
        netobj->net_mode.if_type = ARP_ETHER;
 
+       netobj->pxe.revision = EFI_PXE_BASE_CODE_PROTOCOL_REVISION;
+       netobj->pxe.start = efi_pxe_base_code_start;
+       netobj->pxe.stop = efi_pxe_base_code_stop;
+       netobj->pxe.dhcp = efi_pxe_base_code_dhcp;
+       netobj->pxe.discover = efi_pxe_base_code_discover;
+       netobj->pxe.mtftp = efi_pxe_base_code_mtftp;
+       netobj->pxe.udp_write = efi_pxe_base_code_udp_write;
+       netobj->pxe.udp_read = efi_pxe_base_code_udp_read;
+       netobj->pxe.set_ip_filter = efi_pxe_base_code_set_ip_filter;
+       netobj->pxe.arp = efi_pxe_base_code_arp;
+       netobj->pxe.set_parameters = efi_pxe_base_code_set_parameters;
+       netobj->pxe.set_station_ip = efi_pxe_base_code_set_station_ip;
+       netobj->pxe.set_packets = efi_pxe_base_code_set_packets;
        netobj->pxe.mode = &netobj->pxe_mode;
        if (dhcp_ack)
                netobj->pxe_mode.dhcp_ack = *dhcp_ack;