Mistake on this page?
Report an issue in GitHub or email us
Data Structures | Macros | Typedefs | Enumerations | Functions
Netsocket

Mbed OS Socket API. More...

Data Structures

class  CellularNonIPSocket
 Socket implementation for cellular Non-IP data delivery(NIDD). More...
 
class  DNS
 Base class for DNS provider. More...
 
class  DTLSSocket
 DTLSSocket implement DTLS stream over UDP Socket. More...
 
class  DTLSSocketWrapper
 DTLSSocketWrapper implement DTLS stream over the existing Socket transport. More...
 
class  InternetSocket
 Socket implementation that uses IP network stack. More...
 
class  NetworkStack
 NetworkStack class. More...
 
struct  nsapi_addr
 IP address structure for passing IP addresses by value. More...
 
struct  nsapi_wifi_ap
 nsapi_wifi_ap structure More...
 
struct  nsapi_stack
 nsapi_stack structure More...
 
struct  nsapi_ip_mreq
 nsapi_ip_mreq structure More...
 
struct  nsapi_stack_api
 nsapi_stack_api structure More...
 
class  Socket
 Socket interface. More...
 
class  SocketAddress
 SocketAddress class. More...
 
class  TCPServer
 TCP socket server. More...
 
class  TCPSocket
 TCP socket connection. More...
 
class  TLSSocket
 TLSSocket is a wrapper around TCPSocket for interacting with TLS servers. More...
 
class  TLSSocketWrapper
 TLSSocket is a wrapper around Socket for interacting with TLS servers. More...
 
class  UDPSocket
 UDP socket implementation. More...
 

Macros

#define NSAPI_INTERFACE_PREFIX_SIZE   2
 Size of 2 char network interface name from driver. More...
 
#define NSAPI_INTERFACE_NAME_MAX_SIZE   6
 Maximum size of network interface name. More...
 
#define NSAPI_IP_SIZE   NSAPI_IPv6_SIZE
 Maximum size of IP address representation. More...
 
#define NSAPI_IP_BYTES   NSAPI_IPv6_BYTES
 Maximum number of bytes for IP address. More...
 
#define NSAPI_MAC_SIZE   18
 Maximum size of MAC address representation. More...
 
#define NSAPI_MAC_BYTES   6
 Maximum number of bytes for MAC address. More...
 
#define NSAPI_IPv4_SIZE   16
 Size of IPv4 representation. More...
 
#define NSAPI_IPv4_BYTES   4
 Number of bytes in IPv4 address. More...
 
#define NSAPI_IPv6_SIZE   40
 Size of IPv6 representation. More...
 
#define NSAPI_IPv6_BYTES   16
 Number of bytes in IPv6 address. More...
 

Typedefs

typedef signed int nsapi_error_t
 Type used to represent error codes. More...
 
typedef unsigned int nsapi_size_t
 Type used to represent the size of data passed through sockets. More...
 
typedef signed int nsapi_size_or_error_t
 Type used to represent either a size or error passed through sockets. More...
 
typedef signed int nsapi_value_or_error_t
 Type used to represent either a value or error. More...
 
typedef enum nsapi_security nsapi_security_t
 Enum of encryption types. More...
 
typedef struct nsapi_addr nsapi_addr_t
 IP address structure for passing IP addresses by value. More...
 
typedef void * nsapi_socket_t
 Opaque handle for network sockets. More...
 
typedef struct nsapi_wifi_ap nsapi_wifi_ap_t
 nsapi_wifi_ap structure More...
 
typedef struct nsapi_stack nsapi_stack_t
 nsapi_stack structure More...
 
typedef struct nsapi_ip_mreq nsapi_ip_mreq_t
 nsapi_ip_mreq structure More...
 
typedef struct nsapi_stack_api nsapi_stack_api_t
 nsapi_stack_api structure More...
 

Enumerations

Functions

NetworkStacknsapi_create_stack (nsapi_stack_t *stack)
 Convert a raw nsapi_stack_t object into a C++ NetworkStack object. More...
 
nsapi_error_t nsapi_dns_query (nsapi_stack_t *stack, const char *host, nsapi_addr_t *addr, nsapi_version_t version)
 Query a domain name server for an IP address of a given hostname. More...
 
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)
 Query a domain name server for multiple IP address of a given hostname. More...
 
nsapi_error_t nsapi_dns_add_server (nsapi_addr_t addr, const char *interface_name)
 Add a domain name server to list of servers to query. More...
 

Detailed Description

Mbed OS Socket API.

Macro Definition Documentation

#define NSAPI_INTERFACE_NAME_MAX_SIZE   6

Maximum size of network interface name.

Definition at line 139 of file nsapi_types.h.

#define NSAPI_INTERFACE_PREFIX_SIZE   2

Size of 2 char network interface name from driver.

Definition at line 135 of file nsapi_types.h.

#define NSAPI_IP_BYTES   NSAPI_IPv6_BYTES

Maximum number of bytes for IP address.

Definition at line 147 of file nsapi_types.h.

#define NSAPI_IP_SIZE   NSAPI_IPv6_SIZE

