Libparserutils
|
#include <errno.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <iconv.h>
#include <parserutils/charset/mibenum.h>
#include <parserutils/charset/codec.h>
#include "input/filter.h"
#include "utils/utils.h"
Go to the source code of this file.
Data Structures | |
struct | parserutils_filter |
Input filter. More... | |
Functions | |
static parserutils_error | filter_set_defaults (parserutils_filter *input) |
Set an input filter's default settings. More... | |
static parserutils_error | filter_set_encoding (parserutils_filter *input, const char *enc) |
Set an input filter's encoding. More... | |
parserutils_error | parserutils__filter_create (const char *int_enc, parserutils_filter **filter) |
Create an input filter. More... | |
parserutils_error | parserutils__filter_destroy (parserutils_filter *input) |
Destroy an input filter. More... | |
parserutils_error | parserutils__filter_setopt (parserutils_filter *input, parserutils_filter_opttype type, parserutils_filter_optparams *params) |
Configure an input filter. More... | |
parserutils_error | parserutils__filter_process_chunk (parserutils_filter *input, const uint8_t **data, size_t *len, uint8_t **output, size_t *outlen) |
Process a chunk of data. More... | |
parserutils_error | parserutils__filter_reset (parserutils_filter *input) |
Reset an input filter's state. More... | |
|
static |
Set an input filter's default settings.
input | Input filter to configure |
Definition at line 336 of file filter.c.
References parserutils_filter::encoding, filter_set_encoding(), PARSERUTILS_BADPARM, PARSERUTILS_OK, and parserutils_filter::settings.
Referenced by parserutils__filter_create().
|
static |
Set an input filter's encoding.
input | Input filter to configure |
enc | Encoding name |
Definition at line 363 of file filter.c.
References parserutils_filter::cd, parserutils_filter::encoding, parserutils_filter::int_enc, PARSERUTILS_BADENCODING, PARSERUTILS_BADPARM, parserutils_charset_codec_create(), parserutils_charset_codec_destroy(), parserutils_charset_mibenum_from_name(), parserutils_charset_mibenum_to_name(), PARSERUTILS_NOMEM, PARSERUTILS_OK, and parserutils_filter::settings.
Referenced by filter_set_defaults(), and parserutils__filter_setopt().
parserutils_error parserutils__filter_create | ( | const char * | int_enc, |
parserutils_filter ** | filter | ||
) |
Create an input filter.
int_enc | Desired encoding of document |
filter | Pointer to location to receive filter instance |
Definition at line 58 of file filter.c.
References parserutils_filter::cd, filter_set_defaults(), parserutils_filter::int_enc, PARSERUTILS_BADENCODING, PARSERUTILS_BADPARM, parserutils_charset_codec_create(), parserutils_charset_codec_destroy(), parserutils_charset_mibenum_from_name(), PARSERUTILS_NOMEM, and PARSERUTILS_OK.
Referenced by parserutils_inputstream_create().
parserutils_error parserutils__filter_destroy | ( | parserutils_filter * | input | ) |
Destroy an input filter.
input | Pointer to filter instance |
Definition at line 114 of file filter.c.
References parserutils_filter::cd, PARSERUTILS_BADPARM, parserutils_charset_codec_destroy(), and PARSERUTILS_OK.
Referenced by parserutils_inputstream_create(), and parserutils_inputstream_destroy().
parserutils_error parserutils__filter_process_chunk | ( | parserutils_filter * | input, |
const uint8_t ** | data, | ||
size_t * | len, | ||
uint8_t ** | output, | ||
size_t * | outlen | ||
) |
Process a chunk of data.
input | Pointer to filter instance |
data | Pointer to pointer to input buffer |
len | Pointer to length of input buffer |
output | Pointer to pointer to output buffer |
outlen | Pointer to length of output buffer |
Call this with an input buffer length of 0 to flush any buffers.
Definition at line 179 of file filter.c.
References parserutils_filter::cd, len, PARSERUTILS_BADPARM, parserutils_charset_codec_decode(), parserutils_charset_codec_encode(), PARSERUTILS_NOMEM, and PARSERUTILS_OK.
Referenced by parserutils_inputstream_refill_buffer().
parserutils_error parserutils__filter_reset | ( | parserutils_filter * | input | ) |
Reset an input filter's state.
input | The input filter to reset |
Definition at line 301 of file filter.c.
References parserutils_filter::cd, PARSERUTILS_BADPARM, parserutils_charset_codec_reset(), and PARSERUTILS_OK.
parserutils_error parserutils__filter_setopt | ( | parserutils_filter * | input, |
parserutils_filter_opttype | type, | ||
parserutils_filter_optparams * | params | ||
) |
Configure an input filter.
input | Pointer to filter instance |
type | Input option type to configure |
params | Option-specific parameters |
Definition at line 149 of file filter.c.
References parserutils_filter_optparams::encoding, filter_set_encoding(), parserutils_filter_optparams::name, PARSERUTILS_BADPARM, PARSERUTILS_FILTER_SET_ENCODING, and PARSERUTILS_OK.
Referenced by parserutils_inputstream_change_charset(), parserutils_inputstream_create(), and parserutils_inputstream_refill_buffer().