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:
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?

UserRevisionLine numberNew 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