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