示例#1
0
/*********************************************************
	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
}
示例#2
0
/*********************************************************
	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;
}
示例#3
0
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;
}