iPXE
AppleNetBoot.h
Go to the documentation of this file.
00001 #ifndef _IPXE_EFI_APPLE_NET_BOOT_PROTOCOL_H
00002 #define _IPXE_EFI_APPLE_NET_BOOT_PROTOCOL_H
00003 
00004 /** @file
00005  *
00006  * Apple Net Boot Protocol
00007  *
00008  */
00009 
00010 FILE_LICENCE ( BSD3 );
00011 
00012 #define EFI_APPLE_NET_BOOT_PROTOCOL_GUID                                \
00013         { 0x78ee99fb, 0x6a5e, 0x4186,                                   \
00014         { 0x97, 0xde, 0xcd, 0x0a, 0xba, 0x34, 0x5a, 0x74 } }
00015 
00016 typedef struct _EFI_APPLE_NET_BOOT_PROTOCOL EFI_APPLE_NET_BOOT_PROTOCOL;
00017 
00018 /**
00019   Get a DHCP packet obtained by the firmware during NetBoot.
00020 
00021   @param  This          A pointer to the APPLE_NET_BOOT_PROTOCOL instance.
00022   @param  BufferSize    A pointer to the size of the buffer in bytes.
00023   @param  DataBuffer    The memory buffer to copy the packet to. If it is
00024                         NULL, then the size of the packet is returned
00025                         in BufferSize.
00026   @retval EFI_SUCCESS           The packet was copied.
00027   @retval EFI_BUFFER_TOO_SMALL  The BufferSize is too small to read the
00028                                 current packet. BufferSize has been
00029                                 updated with the size needed to
00030                                 complete the request.
00031 **/
00032 typedef
00033 EFI_STATUS
00034 (EFIAPI *GET_DHCP_RESPONSE) (
00035   IN EFI_APPLE_NET_BOOT_PROTOCOL        *This,
00036   IN OUT UINTN                          *BufferSize,
00037   OUT VOID                              *DataBuffer
00038   );
00039 
00040 struct _EFI_APPLE_NET_BOOT_PROTOCOL
00041 {
00042   GET_DHCP_RESPONSE     GetDhcpResponse;
00043   GET_DHCP_RESPONSE     GetBsdpResponse;
00044 };
00045 
00046 #endif /*_IPXE_EFI_APPLE_NET_BOOT_PROTOCOL_H */