REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the OvmfPkg 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: Andrew Fish <afish@apple.com>
		
			
				
	
	
		
			123 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  Function declaration and internal data for XenBusDxe.
 | 
						|
 | 
						|
  Copyright (C) 2014, Citrix Ltd.
 | 
						|
 | 
						|
  SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
 | 
						|
**/
 | 
						|
 | 
						|
#ifndef __EFI_XENBUS_DXE_H__
 | 
						|
#define __EFI_XENBUS_DXE_H__
 | 
						|
 | 
						|
#include <Uefi.h>
 | 
						|
 | 
						|
//
 | 
						|
// Libraries
 | 
						|
//
 | 
						|
#include <Library/UefiBootServicesTableLib.h>
 | 
						|
#include <Library/MemoryAllocationLib.h>
 | 
						|
#include <Library/BaseMemoryLib.h>
 | 
						|
#include <Library/BaseLib.h>
 | 
						|
#include <Library/UefiLib.h>
 | 
						|
#include <Library/DevicePathLib.h>
 | 
						|
#include <Library/DebugLib.h>
 | 
						|
#include <Library/PcdLib.h>
 | 
						|
 | 
						|
//
 | 
						|
// UEFI Driver Model Protocols
 | 
						|
//
 | 
						|
#include <Protocol/DriverBinding.h>
 | 
						|
 | 
						|
//
 | 
						|
// Consumed Protocols
 | 
						|
//
 | 
						|
#include <Protocol/XenIo.h>
 | 
						|
 | 
						|
//
 | 
						|
// Produced Protocols
 | 
						|
//
 | 
						|
#include <Protocol/XenBus.h>
 | 
						|
 | 
						|
//
 | 
						|
// Driver Version
 | 
						|
//
 | 
						|
#define XENBUS_DXE_VERSION  0x00000010
 | 
						|
 | 
						|
//
 | 
						|
// Protocol instances
 | 
						|
//
 | 
						|
extern EFI_DRIVER_BINDING_PROTOCOL   gXenBusDxeDriverBinding;
 | 
						|
extern EFI_COMPONENT_NAME2_PROTOCOL  gXenBusDxeComponentName2;
 | 
						|
extern EFI_COMPONENT_NAME_PROTOCOL   gXenBusDxeComponentName;
 | 
						|
 | 
						|
//
 | 
						|
// Include files with function prototypes
 | 
						|
//
 | 
						|
#include "DriverBinding.h"
 | 
						|
#include "ComponentName.h"
 | 
						|
 | 
						|
//
 | 
						|
// Other stuff
 | 
						|
//
 | 
						|
#include <IndustryStandard/Xen/xen.h>
 | 
						|
 | 
						|
typedef struct _XENBUS_DEVICE_PATH  XENBUS_DEVICE_PATH;
 | 
						|
typedef struct _XENBUS_DEVICE       XENBUS_DEVICE;
 | 
						|
 | 
						|
// Have the state of the driver.
 | 
						|
#define XENBUS_DEVICE_SIGNATURE  SIGNATURE_32 ('X','B','s','t')
 | 
						|
struct _XENBUS_DEVICE {
 | 
						|
  UINT32                         Signature;
 | 
						|
  EFI_DRIVER_BINDING_PROTOCOL    *This;
 | 
						|
  EFI_HANDLE                     ControllerHandle;
 | 
						|
  XENIO_PROTOCOL                 *XenIo;
 | 
						|
  EFI_EVENT                      ExitBootEvent;
 | 
						|
  EFI_DEVICE_PATH_PROTOCOL       *DevicePath;
 | 
						|
  LIST_ENTRY                     ChildList;
 | 
						|
 | 
						|
  shared_info_t                  *SharedInfo;
 | 
						|
};
 | 
						|
 | 
						|
// There is one of this struct allocated for every child.
 | 
						|
#define XENBUS_PRIVATE_DATA_SIGNATURE  SIGNATURE_32 ('X', 'B', 'p', 'd')
 | 
						|
typedef struct {
 | 
						|
  UINTN                 Signature;
 | 
						|
  LIST_ENTRY            Link;
 | 
						|
  EFI_HANDLE            Handle;
 | 
						|
  XENBUS_PROTOCOL       XenBusIo;
 | 
						|
  XENBUS_DEVICE         *Dev;
 | 
						|
  XENBUS_DEVICE_PATH    *DevicePath;
 | 
						|
} XENBUS_PRIVATE_DATA;
 | 
						|
 | 
						|
#define XENBUS_PRIVATE_DATA_FROM_THIS(a) \
 | 
						|
  CR (a, XENBUS_PRIVATE_DATA, XenBusIo, XENBUS_PRIVATE_DATA_SIGNATURE)
 | 
						|
#define XENBUS_PRIVATE_DATA_FROM_LINK(a) \
 | 
						|
  CR (a, XENBUS_PRIVATE_DATA, Link, XENBUS_PRIVATE_DATA_SIGNATURE)
 | 
						|
 | 
						|
/*
 | 
						|
 * Helpers
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
  Atomically test and clear a bit.
 | 
						|
 | 
						|
  @param Bit      Bit index to test in *Address
 | 
						|
  @param Address  The Address to the buffer that contain the bit to test.
 | 
						|
 | 
						|
  @return Value of the Bit before it was cleared.
 | 
						|
**/
 | 
						|
INT32
 | 
						|
EFIAPI
 | 
						|
TestAndClearBit (
 | 
						|
  IN INT32  Bit,
 | 
						|
  IN VOID   *Address
 | 
						|
  );
 | 
						|
 | 
						|
CHAR8 *
 | 
						|
AsciiStrDup (
 | 
						|
  IN CONST CHAR8  *Str
 | 
						|
  );
 | 
						|
 | 
						|
#endif
 |