Jun Furutani / libMiMic

Fork of libMiMic by Ryo Iizuka

Committer:
nyatla
Date:
Mon Mar 25 05:23:49 2013 +0000
Revision:
1:9f6a78395432
Child:
2:b96c1e90d120
MiMic repository r191???

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nyatla 1:9f6a78395432 1 /*********************************************************************************
nyatla 1:9f6a78395432 2 * PROJECT: MiMic
nyatla 1:9f6a78395432 3 * --------------------------------------------------------------------------------
nyatla 1:9f6a78395432 4 *
nyatla 1:9f6a78395432 5 * This file is part of MiMic
nyatla 1:9f6a78395432 6 * Copyright (C)2011 Ryo Iizuka
nyatla 1:9f6a78395432 7 *
nyatla 1:9f6a78395432 8 * MiMic is free software: you can redistribute it and/or modify
nyatla 1:9f6a78395432 9 * it under the terms of the GNU Lesser General Public License as published
nyatla 1:9f6a78395432 10 * by the Free Software Foundation, either version 3 of the License, or
nyatla 1:9f6a78395432 11 * (at your option) any later version.
nyatla 1:9f6a78395432 12 *
nyatla 1:9f6a78395432 13 * This program is distributed in the hope that it will be useful,
nyatla 1:9f6a78395432 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
nyatla 1:9f6a78395432 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
nyatla 1:9f6a78395432 16 * GNU General Public License for more details.
nyatla 1:9f6a78395432 17 *
nyatla 1:9f6a78395432 18 * You should have received a copy of the GNU Lesser General Public License
nyatla 1:9f6a78395432 19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
nyatla 1:9f6a78395432 20 *
nyatla 1:9f6a78395432 21 * For further information please contact.
nyatla 1:9f6a78395432 22 * http://nyatla.jp/
nyatla 1:9f6a78395432 23 * <airmail(at)ebony.plala.or.jp> or <nyatla(at)nyatla.jp>
nyatla 1:9f6a78395432 24 *
nyatla 1:9f6a78395432 25 *********************************************************************************/
nyatla 1:9f6a78395432 26 #ifndef NYLPC_CHTTPHEADERWRITER_H_
nyatla 1:9f6a78395432 27 #define NYLPC_CHTTPHEADERWRITER_H_
nyatla 1:9f6a78395432 28
nyatla 1:9f6a78395432 29 #include "NyLPC_stdlib.h"
nyatla 1:9f6a78395432 30 #include "NyLPC_cHttpStream.h"
nyatla 1:9f6a78395432 31 #include "NyLPC_cHttpBasicHeaderParser.h"
nyatla 1:9f6a78395432 32 #include "NyLPC_cHttpdConfig.h"
nyatla 1:9f6a78395432 33
nyatla 1:9f6a78395432 34 #ifdef __cplusplus
nyatla 1:9f6a78395432 35 extern "C" {
nyatla 1:9f6a78395432 36 #endif /* __cplusplus */
nyatla 1:9f6a78395432 37
nyatla 1:9f6a78395432 38
nyatla 1:9f6a78395432 39 typedef struct NyLPC_TcHttpHeaderWriter NyLPC_TcHttpHeaderWriter_t;
nyatla 1:9f6a78395432 40 struct NyLPC_TcHttpHeaderWriter
nyatla 1:9f6a78395432 41 {
nyatla 1:9f6a78395432 42 NyLPC_TUInt8 _is_chunked;
nyatla 1:9f6a78395432 43 NyLPC_TUInt8 _is_close;
nyatla 1:9f6a78395432 44 //異常状態をチェックするためのフラグ
nyatla 1:9f6a78395432 45 NyLPC_TUInt8 _is_error;
nyatla 1:9f6a78395432 46
nyatla 1:9f6a78395432 47 NyLPC_TUInt32 _content_length;
nyatla 1:9f6a78395432 48 NyLPC_TUInt32 _size_of_sent;
nyatla 1:9f6a78395432 49
nyatla 1:9f6a78395432 50 NyLPC_TcHttpStream_t* _ref_stream;
nyatla 1:9f6a78395432 51 };
nyatla 1:9f6a78395432 52
nyatla 1:9f6a78395432 53 /**
nyatla 1:9f6a78395432 54 * Httpリクエストヘッダに対応したHttpヘッダライタを構築します。
nyatla 1:9f6a78395432 55 * インスタンスは、正常/異常の2状態を持ちます。
nyatla 1:9f6a78395432 56 */
nyatla 1:9f6a78395432 57
nyatla 1:9f6a78395432 58 NyLPC_TBool NyLPC_cHttpHeaderWriter_initialize(NyLPC_TcHttpHeaderWriter_t* i_inst,NyLPC_TcHttpStream_t* i_ref_stream,const struct NyLPC_THttpBasicHeader* i_req_header);
nyatla 1:9f6a78395432 59
nyatla 1:9f6a78395432 60 #define NyLPC_cHttpHeaderWriter_finalize(i)
nyatla 1:9f6a78395432 61
nyatla 1:9f6a78395432 62 NyLPC_TBool NyLPC_cHttpHeaderWriter_writeHeader(NyLPC_TcHttpHeaderWriter_t* i_inst,NyLPC_TUInt16 i_status);
nyatla 1:9f6a78395432 63 NyLPC_TBool NyLPC_cHttpHeaderWriter_writeMessage(NyLPC_TcHttpHeaderWriter_t* i_inst,const NyLPC_TChar* i_name,const NyLPC_TChar* i_field);
nyatla 1:9f6a78395432 64 NyLPC_TBool NyLPC_cHttpHeaderWriter_close(NyLPC_TcHttpHeaderWriter_t* i_inst);
nyatla 1:9f6a78395432 65 void NyLPC_cHttpHeaderWriter_setContentLength(NyLPC_TcHttpHeaderWriter_t* i_inst,NyLPC_TUInt32 i_content_length);
nyatla 1:9f6a78395432 66 void NyLPC_cHttpHeaderWriter_setClose(NyLPC_TcHttpHeaderWriter_t* i_inst);
nyatla 1:9f6a78395432 67 void NyLPC_cHttpHeaderWriter_setChunked(NyLPC_TcHttpHeaderWriter_t* i_inst);
nyatla 1:9f6a78395432 68
nyatla 1:9f6a78395432 69 #ifdef __cplusplus
nyatla 1:9f6a78395432 70 }
nyatla 1:9f6a78395432 71 #endif /* __cplusplus */
nyatla 1:9f6a78395432 72
nyatla 1:9f6a78395432 73 #endif /* NYLPC_CHTTPHEADERWRITER_H_ */