ClRcT clXdrMarshallClAmsCompHealthcheckKeyT_4_0_0(void* pGenVar, ClBufferHandleT msg, ClUint32T isDelete) { ClAmsCompHealthcheckKeyT_4_0_0* pVar = (ClAmsCompHealthcheckKeyT_4_0_0*)pGenVar; ClRcT rc = CL_OK; ClUint32T length = 0; if ((void*)0 == pVar) { clXdrMarshallClUint32T(&length, msg, 0); } else { length = 1; clXdrMarshallClUint32T(&length, msg, 0); rc = clXdrMarshallArrayClUint8T(pVar->key, 32,msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint16T(&(pVar->keyLen),msg,isDelete); if (CL_OK != rc) { return rc; } } return rc; }
ClRcT clLogStreamOwnerFilterInfoPack(ClLogStreamOwnerDataT *pStreamOwnerData, ClBufferHandleT msg) { ClRcT rc = CL_OK; CL_LOG_DEBUG_TRACE(("Enter")); rc = clXdrMarshallClUint16T(&pStreamOwnerData->streamFilter.severityFilter, msg, 0); if( CL_OK != rc ) { CL_LOG_DEBUG_ERROR(("clXdrMarshallClUint16T(): rc[0x %x]", rc)); return rc; } rc = clLogBitmapPack(pStreamOwnerData->streamFilter.hMsgIdMap, msg); if( CL_OK != rc ) { return rc; } rc = clLogBitmapPack(pStreamOwnerData->streamFilter.hCompIdMap, msg); if( CL_OK != rc ) { return rc; } CL_LOG_DEBUG_TRACE(("Exit")); return rc; }
ClRcT clXdrMarshallClCorObjectHandleIDLT_4_1_0(void* pGenVar, ClBufferHandleT msg, ClUint32T isDelete) { ClCorObjectHandleIDLT_4_1_0* pVar = (ClCorObjectHandleIDLT_4_1_0*)pGenVar; ClRcT rc = CL_OK; ClUint32T length = 0; if ((void*)0 == pVar) { clXdrMarshallClUint32T(&length, msg, 0); } else { length = 1; clXdrMarshallClUint32T(&length, msg, 0); rc = clXdrMarshallClUint16T(&(pVar->ohSize),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallPtrClUint8T(pVar->oh, pVar->ohSize,msg,isDelete); if (CL_OK != rc) { return rc; } } return rc; }
ClRcT clXdrMarshallClNameT(void* pGenVar, ClBufferHandleT msg, ClUint32T isDelete) { ClNameT* pVar = (ClNameT*)pGenVar; ClRcT rc; if ((void*)0 == pVar) { return CL_XDR_RC(CL_ERR_NULL_POINTER); } if(pVar->length >= CL_MAX_NAME_LENGTH) pVar->length = CL_MAX_NAME_LENGTH; rc = clXdrMarshallClUint16T(&(pVar->length),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallArrayClCharT(pVar->value, pVar->length, msg, isDelete); if (CL_OK != rc) { return rc; } return rc; }
ClRcT clLogMasterAttrVerifyNGetResponseSend_4_0_0(ClIdlHandleT idlHdl,ClRcT retCode,CL_INOUT ClUint16T pStreamId,CL_OUT ClUint64T pStreamMcastAddr) { ClIdlSyncInfoT *pIdlSyncDeferInfo = NULL; ClRcT rc = CL_OK; ClBufferHandleT outMsgHdl = 0; rc = clHandleCheckout(LogidlDatabaseHdl,idlHdl,(void **)&pIdlSyncDeferInfo); if( rc != CL_OK) { goto Label0; } outMsgHdl = pIdlSyncDeferInfo->idlRmdDeferMsg; rc = clXdrMarshallClUint16T(&(pStreamId), outMsgHdl, 1); if (CL_OK != rc) { goto L5; } rc = clXdrMarshallClUint64T(&(pStreamMcastAddr), outMsgHdl, 1); if (CL_OK != rc) { goto L6; } rc = clIdlSyncResponseSend(pIdlSyncDeferInfo->idlRmdDeferHdl,outMsgHdl, retCode); goto Label1; L5: clXdrMarshallClUint16T(&(pStreamId), 0, 1); L6: clXdrMarshallClUint64T(&(pStreamMcastAddr), 0, 1); clHandleCheckin(LogidlDatabaseHdl, idlHdl); clHandleDestroy(LogidlDatabaseHdl, idlHdl); return rc; Label1: clHandleCheckin(LogidlDatabaseHdl, idlHdl); clHandleDestroy(LogidlDatabaseHdl, idlHdl); Label0: return rc; }
ClRcT clXdrMarshallClCpmMiddlewareResetT_4_0_0(void* pGenVar, ClBufferHandleT msg, ClUint32T isDelete) { ClCpmMiddlewareResetT_4_0_0* pVar = (ClCpmMiddlewareResetT_4_0_0*)pGenVar; ClRcT rc = CL_OK; ClUint32T length = 0; if ((void*)0 == pVar) { clXdrMarshallClUint32T(&length, msg, 0); } else { length = 1; clXdrMarshallClUint32T(&length, msg, 0); rc = clXdrMarshallClUint32T(&(pVar->iocNodeAddress),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint16T(&(pVar->graceful),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint16T(&(pVar->nodeReset),msg,isDelete); if (CL_OK != rc) { return rc; } } return rc; }
ClRcT clXdrMarshallClLogStreamInfoIDLT_4_0_0(void* pGenVar, ClBufferHandleT msg, ClUint32T isDelete) { ClLogStreamInfoIDLT_4_0_0* pVar = (ClLogStreamInfoIDLT_4_0_0*)pGenVar; ClRcT rc = CL_OK; ClUint32T length = 0; if ((void*)0 == pVar) { clXdrMarshallClUint32T(&length, msg, 0); } else { length = 1; clXdrMarshallClUint32T(&length, msg, 0); rc = clXdrMarshallClNameT(&(pVar->streamName),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint32T(&(pVar->streamScope),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClNameT(&(pVar->nodeName),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint16T(&(pVar->streamId),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClLogStreamAttrIDLT_4_0_0(&(pVar->streamAttr),msg,isDelete); if (CL_OK != rc) { return rc; } } return rc; }
static ClRcT clLogMasterStreamEntryPack(ClCntKeyHandleT key, ClCntDataHandleT data, ClCntArgHandleT arg, ClUint32T size) { ClRcT rc = CL_OK; ClLogStreamKeyT *pStreamKey = (ClLogStreamKeyT *) key; ClLogMasterStreamDataT *pStreamData = (ClLogMasterStreamDataT *) data; ClBufferHandleT hFileEntryBuf = (ClBufferHandleT) arg; CL_LOG_DEBUG_TRACE(("Enter")); rc = clXdrMarshallSaNameT(&(pStreamKey->streamName), hFileEntryBuf, 0); if( CL_OK != rc ) { CL_LOG_DEBUG_ERROR(("clXdrMarshallSaNameT(): rc[0x %x]", rc)); return rc; } rc = clXdrMarshallSaNameT(&(pStreamKey->streamScopeNode), hFileEntryBuf, 0); if( CL_OK != rc ) { CL_LOG_DEBUG_ERROR(("clXdrMarshallSaNameT(): rc[0x %x]", rc)); return rc; } rc = clXdrMarshallClUint64T(&(pStreamData->streamMcastAddr), hFileEntryBuf, 0); if( CL_OK != rc ) { CL_LOG_DEBUG_ERROR(("clXdrMarshallClUint64T(): rc[0x %x]", rc)); return rc; } rc = clXdrMarshallClUint16T(&(pStreamData->streamId), hFileEntryBuf, 0); if( CL_OK != rc ) { CL_LOG_DEBUG_ERROR(("clXdrMarshallClUint16T(): rc[0x %x]", rc)); return rc; } CL_LOG_DEBUG_TRACE(("Exit")); return CL_OK; }
ClRcT clXdrMarshallClLogStreamAttrIDLT_4_0_0(void* pGenVar, ClBufferHandleT msg, ClUint32T isDelete) { ClLogStreamAttrIDLT_4_0_0* pVar = (ClLogStreamAttrIDLT_4_0_0*)pGenVar; ClRcT rc = CL_OK; ClUint32T length = 0; if ((void*)0 == pVar) { clXdrMarshallClUint32T(&length, msg, 0); } else { length = 1; clXdrMarshallClUint32T(&length, msg, 0); rc = clXdrMarshallClStringT(&(pVar->fileName),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClStringT(&(pVar->fileLocation),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint32T(&(pVar->fileUnitSize),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint32T(&(pVar->recordSize),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint16T(&(pVar->haProperty),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClLogFileFullActionT_4_0_0(&(pVar->fileFullAction),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint32T(&(pVar->maxFilesRotated),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint32T(&(pVar->flushFreq),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClInt64T(&(pVar->flushInterval),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClWaterMarkT_4_0_0(&(pVar->waterMark),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint16T(&(pVar->syslog),msg,isDelete); if (CL_OK != rc) { return rc; } } return rc; }
ClRcT clMsgQueueMoveMessagesServer_4_0_0(ClEoDataT eoData, ClBufferHandleT inMsgHdl, ClBufferHandleT outMsgHdl) { ClIdlContextInfoT *pIdlCtxInfo = NULL; ClRcT rc = CL_OK; ClNameT pQName; ClUint32T openFlags; ClUint16T qDelete; memset(&(pQName), 0, sizeof(ClNameT)); memset(&(openFlags), 0, sizeof(ClUint32T)); memset(&(qDelete), 0, sizeof(ClUint16T)); rc = clXdrUnmarshallClNameT( inMsgHdl,&(pQName)); if (CL_OK != rc) { goto LL0; } rc = clXdrUnmarshallClUint32T( inMsgHdl,&(openFlags)); if (CL_OK != rc) { goto LL1; } rc = clXdrUnmarshallClUint16T( inMsgHdl,&(qDelete)); 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(msgCltSrvidlSyncKey, (void *)pIdlCtxInfo); if (CL_OK != rc) { clHeapFree(pIdlCtxInfo); goto L0; } rc = clMsgQueueMoveMessages_4_0_0(&(pQName), openFlags, qDelete); if(pIdlCtxInfo->inProgress == CL_FALSE) { clHeapFree(pIdlCtxInfo); pIdlCtxInfo = NULL; } if (CL_OK != rc) { goto L0; } rc = clXdrMarshallClNameT(&(pQName), 0, 1); if (CL_OK != rc) { goto L1; } rc = clXdrMarshallClUint32T(&(openFlags), 0, 1); if (CL_OK != rc) { goto L2; } rc = clXdrMarshallClUint16T(&(qDelete), 0, 1); if (CL_OK != rc) { goto L3; } if(pIdlCtxInfo != NULL) { clHeapFree(pIdlCtxInfo); return rc; } L3: return rc; LL2: clXdrMarshallClUint16T(&(qDelete), 0, 1); LL1: clXdrMarshallClUint32T(&(openFlags), 0, 1); LL0: clXdrMarshallClNameT(&(pQName), 0, 1); return rc; L0: clXdrMarshallClNameT(&(pQName), 0, 1); L1: clXdrMarshallClUint32T(&(openFlags), 0, 1); L2: clXdrMarshallClUint16T(&(qDelete), 0, 1); return rc; }
ClRcT clLogExternalSendServer_4_0_0(ClEoDataT eoData, ClBufferHandleT inMsgHdl, ClBufferHandleT outMsgHdl) { ClIdlContextInfoT *pIdlCtxInfo = NULL; ClRcT rc = CL_OK; ClUint16T recsize; ClUint8T* pRecord; SaNameT pStreamName; SaNameT pStreamScopeNode; memset(&(recsize), 0, sizeof(ClUint16T)); memset(&(pRecord), 0, sizeof(ClUint8T*)); memset(&(pStreamName), 0, sizeof(SaNameT)); memset(&(pStreamScopeNode), 0, sizeof(SaNameT)); rc = clXdrUnmarshallClUint16T( inMsgHdl,&(recsize)); if (CL_OK != rc) { goto LL0; } rc = clXdrUnmarshallSaNameT( inMsgHdl,&(pStreamName)); if (CL_OK != rc) { goto LL1; } rc = clXdrUnmarshallSaNameT( inMsgHdl,&(pStreamScopeNode)); if (CL_OK != rc) { goto LL2; } rc = clXdrUnmarshallPtrClUint8T( inMsgHdl,(void**)&(pRecord), recsize); if (CL_OK != rc) { goto LL3; } 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(LogidlSyncKey, (void *)pIdlCtxInfo); if (CL_OK != rc) { clHeapFree(pIdlCtxInfo); goto L0; } rc = clLogExternalSend_4_0_0(recsize, pRecord, &(pStreamName), &(pStreamScopeNode)); if(pIdlCtxInfo->inProgress == CL_FALSE) { clHeapFree(pIdlCtxInfo); pIdlCtxInfo = NULL; } if (CL_OK != rc) { goto L0; } rc = clXdrMarshallClUint16T(&(recsize), 0, 1); if (CL_OK != rc) { goto L1; } rc = clXdrMarshallSaNameT(&(pStreamName), 0, 1); if (CL_OK != rc) { goto L2; } rc = clXdrMarshallSaNameT(&(pStreamScopeNode), 0, 1); if (CL_OK != rc) { goto L3; } rc = clXdrMarshallPtrClUint8T(pRecord, recsize, 0, 1); if (CL_OK != rc) { goto L4; } if(pIdlCtxInfo != NULL) { clHeapFree(pIdlCtxInfo); return rc; } L4: return rc; LL3: clXdrMarshallPtrClUint8T(pRecord, recsize, 0, 1); LL2: clXdrMarshallSaNameT(&(pStreamScopeNode), 0, 1); LL1: clXdrMarshallSaNameT(&(pStreamName), 0, 1); LL0: clXdrMarshallClUint16T(&(recsize), 0, 1); return rc; L0: clXdrMarshallClUint16T(&(recsize), 0, 1); L1: clXdrMarshallSaNameT(&(pStreamName), 0, 1); L2: clXdrMarshallSaNameT(&(pStreamScopeNode), 0, 1); L3: clXdrMarshallPtrClUint8T(pRecord, recsize, 0, 1); return rc; }
static ClRcT clLogMasterEoEntryCheckpoint(ClLogMasterEoDataT *pMasterEoEntry) { ClRcT rc = CL_OK; ClBufferHandleT hEoEntryBuf = CL_HANDLE_INVALID_VALUE; ClUint8T *pBuffer = NULL; ClUint32T bufferLen = 0; ClVersionT version = { CL_RELEASE_VERSION, CL_MAJOR_VERSION, CL_MINOR_VERSION }; CL_LOG_DEBUG_TRACE(("Enter")); rc = clBufferCreate(&hEoEntryBuf); if( CL_OK != rc ) { CL_LOG_DEBUG_ERROR(("clBufferCreate(): rc[0x %x]", rc)); return rc; } rc = clXdrMarshallClVersionT(&version, hEoEntryBuf, 0); if( CL_OK != rc) { CL_LOG_DEBUG_ERROR(("clXdrMarshallClVersionT(): rc[%#x]", rc)); CL_LOG_CLEANUP(clBufferDelete(&hEoEntryBuf), CL_OK); return rc; } rc = clXdrMarshallClUint16T(&(pMasterEoEntry->nextStreamId), hEoEntryBuf, 0); if( CL_OK != rc ) { CL_LOG_DEBUG_ERROR(("clXdrMarshallClUint16T(): rc[0x %x]", rc)); CL_LOG_CLEANUP(clBufferDelete(&hEoEntryBuf), CL_OK); return rc; } rc = clBufferLengthGet(hEoEntryBuf, &bufferLen); if( CL_OK != rc ) { CL_LOG_DEBUG_ERROR(("clBufferLengthGet: rc[0x %x]", rc)); CL_LOG_CLEANUP(clBufferDelete(&hEoEntryBuf), CL_OK); return rc; } rc = clBufferFlatten(hEoEntryBuf, &pBuffer); if( CL_OK != rc ) { CL_LOG_DEBUG_ERROR(("clBufferFlatten(): rc[0x %x]", rc)); CL_LOG_CLEANUP(clBufferDelete(&hEoEntryBuf), CL_OK); return rc; } rc = clCkptSectionOverwrite(pMasterEoEntry->hCkpt, &gLogMasterDefaultSectionId, pBuffer, bufferLen); if( CL_OK != rc ) { CL_LOG_DEBUG_ERROR(("clCkptSectionOverwrite(): rc[0x %x]", rc)); } clHeapFree(pBuffer); CL_LOG_CLEANUP(clBufferDelete(&hEoEntryBuf), CL_OK); CL_LOG_DEBUG_TRACE(("Exit")); return rc; }
ClRcT clMsgGroupMembershipUpdateServer_4_0_0(ClEoDataT eoData, ClBufferHandleT inMsgHdl, ClBufferHandleT outMsgHdl) { ClIdlContextInfoT *pIdlCtxInfo = NULL; ClRcT rc = CL_OK; ClMsgSyncActionT_4_0_0 syncAct; SaNameT pGroupName; SaNameT pQueueName; ClUint16T updateCkpt; memset(&(syncAct), 0, sizeof(ClMsgSyncActionT_4_0_0)); memset(&(pGroupName), 0, sizeof(SaNameT)); memset(&(pQueueName), 0, sizeof(SaNameT)); memset(&(updateCkpt), 0, sizeof(ClUint16T)); rc = clXdrUnmarshallClMsgSyncActionT_4_0_0( inMsgHdl,&(syncAct)); if (CL_OK != rc) { goto LL0; } rc = clXdrUnmarshallSaNameT( inMsgHdl,&(pGroupName)); if (CL_OK != rc) { goto LL1; } rc = clXdrUnmarshallSaNameT( inMsgHdl,&(pQueueName)); if (CL_OK != rc) { goto LL2; } rc = clXdrUnmarshallClUint16T( inMsgHdl,&(updateCkpt)); if (CL_OK != rc) { goto LL3; } 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(msgIdlidlSyncKey, (void *)pIdlCtxInfo); if (CL_OK != rc) { clHeapFree(pIdlCtxInfo); goto L0; } rc = clMsgGroupMembershipUpdate_4_0_0(syncAct, &(pGroupName), &(pQueueName), updateCkpt); if(pIdlCtxInfo->inProgress == CL_FALSE) { clHeapFree(pIdlCtxInfo); pIdlCtxInfo = NULL; } if (CL_OK != rc) { goto L0; } rc = clXdrMarshallClMsgSyncActionT_4_0_0(&(syncAct), 0, 1); if (CL_OK != rc) { goto L1; } rc = clXdrMarshallSaNameT(&(pGroupName), 0, 1); if (CL_OK != rc) { goto L2; } rc = clXdrMarshallSaNameT(&(pQueueName), 0, 1); if (CL_OK != rc) { goto L3; } rc = clXdrMarshallClUint16T(&(updateCkpt), 0, 1); if (CL_OK != rc) { goto L4; } if(pIdlCtxInfo != NULL) { clHeapFree(pIdlCtxInfo); return rc; } L4: return rc; LL3: clXdrMarshallClUint16T(&(updateCkpt), 0, 1); LL2: clXdrMarshallSaNameT(&(pQueueName), 0, 1); LL1: clXdrMarshallSaNameT(&(pGroupName), 0, 1); LL0: clXdrMarshallClMsgSyncActionT_4_0_0(&(syncAct), 0, 1); return rc; L0: clXdrMarshallClMsgSyncActionT_4_0_0(&(syncAct), 0, 1); L1: clXdrMarshallSaNameT(&(pGroupName), 0, 1); L2: clXdrMarshallSaNameT(&(pQueueName), 0, 1); L3: clXdrMarshallClUint16T(&(updateCkpt), 0, 1); return rc; }
ClRcT clXdrMarshallClAmsSUConfigT_4_0_0(void* pGenVar, ClBufferHandleT msg, ClUint32T isDelete) { ClAmsSUConfigT_4_0_0* pVar = (ClAmsSUConfigT_4_0_0*)pGenVar; ClRcT rc = CL_OK; ClUint32T length = 0; if ((void*)0 == pVar) { clXdrMarshallClUint32T(&length, msg, 0); } else { length = 1; clXdrMarshallClUint32T(&length, msg, 0); rc = clXdrMarshallClAmsEntityConfigT_4_0_0(&(pVar->entity),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClAmsAdminStateT_4_0_0(&(pVar->adminState),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint32T(&(pVar->rank),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint32T(&(pVar->numComponents),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint16T(&(pVar->isPreinstantiable),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint16T(&(pVar->isRestartable),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint16T(&(pVar->isContainerSU),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClAmsEntityConfigT_4_0_0(&(pVar->parentSG),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClAmsEntityConfigT_4_0_0(&(pVar->parentNode),msg,isDelete); if (CL_OK != rc) { return rc; } } return rc; }
ClRcT clMsgGroupMembershipUpdateClientAsync_4_0_0(CL_IN ClIdlHandleT handle, CL_IN ClMsgSyncActionT_4_0_0 syncAct, CL_IN ClNameT* pGroupName, CL_IN ClNameT* pQueueName, CL_IN ClUint16T updateCkpt,CL_IN MsgIdlClMsgGroupMembershipUpdateAsyncCallbackT_4_0_0 fpAsyncCallback, CL_IN void *cookie) { ClRcT rc = CL_OK; ClVersionT funcVer = {4, 0, 0}; ClUint32T funcNo = CL_EO_GET_FULL_FN_NUM(CL_EO_NATIVE_COMPONENT_TABLE_ID, 14); ClBufferHandleT inMsgHdl = 0; ClBufferHandleT outMsgHdl = 0; ClIocAddressT address = {{0}}; ClIdlHandleObjT* pHandleObj = NULL; ClRmdAsyncOptionsT asyncOptions; ClUint32T tempFlags = 0; ClIdlCookieT* pCookie = NULL; 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) { goto L; } } else { rc = CL_IDL_RC(CL_ERR_INVALID_PARAMETER); goto L; } rc = clBufferCreate(&inMsgHdl); if (CL_OK != rc) { goto L; } rc = clXdrMarshallClMsgSyncActionT_4_0_0(&(syncAct), inMsgHdl, 0); if (CL_OK != rc) { goto L; } rc = clXdrMarshallClNameT(pGroupName, inMsgHdl, 0); if (CL_OK != rc) { goto L; } rc = clXdrMarshallClNameT(pQueueName, inMsgHdl, 0); if (CL_OK != rc) { goto L; } rc = clXdrMarshallClUint16T(&(updateCkpt), inMsgHdl, 0); if (CL_OK != rc) { goto L; } if(fpAsyncCallback != NULL) { pCookie = clHeapAllocate(sizeof(ClIdlCookieT)); if (NULL == pCookie) { return CL_IDL_RC(CL_ERR_NO_MEMORY); } asyncOptions.pCookie = NULL; asyncOptions.fpCallback = NULL; rc = clBufferCreate(&outMsgHdl); if (CL_OK != rc) { goto L2; } tempFlags |= pHandleObj->flags | (CL_RMD_CALL_ASYNC | CL_RMD_CALL_NON_PERSISTENT | CL_RMD_CALL_NEED_REPLY); pCookie->pCookie = cookie; pCookie->actualCallback = (void(*)())fpAsyncCallback; pCookie->handle = handle; asyncOptions.pCookie = pCookie; asyncOptions.fpCallback = clMsgGroupMembershipUpdateAsyncCallback_4_0_0; rc = clRmdWithMsgVer(address, &funcVer, funcNo, inMsgHdl, outMsgHdl, tempFlags, &(pHandleObj->options), &asyncOptions); if (CL_OK != rc) { goto LL; } } else { tempFlags |= pHandleObj->flags | (CL_RMD_CALL_ASYNC | CL_RMD_CALL_NON_PERSISTENT); rc = clRmdWithMsgVer(address, &funcVer, funcNo, inMsgHdl, 0, tempFlags, &(pHandleObj->options),NULL); if(CL_OK != rc) { goto L; } } clHandleCheckin(gIdlClnt.idlDbHdl,handle); return rc; LL: clBufferDelete(&outMsgHdl); L2: clHeapFree(pCookie); L: clHandleCheckin(gIdlClnt.idlDbHdl,handle); return rc; }
ClRcT clMsgGroupDatabaseUpdateClientSync_4_0_0(CL_IN ClIdlHandleT handle, CL_IN ClMsgSyncActionT_4_0_0 syncupType, CL_IN ClNameT* pGroupName, CL_IN SaMsgQueueGroupPolicyT_4_0_0 policy, CL_IN ClIocPhysicalAddressT_4_0_0 qGroupAddress, CL_IN ClUint16T updateCkpt) { ClRcT rc = CL_OK; ClVersionT funcVer = {4, 0, 0}; ClUint32T funcNo = CL_EO_GET_FULL_FN_NUM(CL_EO_NATIVE_COMPONENT_TABLE_ID, 13); 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 = clXdrMarshallClMsgSyncActionT_4_0_0(&(syncupType), inMsgHdl, 0); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClNameT(pGroupName, inMsgHdl, 0); if (CL_OK != rc) { return rc; } rc = clXdrMarshallSaMsgQueueGroupPolicyT_4_0_0(&(policy), inMsgHdl, 0); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClIocPhysicalAddressT_4_0_0(&(qGroupAddress), inMsgHdl, 0); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint16T(&(updateCkpt), inMsgHdl, 0); if (CL_OK != rc) { return rc; } tempFlags |= pHandleObj->flags | (CL_RMD_CALL_NON_PERSISTENT); tempFlags &= ~CL_RMD_CALL_ASYNC; rc = clRmdWithMsgVer(address, &funcVer, funcNo, inMsgHdl, outMsgHdl, tempFlags, &(pHandleObj->options), NULL); if(CL_OK != rc) { return rc; } rc = clHandleCheckin(gIdlClnt.idlDbHdl,handle); return rc; }
ClRcT clXdrMarshallcorObjHdlConvert_t_4_0_0(void* pGenVar, ClBufferHandleT msg, ClUint32T isDelete) { corObjHdlConvert_t_4_0_0* pVar = (corObjHdlConvert_t_4_0_0*)pGenVar; ClRcT rc = CL_OK; ClUint32T length = 0; if ((void*)0 == pVar) { clXdrMarshallClUint32T(&length, msg, 0); } else { length = 1; clXdrMarshallClUint32T(&length, msg, 0); rc = clXdrMarshallClVersionT(&(pVar->version),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallcorObjectOp_e_4_0_0(&(pVar->operation),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint16T(&(pVar->ohSize),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClCorMOIdT_4_0_0(&(pVar->moId),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClCorObjTypesT_4_0_0(&(pVar->type),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClCorServiceIdT_4_0_0(&(pVar->svcId),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallPtrClUint8T(pVar->pObjHandle, pVar->ohSize,msg,isDelete); if (CL_OK != rc) { return rc; } } return rc; }
ClRcT clLogMasterAttrVerifyNGetServer_4_0_0(ClEoDataT eoData, ClBufferHandleT inMsgHdl, ClBufferHandleT outMsgHdl) { ClIdlContextInfoT *pIdlCtxInfo = NULL; ClRcT rc = CL_OK; ClLogStreamAttrIDLT_4_0_0 pStreamAttr; SaNameT pStreamName; ClLogStreamScopeT pStreamScope; SaNameT pStreamScopeNode; ClUint16T pStreamId; ClUint64T pStreamMcastAddr; memset(&(pStreamAttr), 0, sizeof(ClLogStreamAttrIDLT_4_0_0)); memset(&(pStreamName), 0, sizeof(SaNameT)); memset(&(pStreamScope), 0, sizeof(ClLogStreamScopeT)); memset(&(pStreamScopeNode), 0, sizeof(SaNameT)); memset(&(pStreamId), 0, sizeof(ClUint16T)); memset(&(pStreamMcastAddr), 0, sizeof(ClUint64T)); rc = clXdrUnmarshallClLogStreamAttrIDLT_4_0_0( inMsgHdl,&(pStreamAttr)); if (CL_OK != rc) { goto LL0; } rc = clXdrUnmarshallSaNameT( inMsgHdl,&(pStreamName)); if (CL_OK != rc) { goto LL1; } rc = clXdrUnmarshallClLogStreamScopeT_4_0_0( inMsgHdl,&(pStreamScope)); if (CL_OK != rc) { goto LL2; } rc = clXdrUnmarshallSaNameT( inMsgHdl,&(pStreamScopeNode)); if (CL_OK != rc) { goto LL3; } rc = clXdrUnmarshallClUint16T( inMsgHdl,&(pStreamId)); if (CL_OK != rc) { goto LL4; } 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(LogidlSyncKey, (void *)pIdlCtxInfo); if (CL_OK != rc) { clHeapFree(pIdlCtxInfo); goto L0; } rc = clLogMasterAttrVerifyNGet_4_0_0(&(pStreamAttr), &(pStreamName), &(pStreamScope), &(pStreamScopeNode), &(pStreamId), &(pStreamMcastAddr)); if(pIdlCtxInfo->inProgress == CL_FALSE) { clHeapFree(pIdlCtxInfo); pIdlCtxInfo = NULL; } if (CL_OK != rc) { goto L0; } rc = clXdrMarshallClLogStreamAttrIDLT_4_0_0(&(pStreamAttr), 0, 1); if (CL_OK != rc) { goto L1; } rc = clXdrMarshallSaNameT(&(pStreamName), 0, 1); if (CL_OK != rc) { goto L2; } rc = clXdrMarshallClLogStreamScopeT_4_0_0(&(pStreamScope), 0, 1); if (CL_OK != rc) { goto L3; } rc = clXdrMarshallSaNameT(&(pStreamScopeNode), 0, 1); if (CL_OK != rc) { goto L4; } if(pIdlCtxInfo != NULL) { clHeapFree(pIdlCtxInfo); return rc; } rc = clXdrMarshallClUint16T(&(pStreamId), outMsgHdl, 1); if (CL_OK != rc) { goto L5; } rc = clXdrMarshallClUint64T(&(pStreamMcastAddr), outMsgHdl, 1); if (CL_OK != rc) { goto L6; } L6: return rc; LL4: clXdrMarshallClUint16T(&(pStreamId), 0, 1); LL3: clXdrMarshallSaNameT(&(pStreamScopeNode), 0, 1); LL2: clXdrMarshallClLogStreamScopeT_4_0_0(&(pStreamScope), 0, 1); LL1: clXdrMarshallSaNameT(&(pStreamName), 0, 1); LL0: clXdrMarshallClLogStreamAttrIDLT_4_0_0(&(pStreamAttr), 0, 1); return rc; L0: clXdrMarshallClLogStreamAttrIDLT_4_0_0(&(pStreamAttr), 0, 1); L1: clXdrMarshallSaNameT(&(pStreamName), 0, 1); L2: clXdrMarshallClLogStreamScopeT_4_0_0(&(pStreamScope), 0, 1); L3: clXdrMarshallSaNameT(&(pStreamScopeNode), 0, 1); L4: clXdrMarshallClUint16T(&(pStreamId), 0, 1); L5: clXdrMarshallClUint64T(&(pStreamMcastAddr), 0, 1); return rc; }
ClRcT clXdrMarshallClLogStreamOwnerDataIDLT_4_0_0(void* pGenVar, ClBufferHandleT msg, ClUint32T isDelete) { ClLogStreamOwnerDataIDLT_4_0_0* pVar = (ClLogStreamOwnerDataIDLT_4_0_0*)pGenVar; ClRcT rc = CL_OK; ClUint32T length = 0; if ((void*)0 == pVar) { clXdrMarshallClUint32T(&length, msg, 0); } else { length = 1; clXdrMarshallClUint32T(&length, msg, 0); rc = clXdrMarshallClUint16T(&(pVar->streamId),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint64T(&(pVar->streamMcastAddr),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint32T(&(pVar->dsId),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint16T(&(pVar->isNewStream),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint32T(&(pVar->openCnt),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint32T(&(pVar->ackerCnt),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint32T(&(pVar->nonAckerCnt),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClLogStreamAttrIDLT_4_0_0(&(pVar->streamAttr),msg,isDelete); if (CL_OK != rc) { return rc; } } return rc; }
ClRcT clMsgQueueMoveMessagesClientSync_4_0_0(CL_IN ClIdlHandleT handle, CL_IN ClNameT* pQName, CL_IN ClUint32T openFlags, CL_IN ClUint16T qDelete) { ClRcT rc = CL_OK; ClVersionT funcVer = {4, 0, 0}; ClUint32T funcNo = CL_EO_GET_FULL_FN_NUM(CL_MSG_CLIENT_SERVER_TABLE_ID, 3); 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 = clXdrMarshallClUint32T(&(openFlags), inMsgHdl, 0); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint16T(&(qDelete), inMsgHdl, 0); if (CL_OK != rc) { return rc; } tempFlags |= pHandleObj->flags | (CL_RMD_CALL_NON_PERSISTENT); tempFlags &= ~CL_RMD_CALL_ASYNC; rc = clRmdWithMsgVer(address, &funcVer, funcNo, inMsgHdl, outMsgHdl, tempFlags, &(pHandleObj->options), NULL); if(CL_OK != rc) { return rc; } rc = clHandleCheckin(gIdlClnt.idlDbHdl,handle); return rc; }