在uc模块中,使用到了C语言中的位域。整理如下。

/* 位域的申明 */
typedef struct UC_OSPF_INTERFACE_VALID
{
	UINT8 deadInter : 1;
	UINT8 tranDelay : 1;
	UINT8 prio : 1;
	UINT8 cost : 1;
	UINT8 helloInter : 1;
	UINT8 retrInter : 1;
	UINT8 intfType : 1;
	UINT8 reserve :2;
}UC_OSPF_INTERFACE_VALID;

typedef struct UC_OSPF_INTERFACE{

	//Something else
	UC_OSPF_INTERFACE_VALID		valid;
} UC_OSPF_INTERFACE;

位域的引用。

static STATUS swOspfAsbrAggre2Uc(ULONG pID,ULONG ipNum,ULONG maskNum,
				UINT32 paraMask,UINT32 tag,BOOL noCmd)
{
	int rv = ERR_NO_ERROR;
	UC_OSPF_SUMMARY_ADDR*  ucSummAddr = NULL;


	ucSummAddr->valid.tag = FALSE;		//直接复制为TRUE或者FALSE
}