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 109:18f12ac01097 1 /*********************************************************************************
nyatla 109:18f12ac01097 2 * PROJECT: MiMic
nyatla 109:18f12ac01097 3 * --------------------------------------------------------------------------------
nyatla 109:18f12ac01097 4 *
nyatla 109:18f12ac01097 5 * This file is part of MiMic
nyatla 109:18f12ac01097 6 * Copyright (C)2011 Ryo Iizuka
nyatla 109:18f12ac01097 7 *
nyatla 109:18f12ac01097 8 * MiMic is free software: you can redistribute it and/or modify
nyatla 109:18f12ac01097 9 * it under the terms of the GNU Lesser General Public License as published
nyatla 109:18f12ac01097 10 * by the Free Software Foundation, either version 3 of the License, or
nyatla 109:18f12ac01097 11 * (at your option) any later version.
nyatla 109:18f12ac01097 12 *
nyatla 109:18f12ac01097 13 * This program is distributed in the hope that it will be useful,
nyatla 109:18f12ac01097 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
nyatla 109:18f12ac01097 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
nyatla 109:18f12ac01097 16 * GNU General Public License for more details.
nyatla 109:18f12ac01097 17 *
nyatla 109:18f12ac01097 18 * You should have received a copy of the GNU Lesser General Public License
nyatla 109:18f12ac01097 19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
nyatla 109:18f12ac01097 20 *
nyatla 109:18f12ac01097 21 * For further information please contact.
nyatla 109:18f12ac01097 22 * http://nyatla.jp/
nyatla 109:18f12ac01097 23 * <airmail(at)ebony.plala.or.jp> or <nyatla(at)nyatla.jp>
nyatla 109:18f12ac01097 24 *
nyatla 109:18f12ac01097 25 *********************************************************************************/
nyatla 109:18f12ac01097 26
nyatla 109:18f12ac01097 27 #include "NyLPC_cIPv4Config.h"
nyatla 109:18f12ac01097 28
nyatla 109:18f12ac01097 29
nyatla 109:18f12ac01097 30
nyatla 109:18f12ac01097 31 /**
nyatla 109:18f12ac01097 32 * See header file.
nyatla 109:18f12ac01097 33 */
nyatla 109:18f12ac01097 34 void NyLPC_cIPv4Config_initialzeForEthernet(NyLPC_TcIPv4Config_t* i_inst,const struct NyLPC_TEthAddr* i_ether_addr,NyLPC_TUInt16 i_ether_frame_len)
nyatla 109:18f12ac01097 35 {
nyatla 109:18f12ac01097 36 i_inst->ip_addr=i_inst->netmask=i_inst->dr_addr=NyLPC_TIPv4Addr_ZERO;
nyatla 109:18f12ac01097 37 i_inst->eth_mac=*i_ether_addr;
nyatla 109:18f12ac01097 38 //mssの計算
nyatla 109:18f12ac01097 39 i_inst->default_mss=i_ether_frame_len-(UIP_ETHERHEADER_LEN+UIP_TCPH_LEN + UIP_IPH_LEN);
nyatla 109:18f12ac01097 40 return;
nyatla 109:18f12ac01097 41 }
nyatla 109:18f12ac01097 42 void NyLPC_cIPv4Config_initialzeCopy(NyLPC_TcIPv4Config_t* i_inst,const NyLPC_TcIPv4Config_t* i_src)
nyatla 109:18f12ac01097 43 {
nyatla 109:18f12ac01097 44 memcpy(i_inst,i_src,sizeof(NyLPC_TcIPv4Config_t));
nyatla 109:18f12ac01097 45 }
nyatla 109:18f12ac01097 46 /**
nyatla 109:18f12ac01097 47 * See header file.
nyatla 109:18f12ac01097 48 */
nyatla 109:18f12ac01097 49 void NyLPC_cIPv4Config_setDefaultRoute(NyLPC_TcIPv4Config_t* i_inst,const struct NyLPC_TIPv4Addr* i_dr_addr)
nyatla 109:18f12ac01097 50 {
nyatla 109:18f12ac01097 51 i_inst->dr_addr=*i_dr_addr;
nyatla 109:18f12ac01097 52 return;
nyatla 109:18f12ac01097 53 }
nyatla 109:18f12ac01097 54
nyatla 109:18f12ac01097 55 /**
nyatla 109:18f12ac01097 56 * See header file.
nyatla 109:18f12ac01097 57 */
nyatla 109:18f12ac01097 58 void NyLPC_cIPv4Config_setIp(NyLPC_TcIPv4Config_t* i_inst,const struct NyLPC_TIPv4Addr* i_ipaddr,const struct NyLPC_TIPv4Addr* i_netmask)
nyatla 109:18f12ac01097 59 {
nyatla 109:18f12ac01097 60 i_inst->ip_addr=*i_ipaddr;
nyatla 109:18f12ac01097 61 i_inst->netmask=*i_netmask;
nyatla 109:18f12ac01097 62 return;
nyatla 109:18f12ac01097 63 }
nyatla 109:18f12ac01097 64
nyatla 109:18f12ac01097 65 /**
nyatla 109:18f12ac01097 66 * See header file.
nyatla 109:18f12ac01097 67 */
nyatla 109:18f12ac01097 68 NyLPC_TBool NyLPC_cIPv4Config_isLocalIP(const NyLPC_TcIPv4Config_t* i_inst,const struct NyLPC_TIPv4Addr* i_target_ip)
nyatla 109:18f12ac01097 69 {
nyatla 109:18f12ac01097 70 return NyLPC_TIPv4Addr_isEqualWithMask(&(i_inst->ip_addr),i_target_ip,&(i_inst->netmask));
nyatla 109:18f12ac01097 71 }
nyatla 109:18f12ac01097 72