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 110:257739f9b31e 1
nyatla 110:257739f9b31e 2 #include "NyLPC_cNet.h"
nyatla 110:257739f9b31e 3 #include "./mimicip/NyLPC_cMiMicIpNetIf_protected.h"
nyatla 110:257739f9b31e 4 #include "dhcp/NyLPC_cDhcpClient.h"
nyatla 110:257739f9b31e 5 #include "apipa/NyLPC_cApipa.h"
nyatla 110:257739f9b31e 6
nyatla 110:257739f9b31e 7
nyatla 110:257739f9b31e 8 /**
nyatla 110:257739f9b31e 9 * 唯一のネットワークインタフェイス
nyatla 110:257739f9b31e 10 */
nyatla 110:257739f9b31e 11 const static struct NyLPC_TiNetInterface_Interface* netif;
nyatla 110:257739f9b31e 12
nyatla 110:257739f9b31e 13
nyatla 110:257739f9b31e 14
nyatla 110:257739f9b31e 15
nyatla 110:257739f9b31e 16
nyatla 110:257739f9b31e 17 void NyLPC_cNet_initialize(const struct NyLPC_TiNetInterface_Interface* i_netif)
nyatla 110:257739f9b31e 18 {
nyatla 110:257739f9b31e 19 NyLPC_Assert(netif==NULL);
nyatla 110:257739f9b31e 20 netif=i_netif;
nyatla 110:257739f9b31e 21 }
nyatla 110:257739f9b31e 22
nyatla 110:257739f9b31e 23 void NyLPC_cNet_start(const NyLPC_TcIPv4Config_t* i_ref_config)
nyatla 110:257739f9b31e 24 {
nyatla 110:257739f9b31e 25 netif->start(i_ref_config);
nyatla 110:257739f9b31e 26 return;
nyatla 110:257739f9b31e 27 }
nyatla 110:257739f9b31e 28
nyatla 110:257739f9b31e 29 void NyLPC_cNet_stop(void)
nyatla 110:257739f9b31e 30 {
nyatla 110:257739f9b31e 31 netif->stop();
nyatla 110:257739f9b31e 32 return;
nyatla 110:257739f9b31e 33 }
nyatla 110:257739f9b31e 34
nyatla 110:257739f9b31e 35
nyatla 110:257739f9b31e 36
nyatla 110:257739f9b31e 37 /**
nyatla 110:257739f9b31e 38 * 指定したIPアドレスを要求するARPリクエストを発行します。
nyatla 110:257739f9b31e 39 */
nyatla 110:257739f9b31e 40 void NyLPC_cNet_sendArpRequest(const struct NyLPC_TIPv4Addr* i_addr)
nyatla 110:257739f9b31e 41 {
nyatla 110:257739f9b31e 42 netif->sendarprequest(i_addr);
nyatla 110:257739f9b31e 43 }
nyatla 110:257739f9b31e 44 /**
nyatla 110:257739f9b31e 45 * ARPテーブルに指定したIPがあるかを返します。
nyatla 110:257739f9b31e 46 */
nyatla 110:257739f9b31e 47 NyLPC_TBool NyLPC_cNet_hasArpInfo(const struct NyLPC_TIPv4Addr* i_addr)
nyatla 110:257739f9b31e 48 {
nyatla 110:257739f9b31e 49 return netif->hasarpinfo(i_addr);
nyatla 110:257739f9b31e 50 }
nyatla 110:257739f9b31e 51
nyatla 110:257739f9b31e 52 NyLPC_TBool NyLPC_cNet_isInitService(void)
nyatla 110:257739f9b31e 53 {
nyatla 110:257739f9b31e 54 return netif->isinitservice();
nyatla 110:257739f9b31e 55 }
nyatla 110:257739f9b31e 56
nyatla 110:257739f9b31e 57 NyLPC_TiTcpSocket_t* NyLPC_cNet_createTcpSocketEx(NyLPC_TSocketType i_socktype)
nyatla 110:257739f9b31e 58 {
nyatla 110:257739f9b31e 59 return netif->createTcpSocketEx(i_socktype);
nyatla 110:257739f9b31e 60 }
nyatla 110:257739f9b31e 61 NyLPC_TiUdpSocket_t* NyLPC_cNet_createUdpSocketEx(NyLPC_TUInt16 i_port,NyLPC_TSocketType i_socktype)
nyatla 110:257739f9b31e 62 {
nyatla 110:257739f9b31e 63 return netif->createUdpSocetEx(i_port,i_socktype);
nyatla 110:257739f9b31e 64 }
nyatla 110:257739f9b31e 65 NyLPC_TiTcpListener_t* NyLPC_cNet_createTcpListenerEx(NyLPC_TUInt16 i_port)
nyatla 110:257739f9b31e 66 {
nyatla 110:257739f9b31e 67 return netif->createTcpListener(i_port);
nyatla 110:257739f9b31e 68 }
nyatla 110:257739f9b31e 69
nyatla 110:257739f9b31e 70 const struct NyLPC_TNetInterfaceInfo* NyLPC_cNet_getInterfaceInfo(void)
nyatla 110:257739f9b31e 71 {
nyatla 110:257739f9b31e 72 return netif->getinterfaceinfo();
nyatla 110:257739f9b31e 73 }
nyatla 110:257739f9b31e 74
nyatla 110:257739f9b31e 75
nyatla 110:257739f9b31e 76
nyatla 110:257739f9b31e 77 NyLPC_TBool NyLPC_cNet_requestAddrDhcp(NyLPC_TcIPv4Config_t* i_cfg,NyLPC_TInt16 i_repeat)
nyatla 110:257739f9b31e 78 {
nyatla 110:257739f9b31e 79 NyLPC_TBool ret;
nyatla 110:257739f9b31e 80 NyLPC_TcDhcpClient_t sock;
nyatla 110:257739f9b31e 81 //netを開始
nyatla 110:257739f9b31e 82 NyLPC_cDhcpClient_initialize(&sock);
nyatla 110:257739f9b31e 83 ret=NyLPC_cDhcpClient_requestAddr(&sock,i_cfg,i_repeat);
nyatla 110:257739f9b31e 84 NyLPC_cDhcpClient_finalize(&sock);
nyatla 110:257739f9b31e 85 return ret;
nyatla 110:257739f9b31e 86 }
nyatla 110:257739f9b31e 87
nyatla 110:257739f9b31e 88 NyLPC_TBool NyLPC_cNet_requestAddrApipa(NyLPC_TcIPv4Config_t* i_cfg,NyLPC_TInt16 i_repeat)
nyatla 110:257739f9b31e 89 {
nyatla 110:257739f9b31e 90 NyLPC_TBool ret;
nyatla 110:257739f9b31e 91 NyLPC_TcApipa_t sock;
nyatla 110:257739f9b31e 92 //netを開始
nyatla 110:257739f9b31e 93 NyLPC_cApipa_initialize(&sock);
nyatla 110:257739f9b31e 94 ret=NyLPC_cApipa_requestAddr(&sock,i_cfg,i_repeat);
nyatla 110:257739f9b31e 95 NyLPC_cApipa_finalize(&sock);
nyatla 110:257739f9b31e 96 return ret;
nyatla 110:257739f9b31e 97 }
nyatla 110:257739f9b31e 98
nyatla 110:257739f9b31e 99
nyatla 110:257739f9b31e 100
nyatla 110:257739f9b31e 101