Mbed OS Reference
|
ESP32Interface class Implementation of the NetworkStack for the ESP32. More...
#include <ESP32Interface.h>
Public Types | |
typedef mbed::Callback< nsapi_error_t(int delay_ms, mbed::Callback< void()> user_cb)> | call_in_callback_cb_t |
Type for a call-in callback. | |
typedef mbed::Callback< void(nsapi_value_or_error_t result, SocketAddress *address)> | hostbyname_cb_t |
Hostname translation callback (for use with gethostbyname_async()). | |
Public Member Functions | |
ESP32Interface () | |
ESP32Interface lifetime Configuration defined in mbed_lib.json. | |
ESP32Interface (PinName en, PinName io0, PinName tx, PinName rx, bool debug=false, PinName rts=NC, PinName cts=NC, int baudrate=230400) | |
ESP32Interface lifetime. | |
~ESP32Interface () override | |
ESP32Interface default destructor. | |
ESP32Interface (PinName tx, PinName rx, bool debug=false) | |
ESP32Interface lifetime. | |
nsapi_error_t | set_network (const SocketAddress &ip_address, const SocketAddress &netmask, const SocketAddress &gateway) override |
Configure this network interface to use a static IP address. | |
nsapi_error_t | set_dhcp (bool dhcp) override |
Enable or disable DHCP on connecting the network. | |
int | connect () override |
Attempt to connect to a Wi-Fi network. | |
int | connect (const char *ssid, const char *pass, nsapi_security_t security=NSAPI_SECURITY_NONE, uint8_t channel=0) override |
Attempt to connect to a Wi-Fi network. | |
int | set_credentials (const char *ssid, const char *pass, nsapi_security_t security=NSAPI_SECURITY_NONE) override |
Set the Wi-Fi network credentials. | |
int | set_channel (uint8_t channel) override |
Set the Wi-Fi network channel. | |
int | disconnect () override |
Stop the interface. | |
nsapi_error_t | get_ip_address (SocketAddress *sockAddr) override |
Get the local IP address. | |
const char * | get_mac_address () override |
Get the local MAC address. | |
nsapi_error_t | get_gateway (SocketAddress *sockAddr) override |
Get the local gateway. | |
nsapi_error_t | get_netmask (SocketAddress *sockAddr) override |
Get the local network mask. | |
int8_t | get_rssi () override |
Get the current radio signal strength for active connection. | |
void | attach (mbed::Callback< void(nsapi_event_t, intptr_t)> status_cb) override |
Register callback for status reporting. | |
nsapi_connection_status_t | get_connection_status () const override |
Get the connection status. | |
virtual nsapi_error_t | gethostbyname (const char *host, SocketAddress *address, nsapi_version_t version=NSAPI_UNSPEC, const char *interface_name=NULL) |
Translate a hostname to an IP address with specific version using network interface name. | |
virtual nsapi_error_t | add_dns_server (const SocketAddress &address, const char *interface_name) |
Add a domain name server to list of servers to query. | |
virtual nsapi_error_t | get_ipv6_link_local_address (SocketAddress *address) |
Get the IPv6 link local address. | |
virtual nsapi_error_t | get_ip_address_if (SocketAddress *address, const char *interface_name) |
Get the local IP address on interface name. | |
virtual nsapi_value_or_error_t | getaddrinfo (const char *hostname, SocketAddress *hints, SocketAddress **res, const char *interface_name=NULL) |
Translate a hostname to the multiple IP addresses with specific version using network interface name. | |
virtual nsapi_value_or_error_t | gethostbyname_async (const char *host, hostbyname_cb_t callback, nsapi_version_t version=NSAPI_UNSPEC, const char *interface_name=NULL) |
Translates a hostname to multiple IP addresses (asynchronous) | |
virtual nsapi_value_or_error_t | getaddrinfo_async (const char *hostname, SocketAddress *hints, hostbyname_cb_t callback, const char *interface_name=NULL) |
Translates a hostname to the multiple IP addresses (asynchronous) | |
virtual nsapi_error_t | gethostbyname_async_cancel (int id) |
Cancels asynchronous hostname translation. | |
virtual nsapi_error_t | get_dns_server (int index, SocketAddress *address, const char *interface_name=NULL) |
Get a domain name server from a list of servers to query. | |
virtual OnboardNetworkStack * | onboardNetworkStack () |
Dynamic downcast to a OnboardNetworkStack. | |
virtual nsapi_size_or_error_t | scan (WiFiAccessPoint *res, nsapi_size_t count)=0 |
Scan for available networks. | |
WiFiInterface * | wifiInterface () final |
Return pointer to a WiFiInterface. | |
void | set_default_parameters () override |
defined(DOXYGEN_ONLY) | |
virtual void | set_as_default () |
Set network interface as default one. | |
virtual const char * | get_hostname () |
Get hostname. | |
virtual nsapi_error_t | set_hostname (const char *hostname) |
Set hostname. | |
virtual nsapi_error_t | set_mac_address (uint8_t *mac_addr, nsapi_size_t addr_len) |
Set the MAC address to the interface. | |
virtual nsapi_error_t | get_ipv6_link_local_address (SocketAddress *address) |
Get the IPv6 link local address. | |
virtual char * | get_interface_name (char *interface_name) |
Get the network interface name. | |
virtual nsapi_value_or_error_t | getaddrinfo (const char *hostname, SocketAddress *hints, SocketAddress **res, const char *interface_name=NULL) |
Translate a hostname to the multiple IP addresses with specific version using network interface name. | |
virtual nsapi_value_or_error_t | gethostbyname_async (const char *host, hostbyname_cb_t callback, nsapi_version_t version=NSAPI_UNSPEC, const char *interface_name=NULL) |
Translate a hostname to an IP address (asynchronous) using network interface name. | |
virtual nsapi_value_or_error_t | getaddrinfo_async (const char *hostname, SocketAddress *hints, hostbyname_cb_t callback, const char *interface_name=NULL) |
Translate a hostname to the multiple IP addresses (asynchronous) using network interface name. | |
virtual nsapi_error_t | gethostbyname_async_cancel (int id) |
Cancel asynchronous hostname translation. | |
virtual nsapi_error_t | get_dns_server (int index, SocketAddress *address, const char *interface_name=NULL) |
Get a domain name server from a list of servers to query. | |
void | add_event_listener (mbed::Callback< void(nsapi_event_t, intptr_t)> status_cb) |
Add event listener for interface. | |
virtual nsapi_error_t | set_blocking (bool blocking) |
Set asynchronous operation of connect() and disconnect() calls. | |
virtual EthInterface * | ethInterface () |
Return pointer to an EthInterface. | |
virtual MeshInterface * | meshInterface () |
Return pointer to a MeshInterface. | |
virtual EMACInterface * | emacInterface () |
Return pointer to an EMACInterface. | |
virtual CellularInterface * | cellularInterface () |
Return pointer to a CellularInterface. | |
Static Public Member Functions | |
static WiFiInterface * | get_default_instance () |
Get the default Wi-Fi interface. | |
Protected Member Functions | |
int | socket_open (void **handle, nsapi_protocol_t proto) override |
Opens a socket. | |
int | socket_close (void *handle) override |
Close the socket. | |
int | socket_bind (void *handle, const SocketAddress &address) override |
Bind a specific address to a socket. | |
int | socket_listen (void *handle, int backlog) override |
Listen for connections on a TCP socket. | |
int | socket_connect (void *handle, const SocketAddress &address) override |
Connects TCP socket to a remote host. | |
int | socket_accept (void *handle, void **socket, SocketAddress *address) override |
Accepts a connection on a TCP socket. | |
virtual nsapi_size_or_error_t | socket_send (nsapi_socket_t handle, const void *data, nsapi_size_t size)=0 |
Send data over a TCP socket. | |
virtual nsapi_size_or_error_t | socket_recv (nsapi_socket_t handle, void *data, nsapi_size_t size)=0 |
Receive data over a TCP socket. | |
virtual nsapi_size_or_error_t | socket_sendto (nsapi_socket_t handle, const SocketAddress &address, const void *data, nsapi_size_t size)=0 |
Send a packet over a UDP socket. | |
virtual nsapi_size_or_error_t | socket_recvfrom (nsapi_socket_t handle, SocketAddress *address, void *buffer, nsapi_size_t size)=0 |
Receive a packet over a UDP socket. | |
void | socket_attach (void *handle, void(*callback)(void *), void *data) override |
Register a callback on state change of the socket. | |
nsapi_error_t | setsockopt (nsapi_socket_t handle, int level, int optname, const void *optval, unsigned optlen) override |
Set stack-specific socket options. | |
nsapi_error_t | getsockopt (nsapi_socket_t handle, int level, int optname, void *optval, unsigned *optlen) override |
Get stack-specific socket options. | |
virtual nsapi_size_or_error_t | socket_sendto_control (nsapi_socket_t handle, const SocketAddress &address, const void *data, nsapi_size_t size, nsapi_msghdr_t *control, nsapi_size_t control_size) |
Send a packet with ancillary data over a UDP socket. | |
virtual nsapi_size_or_error_t | socket_recvfrom_control (nsapi_socket_t handle, SocketAddress *address, void *data, nsapi_size_t size, nsapi_msghdr_t *control, nsapi_size_t control_size) |
Receive a packet with ancillary data over a UDP socket. | |
ESP32Interface class Implementation of the NetworkStack for the ESP32.
Definition at line 25 of file ESP32Interface.h.
|
inherited |
Type for a call-in callback.
This is a pointer to a function that will call the provided callback from the network stack after a given delay, or immediately if delay_ms
is 0.
Definition at line 235 of file NetworkStack.h.
|
inherited |
Hostname translation callback (for use with gethostbyname_async()).
Callback will be called after DNS resolution completes or a failure occurs.
result
: Negative error code on failure, or value that represents the number of DNS records
address
: On success, destination for the host SocketAddress.
Definition at line 303 of file NetworkInterface.h.
ESP32Interface | ( | ) |
ESP32Interface lifetime Configuration defined in mbed_lib.json.
ESP32Interface | ( | PinName | en, |
PinName | io0, | ||
PinName | tx, | ||
PinName | rx, | ||
bool | debug = false , |
||
PinName | rts = NC , |
||
PinName | cts = NC , |
||
int | baudrate = 230400 |
||
) |
ESP32Interface lifetime.
en | EN pin (If not used this pin, please set "NC") |
io0 | IO0 pin (If not used this pin, please set "NC") |
tx | TX pin |
rx | RX pin |
debug | Enable debugging |
rts | RTS pin |
cts | CTS pin |
baudrate | The baudrate of the serial port (default = 230400). |
|
override |
ESP32Interface default destructor.
ESP32Interface | ( | PinName | tx, |
PinName | rx, | ||
bool | debug = false |
||
) |
ESP32Interface lifetime.
tx | TX pin |
rx | RX pin |
debug | Enable debugging |
|
overridevirtual |
Configure this network interface to use a static IP address.
Implicitly disables DHCP, which can be enabled in set_dhcp. Requires that the network is disconnected.
ip_address | SocketAddress object containing the local IP address |
netmask | SocketAddress object containing the local network mask |
gateway | SocketAddress object containing the local gateway |
NSAPI_ERROR_OK | on success |
NSAPI_ERROR_UNSUPPORTED | if this function is unsupported |
Reimplemented from NetworkInterface.
|
overridevirtual |
Enable or disable DHCP on connecting the network.
Enabled by default unless a static IP address has been assigned. Requires that the network is disconnected.
dhcp | True to enable DHCP. |
NSAPI_ERROR_OK | on success. |
NSAPI_ERROR_UNSUPPORTED | if operation is not supported. |
Reimplemented from NetworkInterface.
|
overridevirtual |
Attempt to connect to a Wi-Fi network.
Requires ssid and passphrase to be set. If passphrase is invalid, NSAPI_ERROR_AUTH_ERROR is returned.
Implements WiFiInterface.
|
overridevirtual |
Attempt to connect to a Wi-Fi network.
ssid | Name of the network to connect to. |
pass | Security passphrase to connect to the network. |
security | Type of encryption for connection (Default: NSAPI_SECURITY_NONE). |
channel | Channel to make the connection, or 0 for any (Default: 0). |
Implements WiFiInterface.
|
overridevirtual |
Set the Wi-Fi network credentials.
ssid | Name of the network to connect to. |
pass | Security passphrase to connect to the network. |
security | Type of encryption for connection (defaults to NSAPI_SECURITY_NONE). |
Implements WiFiInterface.
|
overridevirtual |
Set the Wi-Fi network channel.
channel | Channel to make the connection, or 0 for any (Default: 0). |
Implements WiFiInterface.
|
overridevirtual |
Stop the interface.
Implements WiFiInterface.
|
overridevirtual |
Get the local IP address.
address | SocketAddress representation of the local IP address |
NSAPI_ERROR_OK | on success |
NSAPI_ERROR_UNSUPPORTED | if this feature is not supported |
NSAPI_ERROR_PARAMETER | if the provided pointer is invalid |
NSAPI_ERROR_NO_ADDRESS | if the address cannot be obtained from stack |
Reimplemented from NetworkStack.
|
overridevirtual |
Get the local MAC address.
Provided MAC address is intended for info or debug purposes and may be not provided if the underlying network interface does not provide a MAC address.
Reimplemented from NetworkInterface.
|
overridevirtual |
Get the local gateway.
address | SocketAddress representation of gateway address |
NSAPI_ERROR_OK | on success |
NSAPI_ERROR_UNSUPPORTED | if this feature is not supported |
NSAPI_ERROR_PARAMETER | if the provided pointer is invalid |
NSAPI_ERROR_NO_ADDRESS | if the address cannot be obtained from stack |
Reimplemented from NetworkInterface.
|
overridevirtual |
Get the local network mask.
address | SocketAddress representation of netmask |
NSAPI_ERROR_OK | on success |
NSAPI_ERROR_UNSUPPORTED | if this feature is not supported |
NSAPI_ERROR_PARAMETER | if the provided pointer is invalid |
NSAPI_ERROR_NO_ADDRESS | if the address cannot be obtained from stack |
Reimplemented from NetworkInterface.
|
overridevirtual |
Get the current radio signal strength for active connection.
Implements WiFiInterface.
|
overridevirtual |
Register callback for status reporting.
The specified status callback function will be called on status changes on the network. The parameters on the callback are the event type and event-type dependent reason parameter. Only one callback can be registered at a time.
To unregister a callback call with status_cb parameter as a zero.
NOTE: Any callbacks registered with this function will be overwritten if add_event_listener() API is used.
status_cb | The callback for status changes. |
Reimplemented from NetworkInterface.
|
overridevirtual |
Get the connection status.
Reimplemented from NetworkInterface.
|
virtual |
Translate a hostname to an IP address with specific version using network interface name.
The hostname may be either a domain name or an IP address. If the hostname is an IP address, no network transactions will be performed.
If no stack-specific DNS resolution is provided, the hostname will be resolve using a UDP socket on the stack.
host | Hostname to resolve. |
address | Pointer to a SocketAddress to store the result. |
version | IP version of address to resolve, NSAPI_UNSPEC indicates version is chosen by the stack (defaults to NSAPI_UNSPEC). |
interface_name | Network interface name |
NSAPI_ERROR_OK | on success |
int | Negative error code on failure. See NetworkStack::gethostbyname |
Reimplemented from NetworkStack.
|
virtual |
Add a domain name server to list of servers to query.
address | Address for the dns host. |
interface_name | Network interface name. Currently unused, the server is added for all interfaces. |
Reimplemented from NetworkStack.
|
overrideprotectedvirtualinherited |
Opens a socket.
Creates a network socket and stores it in the specified handle. The handle must be passed to following calls on the socket.
A stack may have a finite number of sockets, in this case NSAPI_ERROR_NO_SOCKET is returned if no socket is available.
handle | Destination for the handle to a newly created socket |
proto | Protocol of socket to open, NSAPI_TCP or NSAPI_UDP |
Implements NetworkStack.
|
overrideprotectedvirtualinherited |
Close the socket.
Closes any open connection and deallocates any memory associated with the socket.
handle | Socket handle |
Implements NetworkStack.
|
overrideprotectedvirtualinherited |
Bind a specific address to a socket.
Binding a socket specifies the address and port on which to receive data. If the IP address is zeroed, only the port is bound.
handle | Socket handle |
address | Local address to bind |
Implements NetworkStack.
|
overrideprotectedvirtualinherited |
Listen for connections on a TCP socket.
Marks the socket as a passive socket that can be used to accept incoming connections.
handle | Socket handle |
backlog | Number of pending connections that can be queued simultaneously |
Implements NetworkStack.
|
overrideprotectedvirtualinherited |
Connects TCP socket to a remote host.
Initiates a connection to a remote server specified by the indicated address.
handle | Socket handle |
address | The SocketAddress of the remote host |
Implements NetworkStack.
|
overrideprotectedvirtualinherited |
Accepts a connection on a TCP socket.
The server socket must be bound and set to listen for connections. On a new connection, creates a network socket and stores it in the specified handle. The handle must be passed to following calls on the socket.
A stack may have a finite number of sockets, in this case NSAPI_ERROR_NO_SOCKET is returned if no socket is available.
This call is non-blocking. If accept would block, NSAPI_ERROR_WOULD_BLOCK is returned immediately.
server | Socket handle to server to accept from |
handle | Destination for a handle to the newly created socket |
address | Destination for the remote address or NULL |
Implements NetworkStack.
|
protectedpure virtualinherited |
Send data over a TCP socket.
The socket must be connected to a remote host. Returns the number of bytes sent from the buffer.
This call is non-blocking. If send would block, NSAPI_ERROR_WOULD_BLOCK is returned immediately.
handle | Socket handle |
data | Buffer of data to send to the host |
size | Size of the buffer in bytes |
Implemented in AT_CellularStack, and Nanostack.
|
protectedpure virtualinherited |
Receive data over a TCP socket.
The socket must be connected to a remote host. Returns the number of bytes received into the buffer.
This call is non-blocking. If recv would block, NSAPI_ERROR_WOULD_BLOCK is returned immediately.
handle | Socket handle |
data | Destination buffer for data received from the host |
size | Size of the buffer in bytes |
Implemented in AT_CellularStack, and Nanostack.
|
protectedpure virtualinherited |
Send a packet over a UDP socket.
Sends data to the specified address. Returns the number of bytes sent from the buffer.
This call is non-blocking. If sendto would block, NSAPI_ERROR_WOULD_BLOCK is returned immediately.
handle | Socket handle |
address | The SocketAddress of the remote host |
data | Buffer of data to send to the host |
size | Size of the buffer in bytes |
Implemented in AT_CellularStack, and Nanostack.
|
protectedpure virtualinherited |
Receive a packet over a UDP socket.
Receives data and stores the source address in address if address is not NULL. Returns the number of bytes received into the buffer.
This call is non-blocking. If recvfrom would block, NSAPI_ERROR_WOULD_BLOCK is returned immediately.
handle | Socket handle |
address | Destination for the source address or NULL |
buffer | Destination buffer for data received from the host |
size | Size of the buffer in bytes |
Implemented in AT_CellularStack, and Nanostack.
|
overrideprotectedvirtualinherited |
Register a callback on state change of the socket.
The specified callback will be called on state changes such as when the socket can recv/send/accept successfully and on when an error occurs. The callback may also be called spuriously without reason.
The callback may be called in an interrupt context and should not perform expensive operations such as recv/send calls.
handle | Socket handle |
callback | Function to call on state change |
data | Argument to pass to callback |
Implements NetworkStack.
|
overrideprotectedvirtualinherited |
Set stack-specific socket options.
The setsockopt allow an application to pass stack-specific hints to the underlying stack. For unsupported options, NSAPI_ERROR_UNSUPPORTED is returned and the socket is unmodified.
handle | Socket handle. |
level | Stack-specific protocol level. |
optname | Stack-specific option identifier. |
optval | Option value. |
optlen | Length of the option value. |
Reimplemented from NetworkStack.
|
overrideprotectedvirtualinherited |
Get stack-specific socket options.
The getstackopt allow an application to retrieve stack-specific hints from the underlying stack. For unsupported options, NSAPI_ERROR_UNSUPPORTED is returned and optval is unmodified.
handle | Socket handle. |
level | Stack-specific protocol level. |
optname | Stack-specific option identifier. |
optval | Destination for option value. |
optlen | Length of the option value. |
Reimplemented from NetworkStack.
|
virtualinherited |
Get the IPv6 link local address.
address | SocketAddress representation of the link local IPv6 address |
NSAPI_ERROR_OK | on success |
NSAPI_ERROR_UNSUPPORTED | if this feature is not supported |
NSAPI_ERROR_PARAMETER | if the provided pointer is invalid |
|
virtualinherited |
Get the local IP address on interface name.
address | SocketAddress representation of the link local IPv6 address |
interface_name | Network interface_name |
NSAPI_ERROR_OK | on success |
NSAPI_ERROR_UNSUPPORTED | if this feature is not supported |
NSAPI_ERROR_PARAMETER | if the provided pointer is invalid |
NSAPI_ERROR_NO_ADDRESS | if the address cannot be obtained from stack |
|
virtualinherited |
Translate a hostname to the multiple IP addresses with specific version using network interface name.
The hostname may be either a domain name or an IP address. If the hostname is an IP address, no network transactions will be performed.
If no stack-specific DNS resolution is provided, the hostname will be resolve using a UDP socket on the stack.
hostname | Hostname to resolve. |
hints | Pointer to a SocketAddress with query parameters. |
res | Pointer to a SocketAddress array to store the result.. |
interface_name | Network interface name |
Implements DNS.
|
virtualinherited |
Translates a hostname to multiple IP addresses (asynchronous)
The hostname may be either a domain name or an IP address. If the hostname is an IP address, no network transactions will be performed.
If no stack-specific DNS resolution is provided, the hostname will be resolve using a UDP socket on the stack.
Call is non-blocking. Result of the DNS operation is returned by the callback. If this function returns failure, callback will not be called. In case result is success (IP address was found from DNS cache), callback will be called before function returns.
host | Hostname to resolve |
callback | Callback that is called for result |
version | IP version of address to resolve, NSAPI_UNSPEC indicates version is chosen by the stack (defaults to NSAPI_UNSPEC) |
interface_name | Network interface_name |
Implements DNS.
Reimplemented in Nanostack.
|
virtualinherited |
Translates a hostname to the multiple IP addresses (asynchronous)
The hostname may be either a domain name or an IP address. If the hostname is an IP address, no network transactions will be performed.
If no stack-specific DNS resolution is provided, the hostname will be resolve using a UDP socket on the stack.
The call is non-blocking. Result of the DNS operation is returned by the callback. If this function returns failure, callback will not be called. In case that IP addresses are found from DNS cache, callback will be called before function returns.
hostname | Hostname to resolve |
hints | Pointer to a SocketAddress with query parameters. |
callback | Callback that is called for result |
interface_name | Network interface_name |
Implements DNS.
|
virtualinherited |
Cancels asynchronous hostname translation.
When translation is cancelled, callback will not be called.
id | Unique id of the hostname translation operation |
Implements DNS.
|
virtualinherited |
Get a domain name server from a list of servers to query.
Returns a DNS server address for a index. If returns error no more DNS servers to read.
index | Index of the DNS server, starts from zero |
address | Destination for the host address |
interface_name | Network interface name |
Reimplemented in Nanostack.
|
virtualinherited |
Dynamic downcast to a OnboardNetworkStack.
Reimplemented in OnboardNetworkStack.
Definition at line 225 of file NetworkStack.h.
|
protectedvirtualinherited |
Send a packet with ancillary data over a UDP socket.
Sends data to the specified address. Returns the number of bytes sent from the buffer.
This call is non-blocking. If sendto would block, NSAPI_ERROR_WOULD_BLOCK is returned immediately.
handle | Socket handle |
address | The SocketAddress of the remote host |
data | Buffer of data to send to the host |
size | Size of the buffer in bytes |
control | Storage for ancillary data |
control_size | Size of ancillary data |
Definition at line 408 of file NetworkStack.h.
|
protectedvirtualinherited |
Receive a packet with ancillary data over a UDP socket.
Receives data and stores the source address in address if address is not NULL. Returns the number of bytes received into the buffer.
Ancillary data is stored into control
. The caller needs to allocate a buffer that is large enough to contain the data they want to receive, then pass the pointer in through the control
member. The data will be filled into control
, beginning with a header specifying what data was received. See MsgHeaderIterator for how to parse this data.
This call is non-blocking. If recvfrom would block, NSAPI_ERROR_WOULD_BLOCK is returned immediately.
handle | Socket handle |
address | Destination for the source address or NULL |
data | Destination buffer for data received from the host |
size | Size of the buffer in bytes |
control | Storage for ancillary data |
control_size | Size of ancillary data |
Definition at line 441 of file NetworkStack.h.
|
staticinherited |
Get the default Wi-Fi interface.
This is provided as a weak method so applications can override it. Default behavior is to get the target's default interface, if any.
|
pure virtualinherited |
Scan for available networks.
If the count
is 0, the function only returns the number of available networks. If the count
is greater than 0 and the res
is not NULL, the array of discovered APs is populated with discovered networks up to the value of the count
.
res | Pointer to allocated array to store discovered APs. |
count | Size of allocated res array, or 0 to only count available APs. |
|
finalvirtualinherited |
Return pointer to a WiFiInterface.
Reimplemented from NetworkInterface.
Definition at line 110 of file WiFiInterface.h.
|
overridevirtualinherited |
defined(DOXYGEN_ONLY)
Set default parameters on a Wi-Fi interface.
A Wi-Fi interface instantiated directly or using WiFiInterface::get_default_instance() is initially unconfigured. This call can be used to set the default parameters that would have been set if the interface had been requested using NetworkInterface::get_default_instance() (see nsapi JSON configuration).
Reimplemented from NetworkInterface.
|
virtualinherited |
Set network interface as default one.
Reimplemented in EMACInterface, L3IPInterface, and PPPInterface.
|
virtualinherited |
|
virtualinherited |
Set hostname.
hostname | Hostname string |
NSAPI_ERROR_OK | on success |
NSAPI_ERROR_UNSUPPORTED | if this feature is not supported |
NSAPI_ERROR_PARAMETER | if hostname is not valid |
NSAPI_ERROR_BUSY | if hostname couldn't be set (e.g. for LwIP stack, hostname can only be set before calling EthernetInterface::connect method) |
Reimplemented in EMACInterface.
|
virtualinherited |
Set the MAC address to the interface.
Set the provided MAC address on the network interface. The address must be unique globally. The address must be set before calling the interface connect() method.
Not all interfaces are supporting MAC address set and an error is not returned for this method call. Verify the changed MAC address by checking packet captures from the used network interface.
6-byte EUI-48 MAC addresses are used for Ethernet while Mesh interface is using 8-byte EUI-64 address.
More information about obtaining MAC address can be found from: https://standards.ieee.org/products-services/regauth/index.html
mac_addr | Buffer containing the MAC address in hexadecimal format. |
addr_len | Length of provided buffer in bytes (6 or 8) |
NSAPI_ERROR_OK | on success |
NSAPI_ERROR_UNSUPPORTED | if this feature is not supported |
NSAPI_ERROR_PARAMETER | if address is not valid |
NSAPI_ERROR_BUSY | if address can't be set. |
Reimplemented in InterfaceNanostack, and EMACInterface.
|
virtualinherited |
Get the IPv6 link local address.
address | SocketAddress representation of the link local IPv6 address |
NSAPI_ERROR_OK | on success |
NSAPI_ERROR_UNSUPPORTED | if this feature is not supported |
NSAPI_ERROR_PARAMETER | if the provided pointer is invalid |
Reimplemented in EMACInterface.
|
virtualinherited |
Get the network interface name.
Reimplemented in AT_CellularContext, EMACInterface, L3IPInterface, and PPPInterface.
|
virtualinherited |
Translate a hostname to the multiple IP addresses with specific version using network interface name.
The hostname may be either a domain name or an IP address. If the hostname is an IP address, no network transactions will be performed.
If no stack-specific DNS resolution is provided, the hostname will be resolve using a UDP socket on the stack.
hostname | Hostname to resolve. |
hints | Pointer to a SocketAddress with query parameters. |
res | Pointer to a SocketAddress array to store the result.. |
interface_name | Network interface name |
Implements DNS.
|
virtualinherited |
Translate a hostname to an IP address (asynchronous) using network interface name.
The hostname may be either a domain name or a dotted IP address. If the hostname is an IP address, no network transactions will be performed.
If no stack-specific DNS resolution is provided, the hostname will be resolve using a UDP socket on the stack.
Call is non-blocking. Result of the DNS operation is returned by the callback. If this function returns failure, callback will not be called. In case result is success (IP address was found from DNS cache), callback will be called before function returns.
host | Hostname to resolve. |
callback | Callback that is called for result. |
version | IP version of address to resolve, NSAPI_UNSPEC indicates version is chosen by the stack (defaults to NSAPI_UNSPEC). |
interface_name | Network interface name |
Implements DNS.
|
virtualinherited |
Translate a hostname to the multiple IP addresses (asynchronous) using network interface name.
The hostname may be either a domain name or a dotted IP address. If the hostname is an IP address, no network transactions will be performed.
If no stack-specific DNS resolution is provided, the hostname will be resolve using a UDP socket on the stack.
Call is non-blocking. Result of the DNS operation is returned by the callback. If this function returns failure, callback will not be called. In case result is success (IP address was found from DNS cache), callback will be called before function returns.
hostname | Hostname to resolve. |
hints | Pointer to a SocketAddress with query parameters. |
callback | Callback that is called for result. |
interface_name | Network interface name |
Implements DNS.
|
virtualinherited |
Cancel asynchronous hostname translation.
When translation is cancelled, callback will not be called.
id | Unique id of the hostname translation operation (returned by gethostbyname_async) |
Implements DNS.
|
virtualinherited |
Get a domain name server from a list of servers to query.
Returns a DNS server address for a index. If returns error no more DNS servers to read.
index | Index of the DNS server, starts from zero |
address | Destination for the host address |
interface_name | Network interface name |
|
inherited |
Add event listener for interface.
This API allows multiple callback to be registered for a single interface. When first called, internal list of event handlers are created and registered to interface through attach() API.
Application may only use attach() or add_event_listener() interface. Mixing usage of both leads to undefined behavior.
std::nothrow
feature. Subsequently, the function may fail to allocate memory and cause a system error. To use the new version with the changes, set "nsapi.add-event-listener-return-change": 1 in the target overrides section in your mbed_app.json file.status_cb | The callback for status changes. |
|
virtualinherited |
Set asynchronous operation of connect() and disconnect() calls.
By default, interfaces are in synchronous mode which means that connect() or disconnect() blocks until it reach the target state or requested operation fails.
blocking | Use false to set NetworkInterface in asynchronous mode. |
Reimplemented in AT_CellularContext, InterfaceNanostack, EMACInterface, L3IPInterface, PPPInterface, and CellularContext.
|
virtualinherited |
Return pointer to an EthInterface.
Reimplemented in EthInterface.
Definition at line 463 of file NetworkInterface.h.
|
virtualinherited |
Return pointer to a MeshInterface.
Reimplemented in MeshInterface.
Definition at line 479 of file NetworkInterface.h.
|
virtualinherited |
Return pointer to an EMACInterface.
Reimplemented in EMACInterface.
Definition at line 487 of file NetworkInterface.h.
|
virtualinherited |
Return pointer to a CellularInterface.
Reimplemented in CellularInterface.
Definition at line 495 of file NetworkInterface.h.