This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088

Fork of libMiMic by Ryo Iizuka

Committer:
furutani
Date:
Fri Feb 24 04:43:41 2017 +0000
Revision:
115:fa79286d8ea4
Parent:
109:18f12ac01097
Delete missing include line.; Add parameter "timeout" to TCPSocket::connect(), precv().; Fix to send ARP request to default gateway when connecting to IP address of different segment.;

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_TcHttpStream_h
nyatla 1:9f6a78395432 27 #define NyLPC_TcHttpStream_h
nyatla 1:9f6a78395432 28
nyatla 1:9f6a78395432 29 #include "NyLPC_config.h"
nyatla 1:9f6a78395432 30 #include "NyLPC_iHttpPtrStream.h"
nyatla 1:9f6a78395432 31
nyatla 1:9f6a78395432 32
nyatla 1:9f6a78395432 33
nyatla 1:9f6a78395432 34 #if NyLPC_CONFIG_cHttpStream_DEBUG == 1
nyatla 1:9f6a78395432 35 #ifdef __cplusplus
nyatla 1:9f6a78395432 36 extern "C" {
nyatla 1:9f6a78395432 37 #endif /* __cplusplus */
nyatla 1:9f6a78395432 38
nyatla 109:18f12ac01097 39 typedef int NyLPC_TiMiMicIpTcpSocket_t;
nyatla 109:18f12ac01097 40 void NyLPC_iTcpSocket_initialized(void* inst,const char* rb,int l);
nyatla 109:18f12ac01097 41 void* NyLPC_iTcpSocket_allocSendBuf(void* inst,NyLPC_TUInt16 i_hint,NyLPC_TUInt16* o_len,NyLPC_TUInt32 i_to);
nyatla 109:18f12ac01097 42 NyLPC_TBool NyLPC_iTcpSocket_psend(void* inst,void* i_buf,NyLPC_TUInt16 i_len,NyLPC_TUInt32 i_to);
nyatla 109:18f12ac01097 43 NyLPC_TInt32 NyLPC_iTcpSocket_precv(void* i_inst,const void** o_buf_ptr,NyLPC_TUInt32 i_wait_msec);
nyatla 109:18f12ac01097 44 void NyLPC_iTcpSocket_pseek(void* i_inst,NyLPC_TUInt16 i_seek);
nyatla 1:9f6a78395432 45
nyatla 1:9f6a78395432 46 #ifdef __cplusplus
nyatla 1:9f6a78395432 47 }
nyatla 1:9f6a78395432 48 #endif /* __cplusplus */
nyatla 1:9f6a78395432 49
nyatla 1:9f6a78395432 50 #else
nyatla 109:18f12ac01097 51 #include "../netif/NyLPC_iTcpSocket.h"
nyatla 1:9f6a78395432 52 #endif
nyatla 1:9f6a78395432 53
nyatla 1:9f6a78395432 54 #ifdef __cplusplus
nyatla 1:9f6a78395432 55 extern "C" {
nyatla 1:9f6a78395432 56 #endif /* __cplusplus */
nyatla 1:9f6a78395432 57
nyatla 1:9f6a78395432 58 /**
nyatla 1:9f6a78395432 59 * HttpStreamを供給するためのクラスです。このクラスは、NyLPC_TiHttpPtrStream_TInterfaceインタフェイスを実装します。
nyatla 1:9f6a78395432 60 */
nyatla 1:9f6a78395432 61 typedef struct NyLPC_TcHttpStream NyLPC_TcHttpStream_t;
nyatla 1:9f6a78395432 62
nyatla 1:9f6a78395432 63
nyatla 1:9f6a78395432 64
nyatla 1:9f6a78395432 65 struct NyLPC_TcHttpStream
nyatla 1:9f6a78395432 66 {
nyatla 48:00d211aac2ec 67 NyLPC_TiHttpPtrStream_t super;
nyatla 109:18f12ac01097 68 NyLPC_TiTcpSocket_t* _ref_sock;
nyatla 1:9f6a78395432 69 NyLPC_TUInt8* txb;//送信バッファ
nyatla 1:9f6a78395432 70 NyLPC_TUInt16 txb_size;//送信バッファサイズ
nyatla 1:9f6a78395432 71 NyLPC_TUInt16 tx_len; //送信サイズ
nyatla 1:9f6a78395432 72 NyLPC_TiHttpPtrStream_ET re_type;
nyatla 1:9f6a78395432 73 NyLPC_TiHttpPtrStream_ET we_type;
nyatla 1:9f6a78395432 74 };
nyatla 1:9f6a78395432 75
nyatla 1:9f6a78395432 76
nyatla 1:9f6a78395432 77
nyatla 1:9f6a78395432 78 /**
nyatla 1:9f6a78395432 79 * 接続済のソケットをストリームに抽象化します。
nyatla 1:9f6a78395432 80 * このインスタンスは、NyLPC_TiHttpPtrStream_TInterfaceインタフェイスを提供します。
nyatla 1:9f6a78395432 81 * @
nyatla 1:9f6a78395432 82 */
nyatla 109:18f12ac01097 83 NyLPC_TBool NyLPC_cHttpStream_initialize(NyLPC_TcHttpStream_t* i_inst,NyLPC_TiTcpSocket_t* i_ref_sock);
nyatla 1:9f6a78395432 84
nyatla 1:9f6a78395432 85 void NyLPC_cHttpStream_finalize(NyLPC_TcHttpStream_t* i_inst);
nyatla 1:9f6a78395432 86
nyatla 1:9f6a78395432 87 #ifdef __cplusplus
nyatla 1:9f6a78395432 88 }
nyatla 1:9f6a78395432 89 #endif /* __cplusplus */
nyatla 1:9f6a78395432 90
nyatla 1:9f6a78395432 91 #endif