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>
		
			
				
	
	
		
			220 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			220 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* LzFind.h -- Match finder for LZ algorithms
 | |
| 2017-06-10 : Igor Pavlov : Public domain */
 | |
| 
 | |
| #ifndef __LZ_FIND_H
 | |
| #define __LZ_FIND_H
 | |
| 
 | |
| #include "7zTypes.h"
 | |
| 
 | |
| EXTERN_C_BEGIN
 | |
| 
 | |
| typedef UInt32 CLzRef;
 | |
| 
 | |
| typedef struct _CMatchFinder {
 | |
|   Byte            *buffer;
 | |
|   UInt32          pos;
 | |
|   UInt32          posLimit;
 | |
|   UInt32          streamPos;
 | |
|   UInt32          lenLimit;
 | |
| 
 | |
|   UInt32          cyclicBufferPos;
 | |
|   UInt32          cyclicBufferSize; /* it must be = (historySize + 1) */
 | |
| 
 | |
|   Byte            streamEndWasReached;
 | |
|   Byte            btMode;
 | |
|   Byte            bigHash;
 | |
|   Byte            directInput;
 | |
| 
 | |
|   UInt32          matchMaxLen;
 | |
|   CLzRef          *hash;
 | |
|   CLzRef          *son;
 | |
|   UInt32          hashMask;
 | |
|   UInt32          cutValue;
 | |
| 
 | |
|   Byte            *bufferBase;
 | |
|   ISeqInStream    *stream;
 | |
| 
 | |
|   UInt32          blockSize;
 | |
|   UInt32          keepSizeBefore;
 | |
|   UInt32          keepSizeAfter;
 | |
| 
 | |
|   UInt32          numHashBytes;
 | |
|   size_t          directInputRem;
 | |
|   UInt32          historySize;
 | |
|   UInt32          fixedHashSize;
 | |
|   UInt32          hashSizeSum;
 | |
|   SRes            result;
 | |
|   UInt32          crc[256];
 | |
|   size_t          numRefs;
 | |
| 
 | |
|   UInt64          expectedDataSize;
 | |
| } CMatchFinder;
 | |
| 
 | |
| #define Inline_MatchFinder_GetPointerToCurrentPos(p)  ((p)->buffer)
 | |
| 
 | |
| #define Inline_MatchFinder_GetNumAvailableBytes(p)  ((p)->streamPos - (p)->pos)
 | |
| 
 | |
| #define Inline_MatchFinder_IsFinishedOK(p) \
 | |
|     ((p)->streamEndWasReached \
 | |
|         && (p)->streamPos == (p)->pos \
 | |
|         && (!(p)->directInput || (p)->directInputRem == 0))
 | |
| 
 | |
| int
 | |
| MatchFinder_NeedMove (
 | |
|   CMatchFinder  *p
 | |
|   );
 | |
| 
 | |
| Byte *
 | |
| MatchFinder_GetPointerToCurrentPos (
 | |
|   CMatchFinder  *p
 | |
|   );
 | |
| 
 | |
| void
 | |
| MatchFinder_MoveBlock (
 | |
|   CMatchFinder  *p
 | |
|   );
 | |
| 
 | |
| void
 | |
| MatchFinder_ReadIfRequired (
 | |
|   CMatchFinder  *p
 | |
|   );
 | |
| 
 | |
| void
 | |
| MatchFinder_Construct (
 | |
|   CMatchFinder  *p
 | |
|   );
 | |
| 
 | |
| /* Conditions:
 | |
|      historySize <= 3 GB
 | |
|      keepAddBufferBefore + matchMaxLen + keepAddBufferAfter < 511MB
 | |
| */
 | |
| int
 | |
| MatchFinder_Create (
 | |
|   CMatchFinder  *p,
 | |
|   UInt32        historySize,
 | |
|   UInt32        keepAddBufferBefore,
 | |
|   UInt32        matchMaxLen,
 | |
|   UInt32        keepAddBufferAfter,
 | |
|   ISzAllocPtr   alloc
 | |
|   );
 | |
| 
 | |
| void
 | |
| MatchFinder_Free (
 | |
|   CMatchFinder  *p,
 | |
|   ISzAllocPtr   alloc
 | |
|   );
 | |
