diff --git a/libmspack/msoab_compressor.cs b/libmspack/msoab_compressor.cs index d1ed2bf..bbe93ca 100644 --- a/libmspack/msoab_compressor.cs +++ b/libmspack/msoab_compressor.cs @@ -9,6 +9,8 @@ namespace SabreTools.Compression.libmspack /// public abstract class msoab_compressor { + public mspack_system system { get; set; } + /// /// Compress a full OAB file. /// diff --git a/libmspack/msoab_decompressor.cs b/libmspack/msoab_decompressor.cs index 82432c4..a9f2466 100644 --- a/libmspack/msoab_decompressor.cs +++ b/libmspack/msoab_decompressor.cs @@ -9,6 +9,10 @@ namespace SabreTools.Compression.libmspack /// public abstract class msoab_decompressor { + public mspack_system system { get; set; } + + public int buf_size { get; set; } + /// /// Decompresses a full Offline Address Book file. /// @@ -56,7 +60,7 @@ namespace SabreTools.Compression.libmspack /// /// An error code, or MSPACK_ERR_OK if successful public abstract MSPACK_ERR decompress_incremental(in string input, in string @base, in string output); - + /// /// Sets an OAB decompression engine parameter. Available only in OAB /// decompressor version 2 and above. diff --git a/libmspack/oab.cs b/libmspack/oab.cs new file mode 100644 index 0000000..f868a43 --- /dev/null +++ b/libmspack/oab.cs @@ -0,0 +1,32 @@ +namespace SabreTools.Compression.libmspack +{ + public static class oab + { + public const int oabhead_VersionHi = 0x0000; + public const int oabhead_VersionLo = 0x0004; + public const int oabhead_BlockMax = 0x0008; + public const int oabhead_TargetSize = 0x000c; + public const int oabhead_SIZEOF = 0x0010; + + public const int oabblk_Flags = 0x0000; + public const int oabblk_CompSize = 0x0004; + public const int oabblk_UncompSize = 0x0008; + public const int oabblk_CRC = 0x000c; + public const int oabblk_SIZEOF = 0x0010; + + public const int patchhead_VersionHi = 0x0000; + public const int patchhead_VersionLo = 0x0004; + public const int patchhead_BlockMax = 0x0008; + public const int patchhead_SourceSize = 0x000c; + public const int patchhead_TargetSize = 0x0010; + public const int patchhead_SourceCRC = 0x0014; + public const int patchhead_TargetCRC = 0x0018; + public const int patchhead_SIZEOF = 0x001c; + + public const int patchblk_PatchSize = 0x0000; + public const int patchblk_TargetSize = 0x0004; + public const int patchblk_SourceSize = 0x0008; + public const int patchblk_CRC = 0x000c; + public const int patchblk_SIZEOF = 0x0010; + } +} \ No newline at end of file