NetworkSocketAPI
Dependents: HelloWizFi250Interface
Fork of NetworkSocketAPI by
NetworkInterface.h
- Committer:
- austin.blackstone@arm.com
- Date:
- 2015-06-01
- Revision:
- 6:7437289cb2e9
- Parent:
- 5:fa54ca1af2cd
- Child:
- 7:b147c08301be
File content as of revision 6:7437289cb2e9:
/* NetworkInterface Base Class * Copyright (c) 2015 ARM Limited * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef NETWORKINTERFACE_H #define NETWORKINTERFACE_H /** NetworkInterface class. * This is a common interface that is shared between all hardware that connect * to a network over IP. */ class NetworkInterface { public: /** * Initialize the network interface with DHCP. * * \returns 0 on success, a negative number on failure */ virtual int init(void) const = 0; /** * Initialize the network interface with a static IP address. * * @param ip The static IP address to use * @param mask The IP address mask * @param gateway The gateway to use * * \returns 0 on success, a negative number on failure */ int init(const char *ip, const char *mask, const char *gateway) const = 0; /** * Start the interface, using DHCP if needed. * * @param timeout_ms Time in miliseconds to wait while attempting to connect before timing out * * \returns 0 on success, a negative number on failure */ virtual int connect(const unsigned int timeout_ms=15000) const = 0; /** * Stop the interface, bringing down dhcp if necessary. * * \returns 0 on success, a negative number on failure */ virtual int disconnect(void) const = 0; /** * Get the current IP address. * * \returns a pointer to a string containing the IP address. */ virtual char *getIPAddress(void) const = 0; /** * Get the current gateway address. * * \returns a pointer to a string containing the gateway address. */ virtual char *getGateway(void) const = 0; /** * Get the current network mask. * * \returns a pointer to a string containing the network mask. */ virtual char *getNetworkMask(void) const = 0; /** * Get the devices MAC address. * * \returns a pointer to a string containing the mac address. */ virtual char *getMACAddress(void) const = 0; /** * Get the current status of the interface connection. * * \returns true if connected, false otherwise. */ virtual int isConnected(void) const = 0; }; #endif