REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the SecurityPkg 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: Jian J Wang <jian.j.wang@intel.com>
		
			
				
	
	
		
			127 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  This is definition for service binding for Hash driver.
 | 
						|
 | 
						|
Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
 | 
						|
SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
 | 
						|
**/
 | 
						|
 | 
						|
#ifndef _HASH2_DRIVER_H_
 | 
						|
#define _HASH2_DRIVER_H_
 | 
						|
 | 
						|
#include <Uefi.h>
 | 
						|
 | 
						|
#include <Protocol/ServiceBinding.h>
 | 
						|
#include <Protocol/Hash2.h>
 | 
						|
 | 
						|
#include <Library/BaseLib.h>
 | 
						|
#include <Library/BaseMemoryLib.h>
 | 
						|
#include <Library/DebugLib.h>
 | 
						|
#include <Library/MemoryAllocationLib.h>
 | 
						|
#include <Library/UefiBootServicesTableLib.h>
 | 
						|
#include <Library/UefiRuntimeServicesTableLib.h>
 | 
						|
#include <Library/DevicePathLib.h>
 | 
						|
#include <Library/UefiLib.h>
 | 
						|
 | 
						|
#define HASH2_SERVICE_DATA_SIGNATURE  SIGNATURE_32 ('H', 'S', '2', 'S')
 | 
						|
 | 
						|
typedef struct {
 | 
						|
  UINT32                          Signature;
 | 
						|
  EFI_HANDLE                      ServiceHandle;
 | 
						|
  EFI_SERVICE_BINDING_PROTOCOL    ServiceBinding;
 | 
						|
 | 
						|
  LIST_ENTRY                      ChildrenList;
 | 
						|
} HASH2_SERVICE_DATA;
 | 
						|
 | 
						|
#define HASH2_SERVICE_DATA_FROM_THIS(a) \
 | 
						|
  CR ( \
 | 
						|
  (a), \
 | 
						|
  HASH2_SERVICE_DATA, \
 | 
						|
  ServiceBinding, \
 | 
						|
  HASH2_SERVICE_DATA_SIGNATURE \
 | 
						|
  )
 | 
						|
 | 
						|
#define HASH2_INSTANCE_DATA_SIGNATURE  SIGNATURE_32 ('H', 's', '2', 'I')
 | 
						|
 | 
						|
typedef struct {
 | 
						|
  UINT32                Signature;
 | 
						|
  HASH2_SERVICE_DATA    *Hash2ServiceData;
 | 
						|
  EFI_HANDLE            Handle;
 | 
						|
  LIST_ENTRY            InstEntry;
 | 
						|
  EFI_HASH2_PROTOCOL    Hash2Protocol;
 | 
						|
  VOID                  *HashContext;
 | 
						|
  VOID                  *HashInfoContext;
 | 
						|
  BOOLEAN               Updated;
 | 
						|
} HASH2_INSTANCE_DATA;
 | 
						|
 | 
						|
#define HASH2_INSTANCE_DATA_FROM_THIS(a) \
 | 
						|
  CR ( \
 | 
						|
  (a), \
 | 
						|
  HASH2_INSTANCE_DATA, \
 | 
						|
  Hash2Protocol, \
 | 
						|
  HASH2_INSTANCE_DATA_SIGNATURE \
 | 
						|
  )
 | 
						|
 | 
						|
#define HASH2_INSTANCE_DATA_FROM_LINK(a) \
 | 
						|
  CR ( \
 | 
						|
  (a), \
 | 
						|
  HASH2_INSTANCE_DATA, \
 | 
						|
  InstEntry, \
 | 
						|
  HASH2_INSTANCE_DATA_SIGNATURE \
 | 
						|
  )
 | 
						|
 | 
						|
/**
 | 
						|
  Creates a child handle with a set of I/O services.
 | 
						|
 | 
						|
  @param[in]       This              Protocol instance pointer.
 | 
						|
  @param[in, out]  ChildHandle       Pointer to the handle of the child to create. If
 | 
						|
                                     it is NULL, then a new handle is created. If
 | 
						|
                                     it is not NULL, then the I/O services are added
 | 
						|
                                     to the existing child handle.
 | 
						|
 | 
						|
  @retval EFI_SUCCESS                The protocol was added to ChildHandle.
 | 
						|
  @retval EFI_INVALID_PARAMETER      ChildHandle is NULL.
 | 
						|
  @retval EFI_OUT_OF_RESOURCES       There are not enough resources available to
 | 
						|
                                     create the child.
 | 
						|
  @retval Others                     The child handle was not created.
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
Hash2ServiceBindingCreateChild (
 | 
						|
  IN     EFI_SERVICE_BINDING_PROTOCOL  *This,
 | 
						|
  IN OUT EFI_HANDLE                    *ChildHandle
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Destroys a child handle with a set of I/O services.
 | 
						|
 | 
						|
  The DestroyChild() function does the opposite of CreateChild(). It removes a
 | 
						|
  protocol that was installed by CreateChild() from ChildHandle. If the removed
 | 
						|
  protocol is the last protocol on ChildHandle, then ChildHandle is destroyed.
 | 
						|
 | 
						|
  @param[in]  This               Pointer to the EFI_SERVICE_BINDING_PROTOCOL
 | 
						|
                                 instance.
 | 
						|
  @param[in]  ChildHandle        Handle of the child to destroy.
 | 
						|
 | 
						|
  @retval EFI_SUCCESS            The protocol was removed from ChildHandle.
 | 
						|
  @retval EFI_UNSUPPORTED        ChildHandle does not support the protocol that
 | 
						|
                                 is being removed.
 | 
						|
  @retval EFI_INVALID_PARAMETER  ChildHandle is NULL.
 | 
						|
  @retval EFI_ACCESS_DENIED      The protocol could not be removed from the
 | 
						|
                                 ChildHandle because its services are being
 | 
						|
                                 used.
 | 
						|
  @retval Others                 The child handle was not destroyed.
 | 
						|
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
Hash2ServiceBindingDestroyChild (
 | 
						|
  IN EFI_SERVICE_BINDING_PROTOCOL  *This,
 | 
						|
  IN EFI_HANDLE                    ChildHandle
 | 
						|
  );
 | 
						|
 | 
						|
extern EFI_HASH2_PROTOCOL  mHash2Protocol;
 | 
						|
 | 
						|
#endif
 |