diff options
Diffstat (limited to 'support/dktools/dk4rld.h')
-rw-r--r-- | support/dktools/dk4rld.h | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/support/dktools/dk4rld.h b/support/dktools/dk4rld.h deleted file mode 100644 index 77b87b8942..0000000000 --- a/support/dktools/dk4rld.h +++ /dev/null @@ -1,150 +0,0 @@ -/* -Copyright (C) 2015-2020, Dirk Krause -SPDX-License-Identifier: BSD-3-Clause -*/ - -/* - WARNING: This file was generated by the dkct program (see - http://dktools.sourceforge.net/ for details). - Changes you make here will be lost if dkct is run again! - You should modify the original source and run dkct on it. - Original source: dk4rld.ctr -*/ - -#ifndef DK4RLD_H_INCLUDED -/** Avoid multiple inclusions. */ -#define DK4RLD_H_INCLUDED 1 - - -#line 9 "dk4rld.ctr" - -/** @file dk4rld.h Run-length decoder. - -Use dk4rld_init() to initialize the decoder before feeding data to it. - -Feed the encoded data into the decoder byte by byte, use the -dk4rld_add() function. -If the function returns DK4_EDSTM_ACCEPT, the input was successfully stored -into the internal data structures, not need for further action. -If the function returns DK4_EDSTM_FINISHED, an output secquence was -completed, either a run or a literal byte sequence. Use dk4rld_output() -to retrieve output data. -If the dk4rld_add function returns DK4_EDSTM_STOP, an end of data -(EOD) marker was found; do not feed further bytes into the decoder. - -After feeding all input bytes into the decoder, use dk4rld_finish() to check -syntax. If the function returns DK4_EDSTM_ERROR, the input data stream -was not properly run-length encoded. -*/ - - -#ifndef DK4CONF_H_INCLUDED -#if DK4_BUILDING_DKTOOLS4 -#include "dk4conf.h" -#else -#include <dktools-4/dk4conf.h> -#endif -#endif - -#ifndef DK4ERROR_H_INCLUDED -#if DK4_BUILDING_DKTOOLS4 -#include "dk4error.h" -#else -#include <dktools-4/dk4error.h> -#endif -#endif - -/** Run length decoder. -*/ -typedef struct { - unsigned char ob[128]; /**< Output buffer. */ - size_t oused; /**< Number of used bytes in ob. */ - size_t ll; /**< Number of expected bytes. */ - int st; /**< Current state. */ -} dk4_rl_dec_t; - - -#ifdef __cplusplus -extern "C" { -#endif - -/** Initialize decoder. - @param dec Decoder to initialize. - @param erp Error report, may be NULL. - - Error codes: - - DK4_E_INVALID_ARGUMENTS if enc is NULL. -*/ -void -dk4rld_init(dk4_rl_dec_t *dec, dk4_er_t *erp); - -/** Add one encoded byte to decoder. - @param dec Decoder. - @param inbyte Byte to process. - @param erp Error report, may be NULL. - @return Action to take, one from: - - DK4_EDSTM_ACCEPT<br> - if the byte was successfully added - to the internal data structures, no further action necessary. - - DK4_EDSTM_FINISHED<br> - if output is available, use dk4rld_output() to retrieve output. - - DK4_EDSTM_STOP<br> - if an EOD marker was detected. Do not feed further bytes - to the decoder. - - DK4_EDSTM_ERROR<br> - if an error occured. - - Error codes: - - DK4_E_INVALID_ARGUMENTS if enc is NULL. -*/ -int -dk4rld_add(dk4_rl_dec_t *dec, unsigned char inbyte, dk4_er_t *erp); - -/** Finish decoding. - @param dec Decoder. - @param erp Error report, may be NULL. - @return Action to take, one from: - - DK4_EDSTM_ACCEPT<br> - if no remaining data is stored in the decoder, no further - action necessary. - - DK4_EDSTM_FINISHED<br> - if output is available, use dk4rld_output() to retrieve output. - - DK4_EDSTM_ERROR<br> - if an error occured. - - Error codes: - - DK4_E_INVALID_ARGUMENTS<br> - if enc is NULL. - - DK4_E_SYNTAX<br> - if data indicated by the run-length byte or literally-length - byte is missing. -*/ -int -dk4rld_finish(dk4_rl_dec_t *dec, dk4_er_t *erp); - -/** Retrieve decoder output. - @param dptr Address of pointer to set to decoder output, - should be initialized to NULL. - @param szptr Address of variable to receive buffer size, - should be initialized to 0. - @param dec Decoder. - @param erp Error report, may be NULL. - @return 1 if data is available, 0 otherwise. - - Error codes: - - DK4_E_INVALID_ARGUMENTS if enc is NULL. -*/ -int -dk4rld_output( - const unsigned char **dptr, - size_t *szptr, - dk4_rl_dec_t const *dec, - dk4_er_t *erp -); - -#ifdef __cplusplus -} -#endif - - -#endif |