Maximum size of IP address representation.

Definition at line 143 of file nsapi_types.h.

#define NSAPI_IPv4_BYTES   4

Number of bytes in IPv4 address.

Definition at line 163 of file nsapi_types.h.

#define NSAPI_IPv4_SIZE   16

Size of IPv4 representation.

Definition at line 159 of file nsapi_types.h.

#define NSAPI_IPv6_BYTES   16

Number of bytes in IPv6 address.

Definition at line 171 of file nsapi_types.h.

#define NSAPI_IPv6_SIZE   40

Size of IPv6 representation.

Definition at line 167 of file nsapi_types.h.

#define NSAPI_MAC_BYTES   6

Maximum number of bytes for MAC address.

Definition at line 155 of file nsapi_types.h.

#define NSAPI_MAC_SIZE   18

Maximum size of MAC address representation.

Definition at line 151 of file nsapi_types.h.

Typedef Documentation

typedef struct nsapi_addr nsapi_addr_t

IP address structure for passing IP addresses by value.

typedef signed int nsapi_error_t

Type used to represent error codes.

This is a separate type from enum nsapi_error to avoid breaking compatibility in type-sensitive overloads

Definition at line 95 of file nsapi_types.h.

nsapi_ip_mreq structure

Enum of encryption types.

The security type specifies a particular security to use when connected to a WiFi network

typedef signed int nsapi_size_or_error_t

Type used to represent either a size or error passed through sockets.

A valid nsapi_size_or_error_t is either a non-negative size or a negative error code from the nsapi_error_t

Definition at line 106 of file nsapi_types.h.

typedef unsigned int nsapi_size_t

Type used to represent the size of data passed through sockets.

Definition at line 99 of file nsapi_types.h.

typedef void* nsapi_socket_t

Opaque handle for network sockets.

Definition at line 204 of file nsapi_types.h.

nsapi_stack_api structure

Common api structure for network stack operations. A network stack can provide a nsapi_stack_api structure filled out with the appropriate implementation.

Unsupported operations can be left as null pointers.

typedef struct nsapi_stack nsapi_stack_t

nsapi_stack structure

Stack structure representing a specific instance of a stack.

typedef signed int nsapi_value_or_error_t

Type used to represent either a value or error.

A valid nsapi_value_or_error_t is either a non-negative value or a negative error code from the nsapi_error_t

Definition at line 113 of file nsapi_types.h.

nsapi_wifi_ap structure

Structure representing a WiFi Access Point

Enumeration Type Documentation

Enum of connection status types.

Valid error codes have negative values.

Enumerator
NSAPI_STATUS_LOCAL_UP 

local IP address set

NSAPI_STATUS_GLOBAL_UP 

global IP address set

NSAPI_STATUS_DISCONNECTED 

no connection to network

NSAPI_STATUS_CONNECTING 

connecting to network

Definition at line 68 of file nsapi_types.h.

Enum of standardized error codes.

Valid error codes have negative values and may be returned by any network operation.

Enumerator
NSAPI_ERROR_OK 

no error

NSAPI_ERROR_WOULD_BLOCK 

no data is not available but call is non-blocking

NSAPI_ERROR_UNSUPPORTED 

unsupported functionality

NSAPI_ERROR_PARAMETER 

invalid configuration

NSAPI_ERROR_NO_CONNECTION 

not connected to a network

NSAPI_ERROR_NO_SOCKET 

socket not available for use

NSAPI_ERROR_NO_ADDRESS 

IP address is not known

NSAPI_ERROR_NO_MEMORY 

memory resource not available

NSAPI_ERROR_NO_SSID 

ssid not found

NSAPI_ERROR_DNS_FAILURE 

DNS failed to complete successfully

NSAPI_ERROR_DHCP_FAILURE 

DHCP failed to complete successfully

NSAPI_ERROR_AUTH_FAILURE 

connection to access point failed

NSAPI_ERROR_DEVICE_ERROR 

failure interfacing with the network processor

NSAPI_ERROR_IN_PROGRESS 

operation (eg connect) in progress

NSAPI_ERROR_ALREADY 

operation (eg connect) already in progress

NSAPI_ERROR_IS_CONNECTED 

socket is already connected

NSAPI_ERROR_CONNECTION_LOST 

connection lost

NSAPI_ERROR_CONNECTION_TIMEOUT 

connection timed out

NSAPI_ERROR_ADDRESS_IN_USE 

Address already in use

NSAPI_ERROR_TIMEOUT 

operation timed out

NSAPI_ERROR_BUSY 

device is busy and cannot accept new operation

Definition at line 37 of file nsapi_types.h.

Enum of event types.

Event callbacks are accompanied with an event-dependent parameter passed as an intptr_t.

Enumerator
NSAPI_EVENT_CONNECTION_STATUS_CHANGE 

network connection status has changed, the parameter = new status (nsapi_connection_status_t)

NSAPI_EVENT_CELLULAR_STATUS_BASE 

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 

cellular modem status has changed, See the enum values from enum cellular_connection_status_t in /features/cellular/framework/common/CellularCommon.h

