Adding some new libraries to experiment with size reduction. Trying not to duplicate...
[mirror_edk2.git] / EmbeddedPkg / Include / Protocol / EmbeddedExternalDevice.h
1 /** @file
2
3 Copyright (c) 2008-2009 Apple Inc. All rights reserved.<BR>
4
5 All rights reserved. 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__