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