blob: 3f7febba0733245389a5a7c9e88da6fbca91b8a9 [file] [log] [blame]
// Copyright (c) 2016 Google Inc. All rights reserved.
///////////////////////////////////////////////////////////////////////////////
//! \file xzdec.h
//! \brief decode a xz compressed input stream.
///////////////////////////////////////////////////////////////////////////////
#ifndef _XZDEC_H_
#define _XZDEC_H_
#if defined (__cplusplus)
extern "C" {
#endif //__cplusplus
#define XZ_MAGIC "\3757zXZ"
#define XZ_MAGIC_SIZE sizeof(XZ_MAGIC)
/** @brief decode a compressed xz stream, only
* started with xz_magic supported.
*
*
* @param in_buf the input stream buffer, contains the full
* input data, started with xz_magic.
* @param input_size the whole input stream size, including the magic,
* in bytes.
* @param out_buf the decoded result.
* @param output_size the decode output buffer size when used as input,
* and final decoded stream length in bytes as output.
* @return 0 if success, negative if failed.
*/
int xz_decompress(const unsigned char *in_buf, const unsigned int input_size,
unsigned char *out_buf, unsigned int *output_size);
#if defined (__cplusplus)
}
#endif //__cplusplus
#endif //_XZDEC_H_