![]() |
![]() |
![]() |
Camel Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
struct CamelMimeFilter; CamelMimeFilter* camel_mime_filter_new (void); void camel_mime_filter_filter (CamelMimeFilter *filter, char *in, size_t len, size_t prespace, char **out, size_t *outlen, size_t *outprespace); void camel_mime_filter_complete (CamelMimeFilter *filter, char *in, size_t len, size_t prespace, char **out, size_t *outlen, size_t *outprespace); void camel_mime_filter_reset (CamelMimeFilter *filter); void camel_mime_filter_backup (CamelMimeFilter *filter, const char *data, size_t length); void camel_mime_filter_set_size (CamelMimeFilter *filter, size_t size, int keep);
struct CamelMimeFilter { CamelObject parent; struct _CamelMimeFilterPrivate *priv; char *outreal; /* real malloc'd buffer */ char *outbuf; /* first 'writable' position allowed (outreal + outpre) */ char *outptr; size_t outsize; size_t outpre; /* prespace of this buffer */ char *backbuf; size_t backsize; size_t backlen; /* significant data there */ };
CamelMimeFilter* camel_mime_filter_new (void);
Create a new CamelMimeFilter object.
Returns : |
a new CamelMimeFilter |
void camel_mime_filter_filter (CamelMimeFilter *filter, char *in, size_t len, size_t prespace, char **out, size_t *outlen, size_t *outprespace);
Passes the input buffer, in
, through filter
and generates an
output buffer, out
.
|
a CamelMimeFilter object |
|
input buffer |
|
length of in
|
|
amount of prespace |
|
pointer to the output buffer (to be set) |
|
pointer to the length of the output buffer (to be set) |
|
pointer to the output prespace length (to be set) |
void camel_mime_filter_complete (CamelMimeFilter *filter, char *in, size_t len, size_t prespace, char **out, size_t *outlen, size_t *outprespace);
Passes the input buffer, in
, through filter
and generates an
output buffer, out
and makes sure that all data is flushed to the
output buffer. This must be the last filtering call made, no
further calls to camel_mime_filter_filter may be called on filter
until filter
has been reset using camel_mime_filter_reset.
|
a CamelMimeFilter object |
|
input buffer |
|
length of in
|
|
amount of prespace |
|
pointer to the output buffer (to be set) |
|
pointer to the length of the output buffer (to be set) |
|
pointer to the output prespace length (to be set) |
void camel_mime_filter_reset (CamelMimeFilter *filter);
Resets the state on filter
so that it may be used again.
|
a CamelMimeFilter object |
void camel_mime_filter_backup (CamelMimeFilter *filter, const char *data, size_t length);
Saves data
to be used as prespace input data to the next call to
camel_mime_filter_filter or camel_mime_filter_complete.
Note: New calls replace old data.
|
a camelMimeFilter object |
|
data buffer to backup |
|
length of data
|
void camel_mime_filter_set_size (CamelMimeFilter *filter, size_t size, int keep);
Ensure that filter
has enough storage space to store size
bytes
for filter output.
|
a camelMimeFilter object |
|
requested amount of storage space |
|
TRUE to keep existing buffered data or FALSE otherwise
|