189 #ifndef __SL_NET_SOCK_H__ 190 #define __SL_NET_SOCK_H__ 193 #include <sys/time.h> 217 #define SLNETSOCK_MAX_CONCURRENT_SOCKETS (32) 220 #define SLNETSOCK_AF_UNSPEC (0) 221 #define SLNETSOCK_AF_INET (2) 222 #define SLNETSOCK_AF_INET6 (3) 223 #define SLNETSOCK_AF_RF (6) 224 #define SLNETSOCK_AF_PACKET (17) 227 #define SLNETSOCK_PF_UNSPEC SLNETSOCK_AF_UNSPEC 228 #define SLNETSOCK_PF_INET SLNETSOCK_AF_INET 229 #define SLNETSOCK_PF_INET6 SLNETSOCK_AF_INET6 232 #define SLNETSOCK_SOCK_STREAM (1) 233 #define SLNETSOCK_SOCK_DGRAM (2) 234 #define SLNETSOCK_SOCK_RAW (3) 235 #define SLNETSOCK_SOCK_RX_MTR (4) 236 #define SLNETSOCK_SOCK_MAC_WITH_CCA (5) 237 #define SLNETSOCK_SOCK_MAC_WITH_NO_CCA (6) 238 #define SLNETSOCK_SOCK_BRIDGE (7) 239 #define SLNETSOCK_SOCK_ROUTER (8) 242 #define SLNETSOCK_PROTO_TCP (6) 243 #define SLNETSOCK_PROTO_UDP (17) 244 #define SLNETSOCK_PROTO_RAW (255) 245 #define SLNETSOCK_PROTO_SECURE (100) 248 #define SLNETSOCK_INADDR_ANY (0) 249 #define SLNETSOCK_IN6ADDR_ANY (0) 255 #define SLNETSOCK_LVL_SOCKET (1) 256 #define SLNETSOCK_LVL_IP (2) 257 #define SLNETSOCK_LVL_PHY (3) 262 #define SLNETSOCK_OPSOCK_RCV_BUF (8) 263 #define SLNETSOCK_OPSOCK_RCV_TIMEO (20) 264 #define SLNETSOCK_OPSOCK_KEEPALIVE (9) 265 #define SLNETSOCK_OPSOCK_KEEPALIVE_TIME (37) 266 #define SLNETSOCK_OPSOCK_LINGER (13) 267 #define SLNETSOCK_OPSOCK_NON_BLOCKING (24) 268 #define SLNETSOCK_OPSOCK_NON_IP_BOUNDARY (39) 269 #define SLNETSOCK_OPSOCK_ERROR (58) 270 #define SLNETSOCK_OPSOCK_SLNETSOCKSD (59) 271 #define SLNETSOCK_OPSOCK_BROADCAST (200) 274 #define SLNETSOCK_OPIP_MULTICAST_TTL (61) 275 #define SLNETSOCK_OPIP_ADD_MEMBERSHIP (65) 276 #define SLNETSOCK_OPIP_DROP_MEMBERSHIP (66) 277 #define SLNETSOCK_OPIP_HDRINCL (67) 278 #define SLNETSOCK_OPIP_RAW_RX_NO_HEADER (68) 279 #define SLNETSOCK_OPIP_RAW_IPV6_HDRINCL (69) 280 #define SLNETSOCK_OPIPV6_ADD_MEMBERSHIP (70) 281 #define SLNETSOCK_OPIPV6_DROP_MEMBERSHIP (71) 282 #define SLNETSOCK_OPIPV6_MULTICAST_HOPS (72) 285 #define SLNETSOCK_OPPHY_CHANNEL (28) 286 #define SLNETSOCK_OPPHY_RATE (100) 287 #define SLNETSOCK_OPPHY_TX_POWER (101) 288 #define SLNETSOCK_OPPHY_NUM_FRAMES_TO_TX (102) 289 #define SLNETSOCK_OPPHY_PREAMBLE (103) 290 #define SLNETSOCK_OPPHY_TX_INHIBIT_THRESHOLD (104) 291 #define SLNETSOCK_OPPHY_TX_TIMEOUT (105) 292 #define SLNETSOCK_OPPHY_ALLOW_ACKS (106) 295 #define SLNETSOCK_TCP_NODELAY (203) 296 #define SLNETSOCK_TCP_MAXSEG (204) 297 #define SLNETSOCK_TCP_NOPUSH (205) 298 #define SLNETSOCK_TCP_NOOPT (206) 299 #define SLNETSOCK_TCP_SACKPERMITTED (207) 300 #define SLNETSOCK_TCP_MAXRTT (208) 353 #define SLNETSOCK_SEC_METHOD_SSLV3 (0) 354 #define SLNETSOCK_SEC_METHOD_TLSV1 (1) 355 #define SLNETSOCK_SEC_METHOD_TLSV1_1 (2) 356 #define SLNETSOCK_SEC_METHOD_TLSV1_2 (3) 357 #define SLNETSOCK_SEC_METHOD_SSLv3_TLSV1_2 (4) 358 #define SLNETSOCK_SEC_METHOD_DLSV1 (5) 361 #define SLNETSOCK_SEC_CIPHER_SSL_RSA_WITH_RC4_128_SHA (1 << 0) 362 #define SLNETSOCK_SEC_CIPHER_SSL_RSA_WITH_RC4_128_MD5 (1 << 1) 363 #define SLNETSOCK_SEC_CIPHER_TLS_RSA_WITH_AES_256_CBC_SHA (1 << 2) 364 #define SLNETSOCK_SEC_CIPHER_TLS_DHE_RSA_WITH_AES_256_CBC_SHA (1 << 3) 365 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (1 << 4) 366 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_RSA_WITH_RC4_128_SHA (1 << 5) 367 #define SLNETSOCK_SEC_CIPHER_TLS_RSA_WITH_AES_128_CBC_SHA256 (1 << 6) 368 #define SLNETSOCK_SEC_CIPHER_TLS_RSA_WITH_AES_256_CBC_SHA256 (1 << 7) 369 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (1 << 8) 370 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (1 << 9) 371 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (1 << 10) 372 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (1 << 11) 373 #define SLNETSOCK_SEC_CIPHER_TLS_RSA_WITH_AES_128_GCM_SHA256 (1 << 12) 374 #define SLNETSOCK_SEC_CIPHER_TLS_RSA_WITH_AES_256_GCM_SHA384 (1 << 13) 375 #define SLNETSOCK_SEC_CIPHER_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (1 << 14) 376 #define SLNETSOCK_SEC_CIPHER_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (1 << 15) 377 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (1 << 16) 378 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (1 << 17) 379 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (1 << 18) 380 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (1 << 19) 381 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (1 << 20) 382 #define SLNETSOCK_SEC_CIPHER_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (1 << 21) 383 #define SLNETSOCK_SEC_CIPHER_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (1 << 22) 384 #define SLNETSOCK_SEC_CIPHER_FULL_LIST (0xFFFFFFFF) 387 #define SLNETSOCK_SEC_ALPN_H1 (1 << 0) 388 #define SLNETSOCK_SEC_ALPN_H2 (1 << 1) 389 #define SLNETSOCK_SEC_ALPN_H2C (1 << 2) 390 #define SLNETSOCK_SEC_ALPN_H2_14 (1 << 3) 391 #define SLNETSOCK_SEC_ALPN_H2_16 (1 << 4) 392 #define SLNETSOCK_SEC_ALPN_FULL_LIST ((SLNETSOCK_SEC_ALPN_H2_16 << 1 ) - 1) 395 #define SLNETSOCK_SEC_START_SECURITY_SESSION_ONLY (1 << 0) 396 #define SLNETSOCK_SEC_BIND_CONTEXT_ONLY (1 << 1) 397 #define SLNETSOCK_SEC_IS_SERVER (1 << 2) 401 #define SLNETSOCK_CREATE_IF_STATE_ENABLE (1 << 0) 402 #define SLNETSOCK_CREATE_IF_STATUS_CONNECTED (1 << 1) 403 #define SLNETSOCK_CREATE_ALLOW_PARTIAL_MATCH (1 << 2) 407 #define SLNETSOCK_SHUT_RD (0) 408 #define SLNETSOCK_SHUT_WR (1) 409 #define SLNETSOCK_SHUT_RDWR (2) 412 #define SLNETSOCK_INET6_ADDRSTRLEN (46) 413 #define SLNETSOCK_INET_ADDRSTRLEN (16) 421 #define SLNETSOCK_MSG_OOB (0x0001) 422 #define SLNETSOCK_MSG_PEEK (0x0002) 423 #define SLNETSOCK_MSG_WAITALL (0x0004) 424 #define SLNETSOCK_MSG_DONTWAIT (0x0008) 425 #define SLNETSOCK_MSG_DONTROUTE (0x0010) 426 #define SLNETSOCK_MSG_NOSIGNAL (0x0020) 449 uint8_t s_b1,s_b2,s_b3,s_b4;
477 uint32_t noDelayEnabled;
493 uint32_t noPushEnabled;
501 uint32_t noOptEnabled;
509 uint32_t sackPermittedEnabled;
525 uint32_t keepaliveEnabled;
533 int32_t nonIpBoundaryEnabled;
549 uint32_t nonBlockingEnabled;
557 uint32_t broadcastEnabled;
567 uint16_t attribBuffLen;
597 uint8_t secureMethod;
606 uint32_t imr_interface;
615 uint32_t ipv6mr_interface;
656 uint16_t sin6_family;
658 uint32_t sin6_flowinfo;
660 uint32_t sin6_scope_id;
807 int16_t
SlNetSock_create(int16_t domain, int16_t type, int16_t protocol, uint32_t ifBitmap, int16_t flags);
1461 int32_t
SlNetSock_setOpt(int16_t sd, int16_t level, int16_t optname,
void *optval, SlNetSocklen_t optlen);
1494 int32_t
SlNetSock_getOpt(int16_t sd, int16_t level, int16_t optname,
void *optval, SlNetSocklen_t *optlen);
1525 int32_t
SlNetSock_recv(int16_t sd,
void *buf, uint32_t len, uint32_t flags);
1595 int32_t
SlNetSock_send(int16_t sd,
const void *buf, uint32_t len, uint32_t flags);
1838 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:604
struct SlNetSock_Keepalive_t SlNetSock_Keepalive_t
The SlNetSock_Keepalive_t structure is used in SLNETSOCK_OPSOCK_KEEPALIVE socket level option...
Definition: slnetsock.h:330
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:321
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:311
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:588
The SlNetSock_SackPermitted_t structure is used in SLNETSOCK_TCP_NOPUSH TCP level option...
Definition: slnetsock.h:508
Definition: slnetsock.h:312
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:681
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:532
int32_t SlNetSock_secAttribSet(SlNetSockSecAttrib_t *secAttrib, SlNetSockSecAttrib_e attribName, void *val, uint16_t len)
set a security attribute
Definition: slnetsock.h:326
uint16_t SlNetSocklen_t
The SlNetSocklen_t is used for declaring the socket length parameter.
Definition: slnetsock.h:641
Definition: slnetsock.h:331
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:646
struct SlNetSock_AddrIn6_t SlNetSock_AddrIn6_t
SlNetSock IPv6 address, Internet style.
Definition: slnetsock.h:324
struct SlNetSock_Addr_t SlNetSock_Addr_t
IpV4 socket address.
#define SLNETSOCK_MAX_CONCURRENT_SOCKETS
Definition: slnetsock.h:217
int32_t SlNetSock_init(int32_t flags)
Initialize the SlNetSock module.
Definition: slnetsock.h:323
The SlNetSock_SdSet_t structure holds the sd array for SlNetSock_select function. ...
Definition: slnetsock.h:690
Definition: slnetsock.h:325
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:440
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:437
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:540
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:476
Definition: slnetsock.h:327
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:492
Secure socket attribute context.
Definition: slnetsock.h:564
SlNetSock IPv6 address, Internet style.
Definition: slnetsock.h:655
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:307
SlNetSockTxInhibitThreshold_e
The SlNetSockTxInhibitThreshold_e enumerations is used in SLNETSOCK_OPPHY_TX_INHIBIT_THRESHOLD PHY le...
Definition: slnetsock.h:305
SlNetSock_SecAttribNode_t * SlNetSockSecAttrib_t
Secure socket attribute handler.
Definition: slnetsock.h:575
Definition: slnetsock.h:308
The SlNetSock_Keepalive_t structure is used in SLNETSOCK_OPSOCK_KEEPALIVE socket level option...
Definition: slnetsock.h:524
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:310
The SlNetSock_MaxRtt_t structure is used in SLNETSOCK_TCP_MAXRTT TCP level option.
Definition: slnetsock.h:516
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:699
struct SlNetSock_SecAttribNode_t * next
Definition: slnetsock.h:569
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:548
Secure Method structure.
Definition: slnetsock.h:596
struct SlNetSock_AddrIn_t SlNetSock_AddrIn_t
SlNetSock IPv4 address, Internet style.
Definition: slnetsock.h:309
struct SlNetSock_SecureMethod_t SlNetSock_SecureMethod_t
Secure Method structure.
SlNetSock IPv4 address, Internet style.
Definition: slnetsock.h:667
IpV6 or Ipv6 EUI64.
Definition: slnetsock.h:463
The SlNetSock_linger_t structure is used in SLNETSOCK_OPSOCK_LINGER socket level option.
Definition: slnetsock.h:622
The SlNetSock_MaxSeg_t structure is used in SLNETSOCK_TCP_MAXSEG TCP level option.
Definition: slnetsock.h:484
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:613
Definition: slnetsock.h:329
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:328
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:636
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:349
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:580
The SlNetSock_Broadcast_t structure is used in SLNETSOCK_OPSOCK_BROADCAST socket level option...
Definition: slnetsock.h:556
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:500
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.