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 clLogBitmapPack(ClBitmapHandleT hBitmap, ClBufferHandleT msg) { ClRcT rc = CL_OK; ClUint32T nBytes = 0; ClUint8T *pBitMap = NULL; CL_LOG_DEBUG_TRACE(("Enter")); rc = clBitmap2BufferGet(hBitmap, &nBytes, &pBitMap); if( CL_OK != rc ) { CL_LOG_DEBUG_ERROR(("clBitmap2PositionListGet(): rc[0x %x]", rc)); return rc; } rc = clXdrMarshallClUint32T(&nBytes, msg, 0); if( CL_OK != rc ) { CL_LOG_DEBUG_ERROR(("clXdrMarshallClUint32T(): rc[0x %x]", rc)); clHeapFree(pBitMap); return rc; } rc = clXdrMarshallArrayClUint8T(pBitMap, nBytes, msg, 0); if( CL_OK != rc ) { CL_LOG_DEBUG_ERROR(("clXdrMarshallArrayClUint8T(): rc[0x %x]", rc)); } clHeapFree(pBitMap); CL_LOG_DEBUG_TRACE(("Exit")); return rc; }
ClRcT _clTxnAgentAppendActiveJob(CL_IN ClBufferHandleT outMsg) { ClRcT rc = CL_OK; ClTxnDefnT *pTxnDefn; ClCntNodeHandleT currTxnNode; ClCharT pOutMsg[1024]; CL_FUNC_ENTER(); rc = clCntFirstNodeGet(clTxnAgntCfg->activeTxnMap, &currTxnNode); while (rc == CL_OK) { ClCntNodeHandleT nodeTxn; ClCntNodeHandleT currJobNode; ClTxnAppJobDefnT *pNewTxnJob; /* Retrieve data-node for node */ rc = clCntNodeUserDataGet(clTxnAgntCfg->activeTxnMap, currTxnNode, (ClCntDataHandleT *)&pTxnDefn); if(CL_OK != rc) { clLogError("AGT", "CLI", "User data get failed with error [0x%x]", rc); return rc; } rc = clCntFirstNodeGet(pTxnDefn->jobList, &currJobNode); while (rc == CL_OK) { ClCntNodeHandleT nodeJob; /* Retrieve data-node for node */ rc = clCntNodeUserDataGet(pTxnDefn->jobList, currJobNode, (ClCntDataHandleT *)&pNewTxnJob); pOutMsg[0] = '\0'; sprintf(pOutMsg, " 0x%x:0x%x\t| 0x%x\t| %30s \n", pTxnDefn->serverTxnId.txnMgrNodeAddress, pTxnDefn->serverTxnId.txnId, pNewTxnJob->jobId.jobId, gCliTxnStatusStr[pNewTxnJob->currentState]); clXdrMarshallArrayClUint8T(&pOutMsg, strlen((char*)pOutMsg), outMsg, 0); nodeJob = currJobNode; rc = clCntNextNodeGet(pTxnDefn->jobList, nodeJob, &currJobNode); } nodeTxn = currTxnNode; rc = clCntNextNodeGet(clTxnAgntCfg->activeTxnMap, nodeTxn, &currTxnNode); } if(CL_GET_ERROR_CODE(rc) == CL_ERR_NOT_EXIST) rc = CL_OK; CL_FUNC_EXIT(); return(rc); }
ClRcT _clTxnAgentAppendServices(CL_IN ClBufferHandleT outMsg) { ClRcT rc = CL_OK; ClTxnAgentCompServiceInfoT *pCompInstance; ClCntNodeHandleT currNode; ClCharT pOutMsg[1024]; CL_FUNC_ENTER(); rc = clCntFirstNodeGet(clTxnAgntCfg->compServiceMap, &currNode); while (rc == CL_OK) { ClCntNodeHandleT node; /* Retrieve data-node for node */ rc = clCntNodeUserDataGet(clTxnAgntCfg->compServiceMap, currNode, (ClCntDataHandleT *)&pCompInstance); if(CL_OK != rc) { clLogError("AGT", "CLI", "User data get failed with error [0x%x]", rc); return rc; } pOutMsg[0] = '\0'; if(pCompInstance->serviceCapability == CL_TXN_AGENT_SERVICE_2PC) { sprintf(pOutMsg, " %6d\t| 2PC Capable \n", pCompInstance->serviceType); } else if(pCompInstance->serviceCapability == CL_TXN_AGENT_SERVICE_1PC) { sprintf(pOutMsg, " %6d\t| 1PC Capable \n", pCompInstance->serviceType); } clXdrMarshallArrayClUint8T(&pOutMsg, strlen((char*)pOutMsg), outMsg, 0); node = currNode; rc = clCntNextNodeGet(clTxnAgntCfg->compServiceMap, node, &currNode); } if(CL_GET_ERROR_CODE(rc) == CL_ERR_NOT_EXIST) rc = CL_OK; CL_FUNC_EXIT(); return(rc); }
ClRcT clXdrMarshallClMD5T(void* pGenVar, ClBufferHandleT msg, ClUint32T isDelete) { ClMD5T* pVar = (ClMD5T*)pGenVar; ClRcT rc; if ((void*)0 == pVar) { return CL_XDR_RC(CL_ERR_NULL_POINTER); } rc = clXdrMarshallArrayClUint8T(pVar->md5sum, sizeof(pVar->md5sum),msg,isDelete); if (CL_OK != rc) { return rc; } return rc; }
ClRcT clXdrMarshallClCorTxnJobHeaderT_4_0_0(void* pGenVar, ClBufferHandleT msg, ClUint32T isDelete) { ClCorTxnJobHeaderT_4_0_0* pVar = (ClCorTxnJobHeaderT_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 = clXdrMarshallClUint8T(&(pVar->srcArch),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint8T(&(pVar->regStatus),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallArrayClUint8T(pVar->reserved, 2,msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClCorMOIdT_4_0_0(&(pVar->moId),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClUint32T(&(pVar->numJobs),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClInt32T(&(pVar->jobStatus),msg,isDelete); if (CL_OK != rc) { return rc; } rc = clXdrMarshallClInt32T(&(pVar->omClassId),msg,isDelete); if (CL_OK != rc) { return rc; } } return rc; }
/** This function recieves the debug CLI command through the transaction manager and send back the job status and registered service details. */ static ClRcT VDECL(clTxnAgentDebugMsgReceive)( CL_IN ClEoDataT eoArg, CL_IN ClBufferHandleT inMsg, CL_IN ClBufferHandleT outMsg) { ClRcT rc = CL_OK; CL_FUNC_ENTER(); rc = clXdrMarshallArrayClUint8T((ClUint8T *)CL_TXN_AGT_CLI_DISP_NEWLINE, CL_TXN_AGT_CLI_DISP_NEWLINE_SIZE, outMsg,0); rc = clXdrMarshallArrayClUint8T((ClUint8T *) CL_TXN_AGT_CLI_DISP_JOB_LIST_HEADER, CL_TXN_AGT_CLI_DISP_JOB_LIST_HEADER_SIZE, outMsg,0); rc = clXdrMarshallArrayClUint8T((ClUint8T *)CL_TXN_AGT_CLI_DISP_SHORT_SEP, CL_TXN_AGT_CLI_DISP_SHORT_SEP_SIZE, outMsg,0); rc = _clTxnAgentAppendActiveJob(outMsg); if(CL_OK != rc) { clLogError("AGT", "CLI", "Appending active job failed with error [0x%x]. Failed to handle Txn Mgr debug cmd", rc); return rc; } rc = clXdrMarshallArrayClUint8T((ClUint8T *)CL_TXN_AGT_CLI_DISP_SHORT_SEP, CL_TXN_AGT_CLI_DISP_SHORT_SEP_SIZE, outMsg,0); rc = clXdrMarshallArrayClUint8T((ClUint8T *)CL_TXN_AGT_CLI_DISP_NEWLINE, CL_TXN_AGT_CLI_DISP_NEWLINE_SIZE, outMsg,0); rc = clXdrMarshallArrayClUint8T((ClUint8T *) CL_TXN_AGT_CLI_DISP_SRC_INFO_HEADER, CL_TXN_AGT_CLI_DISP_SRC_INFO_HEADER_SIZE, outMsg,0); rc = clXdrMarshallArrayClUint8T((ClUint8T *)CL_TXN_AGT_CLI_DISP_SHORT_SEP, CL_TXN_AGT_CLI_DISP_SHORT_SEP_SIZE, outMsg,0); rc = _clTxnAgentAppendServices(outMsg); if(CL_OK != rc) { clLogError("AGT", "CLI", "Appending services failed with error [0x%x]. Failed to handle Txn Mgr debug cmd", rc); return rc; } rc = clXdrMarshallArrayClUint8T((ClUint8T *)CL_TXN_AGT_CLI_DISP_SHORT_SEP, CL_TXN_AGT_CLI_DISP_SHORT_SEP_SIZE, outMsg,0); rc = clXdrMarshallArrayClUint8T((ClUint8T *)CL_TXN_AGT_CLI_DISP_NEWLINE, CL_TXN_AGT_CLI_DISP_NEWLINE_SIZE, outMsg,0); CL_FUNC_EXIT(); return(rc); }