MI_SecureUncompressLZ

# MI_SecureUncompressBLZ

## 構文

  `#include <nitro/mi.h>`
  `s32 MI_SecureUncompressBLZ( const void *srcp, u32 srcSize, u32 dstSize );`

## 引数

srcp | BLZ圧縮データの格納されているソースアドレス
srcSize | ソースデータサイズ
dstSize | 展開するディスティネーションサイズ

## 返り値

MI_ERR_SUCCESS | 正常終了
MI_ERR_UNSUPPORTED | 対応していない圧縮データタイプ
MI_ERR_SRC_SHORTAGE | ソースデータサイズが過小
MI_ERR_SRC_REMAINDER | ソースデータサイズが過大
MI_ERR_DEST_OVERRUN | 展開先のバッファを超過してしまう（バッファオーバーラン）

## 説明

BLZ圧縮されたデータを展開し、メモリ領域に書き込みます。
展開先は、指定した圧縮データのアドレスとなるため、メモリ消費量を抑えることができます。
dspSize には、展開後のデータサイズを指定してください。
ソースアドレスは4byte 境界に合わせてください。

展開後のデータサイズは、あらかじめ圧縮元のデータサイズを定義しておくか、
`FS_SeekFile()`を用いてBLZ圧縮データのフッタから計算することができます。
後者についてはサンプルを用意しています。

BLZ形式はLZ形式を元にし、後方展開ができるように圧縮する形式です。
compBLZ ツールを使用して作成することができます。

## 参照

`compBLZ`

## 履歴

2008/06/20 初版