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:
110:257739f9b31e
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 #include "NyLPC_cFifoBuffer.h"
nyatla 0:142ee8b12fef 27 #include <string.h>
nyatla 0:142ee8b12fef 28
nyatla 0:142ee8b12fef 29 /**
nyatla 0:142ee8b12fef 30 * See Header file.
nyatla 0:142ee8b12fef 31 */
nyatla 0:142ee8b12fef 32 void NyLPC_cFifoBuffer_initialize(NyLPC_TcFifoBuffer_t* i_inst,void* i_buf,NyLPC_TUInt16 i_buf_size)
nyatla 0:142ee8b12fef 33 {
nyatla 0:142ee8b12fef 34 i_inst->len=0;
nyatla 0:142ee8b12fef 35 i_inst->size=i_buf_size;
nyatla 0:142ee8b12fef 36 i_inst->buf=i_buf;
nyatla 0:142ee8b12fef 37 }
nyatla 0:142ee8b12fef 38
nyatla 0:142ee8b12fef 39
nyatla 0:142ee8b12fef 40 /**
nyatla 0:142ee8b12fef 41 * See Header file.
nyatla 0:142ee8b12fef 42 */
nyatla 0:142ee8b12fef 43 void NyLPC_cFifoBuffer_push(NyLPC_TcFifoBuffer_t* i_inst,const void* i_data,NyLPC_TUInt16 i_data_len)
nyatla 0:142ee8b12fef 44 {
nyatla 0:142ee8b12fef 45 NyLPC_TUInt8* wp;
nyatla 0:142ee8b12fef 46 NyLPC_ArgAssert(NyLPC_cFifoBuffer_getSpace(i_inst)>=i_data_len);
nyatla 0:142ee8b12fef 47
nyatla 0:142ee8b12fef 48 wp=((NyLPC_TUInt8*)(i_inst->buf))+i_inst->len;
nyatla 0:142ee8b12fef 49 memcpy(wp,i_data,i_data_len);
nyatla 0:142ee8b12fef 50 i_inst->len+=i_data_len;
nyatla 0:142ee8b12fef 51 }
nyatla 110:257739f9b31e 52 void* NyLPC_cFifoBuffer_prePush(NyLPC_TcFifoBuffer_t* i_inst,NyLPC_TUInt16 i_data_len)
nyatla 110:257739f9b31e 53 {
nyatla 110:257739f9b31e 54 NyLPC_TUInt8* wp;
nyatla 110:257739f9b31e 55 NyLPC_ArgAssert(NyLPC_cFifoBuffer_getSpace(i_inst)>=i_data_len);
nyatla 110:257739f9b31e 56 wp=((NyLPC_TUInt8*)(i_inst->buf))+i_inst->len;
nyatla 110:257739f9b31e 57 i_inst->len+=i_data_len;
nyatla 110:257739f9b31e 58 return wp;
nyatla 110:257739f9b31e 59 }
nyatla 0:142ee8b12fef 60
nyatla 0:142ee8b12fef 61 /**
nyatla 0:142ee8b12fef 62 * See Header file.
nyatla 0:142ee8b12fef 63 */
nyatla 0:142ee8b12fef 64 void NyLPC_cFifoBuffer_pop(NyLPC_TcFifoBuffer_t* i_inst,NyLPC_TUInt16 i_len)
nyatla 0:142ee8b12fef 65 {
nyatla 0:142ee8b12fef 66 NyLPC_TUInt8* wp;
nyatla 0:142ee8b12fef 67 NyLPC_TUInt8* rp;
nyatla 0:142ee8b12fef 68 NyLPC_ArgAssert(NyLPC_cFifoBuffer_getLength(i_inst)>=i_len);
nyatla 0:142ee8b12fef 69 wp=(NyLPC_TUInt8*)i_inst->buf;
nyatla 0:142ee8b12fef 70 rp=wp+i_len;
nyatla 0:142ee8b12fef 71 i_inst->len-=i_len;
nyatla 0:142ee8b12fef 72 memmove(wp,rp,i_inst->len);
nyatla 0:142ee8b12fef 73 }
nyatla 0:142ee8b12fef 74
nyatla 0:142ee8b12fef 75 /**
nyatla 0:142ee8b12fef 76 * See Header file.
nyatla 0:142ee8b12fef 77 */
nyatla 0:142ee8b12fef 78 void* NyLPC_cFifoBuffer_getPtr(const NyLPC_TcFifoBuffer_t* i_inst)
nyatla 0:142ee8b12fef 79 {
nyatla 0:142ee8b12fef 80 return (void*)(i_inst->buf);
nyatla 0:142ee8b12fef 81 }
nyatla 0:142ee8b12fef 82 /**
nyatla 0:142ee8b12fef 83 * See Header file.
nyatla 0:142ee8b12fef 84 */
nyatla 0:142ee8b12fef 85 NyLPC_TUInt16 NyLPC_cFifoBuffer_getLength(const NyLPC_TcFifoBuffer_t* i_inst)
nyatla 0:142ee8b12fef 86 {
nyatla 0:142ee8b12fef 87 return i_inst->len;
nyatla 0:142ee8b12fef 88 }
nyatla 0:142ee8b12fef 89 /**
nyatla 0:142ee8b12fef 90 * See Header file.
nyatla 0:142ee8b12fef 91 */
nyatla 0:142ee8b12fef 92 NyLPC_TUInt16 NyLPC_cFifoBuffer_getSpace(const NyLPC_TcFifoBuffer_t* i_inst)
nyatla 0:142ee8b12fef 93 {
nyatla 0:142ee8b12fef 94 return i_inst->size-i_inst->len;
nyatla 0:142ee8b12fef 95 }