REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the DynamicTablesPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  AML NameSpace.
 | 
						|
 | 
						|
  Copyright (c) 2019 - 2020, Arm Limited. All rights reserved.<BR>
 | 
						|
 | 
						|
  SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
**/
 | 
						|
 | 
						|
#ifndef AML_NAMESPACE_H_
 | 
						|
#define AML_NAMESPACE_H_
 | 
						|
 | 
						|
#include <AmlNodeDefines.h>
 | 
						|
#include <Stream/AmlStream.h>
 | 
						|
 | 
						|
/** Return the first AML namespace node up in the parent hierarchy.
 | 
						|
 | 
						|
    Return the root node if no namespace node is found is the hierarchy.
 | 
						|
 | 
						|
  @param  [in]  Node      Node to look at the parents from.
 | 
						|
                          If Node is the root node, OutNode is NULL.
 | 
						|
  @param  [out] OutNode   If a namespace node is found, pointer to the
 | 
						|
                          first namespace node of Node's parents.
 | 
						|
                          Stop at the root node otherwise.
 | 
						|
 | 
						|
  @retval EFI_SUCCESS             The function completed successfully.
 | 
						|
  @retval EFI_INVALID_PARAMETER   Invalid parameter.
 | 
						|
  **/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
AmlGetFirstAncestorNameSpaceNode (
 | 
						|
  IN  CONST AML_NODE_HEADER  *Node,
 | 
						|
  OUT       AML_NODE_HEADER  **OutNode
 | 
						|
  );
 | 
						|
 | 
						|
/** Build the raw absolute AML pathname to Node and write it to a stream.
 | 
						|
 | 
						|
  A raw AML pathname is an AML pathname where the root char ('\'),
 | 
						|
  prefix chars ('^') and NameString prefix byte (e.g.: DualNamePrefix)
 | 
						|
  have been removed. A raw AML pathname is a list of concatenated
 | 
						|
  NameSegs.
 | 
						|
 | 
						|
  E.g.:
 | 
						|
  ASL absolute path:  "[RootChar]AAAA.BBBB.CCCC\0"
 | 
						|
  AML absolute path:  "[RootChar][MultiNamePrefix][3(NameSegs)]AAAABBBBCCCC"
 | 
						|
  Raw absolute path:  "AAAABBBBCCCC"
 | 
						|
 | 
						|
  @param  [in]   Node         Node to build the raw absolute path to
 | 
						|
                              Must be a root node, or a namespace node.
 | 
						|
  @param  [in]  InputParent   Skip InputParent AML namespace levels before
 | 
						|
                              starting building the raw absolute pathname.
 | 
						|
                              E.g.: - Node's name being "^AAAA.BBBB.CCCC";
 | 
						|
                                    - InputParent = 2;
 | 
						|
                                    "BBBB.CCCC" will be skipped (2
 | 
						|
                                    levels), and "^AAAA" will remain. The
 | 
						|
                                    first caret is not related to InputParent.
 | 
						|
  @param  [out]  RawAbsPathBStream  Backward stream to write the raw
 | 
						|
                                    pathname to.
 | 
						|
                                    If Node is the root node, the Stream data
 | 
						|
                                    Buffer will stay empty.
 | 
						|
                                    The stream must not be at its end.
 | 
						|
 | 
						|
  @retval EFI_SUCCESS             The function completed successfully.
 | 
						|
  @retval EFI_BUFFER_TOO_SMALL    No space left in the buffer.
 | 
						|
  @retval EFI_INVALID_PARAMETER   Invalid parameter.
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
AmlGetRawNameSpacePath (
 | 
						|
  IN  CONST AML_NODE_HEADER  *Node,
 | 
						|
  IN        UINT32           InputParent,
 | 
						|
  OUT       AML_STREAM       *RawAbsPathBStream
 | 
						|
  );
 | 
						|
 | 
						|
#endif // AML_NAMESPACE_H_
 |