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