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 // 26 typedef struct _EMBEDDED_EXTERNAL_DEVICE EMBEDDED_EXTERNAL_DEVICE; 27 28 // 29 // Function Prototypes 30 // 31 typedef 32 EFI_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 41 Routine Description: 42 43 Read a set of contiguous external device registers. 44 45 Arguments: 46 47 This - pointer to protocol 48 Offset - starting register number 49 Length - number of bytes to read 50 Buffer - destination buffer 51 52 Returns: 53 54 EFI_SUCCESS - registers read successfully 55 56 --*/ 57 ; 58 59 typedef 60 EFI_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 69 Routine Description: 70 71 Write to a set of contiguous external device registers. 72 73 Arguments: 74 75 This - pointer to protocol 76 Offset - starting register number 77 Length - number of bytes to write 78 Buffer - source buffer 79 80 Returns: 81 82 EFI_SUCCESS - registers written successfully 83 84 --*/ 85 ; 86 87 struct _EMBEDDED_EXTERNAL_DEVICE { 88 EMBEDDED_EXTERNAL_DEVICE_READ Read; 89 EMBEDDED_EXTERNAL_DEVICE_WRITE Write; 90 }; 91 92 extern EFI_GUID gEmbeddedExternalDeviceProtocolGuid; 93 94 #endif // __EMBEDDED_EXTERNAL_DEVICE_H__ 95