Definition at line 83 of file nsapi_types.h.

Supported IP protocol versions of IP stack.

Definition at line 275 of file nsapi_types.h.

Enum of socket protocols.

The socket protocol specifies a particular protocol to be used with a newly created socket.

Enumerator
NSAPI_TCP 

Socket is of TCP type

NSAPI_UDP 

Socket is of UDP type

Definition at line 214 of file nsapi_types.h.

Enum of encryption types.

The security type specifies a particular security to use when connected to a WiFi network

Enumerator
NSAPI_SECURITY_NONE 

open access point

NSAPI_SECURITY_WEP 

phrase conforms to WEP

NSAPI_SECURITY_WPA 

phrase conforms to WPA

NSAPI_SECURITY_WPA2 

phrase conforms to WPA2

NSAPI_SECURITY_WPA_WPA2 

phrase conforms to WPA/WPA2

NSAPI_SECURITY_PAP 

phrase conforms to PPP authentication context

NSAPI_SECURITY_CHAP 

phrase conforms to PPP authentication context

NSAPI_SECURITY_EAP_TLS 

phrase conforms to EAP-TLS

NSAPI_SECURITY_PEAP 

phrase conforms to PEAP

NSAPI_SECURITY_UNKNOWN 

unknown/unsupported security in scan results

Definition at line 120 of file nsapi_types.h.

Enum of standardized socket option levels for use with Socket::setsockopt and getsockopt.

Enumerator
NSAPI_SOCKET 

Socket option level - see nsapi_socket_option_t for options

Definition at line 246 of file nsapi_types.h.

Enum of standardized socket option names for level NSAPI_SOCKET of Socket::setsockopt and getsockopt.

These options may not be supported on all stacks, in which case NSAPI_ERROR_UNSUPPORTED may be returned.

Enumerator
NSAPI_REUSEADDR 

Allow bind to reuse local addresses

NSAPI_KEEPALIVE 

Enables sending of keepalive messages

NSAPI_KEEPIDLE 

Sets timeout value to initiate keepalive

NSAPI_KEEPINTVL 

Sets timeout value for keepalive

NSAPI_LINGER 

Keeps close from returning until queues empty

NSAPI_SNDBUF 

Sets send buffer size

NSAPI_RCVBUF 

Sets recv buffer size

NSAPI_ADD_MEMBERSHIP 

Add membership to multicast address

NSAPI_DROP_MEMBERSHIP 

Drop membership to multicast address

NSAPI_BIND_TO_DEVICE 

Bind socket network interface name

Definition at line 258 of file nsapi_types.h.

Enum of standardized stack option levels for use with NetworkStack::setstackopt and getstackopt.

Enumerator
NSAPI_STACK 

Stack option level - see nsapi_stack_option_t for options

Definition at line 224 of file nsapi_types.h.

Enum of standardized stack option names for level NSAPI_STACK of NetworkStack::setstackopt and getstackopt.

These options may not be supported on all stacks, in which case NSAPI_ERROR_UNSUPPORTED may be returned.

Enumerator
NSAPI_IPV4_MRU 

Sets/gets size of largest IPv4 fragmented datagram to reassemble

NSAPI_IPV6_MRU 

Sets/gets size of largest IPv6 fragmented datagram to reassemble

Definition at line 236 of file nsapi_types.h.

Enum of IP address versions.

The IP version specifies the type of an IP address.

Enumerator
NSAPI_UNSPEC 

Address is unspecified

NSAPI_IPv4 

Address is IPv4

NSAPI_IPv6 

Address is IPv6

Definition at line 179 of file nsapi_types.h.

Function Documentation

NetworkStack* nsapi_create_stack ( nsapi_stack_t stack)

Convert a raw nsapi_stack_t object into a C++ NetworkStack object.

Parameters
stackReference to an object that can be converted to a stack
  • A raw nsapi_stack_t object
  • A reference to a network stack
  • A reference to a network interface
Returns
Reference to the underlying network stack
nsapi_error_t nsapi_dns_add_server ( nsapi_addr_t  addr,
const char *  interface_name 
)

Add a domain name server to list of servers to query.

Parameters
addrDestination for the host address
Returns
0 on success, negative error code on failure
nsapi_error_t nsapi_dns_query ( nsapi_stack_t stack,
const char *  host,
nsapi_addr_t addr,
nsapi_version_t  version 
)

Query a domain name server for an IP address of a given hostname.

Parameters
stackNetwork stack as target for DNS query
hostHostname to resolve
addrDestination for the host address
versionIP version to resolve
Returns
0 on success, negative error code on failure 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_addr_t addr,
nsapi_size_t  addr_count,
nsapi_version_t  version 
)

Query a domain name server for multiple IP address of a given hostname.

Parameters
stackNetwork stack as target for DNS query
hostHostname to resolve
addrArray for the host addresses
addr_countNumber of addresses allocated in the array
versionIP version to resolve
Returns
Number of addresses found on success, negative error code on failure NSAPI_ERROR_DNS_FAILURE indicates the host could not be found
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.