| Top |
| #define | CAMEL_MIME_YENCODE_CRC_FINAL() |
|
|
camel_mime_filter_yenc_new () |
|
|
camel_mime_filter_yenc_set_state () |
|
|
camel_mime_filter_yenc_set_crc () |
|
|
camel_mime_filter_yenc_get_pcrc () |
|
|
camel_mime_filter_yenc_get_crc () |
|
|
camel_ydecode_step () |
|
|
camel_yencode_step () |
|
|
camel_yencode_close () |
| #define | CAMEL_MIME_YDECODE_STATE_INIT |
| #define | CAMEL_MIME_YENCODE_STATE_INIT |
| #define | CAMEL_MIME_YDECODE_STATE_EOLN |
| #define | CAMEL_MIME_YDECODE_STATE_ESCAPE |
| #define | CAMEL_MIME_YDECODE_STATE_BEGIN |
| #define | CAMEL_MIME_YDECODE_STATE_PART |
| #define | CAMEL_MIME_YDECODE_STATE_DECODE |
| #define | CAMEL_MIME_YDECODE_STATE_END |
| #define | CAMEL_MIME_YENCODE_CRC_INIT |
CamelMimeFilter * camel_mime_filter_yenc_new (CamelMimeFilterYencDirection direction);
Create a new
void camel_mime_filter_yenc_set_state (,CamelMimeFilterYenc *yenc);gint state
Sets the current state of the yencoder/ydecoder
void camel_mime_filter_yenc_set_crc (,CamelMimeFilterYenc *yenc);guint32 crc
Sets the current crc32 value on the yEnc filter yenc
to crc
.
guint32 camel_mime_filter_yenc_get_pcrc ();CamelMimeFilterYenc *yenc
Get the computed part crc or (-1
guint32 camel_mime_filter_yenc_get_crc ();CamelMimeFilterYenc *yenc
Get the computed crc or (
gsize camel_ydecode_step (const,guchar *in,gsize inlen,guchar *out,gint *state,guint32 *pcrc);guint32 *crc
Performs a 'decode step' on a chunk of yEncoded data of length
inlen
pointed to by in
and writes to out
. Assumes the =ybegin
and =ypart lines have already been stripped off.
To get the crc32 value of the part, use CAMEL_MIME_YENCODE_CRC_FINAL
(pcrc
). If there are more parts, you should reuse crc
without
re-initializing. Once all parts have been decoded, you may get the
combined crc32 value of all the parts using CAMEL_MIME_YENCODE_CRC_FINAL
(crc
).
gsize camel_yencode_step (const,guchar *in,gsize inlen,guchar *out,gint *state,guint32 *pcrc);guint32 *crc
Performs an yEncode 'encode step' on a chunk of raw data of length
inlen
pointed to by in
and writes to out
.
state
should be initialized to CAMEL_MIME_YENCODE_STATE_INIT before
beginning making the first call to this function. Subsequent calls
should reuse state
.
Along the same lines, pcrc
and crc
should be initialized to
CAMEL_MIME_YENCODE_CRC_INIT before using.
gsize camel_yencode_close (const,guchar *in,gsize inlen,guchar *out,gint *state,guint32 *pcrc);guint32 *crc
Call this function when finished encoding data with
camel_yencode_step() to flush off the remaining state.
CAMEL_MIME_YENCODE_CRC_FINAL (pcrc
) will give you the crc32 of the
encoded "part". If there are more "parts" to encode, you should
re-use crc
when encoding the next "parts" and then use
CAMEL_MIME_YENCODE_CRC_FINAL (crc
) to get the combined crc32 value of
all the parts.