+uint8_t processPolling(sctpSockPollParams *pollParams, CuSctpAssocCb *assocCb, uint32_t *timeoutPtr, CmInetMemInfo *memInfo)
+{
+ uint16_t ret = ROK;
+ CM_INET_FD_SET(&assocCb->sockFd, &pollParams->readFd);
+ ret = cmInetSelect(&pollParams->readFd, NULLP, timeoutPtr, &pollParams->numFd);
+ if(CM_INET_FD_ISSET(&assocCb->sockFd, &pollParams->readFd))
+ {
+ CM_INET_FD_CLR(&assocCb->sockFd, &pollParams->readFd);
+ ret = cmInetSctpRecvMsg(&assocCb->sockFd, &pollParams->addr, &pollParams->port, memInfo, &pollParams->mBuf, \
+ &pollParams->bufLen, &pollParams->info, &pollParams->flag, &pollParams->ntfy);
+ if(assocCb->connUp & (ret != ROK))
+ {
+ assocCb->bReadFdSet = RFAILED;
+ }
+ else
+ {
+ if(((pollParams->flag & CM_INET_SCTP_MSG_NOTIFICATION) != 0) && (ret == ROK))
+ {
+ ret = sctpNtfyHdlr(assocCb, &pollParams->ntfy);
+ if(ret != ROK)
+ {
+ DU_LOG("\nERROR --> SCTP : Failed to process sctp notify msg\n");
+ }
+ }
+ else if(assocCb->connUp && assocCb->intf == F1_INTERFACE)
+ {
+ F1APMsgHdlr(&assocCb->destId, pollParams->mBuf);
+ ODU_PUT_MSG_BUF(pollParams->mBuf);
+ }
+ else if(assocCb->connUp && assocCb->intf == XN_INTERFACE)
+ {
+ DU_LOG("\nDEBUG --> SCTP : Received message at XN interface");
+ ODU_PRINT_MSG(pollParams->mBuf, 0,0);
+ XNAPMsgHdlr(&assocCb->destId, pollParams->mBuf);
+ ODU_PUT_MSG_BUF(pollParams->mBuf);
+ }
+ else
+ {
+ ODU_PUT_MSG_BUF(pollParams->mBuf);
+ }
+ }
+ }
+ return ROK;