15#ifndef APPLE_RAM_DISK_PROTOCOL_H
16#define APPLE_RAM_DISK_PROTOCOL_H
18#include <Protocol/BlockIo.h>
19#include <Protocol/DevicePath.h>
25#define APPLE_RAM_DISK_PROTOCOL_GUID \
26 { 0x957932CC, 0x7E8E, 0x433B, \
27 { 0x8F, 0x41, 0xD3, 0x91, 0xEA, 0x3C, 0x10, 0xF8 } }
32#define APPLE_DMG_BOOT_PROTOCOL_REVISION 3
37#define APPLE_RAM_DISK_EXTENT_SIGNATURE 0x544E5458444D4152ULL
42#define APPLE_RAM_DISK_EXTENT_VERSION 0x10000U
47#define APPLE_RAM_DISK_MAX_EXTENTS 0xFE
59typedef PACKED
struct {
74typedef PACKED
struct {
104typedef PACKED
struct {
138typedef PACKED
struct {
156typedef PACKED
struct {
170typedef PACKED
struct {
187 MEMMAP_DEVICE_PATH
MemMap;
191 EFI_DEVICE_PATH_PROTOCOL
End;
229 IN BOOLEAN AllocateMemory,
230 IN BOOLEAN ReserveMemory,
299#define APPLE_RAM_DISK_INSTANCE_SIGNATURE 0x444D4152U
305#define APPLE_RAM_DISK_DEFAULT_SIZE 0xA00000U
339 UINT8 OwnExtentData[];
#define APPLE_RAM_DISK_MAX_EXTENTS
STATIC_ASSERT(sizeof(APPLE_RAM_DISK_DP_VENDOR)==24, "Invalid APPLE_RAM_DISK_DP_VENDOR size")
PACKED struct @53 APPLE_RAM_DISK_EXTENT
APPLE_RAM_DISK_EXTENT Extents[APPLE_RAM_DISK_MAX_EXTENTS]
VENDOR_DEVICE_PATH Vendor
EFI_DEVICE_PATH_PROTOCOL End
EFI_GUID gAppleRamDiskProtocolGuid
APPLE_RAM_DISK_EXTENT_TABLE ExtentTable
EFI_STATUS(EFIAPI * APPLE_RAM_DISK_CREATE)(IN UINT64 BlockCount OPTIONAL, IN UINT32 BlockSize OPTIONAL, IN BOOLEAN AllocateMemory, IN BOOLEAN ReserveMemory, OUT EFI_HANDLE *Handle)
EFI_STATUS(EFIAPI * APPLE_RAM_DISK_DESTROY)(IN EFI_HANDLE Handle)
EFI_STATUS(EFIAPI * APPLE_RAM_DISK_GET_CONTEXT)(IN EFI_HANDLE Handle, OUT APPLE_RAM_DISK_CONTEXT *Context)
PACKED struct @56 APPLE_RAM_DISK_DP_VENDOR
PACKED struct @57 APPLE_RAM_DISK_DP_HEADER
MEMMAP_DEVICE_PATH MemMap
PACKED struct @55 APPLE_RAM_DISK_CONTEXT
PACKED struct @54 APPLE_RAM_DISK_EXTENT_TABLE
PACKED struct @58 APPLE_RAM_DISK_DP
APPLE_EVENT_HANDLE Handle
APPLE_RAM_DISK_EXTENT_TABLE * Extents
EFI_DEVICE_PATH_PROTOCOL * DevicePath
EFI_BLOCK_IO_PROTOCOL BlockIo
APPLE_RAM_DISK_CONTEXT * Context
APPLE_RAM_DISK_CREATE CreateRamDisk
APPLE_RAM_DISK_DESTROY DestroyRamDisk
APPLE_RAM_DISK_GET_CONTEXT GetRamDiskContext