# filter.h File Reference

`#include <gwenhywfar/gwenhywfarapi.h>`
`#include <gwenhywfar/ringbuffer.h>`
`#include <gwenhywfar/inherit.h>`

Go to the source code of this file.

## Typedefs

typedef GWEN_FILTER | GWEN_FILTER
typedef GWEN_FILTER_RESULT(* | GWEN_FILTER_WORKFN )(GWEN_FILTER *f)

## Enumerations

enum | GWEN_FILTER_RESULT { GWEN_Filter_ResultOk = 0, GWEN_Filter_ResultNeedMore, GWEN_Filter_ResultFull, GWEN_Filter_ResultError }

## Functions

void | GWEN_Filter_AppendNext (GWEN_FILTER *fPredecessor, GWEN_FILTER *fNew)
void | GWEN_Filter_free (GWEN_FILTER *f)
GWEN_RINGBUFFER * | GWEN_Filter_GetInBuffer (const GWEN_FILTER *f)
GWEN_RINGBUFFER * | GWEN_Filter_GetOutBuffer (const GWEN_FILTER *f)
GWEN_FILTER * | GWEN_Filter_new (const char *name)
void | GWEN_Filter_SetWorkFn (GWEN_FILTER *f, GWEN_FILTER_WORKFN fn)
GWEN_FILTER_RESULT | GWEN_Filter_Work (GWEN_FILTER *f, int oneLoop)

## Typedef Documentation

typedef struct GWEN_FILTER GWEN_FILTER

typedef GWEN_FILTER_RESULT(* GWEN_FILTER_WORKFN)(GWEN_FILTER *f)

## Enumeration Type Documentation

enum GWEN_FILTER_RESULT

Enumerator:

  GWEN_Filter_ResultOk |
  GWEN_Filter_ResultNeedMore |
  GWEN_Filter_ResultFull |
  GWEN_Filter_ResultError |

## Function Documentation

void GWEN_Filter_AppendNext | ( | GWEN_FILTER * | fPredecessor,
|  | GWEN_FILTER * | fNew
| ) |

| Appends a successor to the given filter. This means data output by fPredecessor is from now on additionally fed to the fNew. If nPredecessor already has a successor then the data stream will be duplicated to feed all successors.

void GWEN_Filter_free | ( | GWEN_FILTER * | f | ) |

GWEN_RINGBUFFER* GWEN_Filter_GetInBuffer | ( | const GWEN_FILTER * | f | ) |

GWEN_RINGBUFFER* GWEN_Filter_GetOutBuffer | ( | const GWEN_FILTER * | f | ) |

GWEN_FILTER* GWEN_Filter_new | ( | const char * | name | ) |

void GWEN_Filter_SetWorkFn | ( | GWEN_FILTER * | f,
|  | GWEN_FILTER_WORKFN | fn
| ) |

GWEN_FILTER_RESULT GWEN_Filter_Work | ( | GWEN_FILTER * | f,
|  | int | oneLoop
| ) |