ClRcT clXdrUnmarshallCkptHdlDbT_4_0_0(ClBufferHandleT msg , void* pGenVar)
{
    CkptHdlDbT_4_0_0* pVar = (CkptHdlDbT_4_0_0*)pGenVar;
    ClRcT     rc     = CL_OK;
    ClUint32T length = 0;

    if ((void*)0 == pVar)
    {
        return CL_XDR_RC(CL_ERR_NULL_POINTER);
    }

    clXdrUnmarshallClUint32T(msg, &length);
    if( 0 == length)
    {
        pGenVar = NULL;
    }
    else
    {

    rc = clXdrUnmarshallClUint32T(msg,&(pVar->activeAddr));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClHandleT(msg,&(pVar->ckptLocalHdl));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClHandleT(msg,&(pVar->ckptMasterHdl));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClHandleT(msg,&(pVar->ckptActiveHdl));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClUint32T(msg,&(pVar->openFlag));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClUint32T(msg,&(pVar->creationFlag));
    if (CL_OK != rc)
    {
        return rc;
    }

    }

    return rc;
}
ClRcT clXdrUnmarshallclAmsMgmtEntityLockInstantiationRequestT_4_0_0(ClBufferHandleT msg , void* pGenVar)
{
    clAmsMgmtEntityLockInstantiationRequestT_4_0_0* pVar = (clAmsMgmtEntityLockInstantiationRequestT_4_0_0*)pGenVar;
    ClRcT     rc     = CL_OK;
    ClUint32T length = 0;

    if ((void*)0 == pVar)
    {
        return CL_XDR_RC(CL_ERR_NULL_POINTER);
    }

    clXdrUnmarshallClUint32T(msg, &length);
    if( 0 == length)
    {
        pGenVar = NULL;
    }
    else
    {

    rc = clXdrUnmarshallClHandleT(msg,&(pVar->handle));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClAmsEntityConfigT_4_0_0(msg,&(pVar->entity));
    if (CL_OK != rc)
    {
        return rc;
    }

    }

    return rc;
}
ClRcT clXdrUnmarshallclAmsMgmtCCBEntityCreateResponseT_4_0_0(ClBufferHandleT msg , void* pGenVar)
{
    clAmsMgmtCCBEntityCreateResponseT_4_0_0* pVar = (clAmsMgmtCCBEntityCreateResponseT_4_0_0*)pGenVar;
    ClRcT     rc     = CL_OK;
    ClUint32T length = 0;

    if ((void*)0 == pVar)
    {
        return CL_XDR_RC(CL_ERR_NULL_POINTER);
    }

    clXdrUnmarshallClUint32T(msg, &length);
    if( 0 == length)
    {
        pGenVar = NULL;
    }
    else
    {

    rc = clXdrUnmarshallClHandleT(msg,&(pVar->handle));
    if (CL_OK != rc)
    {
        return rc;
    }

    }

    return rc;
}
ClRcT clXdrUnmarshallCkptDynamicInfoT_4_0_0(ClBufferHandleT msg , void* pGenVar)
{
    CkptDynamicInfoT_4_0_0* pVar = (CkptDynamicInfoT_4_0_0*)pGenVar;
    ClRcT     rc     = CL_OK;
    ClUint32T length = 0;

    if ((void*)0 == pVar)
    {
        return CL_XDR_RC(CL_ERR_NULL_POINTER);
    }

    clXdrUnmarshallClUint32T(msg, &length);
    if( 0 == length)
    {
        pGenVar = NULL;
    }
    else
    {

    rc = clXdrUnmarshallClHandleT(msg,&(pVar->clientHdl));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClHandleT(msg,&(pVar->masterHdl));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallPtrCkptUpdateInfoT_4_0_0(msg,(void**)&(pVar->data),1);
    if (CL_OK != rc)
    {
        return rc;
    }

    }

    return rc;
}
static void clMsgClientsTrackCallbackAsyncCallback_4_0_0(ClRcT rc, void *pIdlCookie, ClBufferHandleT inMsgHdl, ClBufferHandleT outMsgHdl)
{
    ClIdlCookieT* pCookie = (ClIdlCookieT*)pIdlCookie;
    ClRcT retVal = CL_OK;
    ClHandleT  clientHandle;
    SaNameT  pGroupName;
    SaMsgQueueGroupNotificationBufferT_4_0_0  pNotification;

    memset(&(clientHandle), 0, sizeof(ClHandleT));
    memset(&(pGroupName), 0, sizeof(SaNameT));
    memset(&(pNotification), 0, sizeof(SaMsgQueueGroupNotificationBufferT_4_0_0));


    retVal = clXdrUnmarshallClHandleT(inMsgHdl, &(clientHandle));
    if (CL_OK != retVal)
    {
        goto L0;
    }

    retVal = clXdrUnmarshallSaNameT(inMsgHdl, &(pGroupName));
    if (CL_OK != retVal)
    {
        goto L1;
    }

    retVal = clXdrUnmarshallSaMsgQueueGroupNotificationBufferT_4_0_0(inMsgHdl, &(pNotification));
    if (CL_OK != retVal)
    {
        goto L2;
    }

    if (rc != CL_OK)
    {
        retVal = rc;
    }

    ((MsgCltClMsgClientsTrackCallbackAsyncCallbackT_4_0_0)(pCookie->actualCallback))(pCookie->handle, clientHandle, &(pGroupName), &(pNotification), retVal, pCookie->pCookie);
    goto L3;

L3: 
L2: 
L1: 

L0:  clHeapFree(pCookie);
     clBufferDelete(&outMsgHdl);
     return;
}
ClRcT clXdrUnmarshallclAmsMgmtCCBSetSISIDependencyRequestT_4_0_0(ClBufferHandleT msg , void* pGenVar)
{
    clAmsMgmtCCBSetSISIDependencyRequestT_4_0_0* pVar = (clAmsMgmtCCBSetSISIDependencyRequestT_4_0_0*)pGenVar;
    ClRcT     rc     = CL_OK;
    ClUint32T length = 0;

    if ((void*)0 == pVar)
    {
        return CL_XDR_RC(CL_ERR_NULL_POINTER);
    }

    clXdrUnmarshallClUint32T(msg, &length);
    if( 0 == length)
    {
        pGenVar = NULL;
    }
    else
    {

    rc = clXdrUnmarshallClHandleT(msg,&(pVar->handle));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClAmsEntityConfigT_4_0_0(msg,&(pVar->siName));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClAmsEntityConfigT_4_0_0(msg,&(pVar->dependencySIName));
    if (CL_OK != rc)
    {
        return rc;
    }

    }

    return rc;
}
ClRcT clXdrUnmarshallClCpmResponseT_4_0_0(ClBufferHandleT msg , void* pGenVar)
{
    ClCpmResponseT_4_0_0* pVar = (ClCpmResponseT_4_0_0*)pGenVar;
    ClRcT     rc     = CL_OK;
    ClUint32T length = 0;

    if ((void*)0 == pVar)
    {
        return CL_XDR_RC(CL_ERR_NULL_POINTER);
    }

    clXdrUnmarshallClUint32T(msg, &length);
    if( 0 == length)
    {
        pGenVar = NULL;
    }
    else
    {

    rc = clXdrUnmarshallClHandleT(msg,&(pVar->cpmHandle));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClUint64T(msg,&(pVar->invocation));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClUint32T(msg,&(pVar->retCode));
    if (CL_OK != rc)
    {
        return rc;
    }

    }

    return rc;
}
static void _ckptSectionCheckAsyncCallback_5_0_0(ClRcT rc, void *pIdlCookie, ClBufferHandleT inMsgHdl, ClBufferHandleT outMsgHdl)
{
    ClIdlCookieT* pCookie = (ClIdlCookieT*)pIdlCookie;
    ClRcT retVal = CL_OK;
    ClHandleT  ckptHandle;
    ClCkptSectionIdT_4_0_0  pSecId;

    memset(&(ckptHandle), 0, sizeof(ClHandleT));
    memset(&(pSecId), 0, sizeof(ClCkptSectionIdT_4_0_0));


    retVal = clXdrUnmarshallClHandleT(inMsgHdl, &(ckptHandle));
    if (CL_OK != retVal)
    {
        goto L0;
    }

    retVal = clXdrUnmarshallClCkptSectionIdT_4_0_0(inMsgHdl, &(pSecId));
    if (CL_OK != retVal)
    {
        goto L1;
    }

    if (rc != CL_OK)
    {
        retVal = rc;
    }

    ((CkptEo_ckptSectionCheckAsyncCallbackT_5_0_0)(pCookie->actualCallback))(pCookie->handle, ckptHandle, &(pSecId), retVal, pCookie->pCookie);
    goto L2;

L2: 
L1: 

L0:  clHeapFree(pCookie);
     clBufferDelete(&outMsgHdl);
     return;
}
ClRcT clMsgMessageReceivedServer_4_0_0(ClEoDataT eoData, ClBufferHandleT inMsgHdl, ClBufferHandleT outMsgHdl)
{
    ClIdlContextInfoT *pIdlCtxInfo = NULL;
    ClRcT rc = CL_OK;
    ClUint32T  sendType;
    ClNameT  pDestination;
    ClMsgMessageIovecT_4_0_0  pMessage;
    ClInt64T  sendTime;
    ClHandleT  senderHandle;
    ClInt64T  timeout;

    memset(&(sendType), 0, sizeof(ClUint32T));
    memset(&(pDestination), 0, sizeof(ClNameT));
    memset(&(pMessage), 0, sizeof(ClMsgMessageIovecT_4_0_0));
    memset(&(sendTime), 0, sizeof(ClInt64T));
    memset(&(senderHandle), 0, sizeof(ClHandleT));
    memset(&(timeout), 0, sizeof(ClInt64T));


    rc = clXdrUnmarshallClUint32T( inMsgHdl,&(sendType));
    if (CL_OK != rc)
    {
        goto LL0;
    }

    rc = clXdrUnmarshallClNameT( inMsgHdl,&(pDestination));
    if (CL_OK != rc)
    {
        goto LL1;
    }

    rc = clXdrUnmarshallClMsgMessageIovecT_4_0_0( inMsgHdl,&(pMessage));
    if (CL_OK != rc)
    {
        goto LL2;
    }

    rc = clXdrUnmarshallClInt64T( inMsgHdl,&(sendTime));
    if (CL_OK != rc)
    {
        goto LL3;
    }

    rc = clXdrUnmarshallClHandleT( inMsgHdl,&(senderHandle));
    if (CL_OK != rc)
    {
        goto LL4;
    }

    rc = clXdrUnmarshallClInt64T( inMsgHdl,&(timeout));
    if (CL_OK != rc)
    {
        goto LL5;
    }

    pIdlCtxInfo = (ClIdlContextInfoT *)clHeapAllocate(sizeof(ClIdlContextInfoT));
    if(pIdlCtxInfo == NULL)
    {
       return CL_IDL_RC(CL_ERR_NO_MEMORY);
    }
    memset(pIdlCtxInfo, 0, sizeof(ClIdlContextInfoT));
    pIdlCtxInfo->idlDeferMsg = outMsgHdl; 
    pIdlCtxInfo->inProgress  = CL_FALSE;
    rc = clIdlSyncPrivateInfoSet(msgCltSrvidlSyncKey, (void *)pIdlCtxInfo);
    if (CL_OK != rc)
    {
        clHeapFree(pIdlCtxInfo);
        goto L0;
    }
    rc = clMsgMessageReceived_4_0_0(sendType, &(pDestination), &(pMessage), sendTime, senderHandle, timeout);
    if(pIdlCtxInfo->inProgress == CL_FALSE)
    {
      clHeapFree(pIdlCtxInfo);
      pIdlCtxInfo = NULL;
    }
    if (CL_OK != rc)
    {
       goto L0;
    }
    
    rc = clXdrMarshallClUint32T(&(sendType), 0, 1);
    if (CL_OK != rc)
    {
        goto L1;
    }

    rc = clXdrMarshallClNameT(&(pDestination), 0, 1);
    if (CL_OK != rc)
    {
        goto L2;
    }

    rc = clXdrMarshallClMsgMessageIovecT_4_0_0(&(pMessage), 0, 1);
    if (CL_OK != rc)
    {
        goto L3;
    }

    rc = clXdrMarshallClInt64T(&(sendTime), 0, 1);
    if (CL_OK != rc)
    {
        goto L4;
    }

    rc = clXdrMarshallClHandleT(&(senderHandle), 0, 1);
    if (CL_OK != rc)
    {
        goto L5;
    }

    rc = clXdrMarshallClInt64T(&(timeout), 0, 1);
    if (CL_OK != rc)
    {
        goto L6;
    }

    if(pIdlCtxInfo != NULL)
    {
      clHeapFree(pIdlCtxInfo);
      return rc;
    }
    
L6:    return rc;

LL5:  clXdrMarshallClInt64T(&(timeout), 0, 1);
LL4:  clXdrMarshallClHandleT(&(senderHandle), 0, 1);
LL3:  clXdrMarshallClInt64T(&(sendTime), 0, 1);
LL2:  clXdrMarshallClMsgMessageIovecT_4_0_0(&(pMessage), 0, 1);
LL1:  clXdrMarshallClNameT(&(pDestination), 0, 1);
LL0:  clXdrMarshallClUint32T(&(sendType), 0, 1);

    return rc;

L0:  clXdrMarshallClUint32T(&(sendType), 0, 1);
L1:  clXdrMarshallClNameT(&(pDestination), 0, 1);
L2:  clXdrMarshallClMsgMessageIovecT_4_0_0(&(pMessage), 0, 1);
L3:  clXdrMarshallClInt64T(&(sendTime), 0, 1);
L4:  clXdrMarshallClHandleT(&(senderHandle), 0, 1);
L5:  clXdrMarshallClInt64T(&(timeout), 0, 1);


    return rc;
}
/* This function handles msg send request from clients */
static ClRcT clMsgIocRequestHandle(ClEoExecutionObjT *pThis,
                           ClBufferHandleT eoRecvMsg,
                           ClUint8T priority,
                           ClUint8T protoType,
                           ClUint32T length,
                           ClIocPhysicalAddressT srcAddr)
{
    ClRcT          rc = CL_OK;
    ClRcT          ret;
    ClUint32T      sendType;
    ClNameT        pDestination;
    SaMsgMessageT  pMessage;
    ClInt64T       sendTime;
    ClHandleT      senderHandle;
    ClInt64T       timeout;
    ClInt64T       msgId;
    ClUint8T       syncType;

    memset(&(pDestination), 0, sizeof(ClNameT));
    memset(&(pMessage), 0, sizeof(SaMsgMessageT));
    memset(&(senderHandle), 0, sizeof(ClHandleT));

    rc = clXdrUnmarshallClUint32T( eoRecvMsg,&(sendType));
    if (CL_OK != rc)
    {
        goto out1;
    }

    rc = clXdrUnmarshallClNameT( eoRecvMsg,&(pDestination));
    if (CL_OK != rc)
    {
        goto out1;
    }

    rc = clXdrUnmarshallSaMsgMessageT_4_0_0( eoRecvMsg,&(pMessage));
    if (CL_OK != rc)
    {
        goto out1;
    }

    rc = clXdrUnmarshallClInt64T( eoRecvMsg,&(sendTime));
    if (CL_OK != rc)
    {
        goto out1;
    }

    rc = clXdrUnmarshallClHandleT( eoRecvMsg,&(senderHandle));
    if (CL_OK != rc)
    {
        goto out1;
    }

    rc = clXdrUnmarshallClInt64T( eoRecvMsg,&(timeout));
    if (CL_OK != rc)
    {
        goto out1;
    }

    rc = clXdrUnmarshallClInt64T( eoRecvMsg,&(msgId));
    if (CL_OK != rc)
    {
        goto out1;
    }

    rc = clXdrUnmarshallClUint8T( eoRecvMsg,&(syncType));
    if (CL_OK != rc)
    {
        goto out1;
    }

    /* Call remote function */
    ret = VDECL_VER(clMsgMessageReceived, 4, 0, 0)(sendType, &(pDestination), &(pMessage), sendTime, senderHandle, timeout);

    /* Prepare to send return value to the caller */
    ClIocSendOptionT sendOption = { 0 };
    ClBufferHandleT replyMsg = NULL;    
    ClUint8T replyProto = CL_IOC_SAF_MSG_REPLY_PROTO;

    /* Set Ioc send option */
    sendOption.msgOption = CL_IOC_PERSISTENT_MSG;
    sendOption.priority = CL_IOC_DEFAULT_PRIORITY;
    sendOption.timeout = 10000;

    /* Create buffer for input message */
    rc = clBufferCreate(&replyMsg);
    if (CL_OK != rc)
    {
        clDbgResourceLimitExceeded(clDbgMemoryResource, 0, ("Out of memory"));
        goto out1;
    }

    /* Marshall reply data */
    rc = clMsgReplyDataMarshall(replyMsg, ret, msgId, syncType);
    if (CL_OK != rc)
    {
        clDbgCodeError(rc, ("Cannot marshal reply data."));
        goto out2;
    }

    /* Send return value to the caller */
    rc = clIocSend(pThis->commObj, replyMsg, replyProto,(ClIocAddressT *) &srcAddr, &sendOption);
    if (CL_OK != CL_GET_ERROR_CODE(rc))
    {
        clLogError("MSG", "REPLY", "clIocSend(): error code [0x%x].", rc);
    }

out2:
    clBufferDelete(&replyMsg);
out1:
    return rc;
}
static void clMsgMessageReceivedAsyncCallback_4_0_0(ClRcT rc, void *pIdlCookie, ClBufferHandleT inMsgHdl, ClBufferHandleT outMsgHdl)
{
    ClIdlCookieT* pCookie = (ClIdlCookieT*)pIdlCookie;
    ClRcT retVal = CL_OK;
    ClUint32T  sendType;
    ClNameT  pDestination;
    SaMsgMessageT_4_0_0  pMessage;
    ClInt64T  sendTime;
    ClHandleT  senderHandle;
    ClInt64T  timeout;

    memset(&(sendType), 0, sizeof(ClUint32T));
    memset(&(pDestination), 0, sizeof(ClNameT));
    memset(&(pMessage), 0, sizeof(SaMsgMessageT_4_0_0));
    memset(&(sendTime), 0, sizeof(ClInt64T));
    memset(&(senderHandle), 0, sizeof(ClHandleT));
    memset(&(timeout), 0, sizeof(ClInt64T));


    retVal = clXdrUnmarshallClUint32T(inMsgHdl, &(sendType));
    if (CL_OK != retVal)
    {
        goto L0;
    }

    retVal = clXdrUnmarshallClNameT(inMsgHdl, &(pDestination));
    if (CL_OK != retVal)
    {
        goto L1;
    }

    retVal = clXdrUnmarshallSaMsgMessageT_4_0_0(inMsgHdl, &(pMessage));
    if (CL_OK != retVal)
    {
        goto L2;
    }

    retVal = clXdrUnmarshallClInt64T(inMsgHdl, &(sendTime));
    if (CL_OK != retVal)
    {
        goto L3;
    }

    retVal = clXdrUnmarshallClHandleT(inMsgHdl, &(senderHandle));
    if (CL_OK != retVal)
    {
        goto L4;
    }

    retVal = clXdrUnmarshallClInt64T(inMsgHdl, &(timeout));
    if (CL_OK != retVal)
    {
        goto L5;
    }

    if (rc != CL_OK)
    {
        retVal = rc;
    }

    ((MsgCltSrvClMsgMessageReceivedAsyncCallbackT_4_0_0)(pCookie->actualCallback))(pCookie->handle, sendType, &(pDestination), &(pMessage), sendTime, senderHandle, timeout, retVal, pCookie->pCookie);
    goto L6;

L6: 
L5: 
L4: 
L3: 
L2: 
L1: 

L0:  clHeapFree(pCookie);
     clBufferDelete(&outMsgHdl);
     return;
}
ClRcT clMsgQueueAllocateClientSync_4_0_0(CL_IN ClIdlHandleT handle, CL_IN ClNameT* pQName, CL_IN SaMsgQueueOpenFlagsT_4_0_0 openFlags, CL_IN SaMsgQueueCreationAttributesT_4_0_0* pCreationAttributes, CL_OUT ClHandleT* pQueueHandle)
{
    ClRcT rc = CL_OK;
    ClVersionT funcVer = {4, 0, 0};
    ClUint32T funcNo = CL_EO_GET_FULL_FN_NUM(CL_EO_NATIVE_COMPONENT_TABLE_ID, 15);
    ClBufferHandleT inMsgHdl = 0;
    ClBufferHandleT outMsgHdl = 0;
    ClIocAddressT address = {{0}};
    ClIdlHandleObjT* pHandleObj = NULL;
    ClUint32T tempFlags = 0;

    rc = clHandleCheckout(gIdlClnt.idlDbHdl,handle,(void **)&pHandleObj);
    if( rc != CL_OK )
    {
        return rc ;
    }
    if (CL_IDL_ADDRESSTYPE_IOC == pHandleObj->address.addressType)
    {
        address = pHandleObj->address.address.iocAddress;
    }
    else if (CL_IDL_ADDRESSTYPE_NAME == pHandleObj->address.addressType)
    {
        rc = clNameToObjectReferenceGet(&(pHandleObj->address.address.nameAddress.name),
                                        pHandleObj->address.address.nameAddress.attrCount,
                                        pHandleObj->address.address.nameAddress.attr,
                                        pHandleObj->address.address.nameAddress.contextCookie,
                                        (ClUint64T*)&address);
        if (CL_OK != rc)
        {
            return rc;
        }
    }
    else
    {
        return CL_IDL_RC(CL_ERR_INVALID_PARAMETER);
    }

    rc = clBufferCreate(&inMsgHdl);
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrMarshallClNameT(pQName, inMsgHdl, 0);
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrMarshallSaMsgQueueOpenFlagsT_4_0_0(&(openFlags), inMsgHdl, 0);
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrMarshallSaMsgQueueCreationAttributesT_4_0_0(pCreationAttributes, inMsgHdl, 0);
    if (CL_OK != rc)
    {
        return rc;
    }


    rc = clBufferCreate(&outMsgHdl);
    if (CL_OK != rc)
    {
        return rc;
    }

    tempFlags |= pHandleObj->flags |
                 (CL_RMD_CALL_NON_PERSISTENT | CL_RMD_CALL_NEED_REPLY);
    tempFlags &= ~CL_RMD_CALL_ASYNC;

    rc = clRmdWithMsgVer(address, &funcVer, funcNo, inMsgHdl, outMsgHdl, tempFlags, &(pHandleObj->options), NULL);
    if(CL_OK != rc)
    {
        clBufferDelete(&outMsgHdl);
    return rc;
    }


    rc = clXdrUnmarshallClHandleT( outMsgHdl, pQueueHandle);
    if (CL_OK != rc)
    {
        return rc;
    }

    clBufferDelete(&outMsgHdl);
    
    rc = clHandleCheckin(gIdlClnt.idlDbHdl,handle);
    return rc;
}
ClRcT clXdrUnmarshallClEvtSubscribeEventRequestT_4_0_0(ClBufferHandleT msg , void* pGenVar)
{
    ClEvtSubscribeEventRequestT_4_0_0* pVar = (ClEvtSubscribeEventRequestT_4_0_0*)pGenVar;
    ClRcT     rc     = CL_OK;
    ClUint32T length = 0;

    if ((void*)0 == pVar)
    {
        return CL_XDR_RC(CL_ERR_NULL_POINTER);
    }

    clXdrUnmarshallClUint32T(msg, &length);
    if( 0 == length)
    {
        pGenVar = NULL;
    }
    else
    {

        rc = clXdrUnmarshallClUint8T(msg,&(pVar->releaseCode));
        if (CL_OK != rc)
        {
            return rc;
        }

        rc = clXdrUnmarshallClUint8T(msg,&(pVar->majorVersion));
        if (CL_OK != rc)
        {
            return rc;
        }

        rc = clXdrUnmarshallClUint8T(msg,&(pVar->minorVersion));
        if (CL_OK != rc)
        {
            return rc;
        }

        rc = clXdrUnmarshallClUint8T(msg,&(pVar->reserved));
        if (CL_OK != rc)
        {
            return rc;
        }
        rc = clXdrUnmarshallClHandleT(msg,&(pVar->evtChannelHandle));
        if (CL_OK != rc)
        {
            return rc;
        }
        rc = clXdrUnmarshallClUint32T(msg,&(pVar->subscriberCommPort));
        if (CL_OK != rc)
        {
            return rc;
        }

        rc = clXdrUnmarshallClEvtUserIdT_4_0_0(msg,&(pVar->userId));
        if (CL_OK != rc)
        {
            return rc;
        }

        rc = clXdrUnmarshallClUint32T(msg,&(pVar->subscriptionId));
        if (CL_OK != rc)
        {
            return rc;
        }

        rc = clXdrUnmarshallClUint64T(msg,&(pVar->pCookie));
        if (CL_OK != rc)
        {
            return rc;
        }

        rc = clXdrUnmarshallSaNameT(msg,&(pVar->evtChannelName));
        if (CL_OK != rc)
        {
            return rc;
        }

        rc = clXdrUnmarshallClUint32T(msg,&(pVar->packedRbeLen));
        if (CL_OK != rc)
        {
            return rc;
        }

        rc = clXdrUnmarshallClUint32T(msg,&(pVar->externalAddress));
        if (CL_OK != rc)
        {
            return rc;
        }

        rc = clXdrUnmarshallPtrClUint8T(msg,(void**)&(pVar->packedRbe),pVar->packedRbeLen);
        if (CL_OK != rc)
        {
            return rc;
        }

    }

    return rc;
}
ClRcT clXdrUnmarshallCkptMasterDBEntryIDLT_4_0_0(ClBufferHandleT msg , void* pGenVar)
{
    CkptMasterDBEntryIDLT_4_0_0* pVar = (CkptMasterDBEntryIDLT_4_0_0*)pGenVar;
    ClRcT     rc     = CL_OK;
    ClUint32T length = 0;

    if ((void*)0 == pVar)
    {
        return CL_XDR_RC(CL_ERR_NULL_POINTER);
    }

    clXdrUnmarshallClUint32T(msg, &length);
    if( 0 == length)
    {
        pGenVar = NULL;
    }
    else
    {

    rc = clXdrUnmarshallClHandleT(msg,&(pVar->ckptMasterHdl));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClNameT(msg,&(pVar->name));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClCkptCheckpointCreationAttributesT_4_0_0(msg,&(pVar->attrib));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClUint32T(msg,&(pVar->refCount));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClInt8T(msg,&(pVar->markedDelete));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClHandleT(msg,&(pVar->activeRepHdl));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClUint32T(msg,&(pVar->activeRepAddr));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClUint32T(msg,&(pVar->prevActiveRepAddr));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallClUint32T(msg,&(pVar->replicaCount));
    if (CL_OK != rc)
    {
        return rc;
    }

    rc = clXdrUnmarshallPtrClUint32T(msg,(void**)&(pVar->replicaListInfo),pVar->replicaCount);
    if (CL_OK != rc)
    {
        return rc;
    }

    }

    return rc;
}
ClRcT _ckptSectionCheckServer_5_0_0(ClEoDataT eoData, ClBufferHandleT inMsgHdl, ClBufferHandleT outMsgHdl)
{
    ClIdlContextInfoT *pIdlCtxInfo = NULL;
    ClRcT rc = CL_OK;
    ClHandleT  ckptHandle;
    ClCkptSectionIdT_4_0_0  pSecId;

    memset(&(ckptHandle), 0, sizeof(ClHandleT));
    memset(&(pSecId), 0, sizeof(ClCkptSectionIdT_4_0_0));


    rc = clXdrUnmarshallClHandleT( inMsgHdl,&(ckptHandle));
    if (CL_OK != rc)
    {
        goto LL0;
    }

    rc = clXdrUnmarshallClCkptSectionIdT_4_0_0( inMsgHdl,&(pSecId));
    if (CL_OK != rc)
    {
        goto LL1;
    }

    pIdlCtxInfo = (ClIdlContextInfoT *)clHeapAllocate(sizeof(ClIdlContextInfoT));
    if(pIdlCtxInfo == NULL)
    {
        return CL_IDL_RC(CL_ERR_NO_MEMORY);
    }
    memset(pIdlCtxInfo, 0, sizeof(ClIdlContextInfoT));
    pIdlCtxInfo->idlDeferMsg = outMsgHdl;
    pIdlCtxInfo->inProgress  = CL_FALSE;
    rc = clIdlSyncPrivateInfoSet(ckptEoidlSyncKey, (void *)pIdlCtxInfo);
    if (CL_OK != rc)
    {
        clHeapFree(pIdlCtxInfo);
        goto L0;
    }
    rc = _ckptSectionCheck_5_0_0(ckptHandle, &(pSecId));
    if(pIdlCtxInfo->inProgress == CL_FALSE)
    {
        clHeapFree(pIdlCtxInfo);
        pIdlCtxInfo = NULL;
    }
    if (CL_OK != rc)
    {
        goto L0;
    }

    rc = clXdrMarshallClHandleT(&(ckptHandle), 0, 1);
    if (CL_OK != rc)
    {
        goto L1;
    }

    rc = clXdrMarshallClCkptSectionIdT_4_0_0(&(pSecId), 0, 1);
    if (CL_OK != rc)
    {
        goto L2;
    }

    if(pIdlCtxInfo != NULL)
    {
        clHeapFree(pIdlCtxInfo);
        return rc;
    }

L2:
    return rc;

LL1:
    clXdrMarshallClCkptSectionIdT_4_0_0(&(pSecId), 0, 1);
LL0:
    clXdrMarshallClHandleT(&(ckptHandle), 0, 1);

    return rc;

L0:
    clXdrMarshallClHandleT(&(ckptHandle), 0, 1);
L1:
    clXdrMarshallClCkptSectionIdT_4_0_0(&(pSecId), 0, 1);


    return rc;
}
ClRcT clMsgClientsTrackCallbackServer_4_0_0(ClEoDataT eoData, ClBufferHandleT inMsgHdl, ClBufferHandleT outMsgHdl)
{
    ClIdlContextInfoT *pIdlCtxInfo = NULL;
    ClRcT rc = CL_OK;
    ClHandleT  clientHandle;
    ClNameT  pGroupName;
    SaMsgQueueGroupNotificationBufferT_4_0_0  pNotification;

    memset(&(clientHandle), 0, sizeof(ClHandleT));
    memset(&(pGroupName), 0, sizeof(ClNameT));
    memset(&(pNotification), 0, sizeof(SaMsgQueueGroupNotificationBufferT_4_0_0));


    rc = clXdrUnmarshallClHandleT( inMsgHdl,&(clientHandle));
    if (CL_OK != rc)
    {
        goto LL0;
    }

    rc = clXdrUnmarshallClNameT( inMsgHdl,&(pGroupName));
    if (CL_OK != rc)
    {
        goto LL1;
    }

    rc = clXdrUnmarshallSaMsgQueueGroupNotificationBufferT_4_0_0( inMsgHdl,&(pNotification));
    if (CL_OK != rc)
    {
        goto LL2;
    }

    pIdlCtxInfo = (ClIdlContextInfoT *)clHeapAllocate(sizeof(ClIdlContextInfoT));
    if(pIdlCtxInfo == NULL)
    {
       return CL_IDL_RC(CL_ERR_NO_MEMORY);
    }
    memset(pIdlCtxInfo, 0, sizeof(ClIdlContextInfoT));
    pIdlCtxInfo->idlDeferMsg = outMsgHdl; 
    pIdlCtxInfo->inProgress  = CL_FALSE;
    rc = clIdlSyncPrivateInfoSet(msgCltidlSyncKey, (void *)pIdlCtxInfo);
    if (CL_OK != rc)
    {
        clHeapFree(pIdlCtxInfo);
        goto L0;
    }
    rc = clMsgClientsTrackCallback_4_0_0(clientHandle, &(pGroupName), &(pNotification));
    if(pIdlCtxInfo->inProgress == CL_FALSE)
    {
      clHeapFree(pIdlCtxInfo);
      pIdlCtxInfo = NULL;
    }
    if (CL_OK != rc)
    {
       goto L0;
    }
    
    rc = clXdrMarshallClHandleT(&(clientHandle), 0, 1);
    if (CL_OK != rc)
    {
        goto L1;
    }

    rc = clXdrMarshallClNameT(&(pGroupName), 0, 1);
    if (CL_OK != rc)
    {
        goto L2;
    }

    rc = clXdrMarshallSaMsgQueueGroupNotificationBufferT_4_0_0(&(pNotification), 0, 1);
    if (CL_OK != rc)
    {
        goto L3;
    }

    if(pIdlCtxInfo != NULL)
    {
      clHeapFree(pIdlCtxInfo);
      return rc;
    }
    
L3:    return rc;

LL2:  clXdrMarshallSaMsgQueueGroupNotificationBufferT_4_0_0(&(pNotification), 0, 1);
LL1:  clXdrMarshallClNameT(&(pGroupName), 0, 1);
LL0:  clXdrMarshallClHandleT(&(clientHandle), 0, 1);

    return rc;

L0:  clXdrMarshallClHandleT(&(clientHandle), 0, 1);
L1:  clXdrMarshallClNameT(&(pGroupName), 0, 1);
L2:  clXdrMarshallSaMsgQueueGroupNotificationBufferT_4_0_0(&(pNotification), 0, 1);


    return rc;
}
ClRcT clLogClntFileHdlrDataReceiveServer_4_0_0(ClEoDataT eoData, ClBufferHandleT inMsgHdl, ClBufferHandleT outMsgHdl)
{
    ClIdlContextInfoT *pIdlCtxInfo = NULL;
    ClRcT rc = CL_OK;
    ClUint64T  streamMcaseAddr;
    ClUint32T  seqNum;
    ClUint32T  srcAddr;
    ClHandleT  hFlusher;
    ClUint32T  nRecords;
    ClUint32T  buffLen;
    ClUint8T*  pBuffer;

    memset(&(streamMcaseAddr), 0, sizeof(ClUint64T));
    memset(&(seqNum), 0, sizeof(ClUint32T));
    memset(&(srcAddr), 0, sizeof(ClUint32T));
    memset(&(hFlusher), 0, sizeof(ClHandleT));
    memset(&(nRecords), 0, sizeof(ClUint32T));
    memset(&(buffLen), 0, sizeof(ClUint32T));
    memset(&(pBuffer), 0, sizeof(ClUint8T*));


    rc = clXdrUnmarshallClUint64T( inMsgHdl,&(streamMcaseAddr));
    if (CL_OK != rc)
    {
        goto LL0;
    }

    rc = clXdrUnmarshallClUint32T( inMsgHdl,&(seqNum));
    if (CL_OK != rc)
    {
        goto LL1;
    }

    rc = clXdrUnmarshallClUint32T( inMsgHdl,&(srcAddr));
    if (CL_OK != rc)
    {
        goto LL2;
    }

    rc = clXdrUnmarshallClHandleT( inMsgHdl,&(hFlusher));
    if (CL_OK != rc)
    {
        goto LL3;
    }

    rc = clXdrUnmarshallClUint32T( inMsgHdl,&(nRecords));
    if (CL_OK != rc)
    {
        goto LL4;
    }

    rc = clXdrUnmarshallClUint32T( inMsgHdl,&(buffLen));
    if (CL_OK != rc)
    {
        goto LL5;
    }

    rc = clXdrUnmarshallPtrClUint8T( inMsgHdl,(void**)&(pBuffer), buffLen);
    if (CL_OK != rc)
    {
        goto LL6;
    }

    pIdlCtxInfo = (ClIdlContextInfoT *)clHeapAllocate(sizeof(ClIdlContextInfoT));
    if(pIdlCtxInfo == NULL)
    {
       return CL_IDL_RC(CL_ERR_NO_MEMORY);
    }
    memset(pIdlCtxInfo, 0, sizeof(ClIdlContextInfoT));
    pIdlCtxInfo->idlDeferMsg = outMsgHdl; 
    pIdlCtxInfo->inProgress  = CL_FALSE;
    rc = clIdlSyncPrivateInfoSet(AppidlSyncKey, (void *)pIdlCtxInfo);
    if (CL_OK != rc)
    {
        clHeapFree(pIdlCtxInfo);
        goto L0;
    }
    rc = clLogClntFileHdlrDataReceive_4_0_0(streamMcaseAddr, seqNum, srcAddr, hFlusher, nRecords, buffLen, pBuffer);
    if(pIdlCtxInfo->inProgress == CL_FALSE)
    {
      clHeapFree(pIdlCtxInfo);
      pIdlCtxInfo = NULL;
    }
    if (CL_OK != rc)
    {
       goto L0;
    }
    
    rc = clXdrMarshallClUint64T(&(streamMcaseAddr), 0, 1);
    if (CL_OK != rc)
    {
        goto L1;
    }

    rc = clXdrMarshallClUint32T(&(seqNum), 0, 1);
    if (CL_OK != rc)
    {
        goto L2;
    }

    rc = clXdrMarshallClUint32T(&(srcAddr), 0, 1);
    if (CL_OK != rc)
    {
        goto L3;
    }

    rc = clXdrMarshallClHandleT(&(hFlusher), 0, 1);
    if (CL_OK != rc)
    {
        goto L4;
    }

    rc = clXdrMarshallClUint32T(&(nRecords), 0, 1);
    if (CL_OK != rc)
    {
        goto L5;
    }

    rc = clXdrMarshallClUint32T(&(buffLen), 0, 1);
    if (CL_OK != rc)
    {
        goto L6;
    }

    rc = clXdrMarshallPtrClUint8T(pBuffer, buffLen, 0, 1);
    if (CL_OK != rc)
    {
        goto L7;
    }

    if(pIdlCtxInfo != NULL)
    {
      clHeapFree(pIdlCtxInfo);
      return rc;
    }
    
L7:    return rc;

LL6:  clXdrMarshallPtrClUint8T(pBuffer, buffLen, 0, 1);
LL5:  clXdrMarshallClUint32T(&(buffLen), 0, 1);
LL4:  clXdrMarshallClUint32T(&(nRecords), 0, 1);
LL3:  clXdrMarshallClHandleT(&(hFlusher), 0, 1);
LL2:  clXdrMarshallClUint32T(&(srcAddr), 0, 1);
LL1:  clXdrMarshallClUint32T(&(seqNum), 0, 1);
LL0:  clXdrMarshallClUint64T(&(streamMcaseAddr), 0, 1);

    return rc;

L0:  clXdrMarshallClUint64T(&(streamMcaseAddr), 0, 1);
L1:  clXdrMarshallClUint32T(&(seqNum), 0, 1);
L2:  clXdrMarshallClUint32T(&(srcAddr), 0, 1);
L3:  clXdrMarshallClHandleT(&(hFlusher), 0, 1);
L4:  clXdrMarshallClUint32T(&(nRecords), 0, 1);
L5:  clXdrMarshallClUint32T(&(buffLen), 0, 1);
L6:  clXdrMarshallPtrClUint8T(pBuffer, buffLen, 0, 1);


    return rc;
}