Lines Matching refs:aSocket
79 static void InitRxSocket(utilsSocket *aSocket, const struct in_addr *aIp4Address, unsigned int aIfI… in InitRxSocket() argument
97 struct sockaddr_in *sockaddr = &aSocket->mGroupAddr.mSockAddr4; in InitRxSocket()
104 sockaddr->sin_port = htons(aSocket->mPortBase); in InitRxSocket()
121 struct sockaddr_in6 *sockaddr = &aSocket->mGroupAddr.mSockAddr6; in InitRxSocket()
128 sockaddr->sin6_port = htons(aSocket->mPortBase); in InitRxSocket()
144 aSocket->mRxFd = fd; in InitRxSocket()
147 if (aSocket->mRxFd == -1) in InitRxSocket()
153 void InitTxSocketIp6(utilsSocket *aSocket, const struct in6_addr *aAddress, unsigned int aIfIndex) in InitTxSocketIp6() argument
166 sockaddr.sin6_port = htons(aSocket->mPort); in InitTxSocketIp6()
181 aSocket->mTxFd = fd; in InitTxSocketIp6()
184 if (aSocket->mTxFd == -1) in InitTxSocketIp6()
190 static void InitTxSocketIp4(utilsSocket *aSocket, const struct in_addr *aAddress) in InitTxSocketIp4() argument
205 sockaddr.sin_port = htons(aSocket->mPort); in InitTxSocketIp4()
217 aSocket->mTxFd = fd; in InitTxSocketIp4()
220 if (aSocket->mTxFd == -1) in InitTxSocketIp4()
226 static bool TryInitSocketIfname(utilsSocket *aSocket, const char *aLocalInterface) in TryInitSocketIfname() argument
268 InitTxSocketIp6(aSocket, addr6ll, ifIndex); in TryInitSocketIfname()
273 InitTxSocketIp4(aSocket, addr4); in TryInitSocketIfname()
278 InitTxSocketIp6(aSocket, addr6, ifIndex); in TryInitSocketIfname()
286 InitRxSocket(aSocket, (addr6 ? NULL : addr4), ifIndex); in TryInitSocketIfname()
287 aSocket->mInitialized = true; in TryInitSocketIfname()
288 aSocket->mUseIp6 = (addr6 != NULL); in TryInitSocketIfname()
292 return aSocket->mInitialized; in TryInitSocketIfname()
295 static bool TryInitSocketIp4(utilsSocket *aSocket, const char *aLocalInterface) in TryInitSocketIp4() argument
301 InitTxSocketIp4(aSocket, &addr4); in TryInitSocketIp4()
302 InitRxSocket(aSocket, &addr4, 0); in TryInitSocketIp4()
303 aSocket->mInitialized = true; in TryInitSocketIp4()
304 aSocket->mUseIp6 = false; in TryInitSocketIp4()
307 return aSocket->mInitialized; in TryInitSocketIp4()
310 static bool TryInitSocketIp6(utilsSocket *aSocket, const char *aLocalInterface) in TryInitSocketIp6() argument
346 InitTxSocketIp6(aSocket, &addr6, ifIndex); in TryInitSocketIp6()
347 InitRxSocket(aSocket, NULL, ifIndex); in TryInitSocketIp6()
348 aSocket->mInitialized = true; in TryInitSocketIp6()
349 aSocket->mUseIp6 = true; in TryInitSocketIp6()
355 return aSocket->mInitialized; in TryInitSocketIp6()
358 void utilsInitSocket(utilsSocket *aSocket, uint16_t aPortBase) in utilsInitSocket() argument
360 aSocket->mInitialized = false; in utilsInitSocket()
361 aSocket->mPortBase = aPortBase; in utilsInitSocket()
362 aSocket->mTxFd = -1; in utilsInitSocket()
363 aSocket->mRxFd = -1; in utilsInitSocket()
364 aSocket->mPort = (uint16_t)(aSocket->mPortBase + gNodeId); in utilsInitSocket()
366 …if (!TryInitSocketIfname(aSocket, gLocalInterface) && !TryInitSocketIp4(aSocket, gLocalInterface) … in utilsInitSocket()
367 !TryInitSocketIp6(aSocket, gLocalInterface)) in utilsInitSocket()
374 void utilsDeinitSocket(utilsSocket *aSocket) in utilsDeinitSocket() argument
376 if (aSocket->mInitialized) in utilsDeinitSocket()
378 close(aSocket->mRxFd); in utilsDeinitSocket()
379 close(aSocket->mTxFd); in utilsDeinitSocket()
380 aSocket->mInitialized = false; in utilsDeinitSocket()
384 void utilsAddSocketRxFd(const utilsSocket *aSocket, fd_set *aFdSet, int *aMaxFd) in utilsAddSocketRxFd() argument
386 otEXPECT(aSocket->mInitialized); in utilsAddSocketRxFd()
387 utilsAddFdToFdSet(aSocket->mRxFd, aFdSet, aMaxFd); in utilsAddSocketRxFd()
393 void utilsAddSocketTxFd(const utilsSocket *aSocket, fd_set *aFdSet, int *aMaxFd) in utilsAddSocketTxFd() argument
395 otEXPECT(aSocket->mInitialized); in utilsAddSocketTxFd()
396 utilsAddFdToFdSet(aSocket->mTxFd, aFdSet, aMaxFd); in utilsAddSocketTxFd()
402 bool utilsCanSocketReceive(const utilsSocket *aSocket, const fd_set *aReadFdSet) in utilsCanSocketReceive() argument
404 return aSocket->mInitialized && FD_ISSET(aSocket->mRxFd, aReadFdSet); in utilsCanSocketReceive()
407 bool utilsCanSocketSend(const utilsSocket *aSocket, const fd_set *aWriteFdSet) in utilsCanSocketSend() argument
409 return aSocket->mInitialized && FD_ISSET(aSocket->mTxFd, aWriteFdSet); in utilsCanSocketSend()
412 uint16_t utilsReceiveFromSocket(const utilsSocket *aSocket, in utilsReceiveFromSocket() argument
424 socklen_t socklen = aSocket->mUseIp6 ? sizeof(sockaddr.sockaddr6) : sizeof(sockaddr.sockaddr4); in utilsReceiveFromSocket()
428 …rval = recvfrom(aSocket->mRxFd, (char *)aBuffer, aBufferSize, 0, (struct sockaddr *)&sockaddr, &so… in utilsReceiveFromSocket()
432 …uint16_t senderPort = ntohs(aSocket->mUseIp6 ? sockaddr.sockaddr6.sin6_port : sockaddr.sockaddr4.s… in utilsReceiveFromSocket()
436 *aSenderNodeId = (uint16_t)(senderPort - aSocket->mPortBase); in utilsReceiveFromSocket()
454 void utilsSendOverSocket(const utilsSocket *aSocket, const void *aBuffer, uint16_t aBufferLength) in utilsSendOverSocket() argument
459 …sendto(aSocket->mTxFd, (const char *)aBuffer, aBufferLength, 0, (const struct sockaddr *)&aSocket-… in utilsSendOverSocket()
460 …(aSocket->mUseIp6 ? sizeof(aSocket->mGroupAddr.mSockAddr6) : sizeof(aSocket->mGroupAddr.mSockAddr4… in utilsSendOverSocket()