/* * チャンク形式のデコーダ。 */ #ifndef _MYCHUNK_H_ #define _MYCHUNK_H_ #ifndef _MYIO_H_ #include "myio.h" #endif /* 概要:entity-header と CRLF の読み出し * 返り値: * 成功時:1 * 失敗時:0 最後の CRLF を見つけられなかった時 * メモ:読み出した entity-header はコールバック関数 f に渡される * void f (const char *entity_header, void *ctx); */ int MYIO_read_entity_headers_CRLF_do ( MYIO *in /* IN: 入力ストリーム */ , void *f /* IN: コールバック関数 */ , void *ctx /* IN: コールバック関数用コンテクストデータ */ ); /* 概要:チャンク形式データのデコード * 返り値:コンテンツの長さ(0以上)。デコード失敗時は -1 * メモ:読み出した entity-header はコールバック関数 f に渡される * void f (const char *entity_header, void *ctx); */ int MYIO_decode_chunked_body_do ( MYIO *in /* IN: 入力ストリーム*/ , MYIO *out /* OUT: 出力ストリーム */ , void *f /* IN: コールバック関数 */ , void *ctx /* IN: コールバック関数用コンテクストデータ */ ); /* 概要:チャンク形式データのデコード * 返り値:コンテンツの長さ(0以上)。デコード失敗時は -1 * メモ:読み出した entity-header は無視される */ int MYIO_decode_chunked_body ( MYIO *in /* IN: 入力ストリーム*/ , MYIO *out /* OUT: 出力ストリーム */ ); /* * チャンク形式データ用デコーダのフィルタ * alloc_func はメモリアロケーションの関数 * void * alloc_func(void *alloc_func_ctx, int alloc_size) */ MYIO *MYIO_dechunk_filter_new ( MYIO *in , void *alloc_func , void *alloc_func_ctx ); #endif /* _MYCHUNKED_H_ */