NetworkSocketAPI
Dependents: HelloWizFi250Interface
Fork of NetworkSocketAPI by
NetworkInterface.cpp
- Committer:
- Christopher Haster
- Date:
- 2016-02-23
- Branch:
- api-changes
- Revision:
- 41:3ec1c97e9bbf
- Parent:
- 39:47138420ea42
- Child:
- 42:49893d13c432
File content as of revision 41:3ec1c97e9bbf:
/* 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. */ #include "NetworkInterface.h" #include "UDPSocket.h" #include "DnsQuery.h" #include <string.h> NetworkInterface::NetworkInterface() : _timeout(15000) { memset(_ip_address, 0, SOCK_IP_SIZE); memset(_network_mask, 0, SOCK_IP_SIZE); memset(_gateway, 0, SOCK_IP_SIZE); } void NetworkInterface::useDHCP() { memset(_ip_address, 0, SOCK_IP_SIZE); memset(_network_mask, 0, SOCK_IP_SIZE); memset(_gateway, 0, SOCK_IP_SIZE); } void NetworkInterface::setIPAddress(const char *ip) { strcpy(_ip_address, ip); } void NetworkInterface::setNetworkMask(const char *mask) { strcpy(_network_mask, mask); } void NetworkInterface::setGateway(const char *gateway) { strcpy(_gateway, gateway); } const char *NetworkInterface::getIPAddress() { if (_ip_address[0]) { return _ip_address; } else { return 0; } } const char *NetworkInterface::getNetworkMask() { if (_network_mask[0]) { return _network_mask; } else { return 0; } } const char *NetworkInterface::getGateway() { if (_gateway[0]) { return _gateway; } else { return 0; } } void NetworkInterface::setTimeout(uint32_t timeout) { _timeout = timeout; } uint32_t NetworkInterface::getTimeout() { return _timeout; } bool NetworkInterface::isConnected() { return getIPAddress() != 0; } int32_t NetworkInterface::getHostByName(const char *name, char *ip) { UDPSocket sock(this); DnsQuery dns(&sock, name, ip); return 0; }