190 #ifndef __SL_NET_SOCK_H__ 191 #define __SL_NET_SOCK_H__ 194 #include <sys/time.h> 218 #define SLNETSOCK_MAX_CONCURRENT_SOCKETS (32) 221 #define SLNETSOCK_AF_UNSPEC (0) 222 #define SLNETSOCK_AF_INET (2) 223 #define SLNETSOCK_AF_INET6 (3) 224 #define SLNETSOCK_AF_RF (6) 225 #define SLNETSOCK_AF_PACKET (17) 228 #define SLNETSOCK_PF_UNSPEC SLNETSOCK_AF_UNSPEC 229 #define SLNETSOCK_PF_INET SLNETSOCK_AF_INET 230 #define SLNETSOCK_PF_INET6 SLNETSOCK_AF_INET6 233 #define SLNETSOCK_SOCK_STREAM (1) 234 #define SLNETSOCK_SOCK_DGRAM (2) 235 #define SLNETSOCK_SOCK_RAW (3) 236 #define SLNETSOCK_SOCK_RX_MTR (4) 237 #define SLNETSOCK_SOCK_MAC_WITH_CCA (5) 238 #define SLNETSOCK_SOCK_MAC_WITH_NO_CCA (6) 239 #define SLNETSOCK_SOCK_BRIDGE (7) 240 #define SLNETSOCK_SOCK_ROUTER (8) 243 #define SLNETSOCK_PROTO_TCP (6) 244 #define SLNETSOCK_PROTO_UDP (17) 245 #define SLNETSOCK_PROTO_RAW (255) 246 #define SLNETSOCK_PROTO_SECURE (100) 249 #define SLNETSOCK_INADDR_ANY (0) 250 #define SLNETSOCK_IN6ADDR_ANY (0) 256 #define SLNETSOCK_LVL_SOCKET (1) 257 #define SLNETSOCK_LVL_IP (2) 258 #define SLNETSOCK_LVL_PHY (3) 263 #define SLNETSOCK_OPSOCK_RCV_BUF (8) 264 #define SLNETSOCK_OPSOCK_RCV_TIMEO (20) 265 #define SLNETSOCK_OPSOCK_KEEPALIVE (9) 266 #define SLNETSOCK_OPSOCK_KEEPALIVE_TIME (37) 267 #define SLNETSOCK_OPSOCK_LINGER (13) 268 #define SLNETSOCK_OPSOCK_NON_BLOCKING (24) 269 #define SLNETSOCK_OPSOCK_NON_IP_BOUNDARY (39) 270 #define SLNETSOCK_OPSOCK_ERROR (58) 271 #define SLNETSOCK_OPSOCK_SLNETSOCKSD (59) 272 #define SLNETSOCK_OPSOCK_BROADCAST (200) 275 #define SLNETSOCK_OPIP_MULTICAST_TTL (61) 276 #define SLNETSOCK_OPIP_ADD_MEMBERSHIP (65) 277 #define SLNETSOCK_OPIP_DROP_MEMBERSHIP (66) 278 #define SLNETSOCK_OPIP_HDRINCL (67) 279 #define SLNETSOCK_OPIP_RAW_RX_NO_HEADER (68) 280 #define SLNETSOCK_OPIP_RAW_IPV6_HDRINCL (69) 281 #define SLNETSOCK_OPIPV6_ADD_MEMBERSHIP (70) 282 #define SLNETSOCK_OPIPV6_DROP_MEMBERSHIP (71) 283 #define SLNETSOCK_OPIPV6_MULTICAST_HOPS (72) 286 #define SLNETSOCK_OPPHY_CHANNEL (28) 287 #define SLNETSOCK_OPPHY_RATE (100) 288 #define SLNETSOCK_OPPHY_TX_POWER (101) 289 #define SLNETSOCK_OPPHY_NUM_FRAMES_TO_TX (102) 290 #define SLNETSOCK_OPPHY_PREAMBLE (103) 291 #define SLNETSOCK_OPPHY_TX_INHIBIT_THRESHOLD (104) 292 #define SLNETSOCK_OPPHY_TX_TIMEOUT (105) 293 #define SLNETSOCK_OPPHY_ALLOW_ACKS (106) 296 #define SLNETSOCK_TCP_NODELAY (203) 297 #define SLNETSOCK_TCP_MAXSEG (204) 298 #define SLNETSOCK_TCP_NOPUSH (205) 299 #define SLNETSOCK_TCP_NOOPT (206) 300 #define SLNETSOCK_TCP_SACKPERMITTED (207) 301 #define SLNETSOCK_TCP_MAXRTT (208) 354 #define SLNETSOCK_SEC_METHOD_SSLV3 (0) 355 #define SLNETSOCK_SEC_METHOD_TLSV1 (1) 356 #define SLNETSOCK_SEC_METHOD_TLSV1_1 (2) 357 #define SLNETSOCK_SEC_METHOD_TLSV1_2 (3) 358 #define SLNETSOCK_SEC_METHOD_SSLv3_TLSV1_2 (4) 359 #define SLNETSOCK_SEC_METHOD_DLSV1 (5) 362 #define SLNETSOCK_SEC_CIPHER_SSL_RSA_WITH_RC4_128_SHA (1 << 0) 363 #define SLNETSOCK_SEC_CIPHER_SSL_RSA_WITH_RC4_128_MD5 (1 << 1) 364 #define SLNETSOCK_SEC_CIPHER_TLS_RSA_WITH_AES_256_CBC_SHA (1 << 2) 365 #define SLNETSOCK_SEC_CIPHER_TLS_DHE_RSA_WITH_AES_256_CBC_SHA (1 << 3) 366 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (1 << 4) 367 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_RSA_WITH_RC4_128_SHA (1 << 5) 368 #define SLNETSOCK_SEC_CIPHER_TLS_RSA_WITH_AES_128_CBC_SHA256 (1 << 6) 369 #define SLNETSOCK_SEC_CIPHER_TLS_RSA_WITH_AES_256_CBC_SHA256 (1 << 7) 370 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (1 << 8) 371 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (1 << 9) 372 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (1 << 10) 373 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (1 << 11) 374 #define SLNETSOCK_SEC_CIPHER_TLS_RSA_WITH_AES_128_GCM_SHA256 (1 << 12) 375 #define SLNETSOCK_SEC_CIPHER_TLS_RSA_WITH_AES_256_GCM_SHA384 (1 << 13) 376 #define SLNETSOCK_SEC_CIPHER_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (1 << 14) 377 #define SLNETSOCK_SEC_CIPHER_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (1 << 15) 378 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (1 << 16) 379 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (1 << 17) 380 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (1 << 18) 381 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (1 << 19) 382 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (1 << 20) 383 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (1 << 21) 384 #define SLNETSOCK_SEC_CIPHER_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (1 << 22) 385 #define SLNETSOCK_SEC_CIPHER_FULL_LIST (0xFFFFFFFF) 388 #define SLNETSOCK_SEC_ALPN_H1 (1 << 0) 389 #define SLNETSOCK_SEC_ALPN_H2 (1 << 1) 390 #define SLNETSOCK_SEC_ALPN_H2C (1 << 2) 391 #define SLNETSOCK_SEC_ALPN_H2_14 (1 << 3) 392 #define SLNETSOCK_SEC_ALPN_H2_16 (1 << 4) 393 #define SLNETSOCK_SEC_ALPN_FULL_LIST ((SLNETSOCK_SEC_ALPN_H2_16 << 1 ) - 1) 396 #define SLNETSOCK_SEC_START_SECURITY_SESSION_ONLY (1 << 0) 397 #define SLNETSOCK_SEC_BIND_CONTEXT_ONLY (1 << 1) 398 #define SLNETSOCK_SEC_IS_SERVER (1 << 2) 402 #define SLNETSOCK_CREATE_IF_STATE_ENABLE (1 << 0) 403 #define SLNETSOCK_CREATE_IF_STATUS_CONNECTED (1 << 1) 404 #define SLNETSOCK_CREATE_ALLOW_PARTIAL_MATCH (1 << 2) 408 #define SLNETSOCK_SHUT_RD (0) 409 #define SLNETSOCK_SHUT_WR (1) 410 #define SLNETSOCK_SHUT_RDWR (2) 413 #define SLNETSOCK_INET6_ADDRSTRLEN (46) 414 #define SLNETSOCK_INET_ADDRSTRLEN (16) 422 #define SLNETSOCK_MSG_OOB (0x0001) 423 #define SLNETSOCK_MSG_PEEK (0x0002) 424 #define SLNETSOCK_MSG_WAITALL (0x0004) 425 #define SLNETSOCK_MSG_DONTWAIT (0x0008) 426 #define SLNETSOCK_MSG_DONTROUTE (0x0010) 427 #define SLNETSOCK_MSG_NOSIGNAL (0x0020) 450 uint8_t s_b1,s_b2,s_b3,s_b4;
478 uint32_t noDelayEnabled;
494 uint32_t noPushEnabled;
502 uint32_t noOptEnabled;
510 uint32_t sackPermittedEnabled;
526 uint32_t keepaliveEnabled;
534 int32_t nonIpBoundaryEnabled;
550 uint32_t nonBlockingEnabled;
558 uint32_t broadcastEnabled;
568 uint16_t attribBuffLen;
598 uint8_t secureMethod;
607 uint32_t imr_interface;
616 uint32_t ipv6mr_interface;
657 uint16_t sin6_family;
659 uint32_t sin6_flowinfo;
661 uint32_t sin6_scope_id;
808 int16_t
SlNetSock_create(int16_t domain, int16_t type, int16_t protocol, uint32_t ifBitmap, int16_t flags);
1466 int32_t
SlNetSock_setOpt(int16_t sd, int16_t level, int16_t optname,
void *optval, SlNetSocklen_t optlen);
1499 int32_t
SlNetSock_getOpt(int16_t sd, int16_t level, int16_t optname,
void *optval, SlNetSocklen_t *optlen);
1530 int32_t
SlNetSock_recv(int16_t sd,
void *buf, uint32_t len, uint32_t flags);
1600 int32_t
SlNetSock_send(int16_t sd,
const void *buf, uint32_t len, uint32_t flags);
1846 int32_t
SlNetSock_startSec(int16_t sd, SlNetSockSecAttrib_t *secAttrib, uint8_t flags);
The SlNetSock_IpMreq_t structure is used in SLNETSOCK_OPIP_ADD_MEMBERSHIP and SLNETSOCK_OPIP_DROP_MEM...
Definition: slnetsock.h:605
struct SlNetSock_Keepalive_t SlNetSock_Keepalive_t
The SlNetSock_Keepalive_t structure is used in SLNETSOCK_OPSOCK_KEEPALIVE socket level option...
Definition: slnetsock.h:331
int32_t SlNetSock_sdsSet(int16_t sd, SlNetSock_SdSet_t *sdset)
SlNetSock_select's SlNetSock_SdSet_t SET function.
struct SlNetSock_MaxRtt_t SlNetSock_MaxRtt_t
The SlNetSock_MaxRtt_t structure is used in SLNETSOCK_TCP_MAXRTT TCP level option.
SlNetSockSecAttrib_e
The SlNetSockSecAttrib_e enumerations are used to declare security attribute objects in SlNetSock_sec...
Definition: slnetsock.h:322
struct SlNetSock_Broadcast_t SlNetSock_Broadcast_t
The SlNetSock_Broadcast_t structure is used in SLNETSOCK_OPSOCK_BROADCAST socket level option...
int32_t SlNetSock_startSec(int16_t sd, SlNetSockSecAttrib_t *secAttrib, uint8_t flags)
Start a security session on an opened socket.
int32_t SlNetSock_recvFrom(int16_t sd, void *buf, uint32_t len, uint32_t flags, SlNetSock_Addr_t *from, SlNetSocklen_t *fromlen)
Read data from socket.
Definition: slnetsock.h:312
struct SlNetSock_IpMreq_t SlNetSock_IpMreq_t
The SlNetSock_IpMreq_t structure is used in SLNETSOCK_OPIP_ADD_MEMBERSHIP and SLNETSOCK_OPIP_DROP_MEM...
struct SlNetSock_SecureALPN_t SlNetSock_SecureALPN_t
Secure ALPN structure.
Secure Mask structure.
Definition: slnetsock.h:589
The SlNetSock_SackPermitted_t structure is used in SLNETSOCK_TCP_NOPUSH TCP level option...
Definition: slnetsock.h:509
Definition: slnetsock.h:313
int32_t SlNetSock_sdsIsSet(int16_t sd, SlNetSock_SdSet_t *sdset)
SlNetSock_select's SlNetSock_SdSet_t ISSET function.
Generic socket address type to hold either IPv4 or IPv6 address.
Definition: slnetsock.h:682
int32_t SlNetSock_bind(int16_t sd, const SlNetSock_Addr_t *addr, int16_t addrlen)
Assign a name to a socket.
int32_t SlNetSock_getOpt(int16_t sd, int16_t level, int16_t optname, void *optval, SlNetSocklen_t *optlen)
Get socket options.
int32_t SlNetSock_close(int16_t sd)
Gracefully close socket.
int32_t SlNetSock_shutdown(int16_t sd, int16_t how)
Shutting down parts of a full-duplex connection.
int32_t SlNetSock_getIfID(uint16_t sd)
Get interface ID from socket descriptor (sd)
int32_t SlNetSock_recv(int16_t sd, void *buf, uint32_t len, uint32_t flags)
Read data from TCP socket.
The SlNetSock_NonIpBoundary_t structure is used in SLNETSOCK_OPSOCK_NON_IP_BOUNDARY socket level opti...
Definition: slnetsock.h:533
int32_t SlNetSock_secAttribSet(SlNetSockSecAttrib_t *secAttrib, SlNetSockSecAttrib_e attribName, void *val, uint16_t len)
set a security attribute
Definition: slnetsock.h:327
uint16_t SlNetSocklen_t
The SlNetSocklen_t is used for declaring the socket length parameter.
Definition: slnetsock.h:642
Definition: slnetsock.h:332
int16_t SlNetSock_create(int16_t domain, int16_t type, int16_t protocol, uint32_t ifBitmap, int16_t flags)
Create an endpoint for communication.
IpV4 socket address.
Definition: slnetsock.h:647
struct SlNetSock_AddrIn6_t SlNetSock_AddrIn6_t
SlNetSock IPv6 address, Internet style.
Definition: slnetsock.h:325
struct SlNetSock_Addr_t SlNetSock_Addr_t
IpV4 socket address.
#define SLNETSOCK_MAX_CONCURRENT_SOCKETS
Definition: slnetsock.h:218
int32_t SlNetSock_init(int32_t flags)
Initialize the SlNetSock module.
Definition: slnetsock.h:324
The SlNetSock_SdSet_t structure holds the sd array for SlNetSock_select function. ...
Definition: slnetsock.h:691
Definition: slnetsock.h:326
struct SlNetSock_SockAddrStorage_t SlNetSock_SockAddrStorage_t
Generic socket address type to hold either IPv4 or IPv6 address.
int16_t SlNetSock_accept(int16_t sd, SlNetSock_Addr_t *addr, SlNetSocklen_t *addrlen)
Accept a connection on a socket.
uint32_t s_addr
Definition: slnetsock.h:441
int32_t SlNetSock_sdsClr(int16_t sd, SlNetSock_SdSet_t *sdset)
SlNetSock_select's SlNetSock_SdSet_t CLR function.
struct SlNetSock_InAddr_t SlNetSock_InAddr_t
Internet address.
int32_t SlNetSock_getPeerName(int16_t sd, SlNetSock_Addr_t *addr, SlNetSocklen_t *addrlen)
Return address info about the remote side of the connection.
Internet address.
Definition: slnetsock.h:438
struct SlNetSock_NoOpt_t SlNetSock_NoOpt_t
The SlNetSock_NoOpt_t structure is used in SLNETSOCK_TCP_NOOPT TCP level option.
struct SlNetSock_SackPermitted_t SlNetSock_SackPermitted_t
The SlNetSock_SackPermitted_t structure is used in SLNETSOCK_TCP_NOPUSH TCP level option...
The SlNetSock_Winsize_t structure is used in SLNETSOCK_OPSOCK_RCV_BUF socket level option...
Definition: slnetsock.h:541
int32_t SlNetSock_setOpt(int16_t sd, int16_t level, int16_t optname, void *optval, SlNetSocklen_t optlen)
Set socket options.
The SlNetSock_NoDelay_t structure is used in SLNETSOCK_TCP_NODELAY TCP level option.
Definition: slnetsock.h:477
Definition: slnetsock.h:328
struct SlNetSock_Nonblocking_t SlNetSock_Nonblocking_t
The SlNetSock_Nonblocking_t structure is used in SLNETSOCK_OPSOCK_NON_BLOCKING socket level option...
struct SlNetSock_TransceiverRxOverHead_t SlNetSock_TransceiverRxOverHead_t
The SlNetSock_TransceiverRxOverHead_t structure holds the data for Rx transceiver mode using a raw so...
The SlNetSock_NoPush_t structure is used in SLNETSOCK_TCP_NOPUSH TCP level option.
Definition: slnetsock.h:493
Secure socket attribute context.
Definition: slnetsock.h:565
SlNetSock IPv6 address, Internet style.
Definition: slnetsock.h:656
int32_t SlNetSock_sdsClrAll(SlNetSock_SdSet_t *sdset)
SlNetSock_select's SlNetSock_SdSet_t ZERO function.
struct SlNetSock_NoPush_t SlNetSock_NoPush_t
The SlNetSock_NoPush_t structure is used in SLNETSOCK_TCP_NOPUSH TCP level option.
struct SlNetSock_IpV6Mreq_t SlNetSock_IpV6Mreq_t
The SlNetSock_IpV6Mreq_t structure is used in SLNETSOCK_OPIPV6_ADD_MEMBERSHIP and SLNETSOCK_OPIPV6_DR...
Definition: slnetsock.h:308
SlNetSockTxInhibitThreshold_e
The SlNetSockTxInhibitThreshold_e enumerations is used in SLNETSOCK_OPPHY_TX_INHIBIT_THRESHOLD PHY le...
Definition: slnetsock.h:306
SlNetSock_SecAttribNode_t * SlNetSockSecAttrib_t
Secure socket attribute handler.
Definition: slnetsock.h:576
Definition: slnetsock.h:309
The SlNetSock_Keepalive_t structure is used in SLNETSOCK_OPSOCK_KEEPALIVE socket level option...
Definition: slnetsock.h:525
struct SlNetSock_SecureMask_t SlNetSock_SecureMask_t
Secure Mask structure.
struct SlNetSock_linger_t SlNetSock_linger_t
The SlNetSock_linger_t structure is used in SLNETSOCK_OPSOCK_LINGER socket level option.
Definition: slnetsock.h:311
The SlNetSock_MaxRtt_t structure is used in SLNETSOCK_TCP_MAXRTT TCP level option.
Definition: slnetsock.h:517
int32_t SlNetSock_connect(int16_t sd, const SlNetSock_Addr_t *addr, SlNetSocklen_t addrlen)
Initiate a connection on a socket.
The SlNetSock_TransceiverRxOverHead_t structure holds the data for Rx transceiver mode using a raw so...
Definition: slnetsock.h:700
struct SlNetSock_SecAttribNode_t * next
Definition: slnetsock.h:570
struct SlNetSock_In6Addr_t SlNetSock_In6Addr_t
IpV6 or Ipv6 EUI64.
struct SlNetSock_SecAttribNode_t SlNetSock_SecAttribNode_t
Secure socket attribute context.
The SlNetSock_Nonblocking_t structure is used in SLNETSOCK_OPSOCK_NON_BLOCKING socket level option...
Definition: slnetsock.h:549
Secure Method structure.
Definition: slnetsock.h:597
struct SlNetSock_AddrIn_t SlNetSock_AddrIn_t
SlNetSock IPv4 address, Internet style.
Definition: slnetsock.h:310
struct SlNetSock_SecureMethod_t SlNetSock_SecureMethod_t
Secure Method structure.
SlNetSock IPv4 address, Internet style.
Definition: slnetsock.h:668
IpV6 or Ipv6 EUI64.
Definition: slnetsock.h:464
The SlNetSock_linger_t structure is used in SLNETSOCK_OPSOCK_LINGER socket level option.
Definition: slnetsock.h:623
The SlNetSock_MaxSeg_t structure is used in SLNETSOCK_TCP_MAXSEG TCP level option.
Definition: slnetsock.h:485
int32_t SlNetSock_listen(int16_t sd, int16_t backlog)
Listen for connections on a socket.
int32_t SlNetSock_sendTo(int16_t sd, const void *buf, uint32_t len, uint32_t flags, const SlNetSock_Addr_t *to, SlNetSocklen_t tolen)
Write data to socket.
The SlNetSock_IpV6Mreq_t structure is used in SLNETSOCK_OPIPV6_ADD_MEMBERSHIP and SLNETSOCK_OPIPV6_DR...
Definition: slnetsock.h:614
Definition: slnetsock.h:330
int32_t SlNetSock_secAttribDelete(SlNetSockSecAttrib_t *secAttrib)
Deletes a security attributes object.
struct SlNetSock_NoDelay_t SlNetSock_NoDelay_t
The SlNetSock_NoDelay_t structure is used in SLNETSOCK_TCP_NODELAY TCP level option.
Definition: slnetsock.h:329
SlNetSockSecAttrib_t * SlNetSock_secAttribCreate(void)
Creates a security attributes object.
struct SlNetSock_MaxSeg_t SlNetSock_MaxSeg_t
The SlNetSock_MaxSeg_t structure is used in SLNETSOCK_TCP_MAXSEG TCP level option.
struct timeval SlNetSock_Timeval_t
The SlNetSock_Timeval_t structure is used in SLNETSOCK_OPSOCK_RCV_TIMEO socket level option...
Definition: slnetsock.h:637
int32_t SlNetSock_send(int16_t sd, const void *buf, uint32_t len, uint32_t flags)
Write data to TCP socket.
struct SlNetSock_NonIpBoundary_t SlNetSock_NonIpBoundary_t
The SlNetSock_NonIpBoundary_t structure is used in SLNETSOCK_OPSOCK_NON_IP_BOUNDARY socket level opti...
Definition: slnetsock.h:350
struct SlNetSock_Winsize_t SlNetSock_Winsize_t
The SlNetSock_Winsize_t structure is used in SLNETSOCK_OPSOCK_RCV_BUF socket level option...
Secure ALPN structure.
Definition: slnetsock.h:581
The SlNetSock_Broadcast_t structure is used in SLNETSOCK_OPSOCK_BROADCAST socket level option...
Definition: slnetsock.h:557
int32_t SlNetSock_getSockName(int16_t sd, SlNetSock_Addr_t *addr, SlNetSocklen_t *addrlen)
Get local address info by socket descriptor.
The SlNetSock_NoOpt_t structure is used in SLNETSOCK_TCP_NOOPT TCP level option.
Definition: slnetsock.h:501
struct SlNetSock_SdSet_t SlNetSock_SdSet_t
The SlNetSock_SdSet_t structure holds the sd array for SlNetSock_select function. ...
int32_t SlNetSock_select(int16_t nsds, SlNetSock_SdSet_t *readsds, SlNetSock_SdSet_t *writesds, SlNetSock_SdSet_t *exceptsds, SlNetSock_Timeval_t *timeout)
Monitor socket activity.