1 /* Bcj2.h -- Converter for x86 code (BCJ2)
2 2013-01-18 : Igor Pavlov : Public domain */
3 
4 #ifndef __BCJ2_H
5 #define __BCJ2_H
6 
7 #include "7zTypes.h"
8 
9 EXTERN_C_BEGIN
10 
11 /*
12 Conditions:
13   outSize <= FullOutputSize,
14   where FullOutputSize is full size of output stream of x86_2 filter.
15 
16 If buf0 overlaps outBuf, there are two required conditions:
17   1) (buf0 >= outBuf)
18   2) (buf0 + size0 >= outBuf + FullOutputSize).
19 
20 Returns:
21   SZ_OK
22   SZ_ERROR_DATA - Data error
23 */
24 
25 int Bcj2_Decode(
26     const Byte *buf0, SizeT size0,
27     const Byte *buf1, SizeT size1,
28     const Byte *buf2, SizeT size2,
29     const Byte *buf3, SizeT size3,
30     Byte *outBuf, SizeT outSize);
31 
32 EXTERN_C_END
33 
34 #endif
35