]> git.proxmox.com Git - mirror_edk2.git/blob - EmbeddedPkg/Include/Protocol/EmbeddedExternalDevice.h
52c7fb67234307e0b70410bcc18c3c7ca45e6fff
[mirror_edk2.git] / EmbeddedPkg / Include / Protocol / EmbeddedExternalDevice.h
1 /** @file
2
3 Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
4
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9 #ifndef __EMBEDDED_EXTERNAL_DEVICE_H__
10 #define __EMBEDDED_EXTERNAL_DEVICE_H__
11
12 //
13 // Protocol GUID
14 //
15 #define EMBEDDED_EXTERNAL_DEVICE_PROTOCOL_GUID { 0x735F8C64, 0xD696, 0x44D0, { 0xBD, 0xF2, 0x44, 0x7F, 0xD0, 0x5A, 0x54, 0x06 }}
16
17 //
18 // Protocol interface structure
19 //
20 typedef struct _EMBEDDED_EXTERNAL_DEVICE EMBEDDED_EXTERNAL_DEVICE;
21
22 //
23 // Function Prototypes
24 //
25 typedef
26 EFI_STATUS
27 (EFIAPI *EMBEDDED_EXTERNAL_DEVICE_READ)(
28 IN EMBEDDED_EXTERNAL_DEVICE *This,
29 IN UINTN Register,
30 IN UINTN Length,
31 OUT VOID *Buffer
32 )
33
34 /*++
35
36 Routine Description:
37
38 Read a set of contiguous external device registers.
39
40 Arguments:
41
42 This - pointer to protocol
43 Offset - starting register number
44 Length - number of bytes to read
45 Buffer - destination buffer
46
47 Returns:
48
49 EFI_SUCCESS - registers read successfully
50
51 --*/
52 ;
53
54 typedef
55 EFI_STATUS
56 (EFIAPI *EMBEDDED_EXTERNAL_DEVICE_WRITE)(
57 IN EMBEDDED_EXTERNAL_DEVICE *This,
58 IN UINTN Register,
59 IN UINTN Length,
60 IN VOID *Buffer
61 )
62
63 /*++
64
65 Routine Description:
66
67 Write to a set of contiguous external device registers.
68
69 Arguments:
70
71 This - pointer to protocol
72 Offset - starting register number
73 Length - number of bytes to write
74 Buffer - source buffer
75
76 Returns:
77
78 EFI_SUCCESS - registers written successfully
79
80 --*/
81 ;
82
83 struct _EMBEDDED_EXTERNAL_DEVICE {
84 EMBEDDED_EXTERNAL_DEVICE_READ Read;
85 EMBEDDED_EXTERNAL_DEVICE_WRITE Write;
86 };
87
88 extern EFI_GUID gEmbeddedExternalDeviceProtocolGuid;
89
90 #endif // __EMBEDDED_EXTERNAL_DEVICE_H__