Rizin
unix-like reverse engineering framework and cli tools
mskwaj_compressor Struct Reference

#include <mspack.h>

Public Attributes

int(* compress )(struct mskwaj_compressor *self, const char *input, const char *output, off_t length)
 
int(* set_param )(struct mskwaj_compressor *self, int param, int value)
 
int(* set_filename )(struct mskwaj_compressor *self, const char *filename)
 
int(* set_extra_data )(struct mskwaj_compressor *self, void *data, size_t bytes)
 
int(* last_error )(struct mschm_decompressor *self)
 

Detailed Description

A compressor for the KWAJ file format.

All fields are READ ONLY.

See also
mspack_create_kwaj_compressor(), mspack_destroy_kwaj_compressor()

Definition at line 2045 of file mspack.h.

Member Data Documentation

◆ compress

int(* mskwaj_compressor::compress)(struct mskwaj_compressor *self, const char *input, const char *output, off_t length)

Reads an input file and creates a compressed output file in the KWAJ compressed file format. The KWAJ compression format is quick but gives poor compression. It is possible for the compressed output file to be larger than the input file.

Parameters
selfa self-referential pointer to the mskwaj_compressor instance being called
inputthe name of the file to compressed. This is passed passed directly to mspack_system::open()
outputthe name of the file to write compressed data to. This is passed directly to mspack_system::open().
lengththe length of the uncompressed file, or -1 to indicate that this should be determined automatically by using mspack_system::seek() on the input file.
Returns
an error code, or MSPACK_ERR_OK if successful
See also
set_param()

Definition at line 2064 of file mspack.h.

◆ last_error

int(* mskwaj_compressor::last_error)(struct mschm_decompressor *self)

Returns the error code set by the most recently called method.

Parameters
selfa self-referential pointer to the mskwaj_compressor instance being called
Returns
the most recent error code
See also
compress()

Definition at line 2146 of file mspack.h.

◆ set_extra_data

int(* mskwaj_compressor::set_extra_data)(struct mskwaj_compressor *self, void *data, size_t bytes)

Sets arbitrary data that will be stored in the header of the output file, uncompressed. It can be up to roughly 64 kilobytes, as the overall size of the header must not exceed 65535 bytes. The data can contain null bytes if desired.

If NULL is passed as the data pointer, or zero is passed as the length, no extra data is included in the header. This is the default.

Parameters
selfa self-referential pointer to the mskwaj_compressor instance being called
dataa pointer to the data to be stored in the header
bytesthe length of the data in bytes
Returns
MSPACK_ERR_OK if all is OK, or MSPACK_ERR_ARGS extra data is too long

Definition at line 2134 of file mspack.h.

◆ set_filename

int(* mskwaj_compressor::set_filename)(struct mskwaj_compressor *self, const char *filename)

Sets the original filename of the file before compression, which will be stored in the header of the output file.

The filename should be a null-terminated string, it must be an MS-DOS "8.3" type filename (up to 8 bytes for the filename, then optionally a "." and up to 3 bytes for a filename extension).

If NULL is passed as the filename, no filename is included in the header. This is the default.

Parameters
selfa self-referential pointer to the mskwaj_compressor instance being called
filenamethe original filename to use
Returns
MSPACK_ERR_OK if all is OK, or MSPACK_ERR_ARGS if the filename is too long

Definition at line 2114 of file mspack.h.

◆ set_param

int(* mskwaj_compressor::set_param)(struct mskwaj_compressor *self, int param, int value)

Sets an KWAJ compression engine parameter.

The following parameters are defined:

Parameters
selfa self-referential pointer to the mskwaj_compressor instance being called
paramthe parameter to set
valuethe value to set the parameter to
Returns
MSPACK_ERR_OK if all is OK, or MSPACK_ERR_ARGS if there is a problem with either parameter or value.
See also
generate()

Definition at line 2092 of file mspack.h.


The documentation for this struct was generated from the following file: