CloverBootloader/Include/Protocol/AppleImageCodecProtocol.h
2019-09-03 12:58:42 +03:00

38 lines
1.6 KiB
C

//********************************************************************
// created: 28:8:2012 20:54
// filename: AppleImageCodec.h
// author: tiamo
// purpose: image code
//********************************************************************
// dmazar: changed ImageWidth and ImageHeight in GET_IMAGE_DIMS
// to UINT32 from UINTN to get it working in 64 bit
//********************************************************************
#ifndef _APPLE_IMAGE_CODEC_H_
#define _APPLE_IMAGE_CODEC_H_
#define APPLE_IMAGE_CODEC_PROTOCOL_GUID {0x0dfce9f6, 0xc4e3, 0x45ee, {0xa0, 0x6a, 0xa8, 0x61, 0x3b, 0x98, 0xa5, 0x07}}
typedef struct _APPLE_IMAGE_CODEC_PROTOCOL APPLE_IMAGE_CODEC_PROTOCOL;
typedef EFI_STATUS (EFIAPI* RECOGNIZE_IMAGE_DATA)(VOID* ImageBuffer, UINTN ImageSize, OUT VOID **OutBuffer);
typedef EFI_STATUS (EFIAPI* GET_IMAGE_DIMS)(VOID* ImageBuffer, UINTN ImageSize, UINT32* ImageWidth, UINT32* ImageHeight);
typedef EFI_STATUS (EFIAPI* DECODE_IMAGE_DATA)(VOID* ImageBuffer, UINTN ImageSize, EFI_UGA_PIXEL** RawImageData, UINT32* RawImageDataSize);
typedef EFI_STATUS (EFIAPI* UNKNOWN_IMAGE_DATA)(VOID* ImageBuffer, UINTN Param1, UINTN Param2, UINTN Param3);
struct _APPLE_IMAGE_CODEC_PROTOCOL
{
UINT64 Version;
UINT64 FileExt;
RECOGNIZE_IMAGE_DATA RecognizeImageData;
GET_IMAGE_DIMS GetImageDims;
DECODE_IMAGE_DATA DecodeImageData;
UNKNOWN_IMAGE_DATA Unknown1;
UNKNOWN_IMAGE_DATA Unknown2;
};
extern EFI_GUID gAppleImageCodecProtocolGuid;
#endif