Silicon Labs socket API (deprecated)#
Silicon Labs socket API is deprecated. This component is provided as a temporary solution to maintain a compatility with v1.7 and older.
Functions#
Open a socket.
Close a socket.
Write data to an unconnected socket.
Set a TCP socket to listening state.
Accept a pending connection request on a TCP socket.
Initiate a connection from a socket to a remote peer socket.
Bind a socket to a specific local address and/or a port number.
Write data to a connected socket.
Read data from a socket.
Set a socket option.
Get a socket option.
Function Documentation#
sl_wisun_open_socket#
sl_status_t sl_wisun_open_socket (sl_wisun_socket_protocol_t protocol, sl_wisun_socket_id_t * socket_id)
Open a socket.
[in] | protocol | Protocol type of the socket |
[out] | socket_id | ID of the opened socket |
Returns
SL_STATUS_OK if successful, an error code otherwise
This function opens a socket. Up to 10 sockets may be open at any given time, including those opened implicitly via sl_wisun_accept_on_socket().
DeprecatedThis function will be removed in the future versions of the Wi-SUN stack. See socket() for a replacement.
55
of file /mnt/raid/workspaces/ws.XvhINl85J/overlay/gsdk/protocol/wisun/plugin/sl_wisun_legacy_socket_wrapper.h
sl_wisun_close_socket#
sl_status_t sl_wisun_close_socket (sl_wisun_socket_id_t socket_id)
Close a socket.
[in] | socket_id | ID of the socket |
Returns
SL_STATUS_OK if successful, an error code otherwise
DeprecatedThis function will be removed in the future versions of the Wi-SUN stack. See close() for a replacement.
67
of file /mnt/raid/workspaces/ws.XvhINl85J/overlay/gsdk/protocol/wisun/plugin/sl_wisun_legacy_socket_wrapper.h
sl_wisun_sendto_on_socket#
sl_status_t sl_wisun_sendto_on_socket (sl_wisun_socket_id_t socket_id, const sl_wisun_ip_address_t * remote_address, uint16_t remote_port, uint16_t data_length, const uint8_t * data)
Write data to an unconnected socket.
[in] | socket_id | ID of the socket |
[in] | remote_address | IP address of the remote peer |
[in] | remote_port | Port number of the remote peer |
[in] | data_length | Amount of data to write |
[in] | data | Pointer to the data |
Returns
SL_STATUS_OK if successful, an error code otherwise
This function initiates a data transmission to a remote peer and can only be used on an unconnected UDP or ICMP socket. Completion of the transmission is indicated with a SL_WISUN_MSG_SOCKET_DATA_SENT_IND_ID event. The function takes a copy of the data, so the caller may free the resource when the function returns.
DeprecatedThis function will be removed in the future versions of the Wi-SUN stack. See sendto() for a replacement.
88
of file /mnt/raid/workspaces/ws.XvhINl85J/overlay/gsdk/protocol/wisun/plugin/sl_wisun_legacy_socket_wrapper.h
sl_wisun_listen_on_socket#
sl_status_t sl_wisun_listen_on_socket (sl_wisun_socket_id_t socket_id)
Set a TCP socket to listening state.
[in] | socket_id | ID of the socket |
Returns
SL_STATUS_OK if successful, an error code otherwise
This function sets a TCP socket to listening state, allowing it to act as a server socket, i.e., to receive connection requests from clients. Connection requests are indicated with SL_WISUN_MSG_SOCKET_CONNECTION_AVAILABLE_IND_ID events and accepted using sl_wisun_accept_on_socket(). This function can only be used on an unconnected TCP socket.
DeprecatedThis function will be removed in the future versions of the Wi-SUN stack. See listen() for a replacement.
110
of file /mnt/raid/workspaces/ws.XvhINl85J/overlay/gsdk/protocol/wisun/plugin/sl_wisun_legacy_socket_wrapper.h
sl_wisun_accept_on_socket#
sl_status_t sl_wisun_accept_on_socket (sl_wisun_socket_id_t socket_id, sl_wisun_socket_id_t * remote_socket_id, sl_wisun_ip_address_t * remote_address, uint16_t * remote_port)
Accept a pending connection request on a TCP socket.
[in] | socket_id | ID of the socket on listening state |
[out] | remote_socket_id | ID of the new connected socket |
[out] | remote_address | IP address of the remote peer |
[out] | remote_port | Port number of the remote peer |
Returns
SL_STATUS_OK if successful, an error code otherwise
This function accepts a pending connection request from a remote peer and creates a new connected TCP socket for the connection. To decline a connection request, the request must be accepted and then closed using sl_wisun_close_socket(). The function can only be used on a TCP socket in listening state.
DeprecatedThis function will be removed in the future versions of the Wi-SUN stack. See accept() for a replacement.
130
of file /mnt/raid/workspaces/ws.XvhINl85J/overlay/gsdk/protocol/wisun/plugin/sl_wisun_legacy_socket_wrapper.h
sl_wisun_connect_socket#
sl_status_t sl_wisun_connect_socket (sl_wisun_socket_id_t socket_id, const sl_wisun_ip_address_t * remote_address, uint16_t remote_port)
Initiate a connection from a socket to a remote peer socket.
[in] | socket_id | ID of the socket |
[in] | remote_address | IP address of the remote peer |
[in] | remote_port | Port number of the remote peer |
Returns
SL_STATUS_OK if successful, an error code otherwise
This function initiates a connection from a local socket to to a remote peer socket. The result of the connection is indicated with a SL_WISUN_MSG_SOCKET_CONNECTED_IND_ID event. Connecting a socket is mandatory for TCP client sockets but may be also used on other types of sockets. A connected socket can only receive and transmit data with the designated peer. This function can only be used on an unconnected TCP or UDP socket.
DeprecatedThis function will be removed in the future versions of the Wi-SUN stack. See connect() for a replacement.
154
of file /mnt/raid/workspaces/ws.XvhINl85J/overlay/gsdk/protocol/wisun/plugin/sl_wisun_legacy_socket_wrapper.h
sl_wisun_bind_socket#
sl_status_t sl_wisun_bind_socket (sl_wisun_socket_id_t socket_id, const sl_wisun_ip_address_t * local_address, uint16_t local_port)
Bind a socket to a specific local address and/or a port number.
[in] | socket_id | ID of the socket |
[in] | local_address | Local IP address to use on the socket. NULL if not bound. |
[in] | local_port | Local port number to use on the socket. Zero if not bound. |
Returns
SL_STATUS_OK if successful, an error code otherwise
This function binds the local address and/or the port of a socket. When the local address is bound, the socket will only accept traffic sent to the specified address and the transmitted packets will use the address as the source address. If not bound, the socket will accept data sent to any valid address of the device. The source address is selected by the stack. Binding the local port number sets the port number for received and transmitted packets. If not bound, the stack will select a port number automatically. This function can only be used on an unconnected TCP or UDP socket. Once bound to a specific address and/or port, the value cannot be changed.
DeprecatedThis function will be removed in the future versions of the Wi-SUN stack. See bind() for a replacement.
180
of file /mnt/raid/workspaces/ws.XvhINl85J/overlay/gsdk/protocol/wisun/plugin/sl_wisun_legacy_socket_wrapper.h
sl_wisun_send_on_socket#
sl_status_t sl_wisun_send_on_socket (sl_wisun_socket_id_t socket_id, uint16_t data_length, const uint8_t * data)
Write data to a connected socket.
[in] | socket_id | ID of the socket |
[in] | data_length | Amount of data to write |
[in] | data | Pointer to the data |
Returns
SL_STATUS_OK if successful, an error code otherwise
This function initiates transmission of data to a connected remote peer and can only be used on a connected socket. Completion of the transmission is indicated with a SL_WISUN_MSG_SOCKET_DATA_SENT_IND_ID event. The function takes a copy of the data, so the caller may free the resource when the function returns.
DeprecatedThis function will be removed in the future versions of the Wi-SUN stack. See send() for a replacement.
201
of file /mnt/raid/workspaces/ws.XvhINl85J/overlay/gsdk/protocol/wisun/plugin/sl_wisun_legacy_socket_wrapper.h
sl_wisun_receive_on_socket#
sl_status_t sl_wisun_receive_on_socket (sl_wisun_socket_id_t socket_id, sl_wisun_ip_address_t * remote_address, uint16_t * remote_port, uint16_t * data_length, uint8_t * data)
Read data from a socket.
[in] | socket_id | ID of the socket |
[out] | remote_address | IP address of the remote peer |
[out] | remote_port | Port number of the remote peer |
[inout] | data_length | Amount of data to read on input, amount of data read on output |
[in] | data | Pointer to where the read data is stored |
Returns
SL_STATUS_OK if successful, an error code otherwise
This function reads buffered data from a socket. When reading data from a UDP or ICMP socket, the entire packet must be read. Any data left unread is discarded after this call. TCP sockets allow reading only a part of the buffered data.
DeprecatedThis function will be removed in the future versions of the Wi-SUN stack. See recvfrom() for a replacement.
223
of file /mnt/raid/workspaces/ws.XvhINl85J/overlay/gsdk/protocol/wisun/plugin/sl_wisun_legacy_socket_wrapper.h
sl_wisun_set_socket_option#
sl_status_t sl_wisun_set_socket_option (sl_wisun_socket_id_t socket_id, sl_wisun_socket_option_t option, const sl_wisun_socket_option_data_t * option_data)
Set a socket option.
[in] | socket_id | ID of the socket |
[in] | option | Socket option to set
|
[in] | option_data | Socket option specific data |
Returns
SL_STATUS_OK if successful, an error code otherwise
DeprecatedThis function will be removed in the future versions of the Wi-SUN stack. See setsockopt() for a replacement.
246
of file /mnt/raid/workspaces/ws.XvhINl85J/overlay/gsdk/protocol/wisun/plugin/sl_wisun_legacy_socket_wrapper.h
sl_wisun_get_socket_option#
sl_status_t sl_wisun_get_socket_option (sl_wisun_socket_id_t socket_id, sl_wisun_socket_option_t option, sl_wisun_socket_option_data_t * option_data)
Get a socket option.
[in] | socket_id | ID of the socket |
[in] | option | Socket option to get
|
[out] | option_data | Socket option specific data |
Returns
SL_STATUS_OK if successful, an error code otherwise
This function retrieves the value of a socket option.
DeprecatedThis function will be removed in the future versions of the Wi-SUN stack. See getsockopt() for a replacement.
264
of file /mnt/raid/workspaces/ws.XvhINl85J/overlay/gsdk/protocol/wisun/plugin/sl_wisun_legacy_socket_wrapper.h