19#define APPLE_SMC_IO_PROTOCOL_REVISION 0x0000000033
22#define APPLE_SMC_IO_PROTOCOL_GUID \
23 { 0x17407E5A, 0xAF6C, 0x4EE8, \
24 { 0x98, 0xA8, 0x00, 0x21, 0x04, 0x53, 0xCD, 0xD9 } }
EFI_STATUS(EFIAPI * SMC_IO_SMC_GET_KEY_INFO)(IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_KEY Key, OUT SMC_DATA_SIZE *Size, OUT SMC_KEY_TYPE *Type, OUT SMC_KEY_ATTRIBUTES *Attributes)
EFI_STATUS(EFIAPI * SMC_IO_SMC_FLASH_TYPE)(IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_FLASH_TYPE Type)
EFI_STATUS(EFIAPI * SMC_IO_SMC_READ_VALUE)(IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_KEY Key, IN SMC_DATA_SIZE Size, OUT SMC_DATA *Value)
EFI_STATUS(EFIAPI * SMC_IO_SMC_UNKNOWN_4)(IN APPLE_SMC_IO_PROTOCOL *This, IN UINTN Ukn1)
EFI_GUID gAppleSmcIoProtocolGuid
EFI_STATUS(EFIAPI * SMC_IO_SMC_RESET)(IN APPLE_SMC_IO_PROTOCOL *This, IN UINT32 Mode)
EFI_STATUS(EFIAPI * SMC_IO_SMC_UNKNOWN_2)(IN APPLE_SMC_IO_PROTOCOL *This, IN UINTN Ukn1, IN UINTN Ukn2)
EFI_STATUS(EFIAPI * SMC_IO_SMC_GET_KEY_COUNT)(IN APPLE_SMC_IO_PROTOCOL *This, OUT UINT32 *Count)
EFI_STATUS(EFIAPI * SMC_IO_SMC_FLASH_AUTH)(IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_FLASH_SIZE Size, IN SMC_DATA *Data)
EFI_STATUS(EFIAPI * SMC_IO_SMC_UNSUPPORTED)(VOID)
EFI_STATUS(EFIAPI * SMC_IO_SMC_FLASH_WRITE)(IN APPLE_SMC_IO_PROTOCOL *This, IN UINT32 Unknown, IN SMC_FLASH_SIZE Size, IN SMC_DATA *Data)
EFI_STATUS(EFIAPI * SMC_IO_SMC_UNKNOWN_3)(IN APPLE_SMC_IO_PROTOCOL *This, IN UINTN Ukn1, IN UINTN Ukn2)
EFI_STATUS(EFIAPI * SMC_IO_SMC_WRITE_VALUE)(IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_KEY Key, IN SMC_DATA_SIZE Size, IN SMC_DATA *Value)
EFI_STATUS(EFIAPI * SMC_IO_SMC_UNKNOWN_5)(IN APPLE_SMC_IO_PROTOCOL *This, IN UINT8 *Data)
EFI_STATUS(EFIAPI * SMC_IO_SMC_GET_KEY_FROM_INDEX)(IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_KEY_INDEX Index, OUT SMC_KEY *Key)
EFI_STATUS(EFIAPI * SMC_IO_SMC_UNKNOWN_1)(VOID)
EFI_STATUS(EFIAPI * SMC_IO_SMC_MAKE_KEY)(IN CHAR8 *Name, OUT SMC_KEY *Key)
DMG_SIZE_DEVICE_PATH Size
SMC_IO_SMC_UNKNOWN_1 SmcUnknown1
SMC_IO_SMC_MAKE_KEY SmcMakeKey
SMC_IO_SMC_UNKNOWN_3 SmcUnknown3
SMC_IO_SMC_FLASH_TYPE SmcFlashType
SMC_IO_SMC_RESET SmcReset
SMC_IO_SMC_UNSUPPORTED SmcUnsupported
SMC_IO_SMC_UNKNOWN_4 SmcUnknown4
SMC_IO_SMC_GET_KEY_FROM_INDEX SmcGetKeyFromIndex
SMC_IO_SMC_UNKNOWN_5 SmcUnknown5
SMC_IO_SMC_UNKNOWN_2 SmcUnknown2
SMC_IO_SMC_FLASH_AUTH SmcFlashAuth
SMC_IO_SMC_READ_VALUE SmcReadValue
SMC_IO_SMC_FLASH_WRITE SmcFlashWrite
SMC_IO_SMC_GET_KEY_INFO SmcGetKeyInfo
SMC_IO_SMC_GET_KEY_COUNT SmcGetKeyCount
SMC_IO_SMC_WRITE_VALUE SmcWriteValue