XenevaOS
Loading...
Searching...
No Matches
Classes | Functions
filter.c File Reference
#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"
Include dependency graph for filter.c:

Classes

struct  parserutils_filter
 

Functions

parserutils_error parserutils__filter_create (const char *int_enc, parserutils_filter **filter)
 
parserutils_error parserutils__filter_destroy (parserutils_filter *input)
 
parserutils_error parserutils__filter_setopt (parserutils_filter *input, parserutils_filter_opttype type, parserutils_filter_optparams *params)
 
parserutils_error parserutils__filter_process_chunk (parserutils_filter *input, const uint8_t **data, size_t *len, uint8_t **output, size_t *outlen)
 
parserutils_error parserutils__filter_reset (parserutils_filter *input)
 

Function Documentation

◆ parserutils__filter_create()

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

◆ parserutils__filter_destroy()

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

◆ parserutils__filter_process_chunk()

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.

◆ parserutils__filter_reset()

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

◆ parserutils__filter_setopt()

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