/********************************************************* Build the topology map from the self-id bundle */ void briBuildTopologyMap(void) { #ifdef _BMC_CAPS HRESULT hResult = NO_ERROR; uint32 generation; hResult = briGetCurrentBusGeneration(&generation); if (hResult != NO_ERROR) return; hResult = nciBMBuildTopologyMap (briGetSIDs(), briGetNumSIDQuads(), briGetNumNodes(), generation); if (hResult != NO_ERROR) return; #endif //_BMC_CAPS }
/********************************************************* Called by BR Thread. Have the NCI validate the self-id bundle, find IRM, etc. */ HRESULT briProcessSelfId(void) { HRESULT hResult = NO_ERROR; if (briIsSelfIDsValid() == TRUE) { hResult = nciVerifySelfIDs( briGetSIDs(), briGetNumSIDQuads(), briGetNumNodes()); } else { hResult = E_LHL_SELF_ID_DATA_ERROR; sysLogError(hResult, __LINE__, moduleName); return hResult; } return hResult; }
static BOOL nciIsNodeLinkActive(uint32 nodeNum) { uint32 i; QUADLET *selfIDs = 0; BOOL bActive = FALSE; selfIDs = briGetSIDs(); for (i = 0; i < briGetNumSIDQuads(); i++) { if (nciExtractSelfidNodeId(selfIDs[i]) == (int32) nodeNum) { bActive = nciExtractSelfidLinkActive(selfIDs[i]); break; } } return bActive; }