Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: MbedFileServer_1768MiniDK2 RedWireBridge IssueDebug_gcc MiMicRemoteMCU-for-Mbed ... more
core/netif/NyLPC_cNetIf.c@109:18f12ac01097, 2014-11-19 (annotated)
- Committer:
- nyatla
- Date:
- Wed Nov 19 14:45:17 2014 +0000
- Revision:
- 109:18f12ac01097
new MiMicIP API;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| nyatla | 109:18f12ac01097 | 1 | |
| nyatla | 109:18f12ac01097 | 2 | #include "NyLPC_cNetIf.h" |
| nyatla | 109:18f12ac01097 | 3 | #include "./mimicip/NyLPC_cMiMicIpNetIf_protected.h" |
| nyatla | 109:18f12ac01097 | 4 | #include "dhcp/NyLPC_cDhcpClient.h" |
| nyatla | 109:18f12ac01097 | 5 | #include "apipa/NyLPC_cApipa.h" |
| nyatla | 109:18f12ac01097 | 6 | |
| nyatla | 109:18f12ac01097 | 7 | |
| nyatla | 109:18f12ac01097 | 8 | /** |
| nyatla | 109:18f12ac01097 | 9 | * 唯一のネットワークインタフェイス |
| nyatla | 109:18f12ac01097 | 10 | */ |
| nyatla | 109:18f12ac01097 | 11 | const static struct NyLPC_TiNetInterface_Interface* netif; |
| nyatla | 109:18f12ac01097 | 12 | |
| nyatla | 109:18f12ac01097 | 13 | |
| nyatla | 109:18f12ac01097 | 14 | |
| nyatla | 109:18f12ac01097 | 15 | |
| nyatla | 109:18f12ac01097 | 16 | |
| nyatla | 109:18f12ac01097 | 17 | void NyLPC_cNetIf_initialize(void) |
| nyatla | 109:18f12ac01097 | 18 | { |
| nyatla | 109:18f12ac01097 | 19 | if(netif==NULL){ |
| nyatla | 109:18f12ac01097 | 20 | //ここでネットワークインタフェイスを切り替えてくれ。 |
| nyatla | 109:18f12ac01097 | 21 | netif=NyLPC_cMiMicIpNetIf_getNetInterface(); |
| nyatla | 109:18f12ac01097 | 22 | } |
| nyatla | 109:18f12ac01097 | 23 | } |
| nyatla | 109:18f12ac01097 | 24 | |
| nyatla | 109:18f12ac01097 | 25 | void NyLPC_cNetIf_start(const NyLPC_TcIPv4Config_t* i_ref_config) |
| nyatla | 109:18f12ac01097 | 26 | { |
| nyatla | 109:18f12ac01097 | 27 | netif->start(i_ref_config); |
| nyatla | 109:18f12ac01097 | 28 | return; |
| nyatla | 109:18f12ac01097 | 29 | } |
| nyatla | 109:18f12ac01097 | 30 | |
| nyatla | 109:18f12ac01097 | 31 | void NyLPC_cNetIf_stop(void) |
| nyatla | 109:18f12ac01097 | 32 | { |
| nyatla | 109:18f12ac01097 | 33 | netif->stop(); |
| nyatla | 109:18f12ac01097 | 34 | return; |
| nyatla | 109:18f12ac01097 | 35 | } |
| nyatla | 109:18f12ac01097 | 36 | |
| nyatla | 109:18f12ac01097 | 37 | |
| nyatla | 109:18f12ac01097 | 38 | |
| nyatla | 109:18f12ac01097 | 39 | /** |
| nyatla | 109:18f12ac01097 | 40 | * 指定したIPアドレスを要求するARPリクエストを発行します。 |
| nyatla | 109:18f12ac01097 | 41 | */ |
| nyatla | 109:18f12ac01097 | 42 | void NyLPC_cNetIf_sendArpRequest(const struct NyLPC_TIPv4Addr* i_addr) |
| nyatla | 109:18f12ac01097 | 43 | { |
| nyatla | 109:18f12ac01097 | 44 | netif->sendarprequest(i_addr); |
| nyatla | 109:18f12ac01097 | 45 | } |
| nyatla | 109:18f12ac01097 | 46 | /** |
| nyatla | 109:18f12ac01097 | 47 | * ARPテーブルに指定したIPがあるかを返します。 |
| nyatla | 109:18f12ac01097 | 48 | */ |
| nyatla | 109:18f12ac01097 | 49 | NyLPC_TBool NyLPC_cNetIf_hasArpInfo(const struct NyLPC_TIPv4Addr* i_addr) |
| nyatla | 109:18f12ac01097 | 50 | { |
| nyatla | 109:18f12ac01097 | 51 | return netif->hasarpinfo(i_addr); |
| nyatla | 109:18f12ac01097 | 52 | } |
| nyatla | 109:18f12ac01097 | 53 | |
| nyatla | 109:18f12ac01097 | 54 | NyLPC_TBool NyLPC_cNetIf_isInitService(void) |
| nyatla | 109:18f12ac01097 | 55 | { |
| nyatla | 109:18f12ac01097 | 56 | return netif->isinitservice(); |
| nyatla | 109:18f12ac01097 | 57 | } |
| nyatla | 109:18f12ac01097 | 58 | |
| nyatla | 109:18f12ac01097 | 59 | NyLPC_TiTcpSocket_t* NyLPC_cNetIf_createTcpSocketEx(NyLPC_TSocketType i_socktype) |
| nyatla | 109:18f12ac01097 | 60 | { |
| nyatla | 109:18f12ac01097 | 61 | return netif->createTcpSocketEx(i_socktype); |
| nyatla | 109:18f12ac01097 | 62 | } |
| nyatla | 109:18f12ac01097 | 63 | NyLPC_TiUdpSocket_t* NyLPC_cNetIf_createUdpSocketEx(NyLPC_TUInt16 i_port,NyLPC_TSocketType i_socktype) |
| nyatla | 109:18f12ac01097 | 64 | { |
| nyatla | 109:18f12ac01097 | 65 | return netif->createUdpSocetEx(i_port,i_socktype); |
| nyatla | 109:18f12ac01097 | 66 | } |
| nyatla | 109:18f12ac01097 | 67 | NyLPC_TiTcpListener_t* NyLPC_cNetIf_createTcpListenerEx(NyLPC_TUInt16 i_port) |
| nyatla | 109:18f12ac01097 | 68 | { |
| nyatla | 109:18f12ac01097 | 69 | return netif->createTcpListener(i_port); |
| nyatla | 109:18f12ac01097 | 70 | } |
| nyatla | 109:18f12ac01097 | 71 | |
| nyatla | 109:18f12ac01097 | 72 | const struct NyLPC_TNetInterfaceInfo* NyLPC_cNetIf_getInterfaceInfo(void) |
| nyatla | 109:18f12ac01097 | 73 | { |
| nyatla | 109:18f12ac01097 | 74 | return netif->getinterfaceinfo(); |
| nyatla | 109:18f12ac01097 | 75 | } |
| nyatla | 109:18f12ac01097 | 76 | |
| nyatla | 109:18f12ac01097 | 77 | |
| nyatla | 109:18f12ac01097 | 78 | |
| nyatla | 109:18f12ac01097 | 79 | NyLPC_TBool NyLPC_cNetIf_requestAddrDhcp(NyLPC_TcIPv4Config_t* i_cfg,NyLPC_TInt16 i_repeat) |
| nyatla | 109:18f12ac01097 | 80 | { |
| nyatla | 109:18f12ac01097 | 81 | NyLPC_TBool ret; |
| nyatla | 109:18f12ac01097 | 82 | NyLPC_TcDhcpClient_t sock; |
| nyatla | 109:18f12ac01097 | 83 | //netを開始 |
| nyatla | 109:18f12ac01097 | 84 | NyLPC_cDhcpClient_initialize(&sock); |
| nyatla | 109:18f12ac01097 | 85 | ret=NyLPC_cDhcpClient_requestAddr(&sock,i_cfg,i_repeat); |
| nyatla | 109:18f12ac01097 | 86 | NyLPC_cDhcpClient_finalize(&sock); |
| nyatla | 109:18f12ac01097 | 87 | return ret; |
| nyatla | 109:18f12ac01097 | 88 | } |
| nyatla | 109:18f12ac01097 | 89 | |
| nyatla | 109:18f12ac01097 | 90 | NyLPC_TBool NyLPC_cNetIf_requestAddrApipa(NyLPC_TcIPv4Config_t* i_cfg,NyLPC_TInt16 i_repeat) |
| nyatla | 109:18f12ac01097 | 91 | { |
| nyatla | 109:18f12ac01097 | 92 | NyLPC_TBool ret; |
| nyatla | 109:18f12ac01097 | 93 | NyLPC_TcApipa_t sock; |
| nyatla | 109:18f12ac01097 | 94 | //netを開始 |
| nyatla | 109:18f12ac01097 | 95 | NyLPC_cApipa_initialize(&sock); |
| nyatla | 109:18f12ac01097 | 96 | ret=NyLPC_cApipa_requestAddr(&sock,i_cfg,i_repeat); |
| nyatla | 109:18f12ac01097 | 97 | NyLPC_cApipa_finalize(&sock); |
| nyatla | 109:18f12ac01097 | 98 | return ret; |
| nyatla | 109:18f12ac01097 | 99 | } |
| nyatla | 109:18f12ac01097 | 100 | |
| nyatla | 109:18f12ac01097 | 101 | |
| nyatla | 109:18f12ac01097 | 102 |
MiMic Webservice library