30 #ifndef _RNR_SOCKSET_H 31 #define _RNR_SOCKSET_H 34 #include <sys/select.h> 63 #define SOCK_SET_ONHOLD 0 64 #define SOCK_SET_ACTIVE 1
65 #define SOCK_SET_SELECTED 2
66 #define SOCK_SET_NUMOF 3
72 #define SOCK_SET_CHK_SET(set, ...) \ 73 CHKEXPR_INT(set, ((set) >= 0) && ((set) < SOCK_SET_NUMOF), __VA_ARGS__) 113 #endif // _RNR_SOCKSET_H int SockSetActivate(SockSet_T *pSockSet, Socket_T *pSocket, bool_t bActivateRead, bool_t bActivateWrite)
Activate Socket read/write operations in SockSet.
int SockSetAdd(SockSet_T *pSockSet, Socket_T *pSocket, bool_t bActivateRead, bool_t bActivateWrite)
Add a Socket to a SockSet.
void SockSetDelete(SockSet_T *pSockSet)
Delete an allocated SockSet.
SockSet_T * SockSetNew()
Allocate a new SockSet.
int m_sdCur
current iterator position
Socket_T * SockSetIterFirst(SockSet_T *pSockSet, int eSet, int eIO, SockSetIter_T *pIter)
Start iteration of Sockets in the given set in SockSet.
Socket_T * SockSetIterNext(SockSetIter_T *pIter)
Next Socket in iteration over the initialized socket set of SockSet.
int SockSetSelect(SockSet_T *pSockSet, struct timeval *pTimeOut)
Perform select() on SockSet's Active sets.
SockSet_T * m_pSockSet
socket set
#define C_DECLS_BEGIN
C declaration block begin in C.
Socket services declarations.
int m_eIO
which read/write subset to iterate over
fd_set m_sdSet
set to iterate over
RoadNarrows Robotics common configuration file.
#define C_DECLS_END
C declaration block end in C.
int SockSetRemove(SockSet_T *pSockSet, Socket_T *pSocket)
Remove Socket from SockSet.
int SockSetPutOnHold(SockSet_T *pSockSet, Socket_T *pSocket, bool_t bHoldRead, bool_t bHoldWrite)
Put Socket read/write operations in SockSet on hold.
int m_eSet
which socket set to iterate over