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.
Fork of UIPEthernet by
Diff: UIPClient.h
- Revision:
- 8:4acb22344932
- Parent:
- 4:d774541a34da
--- a/UIPClient.h Tue Apr 26 18:37:14 2016 +0000
+++ b/UIPClient.h Fri Jun 30 19:51:28 2017 +0000
@@ -1,5 +1,5 @@
/*
- UIPClient.h - Arduino implementation of a uIP wrapper class.
+ UIPClient.h - Arduino implementation of a UIP wrapper class.
Copyright (c) 2013 Norbert Truchsess <norbert.truchsess@t-online.de>
All rights reserved.
@@ -16,97 +16,98 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-
#ifndef UIPCLIENT_H
#define UIPCLIENT_H
#include "ethernet_comp.h"
//#include "Print.h"
+
#include "Client.h"
#include "utility/mempool.h"
-extern "C" {
- #include "utility/uip.h"
+extern "C"
+{
+#include "utility/uip.h"
}
+#define UIP_SOCKET_DATALEN UIP_TCP_MSS
+//#define UIP_SOCKET_NUMPACKETS UIP_RECEIVE_WINDOW/UIP_TCP_MSS+1
-#define UIP_SOCKET_DATALEN UIP_TCP_MSS
-//#define UIP_SOCKET_NUMPACKETS UIP_RECEIVE_WINDOW/UIP_TCP_MSS+1
#ifndef UIP_SOCKET_NUMPACKETS
-#define UIP_SOCKET_NUMPACKETS 5
+#define UIP_SOCKET_NUMPACKETS 5
#endif
-
-#define UIP_CLIENT_CONNECTED 0x10
-#define UIP_CLIENT_CLOSE 0x20
+#define UIP_CLIENT_CONNECTED 0x10
+#define UIP_CLIENT_CLOSE 0x20
#define UIP_CLIENT_REMOTECLOSED 0x40
-#define UIP_CLIENT_RESTART 0x80
-#define UIP_CLIENT_STATEFLAGS (UIP_CLIENT_CONNECTED | UIP_CLIENT_CLOSE | UIP_CLIENT_REMOTECLOSED | UIP_CLIENT_RESTART)
-#define UIP_CLIENT_SOCKETS ~UIP_CLIENT_STATEFLAGS
+#define UIP_CLIENT_RESTART 0x80
+#define UIP_CLIENT_STATEFLAGS (UIP_CLIENT_CONNECTED | UIP_CLIENT_CLOSE | UIP_CLIENT_REMOTECLOSED | UIP_CLIENT_RESTART)
+#define UIP_CLIENT_SOCKETS ~UIP_CLIENT_STATEFLAGS
typedef uint8_t uip_socket_ptr;
-typedef struct {
- uint8_t state;
- memhandle packets_in[UIP_SOCKET_NUMPACKETS];
- uint16_t lport; /**< The local TCP port, in network byte order. */
+typedef struct
+{
+ uint8_t state;
+ memhandle packets_in[UIP_SOCKET_NUMPACKETS];
+ uint16_t lport; /**< The local TCP port, in network byte order. */
} uip_userdata_closed_t;
-typedef struct {
- uint8_t state;
- memhandle packets_in[UIP_SOCKET_NUMPACKETS];
- memhandle packets_out[UIP_SOCKET_NUMPACKETS];
- memaddress out_pos;
+typedef struct
+{
+ uint8_t state;
+ memhandle packets_in[UIP_SOCKET_NUMPACKETS];
+ memhandle packets_out[UIP_SOCKET_NUMPACKETS];
+ memaddress out_pos;
#if UIP_CLIENT_TIMER >= 0
- unsigned long timer;
+ unsigned long timer;
#endif
} uip_userdata_t;
-class UIPClient : public Client {
-
+class UIPClient :
+ public Client
+{
public:
- UIPClient();
- int connect(IPAddress ip, uint16_t port);
- int connect(const char *host, uint16_t port);
- int read(uint8_t *buf, size_t size);
- void stop();
- uint8_t connected();
- operator bool();
- virtual bool operator==(const EthernetClient&);
- virtual bool operator!=(const EthernetClient& rhs) { return !this->operator==(rhs); };
+ UIPClient(void);
+ int connect(IPAddress ip, uint16_t port);
+ int connect(const char* host, uint16_t port);
+ int read(uint8_t* buf, size_t size);
+ void stop(void);
+ uint8_t connected(void);
+ operator bool(void);
+ virtual bool operator ==(const EthernetClient& );
+ virtual bool operator !=(const EthernetClient& rhs) { return !this->operator ==(rhs); };
- size_t write(uint8_t);
- size_t write(const uint8_t *buf, size_t size);
- int available();
- int read();
- int peek();
- void flush();
+ size_t write(uint8_t);
+ size_t write(const uint8_t* buf, size_t size);
+ int available(void);
+ int read(void);
+ int peek(void);
+ void flush(void);
// using Print::write;
private:
- UIPClient(struct uip_conn *_conn);
- UIPClient(uip_userdata_t* conn_data);
+ UIPClient(struct uip_conn* _conn);
+ UIPClient(uip_userdata_t* conn_data);
- uip_userdata_t* data;
+ uip_userdata_t* data;
- static uip_userdata_t all_data[UIP_CONNS];
- static uip_userdata_t* _allocateData();
+ static uip_userdata_t all_data[UIP_CONNS];
+ static uip_userdata_t* _allocateData(void);
- static size_t _write(uip_userdata_t *,const uint8_t *buf, size_t size);
- static int _available(uip_userdata_t *);
+ static size_t _write(uip_userdata_t* , const uint8_t* buf, size_t size);
+ static int _available(uip_userdata_t* );
- static uint8_t _currentBlock(memhandle* blocks);
- static void _eatBlock(memhandle* blocks);
- static void _flushBlocks(memhandle* blocks);
+ static uint8_t _currentBlock(memhandle* blocks);
+ static void _eatBlock(memhandle* blocks);
+ static void _flushBlocks(memhandle* blocks);
#ifdef UIPETHERNET_DEBUG_CLIENT
- static void _dumpAllData();
+ static void _dumpAllData(void);
#endif
-
- friend class UIPEthernetClass;
- friend class UIPServer;
+ friend class UIPEthernet;
+ friend class UIPServer;
- friend void uipclient_appcall(void);
-
+ friend void uipclient_appcall(void);
};
-
#endif
+
