/** @file Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef __EMBEDDED_EXTERNAL_DEVICE_H__ #define __EMBEDDED_EXTERNAL_DEVICE_H__ // // Protocol GUID // #define EMBEDDED_EXTERNAL_DEVICE_PROTOCOL_GUID { 0x735F8C64, 0xD696, 0x44D0, { 0xBD, 0xF2, 0x44, 0x7F, 0xD0, 0x5A, 0x54, 0x06 }} // // Protocol interface structure // typedef struct _EMBEDDED_EXTERNAL_DEVICE EMBEDDED_EXTERNAL_DEVICE; // // Function Prototypes // typedef EFI_STATUS (EFIAPI *EMBEDDED_EXTERNAL_DEVICE_READ) ( IN EMBEDDED_EXTERNAL_DEVICE *This, IN UINTN Register, IN UINTN Length, OUT VOID *Buffer ) /*++ Routine Description: Read a set of contiguous external device registers. Arguments: This - pointer to protocol Offset - starting register number Length - number of bytes to read Buffer - destination buffer Returns: EFI_SUCCESS - registers read successfully --*/ ; typedef EFI_STATUS (EFIAPI *EMBEDDED_EXTERNAL_DEVICE_WRITE) ( IN EMBEDDED_EXTERNAL_DEVICE *This, IN UINTN Register, IN UINTN Length, IN VOID *Buffer ) /*++ Routine Description: Write to a set of contiguous external device registers. Arguments: This - pointer to protocol Offset - starting register number Length - number of bytes to write Buffer - source buffer Returns: EFI_SUCCESS - registers written successfully --*/ ; struct _EMBEDDED_EXTERNAL_DEVICE { EMBEDDED_EXTERNAL_DEVICE_READ Read; EMBEDDED_EXTERNAL_DEVICE_WRITE Write; }; extern EFI_GUID gEmbeddedExternalDeviceProtocolGuid; #endif // __EMBEDDED_EXTERNAL_DEVICE_H__