REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the MdeModulePkg 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: Liming Gao <gaoliming@byosoft.com.cn>
		
			
				
	
	
		
			107 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* Bra.h -- Branch converters for executables
 | 
						|
2013-01-18 : Igor Pavlov : Public domain */
 | 
						|
 | 
						|
#ifndef __BRA_H
 | 
						|
#define __BRA_H
 | 
						|
 | 
						|
#include "7zTypes.h"
 | 
						|
 | 
						|
EXTERN_C_BEGIN
 | 
						|
 | 
						|
/*
 | 
						|
These functions convert relative addresses to absolute addresses
 | 
						|
in CALL instructions to increase the compression ratio.
 | 
						|
 | 
						|
  In:
 | 
						|
    data     - data buffer
 | 
						|
    size     - size of data
 | 
						|
    ip       - current virtual Instruction Pinter (IP) value
 | 
						|
    state    - state variable for x86 converter
 | 
						|
    encoding - 0 (for decoding), 1 (for encoding)
 | 
						|
 | 
						|
  Out:
 | 
						|
    state    - state variable for x86 converter
 | 
						|
 | 
						|
  Returns:
 | 
						|
    The number of processed bytes. If you call these functions with multiple calls,
 | 
						|
    you must start next call with first byte after block of processed bytes.
 | 
						|
 | 
						|
  Type   Endian  Alignment  LookAhead
 | 
						|
 | 
						|
  x86    little      1          4
 | 
						|
  ARMT   little      2          2
 | 
						|
  ARM    little      4          0
 | 
						|
  PPC     big        4          0
 | 
						|
  SPARC   big        4          0
 | 
						|
  IA64   little     16          0
 | 
						|
 | 
						|
  size must be >= Alignment + LookAhead, if it's not last block.
 | 
						|
  If (size < Alignment + LookAhead), converter returns 0.
 | 
						|
 | 
						|
  Example:
 | 
						|
 | 
						|
    UInt32 ip = 0;
 | 
						|
    for ()
 | 
						|
    {
 | 
						|
      ; size must be >= Alignment + LookAhead, if it's not last block
 | 
						|
      SizeT processed = Convert(data, size, ip, 1);
 | 
						|
      data += processed;
 | 
						|
      size -= processed;
 | 
						|
      ip += processed;
 | 
						|
    }
 | 
						|
*/
 | 
						|
 | 
						|
#define x86_Convert_Init(state)  { state = 0; }
 | 
						|
SizeT
 | 
						|
x86_Convert (
 | 
						|
  Byte    *data,
 | 
						|
  SizeT   size,
 | 
						|
  UInt32  ip,
 | 
						|
  UInt32  *state,
 | 
						|
  int     encoding
 | 
						|
  );
 | 
						|
 | 
						|
SizeT
 | 
						|
ARM_Convert (
 | 
						|
  Byte    *data,
 | 
						|
  SizeT   size,
 | 
						|
  UInt32  ip,
 | 
						|
  int     encoding
 | 
						|
  );
 | 
						|
 | 
						|
SizeT
 | 
						|
ARMT_Convert (
 | 
						|
  Byte    *data,
 | 
						|
  SizeT   size,
 | 
						|
  UInt32  ip,
 | 
						|
  int     encoding
 | 
						|
  );
 | 
						|
 | 
						|
SizeT
 | 
						|
PPC_Convert (
 | 
						|
  Byte    *data,
 | 
						|
  SizeT   size,
 | 
						|
  UInt32  ip,
 | 
						|
  int     encoding
 | 
						|
  );
 | 
						|
 | 
						|
SizeT
 | 
						|
SPARC_Convert (
 | 
						|
  Byte    *data,
 | 
						|
  SizeT   size,
 | 
						|
  UInt32  ip,
 | 
						|
  int     encoding
 | 
						|
  );
 | 
						|
 | 
						|
SizeT
 | 
						|
IA64_Convert (
 | 
						|
  Byte    *data,
 | 
						|
  SizeT   size,
 | 
						|
  UInt32  ip,
 | 
						|
  int     encoding
 | 
						|
  );
 | 
						|
 | 
						|
EXTERN_C_END
 | 
						|
 | 
						|
#endif
 |