| 
 | |
| void
 | |
| MatchFinder_Normalize3 (
 | |
|   UInt32  subValue,
 | |
|   CLzRef  *items,
 | |
|   size_t  numItems
 | |
|   );
 | |
| 
 | |
| void
 | |
| MatchFinder_ReduceOffsets (
 | |
|   CMatchFinder  *p,
 | |
|   UInt32        subValue
 | |
|   );
 | |
| 
 | |
| UInt32 *
 | |
| GetMatchesSpec1 (
 | |
|   UInt32      lenLimit,
 | |
|   UInt32      curMatch,
 | |
|   UInt32      pos,
 | |
|   const Byte  *buffer,
 | |
|   CLzRef      *son,
 | |
|   UInt32      _cyclicBufferPos,
 | |
|   UInt32      _cyclicBufferSize,
 | |
|   UInt32      _cutValue,
 | |
|   UInt32      *distances,
 | |
|   UInt32      maxLen
 | |
|   );
 | |
| 
 | |
| /*
 | |
| Conditions:
 | |
|   Mf_GetNumAvailableBytes_Func must be called before each Mf_GetMatchLen_Func.
 | |
|   Mf_GetPointerToCurrentPos_Func's result must be used only before any other function
 | |
| */
 | |
| 
 | |
| typedef void (*Mf_Init_Func)(
 | |
|   void  *object
 | |
|   );
 | |
| typedef UInt32 (*Mf_GetNumAvailableBytes_Func)(
 | |
|   void  *object
 | |
|   );
 | |
| typedef const Byte * (*Mf_GetPointerToCurrentPos_Func)(
 | |
|   void  *object
 | |
|   );
 | |
| typedef UInt32 (*Mf_GetMatches_Func)(
 | |
|   void    *object,
 | |
|   UInt32  *distances
 | |
|   );
 | |
| typedef void (*Mf_Skip_Func)(
 | |
|   void  *object,
 | |
|   UInt32
 | |
|   );
 | |
| 
 | |
| typedef struct _IMatchFinder {
 | |
|   Mf_Init_Func                      Init;
 | |
|   Mf_GetNumAvailableBytes_Func      GetNumAvailableBytes;
 | |
|   Mf_GetPointerToCurrentPos_Func    GetPointerToCurrentPos;
 | |
|   Mf_GetMatches_Func                GetMatches;
 | |
|   Mf_Skip_Func                      Skip;
 | |
| } IMatchFinder;
 | |
| 
 | |
| void
 | |
| MatchFinder_CreateVTable (
 | |
|   CMatchFinder  *p,
 | |
|   IMatchFinder  *vTable
 | |
|   );
 | |
| 
 | |
| void
 | |
| MatchFinder_Init_LowHash (
 | |
|   CMatchFinder  *p
 | |
|   );
 | |
| 
 | |
| void
 | |
| MatchFinder_Init_HighHash (
 | |
|   CMatchFinder  *p
 | |
|   );
 | |
| 
 | |
| void
 | |
| MatchFinder_Init_3 (
 | |
|   CMatchFinder  *p,
 | |
|   int           readData
 | |
|   );
 | |
| 
 | |
| void
 | |
| MatchFinder_Init (
 | |
|   CMatchFinder  *p
 | |
|   );
 | |
| 
 | |
| UInt32
 | |
| Bt3Zip_MatchFinder_GetMatches (
 | |
|   CMatchFinder  *p,
 | |
|   UInt32        *distances
 | |
|   );
 | |
| 
 | |
| UInt32
 | |
| Hc3Zip_MatchFinder_GetMatches (
 | |
|   CMatchFinder  *p,
 | |
|   UInt32        *distances
 | |
|   );
 | |
| 
 | |
| void
 | |
| Bt3Zip_MatchFinder_Skip (
 | |
|   CMatchFinder  *p,
 | |
|   UInt32        num
 | |
|   );
 | |
| 
 | |
| void
 | |
| Hc3Zip_MatchFinder_Skip (
 | |
|   CMatchFinder  *p,
 | |
|   UInt32        num
 | |
|   );
 | |
| 
 | |
| EXTERN_C_END
 | |
| 
 | |
| #endif
 |