My fork

Dependencies:   WncControllerK64F

Fork of WNCInterface by Jan Korycan

Committer:
JMF
Date:
Fri Mar 24 21:43:57 2017 +0000
Revision:
26:81e520908460
Parent:
Socket/Endpoint.h@1:e511ea8d39d5
Child:
27:2dc9461c04dc
Changing WNC Networking Class names to be prefixed with "Wnc" so they don't collide with the standard networking classes.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JMF 1:e511ea8d39d5 1 /* =====================================================================
JMF 1:e511ea8d39d5 2 Copyright © 2016, Avnet (R)
JMF 1:e511ea8d39d5 3
JMF 1:e511ea8d39d5 4 Contributors:
JMF 1:e511ea8d39d5 5 * James M Flynn, www.em.avnet.com
JMF 1:e511ea8d39d5 6
JMF 1:e511ea8d39d5 7 Licensed under the Apache License, Version 2.0 (the "License");
JMF 1:e511ea8d39d5 8 you may not use this file except in compliance with the License.
JMF 1:e511ea8d39d5 9 You may obtain a copy of the License at
JMF 1:e511ea8d39d5 10
JMF 1:e511ea8d39d5 11 http://www.apache.org/licenses/LICENSE-2.0
JMF 1:e511ea8d39d5 12
JMF 1:e511ea8d39d5 13 Unless required by applicable law or agreed to in writing,
JMF 1:e511ea8d39d5 14 software distributed under the License is distributed on an
JMF 1:e511ea8d39d5 15 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
JMF 1:e511ea8d39d5 16 either express or implied. See the License for the specific
JMF 1:e511ea8d39d5 17 language governing permissions and limitations under the License.
JMF 1:e511ea8d39d5 18
JMF 1:e511ea8d39d5 19 @file WNCInterface.cpp
JMF 1:e511ea8d39d5 20 @version 1.0
JMF 1:e511ea8d39d5 21 @date Sept 2016
JMF 1:e511ea8d39d5 22
JMF 1:e511ea8d39d5 23 ======================================================================== */
JMF 1:e511ea8d39d5 24
JMF 1:e511ea8d39d5 25
JMF 1:e511ea8d39d5 26 #ifndef ENDPOINT_H
JMF 1:e511ea8d39d5 27 #define ENDPOINT_H
JMF 1:e511ea8d39d5 28
JMF 26:81e520908460 29 #include "WncSocket.h"
JMF 26:81e520908460 30
JMF 1:e511ea8d39d5 31 struct EndPointAddr {
JMF 1:e511ea8d39d5 32 char IP[16];
JMF 1:e511ea8d39d5 33 unsigned int port;
JMF 1:e511ea8d39d5 34 };
JMF 1:e511ea8d39d5 35
JMF 1:e511ea8d39d5 36 class UDPSocket;
JMF 1:e511ea8d39d5 37
JMF 1:e511ea8d39d5 38 class Endpoint {
JMF 1:e511ea8d39d5 39 friend class UDPSocket;
JMF 1:e511ea8d39d5 40
JMF 1:e511ea8d39d5 41 public:
JMF 1:e511ea8d39d5 42 Endpoint(void);
JMF 1:e511ea8d39d5 43 ~Endpoint(void);
JMF 1:e511ea8d39d5 44
JMF 1:e511ea8d39d5 45 /** Reset the address of the endpoint by clearning the internal endpoint IP address
JMF 1:e511ea8d39d5 46 \param none
JMF 1:e511ea8d39d5 47 \return none.
JMF 1:e511ea8d39d5 48 */
JMF 1:e511ea8d39d5 49 void reset_address(void);
JMF 1:e511ea8d39d5 50
JMF 1:e511ea8d39d5 51 /** Set the address of the endpoint
JMF 1:e511ea8d39d5 52 \param host The endpoint address (it can either be an IP Address or a hostname that will be resolved with DNS).
JMF 1:e511ea8d39d5 53 \param port The endpoint port
JMF 1:e511ea8d39d5 54 \return 0 on success, -1 on failure (when an hostname cannot be resolved by DNS).
JMF 1:e511ea8d39d5 55 */
JMF 1:e511ea8d39d5 56 int set_address(const char* host, const int port);
JMF 1:e511ea8d39d5 57
JMF 1:e511ea8d39d5 58 /** Get the IP address of the endpoint
JMF 1:e511ea8d39d5 59 \return The IP address of the endpoint.
JMF 1:e511ea8d39d5 60 */
JMF 1:e511ea8d39d5 61 char* get_address(void);
JMF 1:e511ea8d39d5 62
JMF 1:e511ea8d39d5 63 /** Get the port of the endpoint
JMF 1:e511ea8d39d5 64 \return The port of the endpoint
JMF 1:e511ea8d39d5 65 */
JMF 1:e511ea8d39d5 66 int get_port(void);
JMF 1:e511ea8d39d5 67
JMF 1:e511ea8d39d5 68 private:
JMF 1:e511ea8d39d5 69 EndPointAddr _epAddr;
JMF 1:e511ea8d39d5 70 };
JMF 1:e511ea8d39d5 71
JMF 1:e511ea8d39d5 72 #endif