myio_chunk.h

最終更新:2009/11/8

myio_chunk.h

001: /*
002:  * チャンク形式のデコーダ。
003:  */
004: 
005: #ifndef _MYCHUNK_H_
006: #define _MYCHUNK_H_
007: 
008: #ifndef _MYIO_H_
009: #include "myio.h"
010: #endif
011: 
012: /* 概要:entity-header と CRLF の読み出し
013:  * 返り値:
014:  *   成功時:1
015:  *   失敗時:0 最後の CRLF を見つけられなかった時
016:  * メモ:読み出した entity-header はコールバック関数 f に渡される
017:  *    void f (const char *entity_header, void *ctx);
018:  */
019: 
020: int MYIO_read_entity_headers_CRLF_do (
021:   MYIO *in    /* IN: 入力ストリーム */
022:   , void *f   /* IN: コールバック関数 */
023:   , void *ctx /* IN: コールバック関数用コンテクストデータ */
024: );
025: 
026: /* 概要:チャンク形式データのデコード
027:  * 返り値:コンテンツの長さ(0以上)。デコード失敗時は -1
028:  * メモ:読み出した entity-header はコールバック関数 f に渡される
029:  *    void f (const char *entity_header, void *ctx);
030:  */
031: 
032: int MYIO_decode_chunked_body_do (
033:   MYIO *in     /* IN: 入力ストリーム*/
034:   , MYIO *out  /* OUT: 出力ストリーム */
035:   , void *f    /* IN: コールバック関数 */
036:   , void *ctx  /* IN: コールバック関数用コンテクストデータ */
037: );
038: 
039: /* 概要:チャンク形式データのデコード
040:  * 返り値:コンテンツの長さ(0以上)。デコード失敗時は -1
041:  * メモ:読み出した entity-header は無視される
042:  */
043: 
044: int MYIO_decode_chunked_body (
045:   MYIO *in     /* IN: 入力ストリーム*/
046:   , MYIO *out  /* OUT: 出力ストリーム */
047: );
048: 
049: /*
050:  * チャンク形式データ用デコーダのフィルタ
051:  * alloc_func はメモリアロケーションの関数
052:  * void * alloc_func(void *alloc_func_ctx, int alloc_size)
053:  */
054: 
055: MYIO *MYIO_dechunk_filter_new (
056:   MYIO *in
057:   , void *alloc_func
058:   , void *alloc_func_ctx
059: );
060: #endif /* _MYCHUNKED_H_ */
Copyright (C) KAKU PROJECT (2009)KAKU PROJECT (2009)