Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

NetSock_Sel() / select() (TCP/UDP)

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

 

Arguments

sock_nbr_max

Specifies the maximum number of socket file descriptors in the file descriptor sets.

psock_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.
  • psock_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.
  • psock_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.
  • ptimeout

    Pointer to a timeout argument.

    perr

    Pointer to variable that will receive the error code from this function:

    NET_SOCK_ERR_NONE

    NET_SOCK_ERR_TIMEOUT

    NET_ERR_INIT_INCOMPLETE

    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_OS_ERR_LOCK

    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

    NetSock_Sel() is available only if either NET_CFG_TRANSPORT_LAYER_SEL is configured for TCP (see section D-12-1) and/or NET_UDP_CFG_APP_API_SEL is configured for sockets (see section D-13-1) and if NET_SOCK_CFG_SEL_EN is enabled (see section D-15-4).

    In addition, select() is available only if NET_BSD_CFG_API_EN is enabled (see section D-17-1).

    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 section C-13-33 through section C-13-37).

    See “net_sock.c NetSock_Sel() Note #3” for more details.

    • No labels