[efi] Mark AppleNetBoot.h as a native iPXE header
[ipxe.git] / src / include / ipxe / efi / Protocol / AppleNetBoot.h
1 #ifndef _IPXE_EFI_APPLE_NET_BOOT_PROTOCOL_H
2 #define _IPXE_EFI_APPLE_NET_BOOT_PROTOCOL_H
3
4 /** @file
5 *
6 * Apple Net Boot Protocol
7 *
8 */
9
10 FILE_LICENCE ( BSD3 );
11
12 #define EFI_APPLE_NET_BOOT_PROTOCOL_GUID \
13 { 0x78ee99fb, 0x6a5e, 0x4186, \
14 { 0x97, 0xde, 0xcd, 0x0a, 0xba, 0x34, 0x5a, 0x74 } }
15
16 typedef struct _EFI_APPLE_NET_BOOT_PROTOCOL EFI_APPLE_NET_BOOT_PROTOCOL;
17
18 /**
19 Get a DHCP packet obtained by the firmware during NetBoot.
20
21 @param This A pointer to the APPLE_NET_BOOT_PROTOCOL instance.
22 @param BufferSize A pointer to the size of the buffer in bytes.
23 @param DataBuffer The memory buffer to copy the packet to. If it is
24 NULL, then the size of the packet is returned
25 in BufferSize.
26 @retval EFI_SUCCESS The packet was copied.
27 @retval EFI_BUFFER_TOO_SMALL The BufferSize is too small to read the
28 current packet. BufferSize has been
29 updated with the size needed to
30 complete the request.
31 **/
32 typedef
33 EFI_STATUS
34 (EFIAPI *GET_DHCP_RESPONSE) (
35 IN EFI_APPLE_NET_BOOT_PROTOCOL *This,
36 IN OUT UINTN *BufferSize,
37 OUT VOID *DataBuffer
38 );
39
40 struct _EFI_APPLE_NET_BOOT_PROTOCOL
41 {
42 GET_DHCP_RESPONSE GetDhcpResponse;
43 GET_DHCP_RESPONSE GetBsdpResponse;
44 };
45
46 #endif /*_IPXE_EFI_APPLE_NET_BOOT_PROTOCOL_H */