示例#1
0
BOOL briIsThisNodeAddr(uint32 nodeAddr)
{
	HRESULT		hResult = NO_ERROR;
	uint32		localAddr = 0;

	hResult = briGetThisNodeAddr(&localAddr);
	if (hResult != NO_ERROR) return FALSE;

	return (nodeAddr == localAddr);
}
示例#2
0
BOOL briIsThisNodeRoot(void)
{
	HRESULT		hResult = NO_ERROR;
	uint32		localAddr = 0;
	uint32		rootAddr = 0;

	hResult = briGetThisNodeAddr(&localAddr);
	if (hResult != NO_ERROR) return FALSE;

	hResult = briGetNodeAddrRoot(&rootAddr);
	if (hResult != NO_ERROR) return FALSE;

	return (rootAddr == localAddr);
}
示例#3
0
HRESULT nciGetBusInfo(LAL_BUS_RESET_INFO* plalInfoBlock)
{
	HRESULT		hResult = NO_ERROR;
	uint32		busGen = 0;

	if (briIsSelfIDsValid() != TRUE)
	{
		hResult = E_NCI_BUS_INFO_NOT_AVAILABLE;
		sysLogError(hResult, __LINE__, moduleName);
		return hResult;
	}

	if (nciInfoBlock.bValid != TRUE)
	{
		hResult = E_NCI_NODE_INFO_NOT_AVAILABLE;
		sysLogError(hResult, __LINE__, moduleName);
		return hResult;
	}

	hResult = briGetCurrentBusGeneration(&busGen);
	if (hResult != NO_ERROR) return hResult;
	nciInfoBlock.busGeneration = busGen;

	hResult = briGetThisNodeAddr(&nciInfoBlock.nodeAddr);
	if (hResult != NO_ERROR) return hResult;

	hResult = briGetBusID(&nciInfoBlock.busId);
	if (hResult != NO_ERROR) return hResult;

	hResult = lhlBriGetCycleTime(&nciInfoBlock.currentTime);
	if (hResult != NO_ERROR) return hResult;

	plalInfoBlock->currentTime = nciInfoBlock.currentTime;
	plalInfoBlock->busGeneration = nciInfoBlock.busGeneration;
	plalInfoBlock->numNodes = nciInfoBlock.numNodes;
	plalInfoBlock->rootAddr = nciInfoBlock.rootAddr;
	plalInfoBlock->irmAddr = nciInfoBlock.irmAddr;
	plalInfoBlock->numSelfIDs = nciInfoBlock.numSelfIDs;
	plalInfoBlock->nodeAddr = nciInfoBlock.nodeAddr;
	plalInfoBlock->busId = nciInfoBlock.busId;
	plalInfoBlock->SIDBundle = nciInfoBlock.SIDBundle;

	return hResult;
}