1/** @file 2 3 Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 4 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13**/ 14 15#ifndef __EMBEDDED_EXTERNAL_DEVICE_H__ 16#define __EMBEDDED_EXTERNAL_DEVICE_H__ 17 18// 19// Protocol GUID 20// 21#define EMBEDDED_EXTERNAL_DEVICE_PROTOCOL_GUID { 0x735F8C64, 0xD696, 0x44D0, { 0xBD, 0xF2, 0x44, 0x7F, 0xD0, 0x5A, 0x54, 0x06 }} 22 23// 24// Protocol interface structure 25// 26typedef struct _EMBEDDED_EXTERNAL_DEVICE EMBEDDED_EXTERNAL_DEVICE; 27 28// 29// Function Prototypes 30// 31typedef 32EFI_STATUS 33(EFIAPI *EMBEDDED_EXTERNAL_DEVICE_READ) ( 34 IN EMBEDDED_EXTERNAL_DEVICE *This, 35 IN UINTN Register, 36 IN UINTN Length, 37 OUT VOID *Buffer 38 ) 39/*++ 40 41Routine Description: 42 43 Read a set of contiguous external device registers. 44 45Arguments: 46 47 This - pointer to protocol 48 Offset - starting register number 49 Length - number of bytes to read 50 Buffer - destination buffer 51 52Returns: 53 54 EFI_SUCCESS - registers read successfully 55 56--*/ 57; 58 59typedef 60EFI_STATUS 61(EFIAPI *EMBEDDED_EXTERNAL_DEVICE_WRITE) ( 62 IN EMBEDDED_EXTERNAL_DEVICE *This, 63 IN UINTN Register, 64 IN UINTN Length, 65 IN VOID *Buffer 66 ) 67/*++ 68 69Routine Description: 70 71 Write to a set of contiguous external device registers. 72 73Arguments: 74 75 This - pointer to protocol 76 Offset - starting register number 77 Length - number of bytes to write 78 Buffer - source buffer 79 80Returns: 81 82 EFI_SUCCESS - registers written successfully 83 84--*/ 85; 86 87struct _EMBEDDED_EXTERNAL_DEVICE { 88 EMBEDDED_EXTERNAL_DEVICE_READ Read; 89 EMBEDDED_EXTERNAL_DEVICE_WRITE Write; 90}; 91 92extern EFI_GUID gEmbeddedExternalDeviceProtocolGuid; 93 94#endif // __EMBEDDED_EXTERNAL_DEVICE_H__ 95