Libparserutils
Data Structures | Typedefs | Enumerations | Functions

filter.h File Reference

#include <inttypes.h>
#include <parserutils/errors.h>
#include <parserutils/functypes.h>

Go to the source code of this file.

Data Structures

union  parserutils_filter_optparams
 Input filter option parameters. More...

Typedefs

typedef struct parserutils_filter parserutils_filter
typedef enum
parserutils_filter_opttype 
parserutils_filter_opttype
 Input filter option types.
typedef union
parserutils_filter_optparams 
parserutils_filter_optparams
 Input filter option parameters.

Enumerations

enum  parserutils_filter_opttype { PARSERUTILS_FILTER_SET_ENCODING = 0 }
 

Input filter option types.

More...

Functions

parserutils_error parserutils__filter_create (const char *int_enc, parserutils_filter **filter)
 Create an input filter.
parserutils_error parserutils__filter_destroy (parserutils_filter *input)
 Destroy an input filter.
parserutils_error parserutils__filter_setopt (parserutils_filter *input, parserutils_filter_opttype type, parserutils_filter_optparams *params)
 Configure an input filter.
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.
parserutils_error parserutils__filter_reset (parserutils_filter *input)
 Reset an input filter's state.

Typedef Documentation

Definition at line 16 of file filter.h.

Input filter option parameters.

Input filter option types.


Enumeration Type Documentation

Input filter option types.

Enumerator:
PARSERUTILS_FILTER_SET_ENCODING 

Definition at line 21 of file filter.h.


Function Documentation

parserutils_error parserutils__filter_create ( const char *  int_enc,
parserutils_filter **  filter 
)

Create an input filter.

Parameters:
int_encDesired encoding of document
filterPointer to location to receive filter instance
Returns:
PARSERUTILS_OK on success, PARSERUTILS_BADPARM on bad parameters, PARSERUTILS_NOMEM on memory exhausion, PARSERUTILS_BADENCODING if the encoding is unsupported

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.

Parameters:
inputPointer to filter instance
Returns:
PARSERUTILS_OK on success, appropriate error otherwise

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.

Parameters:
inputPointer to filter instance
dataPointer to pointer to input buffer
lenPointer to length of input buffer
outputPointer to pointer to output buffer
outlenPointer to length of output buffer
Returns:
PARSERUTILS_OK on success, appropriate error otherwise

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, 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.

Parameters:
inputThe input filter to reset
Returns:
PARSERUTILS_OK on success, appropriate error otherwise

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.

Parameters:
inputPointer to filter instance
typeInput option type to configure
paramsOption-specific parameters
Returns:
PARSERUTILS_OK on success, appropriate error otherwise

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().