| 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 | |