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:
57:bc4330dfa62f
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 0:142ee8b12fef 1 /*********************************************************************************
nyatla 0:142ee8b12fef 2 * PROJECT: MiMic
nyatla 0:142ee8b12fef 3 * --------------------------------------------------------------------------------
nyatla 0:142ee8b12fef 4 *
nyatla 0:142ee8b12fef 5 * This file is part of MiMic
nyatla 0:142ee8b12fef 6 * Copyright (C)2011 Ryo Iizuka
nyatla 0:142ee8b12fef 7 *
nyatla 0:142ee8b12fef 8 * MiMic is free software: you can redistribute it and/or modify
nyatla 0:142ee8b12fef 9 * it under the terms of the GNU Lesser General Public License as published
nyatla 0:142ee8b12fef 10 * by the Free Software Foundation, either version 3 of the License, or
nyatla 0:142ee8b12fef 11 * (at your option) any later version.
nyatla 0:142ee8b12fef 12 *
nyatla 0:142ee8b12fef 13 * This program is distributed in the hope that it will be useful,
nyatla 0:142ee8b12fef 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
nyatla 0:142ee8b12fef 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
nyatla 0:142ee8b12fef 16 * GNU General Public License for more details.
nyatla 0:142ee8b12fef 17 *
nyatla 0:142ee8b12fef 18 * You should have received a copy of the GNU Lesser General Public License
nyatla 0:142ee8b12fef 19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
nyatla 0:142ee8b12fef 20 *
nyatla 0:142ee8b12fef 21 * For further information please contact.
nyatla 0:142ee8b12fef 22 * http://nyatla.jp/
nyatla 0:142ee8b12fef 23 * <airmail(at)ebony.plala.or.jp> or <nyatla(at)nyatla.jp>
nyatla 0:142ee8b12fef 24 *
nyatla 0:142ee8b12fef 25 *********************************************************************************/
nyatla 0:142ee8b12fef 26 #ifndef NYLPC_CSTR_H_
nyatla 0:142ee8b12fef 27 #define NYLPC_CSTR_H_
nyatla 0:142ee8b12fef 28
nyatla 0:142ee8b12fef 29 #include "NyLPC_stdlib.h"
nyatla 0:142ee8b12fef 30 /**********************************************************************
nyatla 0:142ee8b12fef 31 *
nyatla 0:142ee8b12fef 32 * NyLPC_TcStr class
nyatla 0:142ee8b12fef 33 *
nyatla 0:142ee8b12fef 34 **********************************************************************/
nyatla 0:142ee8b12fef 35 #ifdef __cplusplus
nyatla 0:142ee8b12fef 36 extern "C" {
nyatla 0:142ee8b12fef 37 #endif /* __cplusplus */
nyatla 0:142ee8b12fef 38
nyatla 0:142ee8b12fef 39 /**
nyatla 0:142ee8b12fef 40 * 長さ付き文字列を定義します。
nyatla 0:142ee8b12fef 41 */
nyatla 0:142ee8b12fef 42 typedef struct NyLPC_TcStr NyLPC_TcStr_t;
nyatla 0:142ee8b12fef 43
nyatla 0:142ee8b12fef 44 struct NyLPC_TcStr
nyatla 0:142ee8b12fef 45 {
nyatla 0:142ee8b12fef 46 NyLPC_TInt16 s;//バッファサイズ
nyatla 0:142ee8b12fef 47 NyLPC_TInt16 l;//現在の文字列長
nyatla 0:142ee8b12fef 48 void* buf;
nyatla 0:142ee8b12fef 49 };
nyatla 0:142ee8b12fef 50
nyatla 0:142ee8b12fef 51 /**
nyatla 0:142ee8b12fef 52 バッファをNyLPC_cStr_tに初期化して、キャストして返します。
nyatla 0:142ee8b12fef 53 */
nyatla 0:142ee8b12fef 54 void NyLPC_cStr_initialize(NyLPC_TcStr_t* i_inst,void* i_buf,int sizeof_buf);
nyatla 0:142ee8b12fef 55
nyatla 0:142ee8b12fef 56 #define NyLPC_cStr_finalize(i)
nyatla 0:142ee8b12fef 57
nyatla 0:142ee8b12fef 58 /**
nyatla 48:00d211aac2ec 59 * 文字をバッファへ追加します。
nyatla 48:00d211aac2ec 60 * @return
nyatla 48:00d211aac2ec 61 * TRUE 追加に成功;FALSE 追加に失敗
nyatla 48:00d211aac2ec 62 */
nyatla 0:142ee8b12fef 63 NyLPC_TBool NyLPC_cStr_put(NyLPC_TcStr_t* i_inst,NyLPC_TChar i_c);
nyatla 48:00d211aac2ec 64
nyatla 0:142ee8b12fef 65 /**
nyatla 2:b96c1e90d120 66 * 残容量を返します。
nyatla 48:00d211aac2ec 67 * @return
nyatla 48:00d211aac2ec 68 * バイト単位のバッファの残り容量
nyatla 2:b96c1e90d120 69 */
nyatla 2:b96c1e90d120 70 #define NyLPC_cStr_capacity(i_inst) ((i_inst)->s-(i_inst)->l)
nyatla 2:b96c1e90d120 71
nyatla 2:b96c1e90d120 72 /**
nyatla 0:142ee8b12fef 73 現在の長さを返します。
nyatla 0:142ee8b12fef 74 */
nyatla 0:142ee8b12fef 75 #define NyLPC_cStr_len(i_inst) ((i_inst)->l)
nyatla 0:142ee8b12fef 76 /**
nyatla 48:00d211aac2ec 77 * 文字列ポインタを返します。
nyatla 48:00d211aac2ec 78  */
nyatla 0:142ee8b12fef 79 #define NyLPC_cStr_str(i_inst) ((NyLPC_TChar*)((i_inst)->buf))
nyatla 0:142ee8b12fef 80 /**
nyatla 0:142ee8b12fef 81 文字列長さをリセットします。
nyatla 0:142ee8b12fef 82 */
nyatla 0:142ee8b12fef 83 #define NyLPC_cStr_clear(i_inst) (i_inst)->l=0
nyatla 0:142ee8b12fef 84 /**
nyatla 57:bc4330dfa62f 85 * NULL terminated文字列が同一か返します。
nyatla 57:bc4330dfa62f 86 */
nyatla 0:142ee8b12fef 87 #define NyLPC_cStr_isEqual(i_inst,i_str) (strcmp(NyLPC_cStr_str(i_inst),(i_str))==0)
nyatla 0:142ee8b12fef 88 /**
nyatla 57:bc4330dfa62f 89 * NULL terminated文字列が同一か返します。
nyatla 57:bc4330dfa62f 90 * 大文字小文字を区別しません。
nyatla 57:bc4330dfa62f 91 */
nyatla 57:bc4330dfa62f 92 #define NyLPC_cStr_isEqualIgnoreCase(i_inst,i_str) (NyLPC_stricmp(NyLPC_cStr_str(i_inst),(i_str))==0)
nyatla 57:bc4330dfa62f 93
nyatla 57:bc4330dfa62f 94 /**
nyatla 0:142ee8b12fef 95 * 文字列を大文字にします。
nyatla 0:142ee8b12fef 96 *
nyatla 0:142ee8b12fef 97 *
nyatla 0:142ee8b12fef 98 */
nyatla 0:142ee8b12fef 99 void NyLPC_cStr_toUpper(NyLPC_TcStr_t* i_inst);
nyatla 0:142ee8b12fef 100
nyatla 0:142ee8b12fef 101 #ifdef __cplusplus
nyatla 0:142ee8b12fef 102 }
nyatla 0:142ee8b12fef 103 #endif /* __cplusplus */
nyatla 0:142ee8b12fef 104
nyatla 48:00d211aac2ec 105 #endif /* NYLPC_CSTR_H_ */