REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the SignedCapsulePkg 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>
		
			
				
	
	
		
			96 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  Platform flash device access library.
 | 
						|
 | 
						|
  Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
 | 
						|
  SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
 | 
						|
**/
 | 
						|
 | 
						|
#ifndef __PLATFORM_FLASH_ACCESS_LIB_H__
 | 
						|
#define __PLATFORM_FLASH_ACCESS_LIB_H__
 | 
						|
 | 
						|
#include <Protocol/FirmwareManagement.h>
 | 
						|
 | 
						|
typedef enum {
 | 
						|
  FlashAddressTypeRelativeAddress,
 | 
						|
  FlashAddressTypeAbsoluteAddress,
 | 
						|
} FLASH_ADDRESS_TYPE;
 | 
						|
 | 
						|
//
 | 
						|
// Type 0 ~ 0x7FFFFFFF is defined in this library.
 | 
						|
// Type 0x80000000 ~ 0xFFFFFFFF is reserved for OEM.
 | 
						|
//
 | 
						|
typedef enum {
 | 
						|
  PlatformFirmwareTypeSystemFirmware,
 | 
						|
  PlatformFirmwareTypeNvRam,
 | 
						|
} PLATFORM_FIRMWARE_TYPE;
 | 
						|
 | 
						|
/**
 | 
						|
  Perform flash write operation.
 | 
						|
 | 
						|
  @param[in] FirmwareType      The type of firmware.
 | 
						|
  @param[in] FlashAddress      The address of flash device to be accessed.
 | 
						|
  @param[in] FlashAddressType  The type of flash device address.
 | 
						|
  @param[in] Buffer            The pointer to the data buffer.
 | 
						|
  @param[in] Length            The length of data buffer in bytes.
 | 
						|
 | 
						|
  @retval EFI_SUCCESS           The operation returns successfully.
 | 
						|
  @retval EFI_WRITE_PROTECTED   The flash device is read only.
 | 
						|
  @retval EFI_UNSUPPORTED       The flash device access is unsupported.
 | 
						|
  @retval EFI_INVALID_PARAMETER The input parameter is not valid.
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
PerformFlashWrite (
 | 
						|
  IN PLATFORM_FIRMWARE_TYPE  FirmwareType,
 | 
						|
  IN EFI_PHYSICAL_ADDRESS    FlashAddress,
 | 
						|
  IN FLASH_ADDRESS_TYPE      FlashAddressType,
 | 
						|
  IN VOID                    *Buffer,
 | 
						|
  IN UINTN                   Length
 | 
						|
  );
 | 
						|
 | 
						|
/**
 | 
						|
  Perform flash write operation with progress indicator.  The start and end
 | 
						|
  completion percentage values are passed into this function.  If the requested
 | 
						|
  flash write operation is broken up, then completion percentage between the
 | 
						|
  start and end values may be passed to the provided Progress function.  The
 | 
						|
  caller of this function is required to call the Progress function for the
 | 
						|
  start and end completion percentage values.  This allows the Progress,
 | 
						|
  StartPercentage, and EndPercentage parameters to be ignored if the requested
 | 
						|
  flash write operation can not be broken up
 | 
						|
 | 
						|
  @param[in] FirmwareType      The type of firmware.
 | 
						|
  @param[in] FlashAddress      The address of flash device to be accessed.
 | 
						|
  @param[in] FlashAddressType  The type of flash device address.
 | 
						|
  @param[in] Buffer            The pointer to the data buffer.
 | 
						|
  @param[in] Length            The length of data buffer in bytes.
 | 
						|
  @param[in] Progress          A function used report the progress of the
 | 
						|
                               firmware update.  This is an optional parameter
 | 
						|
                               that may be NULL.
 | 
						|
  @param[in] StartPercentage   The start completion percentage value that may
 | 
						|
                               be used to report progress during the flash
 | 
						|
                               write operation.
 | 
						|
  @param[in] EndPercentage     The end completion percentage value that may
 | 
						|
                               be used to report progress during the flash
 | 
						|
                               write operation.
 | 
						|
 | 
						|
  @retval EFI_SUCCESS           The operation returns successfully.
 | 
						|
  @retval EFI_WRITE_PROTECTED   The flash device is read only.
 | 
						|
  @retval EFI_UNSUPPORTED       The flash device access is unsupported.
 | 
						|
  @retval EFI_INVALID_PARAMETER The input parameter is not valid.
 | 
						|
**/
 | 
						|
EFI_STATUS
 | 
						|
EFIAPI
 | 
						|
PerformFlashWriteWithProgress (
 | 
						|
  IN PLATFORM_FIRMWARE_TYPE                         FirmwareType,
 | 
						|
  IN EFI_PHYSICAL_ADDRESS                           FlashAddress,
 | 
						|
  IN FLASH_ADDRESS_TYPE                             FlashAddressType,
 | 
						|
  IN VOID                                           *Buffer,
 | 
						|
  IN UINTN                                          Length,
 | 
						|
  IN EFI_FIRMWARE_MANAGEMENT_UPDATE_IMAGE_PROGRESS  Progress         OPTIONAL,
 | 
						|
  IN UINTN                                          StartPercentage,
 | 
						|
  IN UINTN                                          EndPercentage
 | 
						|
  );
 | 
						|
 | 
						|
#endif
 |