struct RRFilterStack;
GIOStatus (*RRReaderFunc) (guint8 *data,
gsize len,
gsize *read,
gpointer user_data,
RRFilterStack *stack,
GError **error);
GIOStatus (*RRWriterFunc) (guint8 *data,
gsize len,
gsize *written,
gpointer user_data,
RRFilterStack *stack,
GError **error);
RRFilterStack* rr_filterstack_new (void);
void rr_filterstack_free (RRFilterStack *stack);
GIOStatus rr_filterstack_read (RRFilterStack *stack,
guint8 *data,
gsize len,
gsize *read,
GError **error);
GIOStatus rr_filterstack_write (RRFilterStack *stack,
guint8 *data,
gsize len,
gsize *written,
GError **error);
void rr_filterstack_push (RRFilterStack *stack,
RRFilter *filter);
GIOStatus rr_filterstack_read_next (GSList *stack,
guint8 *data,
gsize len,
gsize *read,
GError **error);
GIOStatus rr_filterstack_write_next (GSList *next,
guint8 *data,
gsize len,
gsize *written,
GError **error); |