

#include <nitro/mi.h>s32 MI_SecureUncompressRL( const void *srcp, u32 srcSize, void *destp, u32 dstSize );| srcp | ランレングス圧縮データが格納されているソースアドレス |
| srcSize | ソースデータサイズ |
| destp | 展開するディスティネーションアドレス |
| dstSize | 展開するディスティネーションサイズ |
| MI_ERR_SUCCESS | 正常終了 |
| MI_ERR_UNSUPPORTED | 対応していない圧縮データタイプ |
| MI_ERR_SRC_SHORTAGE | ソースデータサイズが過小 |
| MI_ERR_SRC_REMAINDER | ソースデータサイズが過大 |
| MI_ERR_DEST_OVERRUN | 展開先のバッファを超過してしまう(バッファオーバーラン) |
ランレングス圧縮データを展開し、指定のメモリ領域に書き込みます。
ソースアドレスは4byte境界に合わせてください。
データのストリーミング展開をおこなう場合には、MI_ReadUncompRL()を利用します。
展開先のバッファサイズを確保する際の参考として、MI_GetUncompressedSize()を呼ぶことで、
圧縮データのヘッダに書かれている展開後のデータサイズを取得することができます。
圧縮データのヘッダが壊れており、正しい値が取得できなかった場合でも、各SecureUncompress*()の中で検知しエラーを返します。
MI_GetUncompressedSize,
MI_UncompressRL,
MI_InitUncompContextRL,
MI_ReadUncompRL,
MI_CompressRL,
ntrcomp
2008/05/22 初版