This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088
Fork of libMiMic by
core/netif/NyLPC_iNetInterface.h@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 | #ifndef NYLPC_INETINTERFACE_H_ |
nyatla | 109:18f12ac01097 | 27 | #define NYLPC_INETINTERFACE_H_ |
nyatla | 109:18f12ac01097 | 28 | |
nyatla | 109:18f12ac01097 | 29 | |
nyatla | 109:18f12ac01097 | 30 | #include "NyLPC_stdlib.h" |
nyatla | 109:18f12ac01097 | 31 | #include "NyLPC_os.h" |
nyatla | 109:18f12ac01097 | 32 | #include "NyLPC_iTcpSocket.h" |
nyatla | 109:18f12ac01097 | 33 | #include "NyLPC_iUdpSocket.h" |
nyatla | 109:18f12ac01097 | 34 | #include "NyLPC_iTcpListener.h" |
nyatla | 109:18f12ac01097 | 35 | #include "NyLPC_cIPv4Config.h" |
nyatla | 109:18f12ac01097 | 36 | #ifdef __cplusplus |
nyatla | 109:18f12ac01097 | 37 | extern "C" { |
nyatla | 109:18f12ac01097 | 38 | #endif /* __cplusplus */ |
nyatla | 109:18f12ac01097 | 39 | |
nyatla | 109:18f12ac01097 | 40 | struct NyLPC_TNetInterfaceInfo{ |
nyatla | 109:18f12ac01097 | 41 | const char* device_name; |
nyatla | 109:18f12ac01097 | 42 | const NyLPC_TcIPv4Config_t* current_config; |
nyatla | 109:18f12ac01097 | 43 | }; |
nyatla | 109:18f12ac01097 | 44 | |
nyatla | 109:18f12ac01097 | 45 | /** |
nyatla | 109:18f12ac01097 | 46 | * ソケット生成のヒント値 |
nyatla | 109:18f12ac01097 | 47 | */ |
nyatla | 109:18f12ac01097 | 48 | typedef NyLPC_TUInt16 NyLPC_TSocketType; |
nyatla | 109:18f12ac01097 | 49 | #define NyLPC_TSocketType_TCP_NORMAL 0x0100 |
nyatla | 109:18f12ac01097 | 50 | #define NyLPC_TSocketType_TCP_HTTP 0x0101 |
nyatla | 109:18f12ac01097 | 51 | #define NyLPC_TSocketType_UDP_NORMAL 0x0200 |
nyatla | 109:18f12ac01097 | 52 | #define NyLPC_TSocketType_UDP_NOBUF 0x0202 |
nyatla | 109:18f12ac01097 | 53 | /********************************************************************** |
nyatla | 109:18f12ac01097 | 54 | * Function |
nyatla | 109:18f12ac01097 | 55 | **********************************************************************/ |
nyatla | 109:18f12ac01097 | 56 | |
nyatla | 109:18f12ac01097 | 57 | /** |
nyatla | 109:18f12ac01097 | 58 | * 制限時間付きでソケットに接続を待ちます。 |
nyatla | 109:18f12ac01097 | 59 | */ |
nyatla | 109:18f12ac01097 | 60 | typedef NyLPC_TiTcpSocket_t* (*NyLPC_TiNetInterface_createTcpSocetEx)(NyLPC_TSocketType i_socktype); |
nyatla | 109:18f12ac01097 | 61 | typedef NyLPC_TiUdpSocket_t* (*NyLPC_TiNetInterface_createUdpSocetEx)(NyLPC_TUInt16 i_port,NyLPC_TSocketType i_socktype); |
nyatla | 109:18f12ac01097 | 62 | typedef NyLPC_TiTcpListener_t* (*NyLPC_TiNetInterface_createTcpListener)(NyLPC_TUInt16 i_port); |
nyatla | 109:18f12ac01097 | 63 | /** |
nyatla | 109:18f12ac01097 | 64 | * Start関数はイベント関数の定期コールが開始される前に呼び出されます。 |
nyatla | 109:18f12ac01097 | 65 | */ |
nyatla | 109:18f12ac01097 | 66 | typedef void (*NyLPC_TiNetInterface_start)(const NyLPC_TcIPv4Config_t* i_cfg); |
nyatla | 109:18f12ac01097 | 67 | typedef void (*NyLPC_TiNetInterface_stop)(void); |
nyatla | 109:18f12ac01097 | 68 | |
nyatla | 109:18f12ac01097 | 69 | typedef void(*NyLPC_TiNetInterface_sendArpRequest)(const struct NyLPC_TIPv4Addr* i_addr); |
nyatla | 109:18f12ac01097 | 70 | typedef NyLPC_TBool(*NyLPC_TiNetInterface_hasArpInfo)(const struct NyLPC_TIPv4Addr* i_addr); |
nyatla | 109:18f12ac01097 | 71 | typedef NyLPC_TBool(*NyLPC_TiNetInterface_isInitService)(void); |
nyatla | 109:18f12ac01097 | 72 | |
nyatla | 109:18f12ac01097 | 73 | typedef const struct NyLPC_TNetInterfaceInfo* (*NyLPC_TiNetInterface_getInterfaceInfo)(void); |
nyatla | 109:18f12ac01097 | 74 | |
nyatla | 109:18f12ac01097 | 75 | /********************************************************************** |
nyatla | 109:18f12ac01097 | 76 | * Interface |
nyatla | 109:18f12ac01097 | 77 | **********************************************************************/ |
nyatla | 109:18f12ac01097 | 78 | struct NyLPC_TiNetInterface_Interface |
nyatla | 109:18f12ac01097 | 79 | { |
nyatla | 109:18f12ac01097 | 80 | NyLPC_TiNetInterface_createTcpSocetEx createTcpSocketEx; |
nyatla | 109:18f12ac01097 | 81 | NyLPC_TiNetInterface_createUdpSocetEx createUdpSocetEx; |
nyatla | 109:18f12ac01097 | 82 | NyLPC_TiNetInterface_createTcpListener createTcpListener; |
nyatla | 109:18f12ac01097 | 83 | NyLPC_TiNetInterface_start start; |
nyatla | 109:18f12ac01097 | 84 | NyLPC_TiNetInterface_stop stop; |
nyatla | 109:18f12ac01097 | 85 | NyLPC_TiNetInterface_sendArpRequest sendarprequest; |
nyatla | 109:18f12ac01097 | 86 | NyLPC_TiNetInterface_hasArpInfo hasarpinfo; |
nyatla | 109:18f12ac01097 | 87 | NyLPC_TiNetInterface_isInitService isinitservice; |
nyatla | 109:18f12ac01097 | 88 | NyLPC_TiNetInterface_getInterfaceInfo getinterfaceinfo; |
nyatla | 109:18f12ac01097 | 89 | }; |
nyatla | 109:18f12ac01097 | 90 | |
nyatla | 109:18f12ac01097 | 91 | |
nyatla | 109:18f12ac01097 | 92 | |
nyatla | 109:18f12ac01097 | 93 | #ifdef __cplusplus |
nyatla | 109:18f12ac01097 | 94 | } |
nyatla | 109:18f12ac01097 | 95 | #endif /* __cplusplus */ |
nyatla | 109:18f12ac01097 | 96 | |
nyatla | 109:18f12ac01097 | 97 | #endif /* NYLPC_CTCPLISTENER_H_ */ |
nyatla | 109:18f12ac01097 | 98 |