filter.h

Go to the documentation of this file.
00001 /*
00002  * This file is part of LibParserUtils.
00003  * Licensed under the MIT License,
00004  *                http://www.opensource.org/licenses/mit-license.php
00005  * Copyright 2007 John-Mark Bell <jmb@netsurf-browser.org>
00006  */
00007 
00008 #ifndef parserutils_input_filter_h_
00009 #define parserutils_input_filter_h_
00010 
00011 #include <inttypes.h>
00012 
00013 #include <parserutils/errors.h>
00014 #include <parserutils/functypes.h>
00015 
00016 typedef struct parserutils_filter parserutils_filter;
00017 
00021 typedef enum parserutils_filter_opttype {
00022         PARSERUTILS_FILTER_SET_ENCODING       = 0
00023 } parserutils_filter_opttype;
00024 
00028 typedef union parserutils_filter_optparams {
00030         struct {
00032                 const char *name;
00033         } encoding;
00034 } parserutils_filter_optparams;
00035 
00036 
00037 /* Create an input filter */
00038 parserutils_error parserutils__filter_create(const char *int_enc,
00039                 parserutils_filter **filter);
00040 /* Destroy an input filter */
00041 parserutils_error parserutils__filter_destroy(parserutils_filter *input);
00042 
00043 /* Configure an input filter */
00044 parserutils_error parserutils__filter_setopt(parserutils_filter *input,
00045                 parserutils_filter_opttype type,
00046                 parserutils_filter_optparams *params);
00047 
00048 /* Process a chunk of data */
00049 parserutils_error parserutils__filter_process_chunk(parserutils_filter *input,
00050                 const uint8_t **data, size_t *len,
00051                 uint8_t **output, size_t *outlen);
00052 
00053 /* Reset an input filter's state */
00054 parserutils_error parserutils__filter_reset(parserutils_filter *input);
00055 
00056 #endif
00057 

Generated on Wed Jul 29 11:59:21 2015 for Libparserutils by  doxygen 1.5.6