## CamelMimeFilterYenc

CamelMimeFilterYenc

## Synopsis

                        CamelMimeFilterYenc;
    enum                CamelMimeFilterYencDirection;
    #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
    #define             CAMEL_MIME_YENCODE_CRC_FINAL        (crc)
    CamelMimeFilter*    camel_mime_filter_yenc_new          (CamelMimeFilterYencDirection direction);
    void                camel_mime_filter_yenc_set_state    (CamelMimeFilterYenc *yenc,
                                                             int state);
    void                camel_mime_filter_yenc_set_crc      (CamelMimeFilterYenc *yenc,
                                                             guint32 crc);
    guint32             camel_mime_filter_yenc_get_pcrc     (CamelMimeFilterYenc *yenc);
    guint32             camel_mime_filter_yenc_get_crc      (CamelMimeFilterYenc *yenc);
    size_t              camel_ydecode_step                  (unsigned char *in,
                                                             size_t inlen,
                                                             unsigned char *out,
                                                             int *state,
                                                             guint32 *pcrc,
                                                             guint32 *crc);
    size_t              camel_yencode_step                  (unsigned char *in,
                                                             size_t inlen,
                                                             unsigned char *out,
                                                             int *state,
                                                             guint32 *pcrc,
                                                             guint32 *crc);
    size_t              camel_yencode_close                 (unsigned char *in,
                                                             size_t inlen,
                                                             unsigned char *out,
                                                             int *state,
                                                             guint32 *pcrc,
                                                             guint32 *crc);

## Description

## Details

### CamelMimeFilterYenc

    typedef struct {
    	CamelMimeFilter parent_object;

    	CamelMimeFilterYencDirection direction;

    	int part;

    	int state;
    	guint32 pcrc;
    	guint32 crc;
    } CamelMimeFilterYenc;

### enum CamelMimeFilterYencDirection

    typedef enum {
    	CAMEL_MIME_FILTER_YENC_DIRECTION_ENCODE,
    	CAMEL_MIME_FILTER_YENC_DIRECTION_DECODE
    } CamelMimeFilterYencDirection;

### CAMEL_MIME_YDECODE_STATE_INIT

    #define CAMEL_MIME_YDECODE_STATE_INIT     (0)

### CAMEL_MIME_YENCODE_STATE_INIT

    #define CAMEL_MIME_YENCODE_STATE_INIT     (0)

### CAMEL_MIME_YDECODE_STATE_EOLN

    #define CAMEL_MIME_YDECODE_STATE_EOLN     (1 << 8)

### CAMEL_MIME_YDECODE_STATE_ESCAPE

    #define CAMEL_MIME_YDECODE_STATE_ESCAPE   (1 << 9)

### CAMEL_MIME_YDECODE_STATE_BEGIN

    #define CAMEL_MIME_YDECODE_STATE_BEGIN    (1 << 12)

### CAMEL_MIME_YDECODE_STATE_PART

    #define CAMEL_MIME_YDECODE_STATE_PART     (1 << 13)

### CAMEL_MIME_YDECODE_STATE_DECODE

    #define CAMEL_MIME_YDECODE_STATE_DECODE   (1 << 14)

### CAMEL_MIME_YDECODE_STATE_END

    #define CAMEL_MIME_YDECODE_STATE_END      (1 << 15)

### CAMEL_MIME_YENCODE_CRC_INIT

    #define CAMEL_MIME_YENCODE_CRC_INIT       (~0)

### CAMEL_MIME_YENCODE_CRC_FINAL()

    #define CAMEL_MIME_YENCODE_CRC_FINAL(crc) (~crc)

`crc` : |

### camel_mime_filter_yenc_new ()

    CamelMimeFilter*    camel_mime_filter_yenc_new          (CamelMimeFilterYencDirection direction);

`direction` : |
Returns : |

### camel_mime_filter_yenc_set_state ()

    void                camel_mime_filter_yenc_set_state    (CamelMimeFilterYenc *yenc,
                                                             int state);

`yenc` : |
`state` : |

### camel_mime_filter_yenc_set_crc ()

    void                camel_mime_filter_yenc_set_crc      (CamelMimeFilterYenc *yenc,
                                                             guint32 crc);

`yenc` : |
`crc` : |

### camel_mime_filter_yenc_get_pcrc ()

    guint32             camel_mime_filter_yenc_get_pcrc     (CamelMimeFilterYenc *yenc);

`yenc` : |
Returns : |

### camel_mime_filter_yenc_get_crc ()

    guint32             camel_mime_filter_yenc_get_crc      (CamelMimeFilterYenc *yenc);

`yenc` : |
Returns : |

### camel_ydecode_step ()

    size_t              camel_ydecode_step                  (unsigned char *in,
                                                             size_t inlen,
                                                             unsigned char *out,
                                                             int *state,
                                                             guint32 *pcrc,
                                                             guint32 *crc);

`in` : |
`inlen` : |
`out` : |
`state` : |
`pcrc` : |
`crc` : |
Returns : |

### camel_yencode_step ()

    size_t              camel_yencode_step                  (unsigned char *in,
                                                             size_t inlen,
                                                             unsigned char *out,
                                                             int *state,
                                                             guint32 *pcrc,
                                                             guint32 *crc);

`in` : |
`inlen` : |
`out` : |
`state` : |
`pcrc` : |
`crc` : |
Returns : |

### camel_yencode_close ()

    size_t              camel_yencode_close                 (unsigned char *in,
                                                             size_t inlen,
                                                             unsigned char *out,
                                                             int *state,
                                                             guint32 *pcrc,
                                                             guint32 *crc);

`in` : |
`inlen` : |
`out` : |
`state` : |
`pcrc` : |
`crc` : |
Returns : |