aboutsummaryrefslogtreecommitdiff
path: root/mp/src/common/lzma/lzma.h
blob: 01bd1ef9b194d5cd2e620cc91a88b35df1519923 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//========= Copyright Valve Corporation, All rights reserved. ============//
//
//	Purpose: LZMA Glue. Designed for Tool time Encoding/Decoding.
//
//  LZMA Codec interface for engine. Based largely on LzmaUtil.c in SDK
//
//  LZMA SDK 9.38 beta
//  2015-01-03 : Igor Pavlov : Public domain
//  http://www.7-zip.org/
//
//====================================================================================//

#ifndef LZMA_H
#define LZMA_H

#ifdef _WIN32
#pragma once
#endif

//-----------------------------------------------------------------------------
//	These routines are designed for TOOL TIME encoding/decoding on the PC!
//	They have not been made to encode/decode on the PPC and lack big endian awarnesss.
//	Lightweight GAME TIME Decoding is part of tier1.lib, via CLZMA.
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// Encoding glue. Returns non-null Compressed buffer if successful.
// Caller must free.
//-----------------------------------------------------------------------------
unsigned char *LZMA_Compress(
unsigned char	*pInput,
unsigned int	inputSize,
unsigned int	*pOutputSize );

//-----------------------------------------------------------------------------
// Decoding glue. Returns TRUE if succesful.
//-----------------------------------------------------------------------------
bool LZMA_Uncompress(
unsigned char	*pInput,
unsigned char	**ppOutput,
unsigned int	*pOutputSize );

//-----------------------------------------------------------------------------
// Decoding helper, returns TRUE if buffer is LZMA compressed.
//-----------------------------------------------------------------------------
bool LZMA_IsCompressed( unsigned char *pInput );

//-----------------------------------------------------------------------------
// Decoding helper, returns non-zero size of data when uncompressed, otherwise 0.
//-----------------------------------------------------------------------------
unsigned int LZMA_GetActualSize( unsigned char *pInput );

#endif