Merge pull request #7692 from 0xc0170/fix_netsocket_style

netsocket: astyle fix
pull/7727/head
Cruz Monrreal 2018-08-07 09:15:19 -05:00 committed by GitHub
commit d84bf7fc43
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 156 additions and 145 deletions

View File

@ -112,7 +112,8 @@ public:
*/ */
virtual const char *get_gateway() = 0; virtual const char *get_gateway() = 0;
virtual CellularBase *cellularBase() { virtual CellularBase *cellularBase()
{
return this; return this;
} }

View File

@ -35,7 +35,7 @@ public:
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
virtual nsapi_error_t gethostbyname(const char *host, virtual nsapi_error_t gethostbyname(const char *host,
SocketAddress *address, nsapi_version_t version = NSAPI_UNSPEC) = 0; SocketAddress *address, nsapi_version_t version = NSAPI_UNSPEC) = 0;
/** Hostname translation callback (asynchronous) /** Hostname translation callback (asynchronous)
* *
@ -75,7 +75,7 @@ public:
* and can be passed to cancel * and can be passed to cancel
*/ */
virtual nsapi_value_or_error_t gethostbyname_async(const char *host, hostbyname_cb_t callback, virtual nsapi_value_or_error_t gethostbyname_async(const char *host, hostbyname_cb_t callback,
nsapi_version_t version = NSAPI_UNSPEC) = 0; nsapi_version_t version = NSAPI_UNSPEC) = 0;
/** Cancels asynchronous hostname translation /** Cancels asynchronous hostname translation
* *

View File

@ -61,11 +61,11 @@ nsapi_error_t EMACInterface::connect()
} }
return _interface->bringup(_dhcp, return _interface->bringup(_dhcp,
_ip_address[0] ? _ip_address : 0, _ip_address[0] ? _ip_address : 0,
_netmask[0] ? _netmask : 0, _netmask[0] ? _netmask : 0,
_gateway[0] ? _gateway : 0, _gateway[0] ? _gateway : 0,
DEFAULT_STACK, DEFAULT_STACK,
_blocking); _blocking);
} }
nsapi_error_t EMACInterface::disconnect() nsapi_error_t EMACInterface::disconnect()

View File

@ -36,8 +36,7 @@
* the credentials have been set. This is necessary to support specialised * the credentials have been set. This is necessary to support specialised
* applications such as 6LoWPAN mesh border routers. * applications such as 6LoWPAN mesh border routers.
*/ */
class EMACInterface : public virtual NetworkInterface class EMACInterface : public virtual NetworkInterface {
{
public: public:
/** Create an EMAC-based network interface. /** Create an EMAC-based network interface.
* *
@ -52,9 +51,8 @@ public:
* @param emac Reference to EMAC to use * @param emac Reference to EMAC to use
* @param stack Reference to onboard-network stack to use * @param stack Reference to onboard-network stack to use
*/ */
EMACInterface( EMACInterface(EMAC &emac = EMAC::get_default_instance(),
EMAC &emac = EMAC::get_default_instance(), OnboardNetworkStack &stack = OnboardNetworkStack::get_default_instance());
OnboardNetworkStack &stack = OnboardNetworkStack::get_default_instance());
/** Set a static IP address /** Set a static IP address
* *
@ -67,8 +65,7 @@ public:
* @param gateway Null-terminated representation of the local gateway * @param gateway Null-terminated representation of the local gateway
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
virtual nsapi_error_t set_network( virtual nsapi_error_t set_network(const char *ip_address, const char *netmask, const char *gateway);
const char *ip_address, const char *netmask, const char *gateway);
/** Enable or disable DHCP on the network /** Enable or disable DHCP on the network
* *
@ -148,9 +145,13 @@ public:
* *
* @return Reference to the EMAC in use * @return Reference to the EMAC in use
*/ */
EMAC &get_emac() const { return _emac; } EMAC &get_emac() const
{
return _emac;
}
virtual EMACInterface *emacInterface() { virtual EMACInterface *emacInterface()
{
return this; return this;
} }

View File

@ -27,11 +27,11 @@
* *
* Common interface that is shared between ethernet hardware. * Common interface that is shared between ethernet hardware.
*/ */
class EthInterface : public virtual NetworkInterface class EthInterface : public virtual NetworkInterface {
{
public: public:
virtual EthInterface *ethInterface() { virtual EthInterface *ethInterface()
{
return this; return this;
} }

View File

@ -25,8 +25,7 @@
/** EthernetInterface class /** EthernetInterface class
* Implementation of the NetworkStack for an EMAC-based Ethernet driver * Implementation of the NetworkStack for an EMAC-based Ethernet driver
*/ */
class EthernetInterface : public EMACInterface, public EthInterface class EthernetInterface : public EMACInterface, public EthInterface {
{
public: public:
/** Create an EMAC-based ethernet interface. /** Create an EMAC-based ethernet interface.
* *
@ -41,9 +40,8 @@ public:
* @param emac Reference to EMAC to use * @param emac Reference to EMAC to use
* @param stack Reference to onboard-network stack to use * @param stack Reference to onboard-network stack to use
*/ */
EthernetInterface( EthernetInterface(EMAC &emac = EMAC::get_default_instance(),
EMAC &emac = EMAC::get_default_instance(), OnboardNetworkStack &stack = OnboardNetworkStack::get_default_instance()) : EMACInterface(emac, stack) { }
OnboardNetworkStack &stack = OnboardNetworkStack::get_default_instance()) : EMACInterface(emac, stack) { }
}; };
#endif #endif

View File

@ -186,7 +186,7 @@ nsapi_error_t InternetSocket::getsockopt(int level, int optname, void *optval, u
} }
void InternetSocket::event() void InternetSocket::event()
{ {
_event_flag.set(READ_FLAG|WRITE_FLAG); _event_flag.set(READ_FLAG | WRITE_FLAG);
_pending += 1; _pending += 1;
if (_callback && _pending == 1) { if (_callback && _pending == 1) {

View File

@ -50,7 +50,8 @@ public:
nsapi_error_t open(NetworkStack *stack); nsapi_error_t open(NetworkStack *stack);
template <typename S> template <typename S>
nsapi_error_t open(S *stack) { nsapi_error_t open(S *stack)
{
return open(nsapi_create_stack(stack)); return open(nsapi_create_stack(stack));
} }
@ -196,8 +197,8 @@ public:
* mbed OS and has been known to cause confusion. Replaced by Socket::sigio. * mbed OS and has been known to cause confusion. Replaced by Socket::sigio.
*/ */
MBED_DEPRECATED_SINCE("mbed-os-5.4", MBED_DEPRECATED_SINCE("mbed-os-5.4",
"The behaviour of Socket::attach differs from other attach functions in " "The behaviour of Socket::attach differs from other attach functions in "
"mbed OS and has been known to cause confusion. Replaced by Socket::sigio.") "mbed OS and has been known to cause confusion. Replaced by Socket::sigio.")
void attach(mbed::Callback<void()> func); void attach(mbed::Callback<void()> func);
/** Register a callback on state change of the socket /** Register a callback on state change of the socket
@ -209,9 +210,10 @@ public:
*/ */
template <typename T, typename M> template <typename T, typename M>
MBED_DEPRECATED_SINCE("mbed-os-5.1", MBED_DEPRECATED_SINCE("mbed-os-5.1",
"The attach function does not support cv-qualifiers. Replaced by " "The attach function does not support cv-qualifiers. Replaced by "
"attach(callback(obj, method)).") "attach(callback(obj, method)).")
void attach(T *obj, M method) { void attach(T *obj, M method)
{
attach(mbed::callback(obj, method)); attach(mbed::callback(obj, method));
} }

View File

@ -27,11 +27,11 @@
* *
* Common interface that is shared between mesh hardware * Common interface that is shared between mesh hardware
*/ */
class MeshInterface : public virtual NetworkInterface class MeshInterface : public virtual NetworkInterface {
{
public: public:
virtual MeshInterface *meshInterface() { virtual MeshInterface *meshInterface()
{
return this; return this;
} }

View File

@ -122,8 +122,7 @@ public:
* @param gateway Null-terminated representation of the local gateway * @param gateway Null-terminated representation of the local gateway
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
virtual nsapi_error_t set_network( virtual nsapi_error_t set_network(const char *ip_address, const char *netmask, const char *gateway);
const char *ip_address, const char *netmask, const char *gateway);
/** Enable or disable DHCP on the network /** Enable or disable DHCP on the network
* *
@ -163,7 +162,7 @@ public:
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
virtual nsapi_error_t gethostbyname(const char *host, virtual nsapi_error_t gethostbyname(const char *host,
SocketAddress *address, nsapi_version_t version = NSAPI_UNSPEC); SocketAddress *address, nsapi_version_t version = NSAPI_UNSPEC);
/** Hostname translation callback (asynchronous) /** Hostname translation callback (asynchronous)
* *
@ -203,7 +202,7 @@ public:
* and can be passed to cancel * and can be passed to cancel
*/ */
virtual nsapi_value_or_error_t gethostbyname_async(const char *host, hostbyname_cb_t callback, virtual nsapi_value_or_error_t gethostbyname_async(const char *host, hostbyname_cb_t callback,
nsapi_version_t version = NSAPI_UNSPEC); nsapi_version_t version = NSAPI_UNSPEC);
/** Cancels asynchronous hostname translation /** Cancels asynchronous hostname translation
* *
@ -245,27 +244,32 @@ public:
virtual nsapi_error_t set_blocking(bool blocking); virtual nsapi_error_t set_blocking(bool blocking);
/** Dynamic downcast to an EthInterface */ /** Dynamic downcast to an EthInterface */
virtual EthInterface *ethInterface() { virtual EthInterface *ethInterface()
{
return 0; return 0;
} }
/** Dynamic downcast to a WiFiInterface */ /** Dynamic downcast to a WiFiInterface */
virtual WiFiInterface *wifiInterface() { virtual WiFiInterface *wifiInterface()
{
return 0; return 0;
} }
/** Dynamic downcast to a MeshInterface */ /** Dynamic downcast to a MeshInterface */
virtual MeshInterface *meshInterface() { virtual MeshInterface *meshInterface()
{
return 0; return 0;
} }
/** Dynamic downcast to a CellularBase */ /** Dynamic downcast to a CellularBase */
virtual CellularBase *cellularBase() { virtual CellularBase *cellularBase()
{
return 0; return 0;
} }
/** Dynamic downcast to an EMACInterface */ /** Dynamic downcast to an EMACInterface */
virtual EMACInterface *emacInterface() { virtual EMACInterface *emacInterface()
{
return 0; return 0;
} }

View File

@ -148,14 +148,13 @@ call_in_callback_cb_t NetworkStack::get_call_in_callback()
} }
// NetworkStackWrapper class for encapsulating the raw nsapi_stack structure // NetworkStackWrapper class for encapsulating the raw nsapi_stack structure
class NetworkStackWrapper : public NetworkStack class NetworkStackWrapper : public NetworkStack {
{
private: private:
inline nsapi_stack_t *_stack() inline nsapi_stack_t *_stack()
{ {
return reinterpret_cast<nsapi_stack_t *>( return reinterpret_cast<nsapi_stack_t *>(
reinterpret_cast<uint8_t *>(this) reinterpret_cast<uint8_t *>(this)
- offsetof(nsapi_stack_t, _stack_buffer)); - offsetof(nsapi_stack_t, _stack_buffer));
} }
inline const nsapi_stack_api_t *_stack_api() inline const nsapi_stack_api_t *_stack_api()
@ -358,7 +357,7 @@ protected:
NetworkStack *nsapi_create_stack(nsapi_stack_t *stack) NetworkStack *nsapi_create_stack(nsapi_stack_t *stack)
{ {
MBED_STATIC_ASSERT(sizeof stack->_stack_buffer >= sizeof(NetworkStackWrapper), MBED_STATIC_ASSERT(sizeof stack->_stack_buffer >= sizeof(NetworkStackWrapper),
"The nsapi_stack_t stack buffer must fit a NetworkStackWrapper"); "The nsapi_stack_t stack buffer must fit a NetworkStackWrapper");
return new (stack->_stack_buffer) NetworkStackWrapper; return new (stack->_stack_buffer) NetworkStackWrapper;
} }

View File

@ -34,8 +34,7 @@ class OnboardNetworkStack;
* for instantiating network sockets. * for instantiating network sockets.
* @addtogroup netsocket * @addtogroup netsocket
*/ */
class NetworkStack: public DNS class NetworkStack: public DNS {
{
public: public:
virtual ~NetworkStack() {}; virtual ~NetworkStack() {};
@ -61,7 +60,7 @@ public:
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
virtual nsapi_error_t gethostbyname(const char *host, virtual nsapi_error_t gethostbyname(const char *host,
SocketAddress *address, nsapi_version_t version = NSAPI_UNSPEC); SocketAddress *address, nsapi_version_t version = NSAPI_UNSPEC);
/** Hostname translation callback (asynchronous) /** Hostname translation callback (asynchronous)
* *
@ -101,7 +100,7 @@ public:
* and can be passed to cancel * and can be passed to cancel
*/ */
virtual nsapi_value_or_error_t gethostbyname_async(const char *host, hostbyname_cb_t callback, virtual nsapi_value_or_error_t gethostbyname_async(const char *host, hostbyname_cb_t callback,
nsapi_version_t version = NSAPI_UNSPEC); nsapi_version_t version = NSAPI_UNSPEC);
/** Cancels asynchronous hostname translation /** Cancels asynchronous hostname translation
* *
@ -162,7 +161,10 @@ public:
virtual nsapi_error_t getstackopt(int level, int optname, void *optval, unsigned *optlen); virtual nsapi_error_t getstackopt(int level, int optname, void *optval, unsigned *optlen);
/** Dynamic downcast to a OnboardNetworkStack */ /** Dynamic downcast to a OnboardNetworkStack */
virtual OnboardNetworkStack *onboardNetworkStack() { return 0; } virtual OnboardNetworkStack *onboardNetworkStack()
{
return 0;
}
protected: protected:
friend class InternetSocket; friend class InternetSocket;
@ -247,7 +249,7 @@ protected:
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
virtual nsapi_error_t socket_accept(nsapi_socket_t server, virtual nsapi_error_t socket_accept(nsapi_socket_t server,
nsapi_socket_t *handle, SocketAddress *address=0) = 0; nsapi_socket_t *handle, SocketAddress *address = 0) = 0;
/** Send data over a TCP socket /** Send data over a TCP socket
* *
@ -264,7 +266,7 @@ protected:
* code on failure * code on failure
*/ */
virtual nsapi_size_or_error_t socket_send(nsapi_socket_t handle, virtual nsapi_size_or_error_t socket_send(nsapi_socket_t handle,
const void *data, nsapi_size_t size) = 0; const void *data, nsapi_size_t size) = 0;
/** Receive data over a TCP socket /** Receive data over a TCP socket
* *
@ -281,7 +283,7 @@ protected:
* code on failure * code on failure
*/ */
virtual nsapi_size_or_error_t socket_recv(nsapi_socket_t handle, virtual nsapi_size_or_error_t socket_recv(nsapi_socket_t handle,
void *data, nsapi_size_t size) = 0; void *data, nsapi_size_t size) = 0;
/** Send a packet over a UDP socket /** Send a packet over a UDP socket
* *
@ -299,7 +301,7 @@ protected:
* code on failure * code on failure
*/ */
virtual nsapi_size_or_error_t socket_sendto(nsapi_socket_t handle, const SocketAddress &address, virtual nsapi_size_or_error_t socket_sendto(nsapi_socket_t handle, const SocketAddress &address,
const void *data, nsapi_size_t size) = 0; const void *data, nsapi_size_t size) = 0;
/** Receive a packet over a UDP socket /** Receive a packet over a UDP socket
* *
@ -317,7 +319,7 @@ protected:
* code on failure * code on failure
*/ */
virtual nsapi_size_or_error_t socket_recvfrom(nsapi_socket_t handle, SocketAddress *address, virtual nsapi_size_or_error_t socket_recvfrom(nsapi_socket_t handle, SocketAddress *address,
void *buffer, nsapi_size_t size) = 0; void *buffer, nsapi_size_t size) = 0;
/** Register a callback on state change of the socket /** Register a callback on state change of the socket
* *
@ -348,7 +350,7 @@ protected:
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
virtual nsapi_error_t setsockopt(nsapi_socket_t handle, int level, virtual nsapi_error_t setsockopt(nsapi_socket_t handle, int level,
int optname, const void *optval, unsigned optlen); int optname, const void *optval, unsigned optlen);
/* Get stack-specific socket options /* Get stack-specific socket options
* *
@ -364,7 +366,7 @@ protected:
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
virtual nsapi_error_t getsockopt(nsapi_socket_t handle, int level, virtual nsapi_error_t getsockopt(nsapi_socket_t handle, int level,
int optname, void *optval, unsigned *optlen); int optname, void *optval, unsigned *optlen);
private: private:

View File

@ -62,9 +62,9 @@ public:
* @return NSAPI_ERROR_OK on success, or error code * @return NSAPI_ERROR_OK on success, or error code
*/ */
virtual nsapi_error_t bringup(bool dhcp, const char *ip, virtual nsapi_error_t bringup(bool dhcp, const char *ip,
const char *netmask, const char *gw, const char *netmask, const char *gw,
nsapi_ip_stack_t stack = DEFAULT_STACK, nsapi_ip_stack_t stack = DEFAULT_STACK,
bool blocking = true) = 0; bool blocking = true) = 0;
/** Disconnect interface from the network /** Disconnect interface from the network
* *

View File

@ -115,7 +115,7 @@ public:
* code on failure * code on failure
*/ */
virtual nsapi_size_or_error_t sendto(const SocketAddress &address, virtual nsapi_size_or_error_t sendto(const SocketAddress &address,
const void *data, nsapi_size_t size) = 0; const void *data, nsapi_size_t size) = 0;
/** Receive a data from a socket /** Receive a data from a socket
* *
@ -138,7 +138,7 @@ public:
* code on failure * code on failure
*/ */
virtual nsapi_size_or_error_t recvfrom(SocketAddress *address, virtual nsapi_size_or_error_t recvfrom(SocketAddress *address,
void *data, nsapi_size_t size) = 0; void *data, nsapi_size_t size) = 0;
/** Bind a specific address to a socket. /** Bind a specific address to a socket.
* *

View File

@ -35,7 +35,7 @@ static bool ipv4_is_valid(const char *addr)
} }
// Ending with '.' garuntees host // Ending with '.' garuntees host
if (i > 0 && addr[i-1] == '.') { if (i > 0 && addr[i - 1] == '.') {
return false; return false;
} }
@ -49,9 +49,9 @@ static bool ipv6_is_valid(const char *addr)
int colons = 0; int colons = 0;
for (int i = 0; addr[i]; i++) { for (int i = 0; addr[i]; i++) {
if (!(addr[i] >= '0' && addr[i] <= '9') && if (!(addr[i] >= '0' && addr[i] <= '9') &&
!(addr[i] >= 'a' && addr[i] <= 'f') && !(addr[i] >= 'a' && addr[i] <= 'f') &&
!(addr[i] >= 'A' && addr[i] <= 'F') && !(addr[i] >= 'A' && addr[i] <= 'F') &&
addr[i] != ':') { addr[i] != ':') {
return false; return false;
} }
if (addr[i] == ':') { if (addr[i] == ':') {

View File

@ -49,8 +49,8 @@ public:
*/ */
template <typename S> template <typename S>
MBED_DEPRECATED_SINCE("mbed-os-5.1.3", MBED_DEPRECATED_SINCE("mbed-os-5.1.3",
"Constructors hide possible errors. Replaced by " "Constructors hide possible errors. Replaced by "
"NetworkInterface::gethostbyname.") "NetworkInterface::gethostbyname.")
SocketAddress(S *stack, const char *host, uint16_t port = 0) SocketAddress(S *stack, const char *host, uint16_t port = 0)
{ {
_SocketAddress(nsapi_create_stack(stack), host, port); _SocketAddress(nsapi_create_stack(stack), host, port);

View File

@ -35,7 +35,7 @@ public:
* Must call open to initialize the socket on a network stack. * Must call open to initialize the socket on a network stack.
*/ */
MBED_DEPRECATED_SINCE("mbed-os-5.10", MBED_DEPRECATED_SINCE("mbed-os-5.10",
"TCPServer is deprecated, use TCPSocket") "TCPServer is deprecated, use TCPSocket")
TCPServer(); TCPServer();
/** Create a socket on a network interface /** Create a socket on a network interface
@ -47,7 +47,7 @@ public:
*/ */
template <typename S> template <typename S>
MBED_DEPRECATED_SINCE("mbed-os-5.10", MBED_DEPRECATED_SINCE("mbed-os-5.10",
"TCPServer is deprecated, use TCPSocket") "TCPServer is deprecated, use TCPSocket")
TCPServer(S *stack) TCPServer(S *stack)
{ {
open(stack); open(stack);
@ -77,7 +77,7 @@ public:
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
MBED_DEPRECATED_SINCE("mbed-os-5.10", MBED_DEPRECATED_SINCE("mbed-os-5.10",
"TCPServer::accept() is deprecated, use Socket *Socket::accept() instead") "TCPServer::accept() is deprecated, use Socket *Socket::accept() instead")
nsapi_error_t accept(TCPSocket *connection, SocketAddress *address = NULL); nsapi_error_t accept(TCPSocket *connection, SocketAddress *address = NULL);
}; };

View File

@ -55,10 +55,13 @@ public:
*/ */
virtual ~TCPSocket(); virtual ~TCPSocket();
/** Override multicast functions to return error for TCP /** Override multicast functions to return error for TCP
* *
*/ */
virtual int join_multicast_group(const SocketAddress &address) { return NSAPI_ERROR_UNSUPPORTED; } virtual int join_multicast_group(const SocketAddress &address)
{
return NSAPI_ERROR_UNSUPPORTED;
}
/** Connects TCP socket to a remote host /** Connects TCP socket to a remote host
* *
@ -130,7 +133,7 @@ public:
* code on failure * code on failure
*/ */
virtual nsapi_size_or_error_t sendto(const SocketAddress &address, virtual nsapi_size_or_error_t sendto(const SocketAddress &address,
const void *data, nsapi_size_t size); const void *data, nsapi_size_t size);
/** Receive a data from a socket /** Receive a data from a socket
* *
@ -148,7 +151,7 @@ public:
* code on failure * code on failure
*/ */
virtual nsapi_size_or_error_t recvfrom(SocketAddress *address, virtual nsapi_size_or_error_t recvfrom(SocketAddress *address,
void *data, nsapi_size_t size); void *data, nsapi_size_t size);
/** Accepts a connection on a socket. /** Accepts a connection on a socket.
* *

View File

@ -89,7 +89,7 @@ nsapi_size_or_error_t UDPSocket::sendto(const SocketAddress &address, const void
_writers--; _writers--;
if (!_socket || !_writers) { if (!_socket || !_writers) {
_event_flag.set(FINISHED_FLAG); _event_flag.set(FINISHED_FLAG);
} }
_lock.unlock(); _lock.unlock();
return ret; return ret;
@ -97,8 +97,9 @@ nsapi_size_or_error_t UDPSocket::sendto(const SocketAddress &address, const void
nsapi_size_or_error_t UDPSocket::send(const void *data, nsapi_size_t size) nsapi_size_or_error_t UDPSocket::send(const void *data, nsapi_size_t size)
{ {
if (!_remote_peer) if (!_remote_peer) {
return NSAPI_ERROR_NO_ADDRESS; return NSAPI_ERROR_NO_ADDRESS;
}
return sendto(_remote_peer, data, size); return sendto(_remote_peer, data, size);
} }
@ -151,7 +152,7 @@ nsapi_size_or_error_t UDPSocket::recvfrom(SocketAddress *address, void *buffer,
_readers--; _readers--;
if (!_socket || !_readers) { if (!_socket || !_readers) {
_event_flag.set(FINISHED_FLAG); _event_flag.set(FINISHED_FLAG);
} }
_lock.unlock(); _lock.unlock();

View File

@ -73,7 +73,7 @@ public:
* code on failure * code on failure
*/ */
virtual nsapi_size_or_error_t sendto(const char *host, uint16_t port, virtual nsapi_size_or_error_t sendto(const char *host, uint16_t port,
const void *data, nsapi_size_t size); const void *data, nsapi_size_t size);
/** Send a packet over a UDP socket /** Send a packet over a UDP socket
* *
@ -91,7 +91,7 @@ public:
* code on failure * code on failure
*/ */
virtual nsapi_size_or_error_t sendto(const SocketAddress &address, virtual nsapi_size_or_error_t sendto(const SocketAddress &address,
const void *data, nsapi_size_t size); const void *data, nsapi_size_t size);
/** Receive a datagram over a UDP socket /** Receive a datagram over a UDP socket
* *
@ -115,7 +115,7 @@ public:
* code on failure * code on failure
*/ */
virtual nsapi_size_or_error_t recvfrom(SocketAddress *address, virtual nsapi_size_or_error_t recvfrom(SocketAddress *address,
void *data, nsapi_size_t size); void *data, nsapi_size_t size);
/** Set remote peer address /** Set remote peer address
* *

View File

@ -25,8 +25,7 @@
* Class that represents a WiFi Access Point * Class that represents a WiFi Access Point
* Common interface that is shared between WiFi devices * Common interface that is shared between WiFi devices
*/ */
class WiFiAccessPoint class WiFiAccessPoint {
{
/** WiFiAccessPoint lifetime /** WiFiAccessPoint lifetime
*/ */
public: public:

View File

@ -27,8 +27,7 @@
* Common interface that is shared between WiFi devices * Common interface that is shared between WiFi devices
* @addtogroup netsocket * @addtogroup netsocket
*/ */
class WiFiInterface: public virtual NetworkInterface class WiFiInterface: public virtual NetworkInterface {
{
public: public:
/** Get the default WiFi interface. /** Get the default WiFi interface.
* *
@ -49,7 +48,7 @@ public:
* @return 0 on success, or error code on failure * @return 0 on success, or error code on failure
*/ */
virtual nsapi_error_t set_credentials(const char *ssid, const char *pass, virtual nsapi_error_t set_credentials(const char *ssid, const char *pass,
nsapi_security_t security = NSAPI_SECURITY_NONE) = 0; nsapi_security_t security = NSAPI_SECURITY_NONE) = 0;
/** Set the WiFi network channel /** Set the WiFi network channel
* *
@ -76,7 +75,7 @@ public:
* @return 0 on success, or error code on failure * @return 0 on success, or error code on failure
*/ */
virtual nsapi_error_t connect(const char *ssid, const char *pass, virtual nsapi_error_t connect(const char *ssid, const char *pass,
nsapi_security_t security = NSAPI_SECURITY_NONE, uint8_t channel = 0) = 0; nsapi_security_t security = NSAPI_SECURITY_NONE, uint8_t channel = 0) = 0;
/** Start the interface /** Start the interface
* *
@ -106,7 +105,8 @@ public:
*/ */
virtual nsapi_size_or_error_t scan(WiFiAccessPoint *res, nsapi_size_t count) = 0; virtual nsapi_size_or_error_t scan(WiFiAccessPoint *res, nsapi_size_t count) = 0;
virtual WiFiInterface *wifiInterface() { virtual WiFiInterface *wifiInterface()
{
return this; return this;
} }

View File

@ -101,6 +101,7 @@ static void nsapi_dns_query_async_socket_callback_handle(NetworkStack *stack);
static void nsapi_dns_query_async_response(void *ptr); static void nsapi_dns_query_async_response(void *ptr);
static void nsapi_dns_query_async_initiate_next(void); static void nsapi_dns_query_async_initiate_next(void);
// *INDENT-OFF*
static nsapi_addr_t dns_servers[DNS_SERVERS_SIZE] = { static nsapi_addr_t dns_servers[DNS_SERVERS_SIZE] = {
{NSAPI_IPv4, {8, 8, 8, 8}}, // Google {NSAPI_IPv4, {8, 8, 8, 8}}, // Google
{NSAPI_IPv4, {209, 244, 0, 3}}, // Level 3 {NSAPI_IPv4, {209, 244, 0, 3}}, // Level 3
@ -110,6 +111,7 @@ static nsapi_addr_t dns_servers[DNS_SERVERS_SIZE] = {
{NSAPI_IPv6, {0x20,0x01, 0x16,0x08, 0,0x10, 0,0x25, // DNS.WATCH {NSAPI_IPv6, {0x20,0x01, 0x16,0x08, 0,0x10, 0,0x25, // DNS.WATCH
0,0, 0,0, 0x1c,0x04, 0xb1,0x2f}}, 0,0, 0,0, 0x1c,0x04, 0xb1,0x2f}},
}; };
// *INDENT-ON*
#if (MBED_CONF_NSAPI_DNS_CACHE_SIZE > 0) #if (MBED_CONF_NSAPI_DNS_CACHE_SIZE > 0)
static DNS_CACHE *dns_cache[MBED_CONF_NSAPI_DNS_CACHE_SIZE]; static DNS_CACHE *dns_cache[MBED_CONF_NSAPI_DNS_CACHE_SIZE];
@ -129,7 +131,7 @@ static bool dns_timer_running = false;
extern "C" nsapi_error_t nsapi_dns_add_server(nsapi_addr_t addr) extern "C" nsapi_error_t nsapi_dns_add_server(nsapi_addr_t addr)
{ {
memmove(&dns_servers[1], &dns_servers[0], memmove(&dns_servers[1], &dns_servers[0],
(DNS_SERVERS_SIZE-1)*sizeof(nsapi_addr_t)); (DNS_SERVERS_SIZE - 1)*sizeof(nsapi_addr_t));
dns_servers[0] = addr; dns_servers[0] = addr;
return NSAPI_ERROR_OK; return NSAPI_ERROR_OK;
@ -377,7 +379,7 @@ static nsapi_error_t nsapi_dns_cache_find(const char *host, nsapi_version_t vers
delete dns_cache[i]; delete dns_cache[i];
dns_cache[i] = NULL; dns_cache[i] = NULL;
} else if ((version == NSAPI_UNSPEC || version == dns_cache[i]->address.version) && } else if ((version == NSAPI_UNSPEC || version == dns_cache[i]->address.version) &&
strcmp(dns_cache[i]->host, host) == 0) { strcmp(dns_cache[i]->host, host) == 0) {
if (address) { if (address) {
*address = dns_cache[i]->address; *address = dns_cache[i]->address;
} }
@ -431,7 +433,7 @@ static nsapi_error_t nsapi_dns_get_server_addr(NetworkStack *stack, uint8_t *ind
// core query function // core query function
static nsapi_size_or_error_t nsapi_dns_query_multiple(NetworkStack *stack, const char *host, static nsapi_size_or_error_t nsapi_dns_query_multiple(NetworkStack *stack, const char *host,
nsapi_addr_t *addr, unsigned addr_count, nsapi_version_t version) nsapi_addr_t *addr, unsigned addr_count, nsapi_version_t version)
{ {
// check for valid host name // check for valid host name
int host_len = host ? strlen(host) : 0; int host_len = host ? strlen(host) : 0;
@ -454,7 +456,7 @@ static nsapi_size_or_error_t nsapi_dns_query_multiple(NetworkStack *stack, const
socket.set_timeout(MBED_CONF_NSAPI_DNS_RESPONSE_WAIT_TIME); socket.set_timeout(MBED_CONF_NSAPI_DNS_RESPONSE_WAIT_TIME);
// create network packet // create network packet
uint8_t * const packet = (uint8_t *)malloc(DNS_BUFFER_SIZE); uint8_t *const packet = (uint8_t *)malloc(DNS_BUFFER_SIZE);
if (!packet) { if (!packet) {
return NSAPI_ERROR_NO_MEMORY; return NSAPI_ERROR_NO_MEMORY;
} }
@ -538,14 +540,14 @@ static nsapi_size_or_error_t nsapi_dns_query_multiple(NetworkStack *stack, const
// convenience functions for other forms of queries // convenience functions for other forms of queries
extern "C" nsapi_size_or_error_t nsapi_dns_query_multiple(nsapi_stack_t *stack, const char *host, extern "C" nsapi_size_or_error_t nsapi_dns_query_multiple(nsapi_stack_t *stack, const char *host,
nsapi_addr_t *addr, nsapi_size_t addr_count, nsapi_version_t version) nsapi_addr_t *addr, nsapi_size_t addr_count, nsapi_version_t version)
{ {
NetworkStack *nstack = nsapi_create_stack(stack); NetworkStack *nstack = nsapi_create_stack(stack);
return nsapi_dns_query_multiple(nstack, host, addr, addr_count, version); return nsapi_dns_query_multiple(nstack, host, addr, addr_count, version);
} }
nsapi_size_or_error_t nsapi_dns_query_multiple(NetworkStack *stack, const char *host, nsapi_size_or_error_t nsapi_dns_query_multiple(NetworkStack *stack, const char *host,
SocketAddress *addresses, nsapi_size_t addr_count, nsapi_version_t version) SocketAddress *addresses, nsapi_size_t addr_count, nsapi_version_t version)
{ {
nsapi_addr_t *addrs = new (std::nothrow) nsapi_addr_t[addr_count]; nsapi_addr_t *addrs = new (std::nothrow) nsapi_addr_t[addr_count];
nsapi_size_or_error_t result = nsapi_dns_query_multiple(stack, host, addrs, addr_count, version); nsapi_size_or_error_t result = nsapi_dns_query_multiple(stack, host, addrs, addr_count, version);
@ -561,7 +563,7 @@ nsapi_size_or_error_t nsapi_dns_query_multiple(NetworkStack *stack, const char *
} }
extern "C" nsapi_error_t nsapi_dns_query(nsapi_stack_t *stack, const char *host, extern "C" nsapi_error_t nsapi_dns_query(nsapi_stack_t *stack, const char *host,
nsapi_addr_t *addr, nsapi_version_t version) nsapi_addr_t *addr, nsapi_version_t version)
{ {
NetworkStack *nstack = nsapi_create_stack(stack); NetworkStack *nstack = nsapi_create_stack(stack);
nsapi_size_or_error_t result = nsapi_dns_query_multiple(nstack, host, addr, 1, version); nsapi_size_or_error_t result = nsapi_dns_query_multiple(nstack, host, addr, 1, version);
@ -569,7 +571,7 @@ extern "C" nsapi_error_t nsapi_dns_query(nsapi_stack_t *stack, const char *host,
} }
nsapi_error_t nsapi_dns_query(NetworkStack *stack, const char *host, nsapi_error_t nsapi_dns_query(NetworkStack *stack, const char *host,
SocketAddress *address, nsapi_version_t version) SocketAddress *address, nsapi_version_t version)
{ {
nsapi_addr_t addr; nsapi_addr_t addr;
nsapi_size_or_error_t result = nsapi_dns_query_multiple(stack, host, &addr, 1, version); nsapi_size_or_error_t result = nsapi_dns_query_multiple(stack, host, &addr, 1, version);
@ -578,8 +580,8 @@ nsapi_error_t nsapi_dns_query(NetworkStack *stack, const char *host,
} }
nsapi_value_or_error_t nsapi_dns_query_async(NetworkStack *stack, const char *host, nsapi_value_or_error_t nsapi_dns_query_async(NetworkStack *stack, const char *host,
NetworkStack::hostbyname_cb_t callback, call_in_callback_cb_t call_in_cb, NetworkStack::hostbyname_cb_t callback, call_in_callback_cb_t call_in_cb,
nsapi_version_t version) nsapi_version_t version)
{ {
return nsapi_dns_query_multiple_async(stack, host, callback, 0, call_in_cb, version); return nsapi_dns_query_multiple_async(stack, host, callback, 0, call_in_cb, version);
} }
@ -600,8 +602,8 @@ nsapi_error_t nsapi_dns_call_in(call_in_callback_cb_t cb, int delay, mbed::Callb
} }
nsapi_value_or_error_t nsapi_dns_query_multiple_async(NetworkStack *stack, const char *host, nsapi_value_or_error_t nsapi_dns_query_multiple_async(NetworkStack *stack, const char *host,
NetworkStack::hostbyname_cb_t callback, nsapi_size_t addr_count, NetworkStack::hostbyname_cb_t callback, nsapi_size_t addr_count,
call_in_callback_cb_t call_in_cb, nsapi_version_t version) call_in_callback_cb_t call_in_cb, nsapi_version_t version)
{ {
dns_mutex->lock(); dns_mutex->lock();
@ -724,7 +726,7 @@ static void nsapi_dns_query_async_initiate_next(void)
query = dns_query_queue[i]; query = dns_query_queue[i];
id = dns_query_queue[i]->unique_id; id = dns_query_queue[i]->unique_id;
} }
// If some query is already ongoing do not trigger // If some query is already ongoing do not trigger
} else if (dns_query_queue[i]->state == DNS_INITIATED) { } else if (dns_query_queue[i]->state == DNS_INITIATED) {
query = NULL; query = NULL;
break; break;
@ -770,7 +772,7 @@ static void nsapi_dns_query_async_timeout(void)
// Retries // Retries
dns_query_queue[i]->socket_timeout = 0; dns_query_queue[i]->socket_timeout = 0;
nsapi_dns_call_in(dns_query_queue[i]->call_in_cb, 0, nsapi_dns_call_in(dns_query_queue[i]->call_in_cb, 0,
mbed::callback(nsapi_dns_query_async_send, reinterpret_cast<void *>(dns_query_queue[i]->unique_id))); mbed::callback(nsapi_dns_query_async_send, reinterpret_cast<void *>(dns_query_queue[i]->unique_id)));
} }
} }
@ -906,7 +908,7 @@ static nsapi_error_t nsapi_dns_query_async_delete(int unique_id)
for (int i = 0; i < DNS_QUERY_QUEUE_SIZE; i++) { for (int i = 0; i < DNS_QUERY_QUEUE_SIZE; i++) {
if (dns_query_queue[i] && dns_query_queue[i] != query && dns_query_queue[i]->socket && if (dns_query_queue[i] && dns_query_queue[i] != query && dns_query_queue[i]->socket &&
dns_query_queue[i]->stack == query->stack) { dns_query_queue[i]->stack == query->stack) {
close_socket = false; close_socket = false;
} }
} }

View File

@ -38,7 +38,7 @@
* NSAPI_ERROR_DNS_FAILURE indicates the host could not be found * NSAPI_ERROR_DNS_FAILURE indicates the host could not be found
*/ */
nsapi_error_t nsapi_dns_query(nsapi_stack_t *stack, const char *host, nsapi_error_t nsapi_dns_query(nsapi_stack_t *stack, const char *host,
nsapi_addr_t *addr, nsapi_version_t version); nsapi_addr_t *addr, nsapi_version_t version);
/** Query a domain name server for multiple IP address of a given hostname /** Query a domain name server for multiple IP address of a given hostname
* *
@ -51,7 +51,7 @@ nsapi_error_t nsapi_dns_query(nsapi_stack_t *stack, const char *host,
* NSAPI_ERROR_DNS_FAILURE indicates the host could not be found * NSAPI_ERROR_DNS_FAILURE indicates the host could not be found
*/ */
nsapi_size_or_error_t nsapi_dns_query_multiple(nsapi_stack_t *stack, const char *host, nsapi_size_or_error_t nsapi_dns_query_multiple(nsapi_stack_t *stack, const char *host,
nsapi_addr_t *addr, nsapi_size_t addr_count, nsapi_version_t version); nsapi_addr_t *addr, nsapi_size_t addr_count, nsapi_version_t version);
/** Add a domain name server to list of servers to query /** Add a domain name server to list of servers to query
* *
@ -75,7 +75,7 @@ typedef mbed::Callback<nsapi_error_t (int delay_ms, mbed::Callback<void()> user_
* NSAPI_ERROR_DNS_FAILURE indicates the host could not be found * NSAPI_ERROR_DNS_FAILURE indicates the host could not be found
*/ */
nsapi_error_t nsapi_dns_query(NetworkStack *stack, const char *host, nsapi_error_t nsapi_dns_query(NetworkStack *stack, const char *host,
SocketAddress *addr, nsapi_version_t version = NSAPI_IPv4); SocketAddress *addr, nsapi_version_t version = NSAPI_IPv4);
/** Query a domain name server for an IP address of a given hostname /** Query a domain name server for an IP address of a given hostname
* *
@ -88,8 +88,8 @@ nsapi_error_t nsapi_dns_query(NetworkStack *stack, const char *host,
* cancel, NSAPI_ERROR_DNS_FAILURE indicates the host could not be found * cancel, NSAPI_ERROR_DNS_FAILURE indicates the host could not be found
*/ */
nsapi_error_t nsapi_dns_query_async(NetworkStack *stack, const char *host, nsapi_error_t nsapi_dns_query_async(NetworkStack *stack, const char *host,
NetworkStack::hostbyname_cb_t callback, call_in_callback_cb_t call_in_cb, NetworkStack::hostbyname_cb_t callback, call_in_callback_cb_t call_in_cb,
nsapi_version_t version = NSAPI_IPv4); nsapi_version_t version = NSAPI_IPv4);
/** Query a domain name server for an IP address of a given hostname (asynchronous) /** Query a domain name server for an IP address of a given hostname (asynchronous)
* *
@ -101,7 +101,7 @@ nsapi_error_t nsapi_dns_query_async(NetworkStack *stack, const char *host,
* NSAPI_ERROR_DNS_FAILURE indicates the host could not be found * NSAPI_ERROR_DNS_FAILURE indicates the host could not be found
*/ */
extern "C" nsapi_error_t nsapi_dns_query(nsapi_stack_t *stack, const char *host, extern "C" nsapi_error_t nsapi_dns_query(nsapi_stack_t *stack, const char *host,
nsapi_addr_t *addr, nsapi_version_t version = NSAPI_IPv4); nsapi_addr_t *addr, nsapi_version_t version = NSAPI_IPv4);
/** Query a domain name server for an IP address of a given hostname /** Query a domain name server for an IP address of a given hostname
* *
@ -114,7 +114,7 @@ extern "C" nsapi_error_t nsapi_dns_query(nsapi_stack_t *stack, const char *host,
*/ */
template <typename S> template <typename S>
nsapi_error_t nsapi_dns_query(S *stack, const char *host, nsapi_error_t nsapi_dns_query(S *stack, const char *host,
SocketAddress *addr, nsapi_version_t version = NSAPI_IPv4) SocketAddress *addr, nsapi_version_t version = NSAPI_IPv4)
{ {
return nsapi_dns_query(nsapi_create_stack(stack), host, addr, version); return nsapi_dns_query(nsapi_create_stack(stack), host, addr, version);
} }
@ -130,7 +130,7 @@ nsapi_error_t nsapi_dns_query(S *stack, const char *host,
* NSAPI_ERROR_DNS_FAILURE indicates the host could not be found * NSAPI_ERROR_DNS_FAILURE indicates the host could not be found
*/ */
nsapi_size_or_error_t nsapi_dns_query_multiple(NetworkStack *stack, const char *host, nsapi_size_or_error_t nsapi_dns_query_multiple(NetworkStack *stack, const char *host,
SocketAddress *addr, nsapi_size_t addr_count, nsapi_version_t version = NSAPI_IPv4); SocketAddress *addr, nsapi_size_t addr_count, nsapi_version_t version = NSAPI_IPv4);
/** Query a domain name server for an IP address of a given hostname (asynchronous) /** Query a domain name server for an IP address of a given hostname (asynchronous)
* *
@ -144,8 +144,8 @@ nsapi_size_or_error_t nsapi_dns_query_multiple(NetworkStack *stack, const char *
* cancel, NSAPI_ERROR_DNS_FAILURE indicates the host could not be found * cancel, NSAPI_ERROR_DNS_FAILURE indicates the host could not be found
*/ */
nsapi_size_or_error_t nsapi_dns_query_multiple_async(NetworkStack *stack, const char *host, nsapi_size_or_error_t nsapi_dns_query_multiple_async(NetworkStack *stack, const char *host,
NetworkStack::hostbyname_cb_t callback, nsapi_size_t addr_count, NetworkStack::hostbyname_cb_t callback, nsapi_size_t addr_count,
call_in_callback_cb_t call_in_cb, nsapi_version_t version = NSAPI_IPv4); call_in_callback_cb_t call_in_cb, nsapi_version_t version = NSAPI_IPv4);
/** Query a domain name server for multiple IP address of a given hostname /** Query a domain name server for multiple IP address of a given hostname
* *
@ -158,7 +158,7 @@ nsapi_size_or_error_t nsapi_dns_query_multiple_async(NetworkStack *stack, const
* NSAPI_ERROR_DNS_FAILURE indicates the host could not be found * NSAPI_ERROR_DNS_FAILURE indicates the host could not be found
*/ */
extern "C" nsapi_size_or_error_t nsapi_dns_query_multiple(nsapi_stack_t *stack, const char *host, extern "C" nsapi_size_or_error_t nsapi_dns_query_multiple(nsapi_stack_t *stack, const char *host,
nsapi_addr_t *addr, nsapi_size_t addr_count, nsapi_version_t version = NSAPI_IPv4); nsapi_addr_t *addr, nsapi_size_t addr_count, nsapi_version_t version = NSAPI_IPv4);
/** Query a domain name server for multiple IP address of a given hostname /** Query a domain name server for multiple IP address of a given hostname
@ -173,10 +173,10 @@ extern "C" nsapi_size_or_error_t nsapi_dns_query_multiple(nsapi_stack_t *stack,
*/ */
template <typename S> template <typename S>
nsapi_size_or_error_t nsapi_dns_query_multiple(S *stack, const char *host, nsapi_size_or_error_t nsapi_dns_query_multiple(S *stack, const char *host,
SocketAddress *addr, nsapi_size_t addr_count, nsapi_version_t version = NSAPI_IPv4) SocketAddress *addr, nsapi_size_t addr_count, nsapi_version_t version = NSAPI_IPv4)
{ {
return nsapi_dns_query_multiple(nsapi_create_stack(stack), return nsapi_dns_query_multiple(nsapi_create_stack(stack),
host, addr, addr_count, version); host, addr, addr_count, version);
} }
/** Cancels asynchronous hostname translation /** Cancels asynchronous hostname translation

View File

@ -47,7 +47,7 @@ nsapi_error_t nsapi_ppp_set_blocking(bool blocking);
* *
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
nsapi_error_t nsapi_ppp_connect(FileHandle *stream, Callback<void(nsapi_event_t, intptr_t)> status_cb=0, const char *uname=0, const char *pwd=0, const nsapi_ip_stack_t stack=DEFAULT_STACK); nsapi_error_t nsapi_ppp_connect(FileHandle *stream, Callback<void(nsapi_event_t, intptr_t)> status_cb = 0, const char *uname = 0, const char *pwd = 0, const nsapi_ip_stack_t stack = DEFAULT_STACK);
/** Close a PPP connection /** Close a PPP connection
* *

View File

@ -64,7 +64,7 @@ enum nsapi_error {
* *
* @enum nsapi_connection_status * @enum nsapi_connection_status
*/ */
typedef enum nsapi_connection_status { typedef enum nsapi_connection_status {
NSAPI_STATUS_LOCAL_UP = 0, /*!< local IP address set */ NSAPI_STATUS_LOCAL_UP = 0, /*!< local IP address set */
NSAPI_STATUS_GLOBAL_UP = 1, /*!< global IP address set */ NSAPI_STATUS_GLOBAL_UP = 1, /*!< global IP address set */
NSAPI_STATUS_DISCONNECTED = 2, /*!< no connection to network */ NSAPI_STATUS_DISCONNECTED = 2, /*!< no connection to network */
@ -79,7 +79,7 @@ enum nsapi_error {
* *
* @enum nsapi_event * @enum nsapi_event
*/ */
typedef enum nsapi_event { typedef enum nsapi_event {
NSAPI_EVENT_CONNECTION_STATUS_CHANGE = 0, /*!< network connection status has changed, the parameter = new status (nsapi_connection_status_t) */ NSAPI_EVENT_CONNECTION_STATUS_CHANGE = 0, /*!< network connection status has changed, the parameter = new status (nsapi_connection_status_t) */
NSAPI_EVENT_CELLULAR_STATUS_BASE = 0x1000, /*!< Cellular modem status has changed, See the enum values from enum cellular_connection_status_t in /features/cellular/framework/common/CellularCommon.h */ NSAPI_EVENT_CELLULAR_STATUS_BASE = 0x1000, /*!< Cellular modem status has changed, See the enum values from enum cellular_connection_status_t in /features/cellular/framework/common/CellularCommon.h */
NSAPI_EVENT_CELLULAR_STATUS_END = 0x1FFF /*!< cellular modem status has changed, See the enum values from enum cellular_connection_status_t in /features/cellular/framework/common/CellularCommon.h */ NSAPI_EVENT_CELLULAR_STATUS_END = 0x1FFF /*!< cellular modem status has changed, See the enum values from enum cellular_connection_status_t in /features/cellular/framework/common/CellularCommon.h */
@ -201,8 +201,8 @@ typedef void *nsapi_socket_t;
* @enum nsapi_protocol * @enum nsapi_protocol
*/ */
typedef enum nsapi_protocol { typedef enum nsapi_protocol {
NSAPI_TCP, /*!< Socket is of TCP type */ NSAPI_TCP, /*!< Socket is of TCP type */
NSAPI_UDP, /*!< Socket is of UDP type */ NSAPI_UDP, /*!< Socket is of UDP type */
} nsapi_protocol_t; } nsapi_protocol_t;
/** Enum of standardized stack option levels /** Enum of standardized stack option levels
@ -320,8 +320,7 @@ typedef struct nsapi_ip_mreq {
* *
* Unsupported operations can be left as null pointers. * Unsupported operations can be left as null pointers.
*/ */
typedef struct nsapi_stack_api typedef struct nsapi_stack_api {
{
/** Get the local IP address /** Get the local IP address
* *
* @param stack Stack handle * @param stack Stack handle
@ -366,7 +365,7 @@ typedef struct nsapi_stack_api
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
nsapi_error_t (*setstackopt)(nsapi_stack_t *stack, int level, nsapi_error_t (*setstackopt)(nsapi_stack_t *stack, int level,
int optname, const void *optval, unsigned optlen); int optname, const void *optval, unsigned optlen);
/* Get stack-specific stack options /* Get stack-specific stack options
* *
@ -382,7 +381,7 @@ typedef struct nsapi_stack_api
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
nsapi_error_t (*getstackopt)(nsapi_stack_t *stack, int level, nsapi_error_t (*getstackopt)(nsapi_stack_t *stack, int level,
int optname, void *optval, unsigned *optlen); int optname, void *optval, unsigned *optlen);
/** Opens a socket /** Opens a socket
* *
@ -398,7 +397,7 @@ typedef struct nsapi_stack_api
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
nsapi_error_t (*socket_open)(nsapi_stack_t *stack, nsapi_socket_t *socket, nsapi_error_t (*socket_open)(nsapi_stack_t *stack, nsapi_socket_t *socket,
nsapi_protocol_t proto); nsapi_protocol_t proto);
/** Close the socket /** Close the socket
* *
@ -423,7 +422,7 @@ typedef struct nsapi_stack_api
* @return 0 on success, negative error code on failure. * @return 0 on success, negative error code on failure.
*/ */
nsapi_error_t (*socket_bind)(nsapi_stack_t *stack, nsapi_socket_t socket, nsapi_error_t (*socket_bind)(nsapi_stack_t *stack, nsapi_socket_t socket,
nsapi_addr_t addr, uint16_t port); nsapi_addr_t addr, uint16_t port);
/** Listen for connections on a TCP socket /** Listen for connections on a TCP socket
* *
@ -450,7 +449,7 @@ typedef struct nsapi_stack_api
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
nsapi_error_t (*socket_connect)(nsapi_stack_t *stack, nsapi_socket_t socket, nsapi_error_t (*socket_connect)(nsapi_stack_t *stack, nsapi_socket_t socket,
nsapi_addr_t addr, uint16_t port); nsapi_addr_t addr, uint16_t port);
/** Accepts a connection on a TCP socket /** Accepts a connection on a TCP socket
* *
@ -473,7 +472,7 @@ typedef struct nsapi_stack_api
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
nsapi_error_t (*socket_accept)(nsapi_stack_t *stack, nsapi_socket_t server, nsapi_error_t (*socket_accept)(nsapi_stack_t *stack, nsapi_socket_t server,
nsapi_socket_t *socket, nsapi_addr_t *addr, uint16_t *port); nsapi_socket_t *socket, nsapi_addr_t *addr, uint16_t *port);
/** Send data over a TCP socket /** Send data over a TCP socket
* *
@ -491,7 +490,7 @@ typedef struct nsapi_stack_api
* code on failure * code on failure
*/ */
nsapi_size_or_error_t (*socket_send)(nsapi_stack_t *stack, nsapi_socket_t socket, nsapi_size_or_error_t (*socket_send)(nsapi_stack_t *stack, nsapi_socket_t socket,
const void *data, nsapi_size_t size); const void *data, nsapi_size_t size);
/** Receive data over a TCP socket /** Receive data over a TCP socket
* *
@ -509,7 +508,7 @@ typedef struct nsapi_stack_api
* code on failure * code on failure
*/ */
nsapi_size_or_error_t (*socket_recv)(nsapi_stack_t *stack, nsapi_socket_t socket, nsapi_size_or_error_t (*socket_recv)(nsapi_stack_t *stack, nsapi_socket_t socket,
void *data, nsapi_size_t size); void *data, nsapi_size_t size);
/** Send a packet over a UDP socket /** Send a packet over a UDP socket
* *
@ -529,7 +528,7 @@ typedef struct nsapi_stack_api
* code on failure * code on failure
*/ */
nsapi_size_or_error_t (*socket_sendto)(nsapi_stack_t *stack, nsapi_socket_t socket, nsapi_size_or_error_t (*socket_sendto)(nsapi_stack_t *stack, nsapi_socket_t socket,
nsapi_addr_t addr, uint16_t port, const void *data, nsapi_size_t size); nsapi_addr_t addr, uint16_t port, const void *data, nsapi_size_t size);
/** Receive a packet over a UDP socket /** Receive a packet over a UDP socket
* *
@ -549,7 +548,7 @@ typedef struct nsapi_stack_api
* code on failure * code on failure
*/ */
nsapi_size_or_error_t (*socket_recvfrom)(nsapi_stack_t *stack, nsapi_socket_t socket, nsapi_size_or_error_t (*socket_recvfrom)(nsapi_stack_t *stack, nsapi_socket_t socket,
nsapi_addr_t *addr, uint16_t *port, void *buffer, nsapi_size_t size); nsapi_addr_t *addr, uint16_t *port, void *buffer, nsapi_size_t size);
/** Register a callback on state change of the socket /** Register a callback on state change of the socket
* *
@ -566,7 +565,7 @@ typedef struct nsapi_stack_api
* @param data Argument to pass to callback * @param data Argument to pass to callback
*/ */
void (*socket_attach)(nsapi_stack_t *stack, nsapi_socket_t socket, void (*socket_attach)(nsapi_stack_t *stack, nsapi_socket_t socket,
void (*callback)(void *), void *data); void (*callback)(void *), void *data);
/* Set stack-specific socket options /* Set stack-specific socket options
* *
@ -583,7 +582,7 @@ typedef struct nsapi_stack_api
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
nsapi_error_t (*setsockopt)(nsapi_stack_t *stack, nsapi_socket_t socket, int level, nsapi_error_t (*setsockopt)(nsapi_stack_t *stack, nsapi_socket_t socket, int level,
int optname, const void *optval, unsigned optlen); int optname, const void *optval, unsigned optlen);
/* Get stack-specific socket options /* Get stack-specific socket options
* *
@ -600,7 +599,7 @@ typedef struct nsapi_stack_api
* @return 0 on success, negative error code on failure * @return 0 on success, negative error code on failure
*/ */
nsapi_error_t (*getsockopt)(nsapi_stack_t *stack, nsapi_socket_t socket, int level, nsapi_error_t (*getsockopt)(nsapi_stack_t *stack, nsapi_socket_t socket, int level,
int optname, void *optval, unsigned *optlen); int optname, void *optval, unsigned *optlen);
} nsapi_stack_api_t; } nsapi_stack_api_t;