htgghg

Dependents:   WizFi310_Station WizFi310_Station1 WizFi310_AP dweetIo_CloudService_WizFi310

Fork of WizFi310Interface_Legacy by WIZnet

Committer:
ajeet3004
Date:
Mon Sep 18 02:50:44 2017 +0000
Revision:
2:a4890cc8be69
Parent:
0:774ff1e8b26b
Changed the Library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kaizen 0:774ff1e8b26b 1 /*
kaizen 0:774ff1e8b26b 2 * Copyright (C) 2013 gsfan, MIT License
kaizen 0:774ff1e8b26b 3 *
kaizen 0:774ff1e8b26b 4 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
kaizen 0:774ff1e8b26b 5 * and associated documentation files (the "Software"), to deal in the Software without restriction,
kaizen 0:774ff1e8b26b 6 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
kaizen 0:774ff1e8b26b 7 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
kaizen 0:774ff1e8b26b 8 * furnished to do so, subject to the following conditions:
kaizen 0:774ff1e8b26b 9 *
kaizen 0:774ff1e8b26b 10 * The above copyright notice and this permission notice shall be included in all copies or
kaizen 0:774ff1e8b26b 11 * substantial portions of the Software.
kaizen 0:774ff1e8b26b 12 *
kaizen 0:774ff1e8b26b 13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
kaizen 0:774ff1e8b26b 14 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
kaizen 0:774ff1e8b26b 15 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
kaizen 0:774ff1e8b26b 16 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
kaizen 0:774ff1e8b26b 17 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
kaizen 0:774ff1e8b26b 18 */
kaizen 0:774ff1e8b26b 19 /* Copyright (C) 2014 Wiznet, MIT License
kaizen 0:774ff1e8b26b 20 * port to the Wiznet Module WizFi250
kaizen 0:774ff1e8b26b 21 */
kaizen 0:774ff1e8b26b 22 /* Copyright (C) 2017 Wiznet, MIT License
kaizen 0:774ff1e8b26b 23 * port to the Wiznet Module WizFi310
kaizen 0:774ff1e8b26b 24 */
kaizen 0:774ff1e8b26b 25
kaizen 0:774ff1e8b26b 26 #ifndef ENDPOINT_H
kaizen 0:774ff1e8b26b 27 #define ENDPOINT_H
kaizen 0:774ff1e8b26b 28
kaizen 0:774ff1e8b26b 29 #include "WizFi310.h"
kaizen 0:774ff1e8b26b 30
kaizen 0:774ff1e8b26b 31 class UDPSocket;
kaizen 0:774ff1e8b26b 32
kaizen 0:774ff1e8b26b 33 /**
kaizen 0:774ff1e8b26b 34 IP Endpoint (address, port)
kaizen 0:774ff1e8b26b 35 */
kaizen 0:774ff1e8b26b 36 class Endpoint {
kaizen 0:774ff1e8b26b 37 friend class UDPSocket;
kaizen 0:774ff1e8b26b 38
kaizen 0:774ff1e8b26b 39 public:
kaizen 0:774ff1e8b26b 40 /** IP Endpoint (address, port)
kaizen 0:774ff1e8b26b 41 */
kaizen 0:774ff1e8b26b 42 Endpoint(void);
kaizen 0:774ff1e8b26b 43
kaizen 0:774ff1e8b26b 44 ~Endpoint(void);
kaizen 0:774ff1e8b26b 45
kaizen 0:774ff1e8b26b 46 /** Reset the address of this endpoint
kaizen 0:774ff1e8b26b 47 */
kaizen 0:774ff1e8b26b 48 void reset_address(void);
kaizen 0:774ff1e8b26b 49
kaizen 0:774ff1e8b26b 50 /** Set the address of this endpoint
kaizen 0:774ff1e8b26b 51 \param host The endpoint address (it can either be an IP Address or a hostname that will be resolved with DNS).
kaizen 0:774ff1e8b26b 52 \param port The endpoint port
kaizen 0:774ff1e8b26b 53 \return 0 on success, -1 on failure (when an hostname cannot be resolved by DNS).
kaizen 0:774ff1e8b26b 54 */
kaizen 0:774ff1e8b26b 55 int set_address(const char* host, const int port);
kaizen 0:774ff1e8b26b 56
kaizen 0:774ff1e8b26b 57 /** Get the IP address of this endpoint
kaizen 0:774ff1e8b26b 58 \return The IP address of this endpoint.
kaizen 0:774ff1e8b26b 59 */
kaizen 0:774ff1e8b26b 60 char* get_address(void);
kaizen 0:774ff1e8b26b 61
kaizen 0:774ff1e8b26b 62 /** Get the port of this endpoint
kaizen 0:774ff1e8b26b 63 \return The port of this endpoint
kaizen 0:774ff1e8b26b 64 */
kaizen 0:774ff1e8b26b 65 int get_port(void);
kaizen 0:774ff1e8b26b 66
kaizen 0:774ff1e8b26b 67 protected:
kaizen 0:774ff1e8b26b 68 char _ipAddress[16];
kaizen 0:774ff1e8b26b 69 int _port;
kaizen 0:774ff1e8b26b 70 WizFi310 * _ewizfi310;
kaizen 0:774ff1e8b26b 71 };
kaizen 0:774ff1e8b26b 72
kaizen 0:774ff1e8b26b 73 #endif