]>
Commit | Line | Data |
---|---|---|
8dbae2c1 AB |
1 | /** @file\r |
2 | \r | |
3 | DISCLAIMER: the FDT_CLIENT_PROTOCOL introduced here is a work in progress,\r | |
4 | and should not be used outside of the EDK II tree.\r | |
5 | \r | |
6 | Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>\r | |
7 | \r | |
9792fb0e | 8 | SPDX-License-Identifier: BSD-2-Clause-Patent\r |
8dbae2c1 AB |
9 | \r |
10 | **/\r | |
11 | \r | |
12 | #ifndef __FDT_CLIENT_H__\r | |
13 | #define __FDT_CLIENT_H__\r | |
14 | \r | |
e7108d0e | 15 | #define FDT_CLIENT_PROTOCOL_GUID {\\r |
8dbae2c1 AB |
16 | 0xE11FACA0, 0x4710, 0x4C8E, {0xA7, 0xA2, 0x01, 0xBA, 0xA2, 0x59, 0x1B, 0x4C} \\r |
17 | }\r | |
18 | \r | |
19 | //\r | |
20 | // Protocol interface structure\r | |
21 | //\r | |
22 | typedef struct _FDT_CLIENT_PROTOCOL FDT_CLIENT_PROTOCOL;\r | |
23 | \r | |
24 | typedef\r | |
25 | EFI_STATUS\r | |
e7108d0e | 26 | (EFIAPI *FDT_CLIENT_GET_NODE_PROPERTY)(\r |
8dbae2c1 AB |
27 | IN FDT_CLIENT_PROTOCOL *This,\r |
28 | IN INT32 Node,\r | |
29 | IN CONST CHAR8 *PropertyName,\r | |
30 | OUT CONST VOID **Prop,\r | |
31 | OUT UINT32 *PropSize OPTIONAL\r | |
32 | );\r | |
33 | \r | |
34 | typedef\r | |
35 | EFI_STATUS\r | |
e7108d0e | 36 | (EFIAPI *FDT_CLIENT_SET_NODE_PROPERTY)(\r |
8dbae2c1 AB |
37 | IN FDT_CLIENT_PROTOCOL *This,\r |
38 | IN INT32 Node,\r | |
39 | IN CONST CHAR8 *PropertyName,\r | |
40 | IN CONST VOID *Prop,\r | |
41 | IN UINT32 PropSize\r | |
42 | );\r | |
43 | \r | |
44 | typedef\r | |
45 | EFI_STATUS\r | |
e7108d0e | 46 | (EFIAPI *FDT_CLIENT_FIND_COMPATIBLE_NODE)(\r |
8dbae2c1 AB |
47 | IN FDT_CLIENT_PROTOCOL *This,\r |
48 | IN CONST CHAR8 *CompatibleString,\r | |
49 | OUT INT32 *Node\r | |
50 | );\r | |
51 | \r | |
52 | typedef\r | |
53 | EFI_STATUS\r | |
e7108d0e | 54 | (EFIAPI *FDT_CLIENT_FIND_NEXT_COMPATIBLE_NODE)(\r |
8dbae2c1 AB |
55 | IN FDT_CLIENT_PROTOCOL *This,\r |
56 | IN CONST CHAR8 *CompatibleString,\r | |
57 | IN INT32 PrevNode,\r | |
58 | OUT INT32 *Node\r | |
59 | );\r | |
60 | \r | |
61 | typedef\r | |
62 | EFI_STATUS\r | |
e7108d0e | 63 | (EFIAPI *FDT_CLIENT_FIND_COMPATIBLE_NODE_PROPERTY)(\r |
8dbae2c1 AB |
64 | IN FDT_CLIENT_PROTOCOL *This,\r |
65 | IN CONST CHAR8 *CompatibleString,\r | |
66 | IN CONST CHAR8 *PropertyName,\r | |
67 | OUT CONST VOID **Prop,\r | |
68 | OUT UINT32 *PropSize OPTIONAL\r | |
69 | );\r | |
70 | \r | |
71 | typedef\r | |
72 | EFI_STATUS\r | |
e7108d0e | 73 | (EFIAPI *FDT_CLIENT_FIND_COMPATIBLE_NODE_REG)(\r |
8dbae2c1 AB |
74 | IN FDT_CLIENT_PROTOCOL *This,\r |
75 | IN CONST CHAR8 *CompatibleString,\r | |
76 | OUT CONST VOID **Reg,\r | |
cfc8d51c AB |
77 | OUT UINTN *AddressCells,\r |
78 | OUT UINTN *SizeCells,\r | |
8dbae2c1 AB |
79 | OUT UINT32 *RegSize\r |
80 | );\r | |
81 | \r | |
969d2eb3 AB |
82 | typedef\r |
83 | EFI_STATUS\r | |
e7108d0e | 84 | (EFIAPI *FDT_CLIENT_FIND_NEXT_MEMORY_NODE_REG)(\r |
969d2eb3 AB |
85 | IN FDT_CLIENT_PROTOCOL *This,\r |
86 | IN INT32 PrevNode,\r | |
87 | OUT INT32 *Node,\r | |
88 | OUT CONST VOID **Reg,\r | |
89 | OUT UINTN *AddressCells,\r | |
90 | OUT UINTN *SizeCells,\r | |
91 | OUT UINT32 *RegSize\r | |
92 | );\r | |
93 | \r | |
94 | typedef\r | |
95 | EFI_STATUS\r | |
e7108d0e | 96 | (EFIAPI *FDT_CLIENT_FIND_MEMORY_NODE_REG)(\r |
969d2eb3 AB |
97 | IN FDT_CLIENT_PROTOCOL *This,\r |
98 | OUT INT32 *Node,\r | |
99 | OUT CONST VOID **Reg,\r | |
100 | OUT UINTN *AddressCells,\r | |
101 | OUT UINTN *SizeCells,\r | |
102 | OUT UINT32 *RegSize\r | |
103 | );\r | |
104 | \r | |
8dbae2c1 AB |
105 | typedef\r |
106 | EFI_STATUS\r | |
e7108d0e | 107 | (EFIAPI *FDT_CLIENT_GET_OR_INSERT_CHOSEN_NODE)(\r |
8dbae2c1 AB |
108 | IN FDT_CLIENT_PROTOCOL *This,\r |
109 | OUT INT32 *Node\r | |
110 | );\r | |
111 | \r | |
112 | struct _FDT_CLIENT_PROTOCOL {\r | |
e7108d0e MK |
113 | FDT_CLIENT_GET_NODE_PROPERTY GetNodeProperty;\r |
114 | FDT_CLIENT_SET_NODE_PROPERTY SetNodeProperty;\r | |
8dbae2c1 | 115 | \r |
e7108d0e MK |
116 | FDT_CLIENT_FIND_COMPATIBLE_NODE FindCompatibleNode;\r |
117 | FDT_CLIENT_FIND_NEXT_COMPATIBLE_NODE FindNextCompatibleNode;\r | |
118 | FDT_CLIENT_FIND_COMPATIBLE_NODE_PROPERTY FindCompatibleNodeProperty;\r | |
119 | FDT_CLIENT_FIND_COMPATIBLE_NODE_REG FindCompatibleNodeReg;\r | |
8dbae2c1 | 120 | \r |
e7108d0e MK |
121 | FDT_CLIENT_FIND_MEMORY_NODE_REG FindMemoryNodeReg;\r |
122 | FDT_CLIENT_FIND_NEXT_MEMORY_NODE_REG FindNextMemoryNodeReg;\r | |
969d2eb3 | 123 | \r |
e7108d0e | 124 | FDT_CLIENT_GET_OR_INSERT_CHOSEN_NODE GetOrInsertChosenNode;\r |
8dbae2c1 AB |
125 | };\r |
126 | \r | |
e7108d0e | 127 | extern EFI_GUID gFdtClientProtocolGuid;\r |
8dbae2c1 AB |
128 | \r |
129 | #endif\r |