This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088
Fork of libMiMic by
core/netif/NyLPC_cIPv4Config.c@115:fa79286d8ea4, 2017-02-24 (annotated)
- 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?
User | Revision | Line number | New 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 |