NetSock_Sel
Check if any sockets are ready for available read or write operations or error conditions.
Files
net_sock.h/net_sock.c
net_bsd.h/net_bsd.c
Prototypes
NET_SOCK_RTN_CODE NetSock_Sel(NET_SOCK_QTY sock_nbr_max, NET_SOCK_DESC *p_sock_desc_rd, NET_SOCK_DESC *p_sock_desc_wr, NET_SOCK_DESC *p_sock_desc_err, NET_SOCK_TIMEOUT *p_timeout, NET_ERR *p_err); int select ( int desc_nbr_max, struct fd_set *p_desc_rd, struct fd_set *p_desc_wr, struct fd_set *p_desc_err, struct timeval *p_timeout);
Arguments
sock_nbr_max
Specifies the maximum number of socket file descriptors in the file descriptor sets.
p_sock_desc_rd
Pointer to a set of socket file descriptors to:
- Check for available read operations.
- Returns the actual socket file descriptors ready for available read operations, if no errors;
- Returns the initial, non-modified set of socket file descriptors, on any errors;
- Returns a null-valued (i.e., zero-cleared) descriptor set, if any timeout expires.
p_sock_desc_wr
Pointer to a set of socket file descriptors to:
- Check for available read operations.
- Returns the actual socket file descriptors ready for available write operations, if no errors;
- Returns the initial, non-modified set of socket file descriptors, on any errors;
- Returns a null-valued (i.e., zero-cleared) descriptor set, if any timeout expires.
p_sock_desc_err
Pointer to a set of socket file descriptors to:
- Check for any available socket errors.
- Returns the actual socket file descriptors ready with any pending errors;
- Returns the initial, non-modified set of socket file descriptors, on any errors;
- Returns a null-valued (i.e., zero-cleared) descriptor set, if any timeout expires.
p_timeout
Pointer to a timeout argument.
p_err
Pointer to variable that will receive the error code from this function:
NET_SOCK_ERR_NONE
NET_SOCK_ERR_TIMEOUT
NET_INIT_ERR_NOT_COMPLETED
NET_SOCK_ERR_INVALID_DESC
NET_SOCK_ERR_INVALID_TIMEOUT
NET_SOCK_ERR_INVALID_SOCK
NET_SOCK_ERR_INVALID_TYPE
NET_SOCK_ERR_NOT_USED
NET_SOCK_ERR_EVENTS_NBR_MAX
NET_ERR_FAULT_LOCK_ACQUIRE
Returned Value
Returns the number of sockets ready with available operations, if successful;
NET_SOCK_BSD_RTN_CODE_TIMEOUT/0
, upon timeout;
NET_SOCK_BSD_ERR_SEL/-1
, otherwise.
Required Configuration
Available only if NET_SOCK_CFG_SEL_EN
is enabled (see section Socket Layer Configuration).
Notes / Warnings
Supports socket file descriptors only (i.e., socket ID numbers).
The descriptor macro’s is used to prepare and decode socket file descriptor sets (see macro functions in section Network Socket Functions).
See “net_sock.c NetSock_Sel()
Note #3” for more details.