123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- /** @file
- DISCLAIMER: the FDT_CLIENT_PROTOCOL introduced here is a work in progress,
- and should not be used outside of the EDK II tree.
- Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #ifndef __FDT_CLIENT_H__
- #define __FDT_CLIENT_H__
- #define FDT_CLIENT_PROTOCOL_GUID {\
- 0xE11FACA0, 0x4710, 0x4C8E, {0xA7, 0xA2, 0x01, 0xBA, 0xA2, 0x59, 0x1B, 0x4C} \
- }
- //
- // Protocol interface structure
- //
- typedef struct _FDT_CLIENT_PROTOCOL FDT_CLIENT_PROTOCOL;
- typedef
- EFI_STATUS
- (EFIAPI *FDT_CLIENT_GET_NODE_PROPERTY)(
- IN FDT_CLIENT_PROTOCOL *This,
- IN INT32 Node,
- IN CONST CHAR8 *PropertyName,
- OUT CONST VOID **Prop,
- OUT UINT32 *PropSize OPTIONAL
- );
- typedef
- EFI_STATUS
- (EFIAPI *FDT_CLIENT_SET_NODE_PROPERTY)(
- IN FDT_CLIENT_PROTOCOL *This,
- IN INT32 Node,
- IN CONST CHAR8 *PropertyName,
- IN CONST VOID *Prop,
- IN UINT32 PropSize
- );
- typedef
- EFI_STATUS
- (EFIAPI *FDT_CLIENT_FIND_COMPATIBLE_NODE)(
- IN FDT_CLIENT_PROTOCOL *This,
- IN CONST CHAR8 *CompatibleString,
- OUT INT32 *Node
- );
- typedef
- EFI_STATUS
- (EFIAPI *FDT_CLIENT_FIND_NEXT_COMPATIBLE_NODE)(
- IN FDT_CLIENT_PROTOCOL *This,
- IN CONST CHAR8 *CompatibleString,
- IN INT32 PrevNode,
- OUT INT32 *Node
- );
- typedef
- EFI_STATUS
- (EFIAPI *FDT_CLIENT_FIND_COMPATIBLE_NODE_PROPERTY)(
- IN FDT_CLIENT_PROTOCOL *This,
- IN CONST CHAR8 *CompatibleString,
- IN CONST CHAR8 *PropertyName,
- OUT CONST VOID **Prop,
- OUT UINT32 *PropSize OPTIONAL
- );
- typedef
- EFI_STATUS
- (EFIAPI *FDT_CLIENT_FIND_COMPATIBLE_NODE_REG)(
- IN FDT_CLIENT_PROTOCOL *This,
- IN CONST CHAR8 *CompatibleString,
- OUT CONST VOID **Reg,
- OUT UINTN *AddressCells,
- OUT UINTN *SizeCells,
- OUT UINT32 *RegSize
- );
- typedef
- EFI_STATUS
- (EFIAPI *FDT_CLIENT_FIND_NEXT_MEMORY_NODE_REG)(
- IN FDT_CLIENT_PROTOCOL *This,
- IN INT32 PrevNode,
- OUT INT32 *Node,
- OUT CONST VOID **Reg,
- OUT UINTN *AddressCells,
- OUT UINTN *SizeCells,
- OUT UINT32 *RegSize
- );
- typedef
- EFI_STATUS
- (EFIAPI *FDT_CLIENT_FIND_MEMORY_NODE_REG)(
- IN FDT_CLIENT_PROTOCOL *This,
- OUT INT32 *Node,
- OUT CONST VOID **Reg,
- OUT UINTN *AddressCells,
- OUT UINTN *SizeCells,
- OUT UINT32 *RegSize
- );
- typedef
- EFI_STATUS
- (EFIAPI *FDT_CLIENT_GET_OR_INSERT_CHOSEN_NODE)(
- IN FDT_CLIENT_PROTOCOL *This,
- OUT INT32 *Node
- );
- struct _FDT_CLIENT_PROTOCOL {
- FDT_CLIENT_GET_NODE_PROPERTY GetNodeProperty;
- FDT_CLIENT_SET_NODE_PROPERTY SetNodeProperty;
- FDT_CLIENT_FIND_COMPATIBLE_NODE FindCompatibleNode;
- FDT_CLIENT_FIND_NEXT_COMPATIBLE_NODE FindNextCompatibleNode;
- FDT_CLIENT_FIND_COMPATIBLE_NODE_PROPERTY FindCompatibleNodeProperty;
- FDT_CLIENT_FIND_COMPATIBLE_NODE_REG FindCompatibleNodeReg;
- FDT_CLIENT_FIND_MEMORY_NODE_REG FindMemoryNodeReg;
- FDT_CLIENT_FIND_NEXT_MEMORY_NODE_REG FindNextMemoryNodeReg;
- FDT_CLIENT_GET_OR_INSERT_CHOSEN_NODE GetOrInsertChosenNode;
- };
- extern EFI_GUID gFdtClientProtocolGuid;
- #endif
|