当前位置: 首页>>代码示例>>C++>>正文


C++ rtl8367b_setAsicRegBits函数代码示例

本文整理汇总了C++中rtl8367b_setAsicRegBits函数的典型用法代码示例。如果您正苦于以下问题:C++ rtl8367b_setAsicRegBits函数的具体用法?C++ rtl8367b_setAsicRegBits怎么用?C++ rtl8367b_setAsicRegBits使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了rtl8367b_setAsicRegBits函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: rtl8367b_setAsicVlanPortBasedVID

/* Function Name:
 *      rtl8367b_setAsicVlanPortBasedVID
 * Description:
 *      Set port based VID which is indexed to 32 VLAN member configurations
 * Input:
 *      port 	- Physical port number (0~7)
 *      index 	- Index to VLAN member configuration
 *      pri 	- 1Q Port based VLAN priority
 * Output:
 *      None
 * Return:
 *      RT_ERR_OK 					- Success
 *      RT_ERR_SMI  				- SMI access error
 *      RT_ERR_PORT_ID  			- Invalid port number
 *      RT_ERR_QOS_INT_PRIORITY  	- Invalid priority
 *      RT_ERR_VLAN_ENTRY_NOT_FOUND - Invalid VLAN member configuration index
 * Note:
 *      None
 */
ret_t rtl8367b_setAsicVlanPortBasedVID(rtk_uint32 port, rtk_uint32 index, rtk_uint32 pri)
{
    rtk_uint32 regAddr, bit_mask;
    ret_t  retVal;

    if(port > RTL8367B_PORTIDMAX)
        return RT_ERR_PORT_ID;

    if(index > RTL8367B_CVIDXMAX)
        return RT_ERR_VLAN_ENTRY_NOT_FOUND;

    if(pri > RTL8367B_PRIMAX)
        return RT_ERR_QOS_INT_PRIORITY;

    regAddr = RTL8367B_VLAN_PVID_CTRL_REG(port);
    bit_mask = RTL8367B_PORT_VIDX_MASK(port);
    retVal = rtl8367b_setAsicRegBits(regAddr, bit_mask, index);
    if(retVal != RT_ERR_OK)
        return retVal;

    regAddr = RTL8367B_VLAN_PORTBASED_PRIORITY_REG(port);
    bit_mask = RTL8367B_VLAN_PORTBASED_PRIORITY_MASK(port);
    retVal = rtl8367b_setAsicRegBits(regAddr, bit_mask, pri);
    if(retVal != RT_ERR_OK)
        return retVal;

    return RT_ERR_OK;
}
开发者ID:schidler,项目名称:flyzjhz-rt-n56u,代码行数:47,代码来源:rtl8367b_asicdrv_vlan.c

示例2: rtl8367b_setAsicForceGroupLed

/* Function Name:
 *      rtl8367b_setAsicForceGroupLed
 * Description:
 *      Turn on/off Led of all ports
 * Input:
 *      group 	- LED group number
 *      mode 	- 0b00:normal mode, 0b01:force blink, 0b10:force off, 0b11:force on
 * Output:
 *      None
 * Return:
 *      RT_ERR_OK 			- Success
 *      RT_ERR_SMI  		- SMI access error
 *      RT_ERR_OUT_OF_RANGE - input parameter out of range
 * Note:
 *		None
 */
ret_t rtl8367b_setAsicForceGroupLed(rtk_uint32 groupmask, rtk_uint32 mode)
{
    ret_t retVal;
	rtk_uint32 i,bitmask;
    CONST rtk_uint16 bits[3]= {0x0004,0x0010,0x0040};

    /* Invalid input parameter */
    if(groupmask > RTL8367B_LEDGROUPMASK)
        return RT_ERR_OUT_OF_RANGE;

    if(mode >= LEDFORCEMODE_END)
        return RT_ERR_OUT_OF_RANGE;

    bitmask = 0;
	for(i = 0; i <  RTL8367B_LEDGROUPNO; i++)
	{
	    if(groupmask & (1 << i))
	    {
            bitmask = bitmask | bits[i];
	    }

	}

    retVal = rtl8367b_setAsicRegBits(RTL8367B_LED_FORCE_CTRL, RTL8367B_LED_FORCE_MODE_MASK, bitmask);

    retVal = rtl8367b_setAsicRegBits(RTL8367B_LED_FORCE_CTRL, RTL8367B_FORCE_MODE_MASK, mode);

    if(LEDFORCEMODE_NORMAL == mode)
        retVal = rtl8367b_setAsicRegBits(RTL8367B_LED_FORCE_CTRL, RTL8367B_LED_FORCE_MODE_MASK, 0);

    return retVal;
}
开发者ID:jing-git,项目名称:rt-n56u,代码行数:48,代码来源:rtl8367b_asicdrv_led.c

示例3: rtl8367b_setAsicIGMPSuppression

/* Function Name:
 *      rtl8367b_setAsicIGMPSuppression
 * Description:
 *      Set the suppression function
 * Input:
 *      report_supp_enabled 	- Report suppression, 1:Enable, 0:disable
 *      leave_supp_enabled 		- Leave suppression, 1:Enable, 0:disable
 * Output:
 *      None
 * Return:
 *      RT_ERR_OK 	- Success
 *      RT_ERR_SMI  - SMI access error
 * Note:
 *      None
 */
ret_t rtl8367b_setAsicIGMPSuppression(rtk_uint32 report_supp_enabled, rtk_uint32 leave_supp_enabled)
{
    ret_t   retVal;

    retVal = rtl8367b_setAsicRegBits(RTL8367B_REG_IGMP_MLD_CFG0, RTL8367B_REPORT_SUPPRESSION_MASK, report_supp_enabled);
    if(retVal != RT_ERR_OK)
        return retVal;

    retVal = rtl8367b_setAsicRegBits(RTL8367B_REG_IGMP_MLD_CFG0, RTL8367B_LEAVE_SUPPRESSION_MASK, leave_supp_enabled);
    if(retVal != RT_ERR_OK)
        return retVal;

    return RT_ERR_OK;
}
开发者ID:Jongil-Park,项目名称:my_test,代码行数:29,代码来源:rtl8367b_asicdrv_igmp.c

示例4: rtl8367b_setAsicFlowControlSharedDropThreshold

/* Function Name:
 *      rtl8367b_setAsicFlowControlSharedDropThreshold
 * Description:
 *      Set share-based fdrop parameters
 * Input:
 *      onThreshold 	- Drop turn ON threshold
 *      offThreshold 	- Drop turn OFF threshold
 * Output:
 *      None
 * Return:
 *      RT_ERR_OK 			- Success
 *      RT_ERR_SMI  		- SMI access error
 *      RT_ERR_OUT_OF_RANGE - input parameter out of range
 * Note:
 *      None
 */
ret_t rtl8367b_setAsicFlowControlSharedDropThreshold(rtk_uint32 onThreshold, rtk_uint32 offThreshold)
{
    ret_t retVal;
 
    if((onThreshold >= RTL8367B_PAGE_NUMBER) || (offThreshold >= RTL8367B_PAGE_NUMBER))
        return RT_ERR_OUT_OF_RANGE;
    
    retVal = rtl8367b_setAsicRegBits(RTL8367B_REG_FLOWCTRL_FCOFF_SHARE_OFF, RTL8367B_FLOWCTRL_FCOFF_SHARE_OFF_MASK, offThreshold);
    if(retVal != RT_ERR_OK)
        return retVal;

    retVal = rtl8367b_setAsicRegBits(RTL8367B_REG_FLOWCTRL_FCOFF_SHARE_ON, RTL8367B_FLOWCTRL_FCOFF_SHARE_ON_MASK, onThreshold);

    return retVal;
}
开发者ID:schidler,项目名称:flyzjhz-rt-n56u,代码行数:31,代码来源:rtl8367b_asicdrv_fc.c

示例5: rtl8367b_setAsicVlanPortAndProtocolBased

/* Function Name:
 *      rtl8367b_setAsicVlanPortAndProtocolBased
 * Description:
 *      Set protocol and port based VLAN configuration
 * Input:
 *      port 		- Physical port number (0~7)
 *      index 		- Index of protocol and port based database index
 *      pPpbCfg 	- Protocol and port based VLAN configuration
 * Output:
 *      None
 * Return:
 *      RT_ERR_OK 					- Success
 *      RT_ERR_SMI  				- SMI access error
 *      RT_ERR_INPUT  				- Invalid input parameter
 *      RT_ERR_PORT_ID  			- Invalid port number
 *      RT_ERR_QOS_INT_PRIORITY  	- Invalid priority
 *      RT_ERR_VLAN_PROTO_AND_PORT  - Invalid protocol base group database index
 *      RT_ERR_VLAN_ENTRY_NOT_FOUND - Invalid VLAN member configuration index
 * Note:
 *      None
 */
ret_t rtl8367b_setAsicVlanPortAndProtocolBased(rtk_uint32 port, rtk_uint32 index, rtl8367b_protocolvlancfg *pPpbCfg)
{
	rtk_uint32  reg_addr, bit_mask, bit_value;
	ret_t   retVal;

	/* Error Checking */
	if(port > RTL8367B_PORTIDMAX)
		return RT_ERR_PORT_ID;

	if(index > RTL8367B_PROTOVLAN_GIDX_MAX)
		return RT_ERR_VLAN_PROTO_AND_PORT;

	if( (pPpbCfg->valid != FALSE) && (pPpbCfg->valid != TRUE) )
        return RT_ERR_INPUT;

	if(pPpbCfg->vlan_idx > RTL8367B_CVIDXMAX)
        return RT_ERR_VLAN_ENTRY_NOT_FOUND;

	if(pPpbCfg->priority > RTL8367B_PRIMAX)
        return RT_ERR_QOS_INT_PRIORITY;

	/* Valid bit */
	reg_addr  = RTL8367B_VLAN_PPB_VALID_REG(index);
	bit_mask  = 0x0001 << port;
	bit_value = ((TRUE == pPpbCfg->valid) ? 0x1 : 0x0);
	retVal    = rtl8367b_setAsicRegBits(reg_addr, bit_mask, bit_value);
	if(retVal != RT_ERR_OK)
		return retVal;

	/* Calculate the actual register address for CVLAN index*/
	reg_addr = RTL8367B_VLAN_PPB_CTRL_REG(index, port);
	bit_mask = RTL8367B_VLAN_PPB_CTRL_MASK(port);
	bit_value = pPpbCfg->vlan_idx;

   	retVal	= rtl8367b_setAsicRegBits(reg_addr, bit_mask, bit_value);
	if(retVal != RT_ERR_OK)
		return retVal;

	/* write priority */
	reg_addr  = RTL8367B_VLAN_PPB_PRIORITY_ITEM_REG(port, index);
	bit_mask  = RTL8367B_VLAN_PPB_PRIORITY_ITEM_MASK(port);
	bit_value = pPpbCfg->priority;
	retVal    = rtl8367b_setAsicRegBits(reg_addr, bit_mask, bit_value);
	if(retVal != RT_ERR_OK)
		return retVal;

    return RT_ERR_OK;
}
开发者ID:schidler,项目名称:flyzjhz-rt-n56u,代码行数:69,代码来源:rtl8367b_asicdrv_vlan.c

示例6: rtl8367b_setAsicIGMPStaticRouterPort

/* Function Name:
 *      rtl8367b_setAsicIGMPStaticRouterPort
 * Description:
 *      Set IGMP static router port mask
 * Input:
 *      pmsk 	- Static portmask
 * Output:
 *      None
 * Return:
 *      RT_ERR_OK 			- Success
 *      RT_ERR_SMI  		- SMI access error
 *      RT_ERR_PORT_MASK  	- Invalid port mask
 * Note:
 *      None
 */
ret_t rtl8367b_setAsicIGMPStaticRouterPort(rtk_uint32 pmsk)
{
    if(pmsk > RTL8367B_PORTMASK)
        return RT_ERR_PORT_MASK;

    return rtl8367b_setAsicRegBits(RTL8367B_REG_IGMP_STATIC_ROUTER_PORT, RTL8367B_IGMP_STATIC_ROUTER_PORT_MASK, pmsk);
}
开发者ID:Jongil-Park,项目名称:my_test,代码行数:22,代码来源:rtl8367b_asicdrv_igmp.c

示例7: rtl8367b_setAsicUnknownMulticastTrapPriority

/* Function Name:
 *      rtl8367b_setAsicUnknownMulticastTrapPriority
 * Description:
 *      Set trap priority of unknown multicast frame
 * Input:
 *      priority 	- priority (0~7)
 * Output:
 *      None
 * Return:
 *      RT_ERR_OK 				- Success
 *      RT_ERR_SMI  			- SMI access error
 *      RT_ERR_QOS_INT_PRIORITY - Invalid priority
 * Note:
 *      None
 */
ret_t rtl8367b_setAsicUnknownMulticastTrapPriority(rtk_uint32 priority)
{
    if(priority > RTL8367B_PRIMAX)
        return RT_ERR_QOS_INT_PRIORITY;

    return rtl8367b_setAsicRegBits(RTL8367BG_QOS_TRAP_PRIORITY_CTRL0_REG, RTL8367B_UNKNOWN_MC_PRIORTY_MASK, priority);
}
开发者ID:Jongil-Park,项目名称:my_test,代码行数:22,代码来源:rtl8367b_asicdrv_unknownMulticast.c

示例8: rtl8367b_setAsicPortUnknownSaBehavior

/* Function Name:
 *      rtl8367b_setAsicPortUnknownSaBehavior
 * Description:
 *      Set UNSA behavior
 * Input:
 *      behavior 	- 0: flooding; 1: drop; 2:trap
 * Output:
 *      None
 * Return:
 *      RT_ERR_OK 			- Success
 *      RT_ERR_SMI  		- SMI access error
 *      RT_ERR_NOT_ALLOWED  - Invalid behavior
 * Note:
 *      None
 */
ret_t rtl8367b_setAsicPortUnknownSaBehavior(rtk_uint32 behavior)
{
    if(behavior >= L2_BEHAVE_SA_END)
		return RT_ERR_NOT_ALLOWED;

	return rtl8367b_setAsicRegBits(RTL8367B_PORT_SECURIT_CTRL_REG, RTL8367B_UNKNOWN_SA_BEHAVE_MASK, behavior);
}
开发者ID:jait,项目名称:witi-uboot,代码行数:22,代码来源:rtl8367b_asicdrv_port.c

示例9: rtl8367b_setAsicRldp8051Portmask

/* Function Name:
 *      rtl8367b_setAsicRldp8051Portmask
 * Description:
 *      Set portmask that send/forward RLDP frame
 * Input:
 *      portmask 	- 0~0xFF
 * Output:
 *      None
 * Return:
 *      RT_ERR_OK 			- Success
 *      RT_ERR_SMI  		- SMI access error
 *      RT_ERR_PORT_MASK  	- Invalid portmask
 * Note:
 *      None
 */
ret_t rtl8367b_setAsicRldp8051Portmask(rtk_uint32 portmask)
{
    if(portmask > RTL8367B_PORTMASK)
        return RT_ERR_PORT_MASK;

    return rtl8367b_setAsicRegBits(RTL8367B_RLDP_CTRL0_REG,RTL8367B_RLDP_8051_LOOP_PORTMSK_MASK,portmask);
}
开发者ID:Jongil-Park,项目名称:my_test,代码行数:22,代码来源:rtl8367b_asicdrv_rldp.c

示例10: rtl8367b_setAsicCputagTrapPort

/* Function Name:
 *      rtl8367b_setAsicCputagTrapPort
 * Description:
 *      Set cpu tag trap port
 * Input:
 *      port - port number
 * Output:
 *      None
 * Return:
 *      RT_ERR_OK 		- Success
 *      RT_ERR_SMI  	- SMI access error
 *      RT_ERR_PORT_ID  - Invalid port number
 * Note:
 *     API can set destination port of trapping frame
 */
ret_t rtl8367b_setAsicCputagTrapPort(rtk_uint32 port)
{
    if(port >= RTL8367B_PORTNO)
        return RT_ERR_PORT_ID;

    return rtl8367b_setAsicRegBits(RTL8367B_REG_CPU_CTRL, RTL8367B_CPU_TRAP_PORT_MASK, port);    
}
开发者ID:Jongil-Park,项目名称:my_test,代码行数:22,代码来源:rtl8367b_asicdrv_cputag.c

示例11: rtl8367b_setAsicCputagInsertMode

/* Function Name:
 *      rtl8367b_setAsicCputagInsertMode
 * Description:
 *      Set CPU-tag insert mode
 * Input:
 *      mode - 0: insert to all packets; 1: insert to trapped packets; 2: don't insert
 * Output:
 *      None
 * Return:
 *      RT_ERR_OK 			- Success
 *      RT_ERR_SMI  		- SMI access error
 *      RT_ERR_NOT_ALLOWED  - Actions not allowed by the function
 * Note:
 *     None
 */
ret_t rtl8367b_setAsicCputagInsertMode(rtk_uint32 mode)
{
    if(mode >= CPUTAG_INSERT_END)
        return RT_ERR_NOT_ALLOWED;

    return rtl8367b_setAsicRegBits(RTL8367B_REG_CPU_CTRL, RTL8367B_CPU_INSERTMODE_MASK, mode);
}
开发者ID:Jongil-Park,项目名称:my_test,代码行数:22,代码来源:rtl8367b_asicdrv_cputag.c

示例12: rtl8367b_setAsicOamCpuPri

/* Function Name:
 *      rtl8367b_setAsicOamCpuPri
 * Description:
 *      Set trap priority for OAM packet
 * Input:
 *      priority 	- priority (0~7)
 * Output:
 *      None
 * Return:
 *      RT_ERR_OK 					- Success
 *      RT_ERR_SMI  				- SMI access error
 *      RT_ERR_QOS_INT_PRIORITY  	- Invalid priority
 * Note:
 *      None
 */
ret_t rtl8367b_setAsicOamCpuPri(rtk_uint32 priority)
{
    if(priority > RTL8367B_PRIMAX)
        return RT_ERR_QOS_INT_PRIORITY;

    return rtl8367b_setAsicRegBits(RTL8367B_REG_QOS_TRAP_PRIORITY0, RTL8367B_OAM_PRIOIRTY_MASK, priority);
}
开发者ID:Jongil-Park,项目名称:my_test,代码行数:22,代码来源:rtl8367b_asicdrv_oam.c

示例13: rtl8367b_setAsicLedForceBlinkRate

/* Function Name:
 *      rtl8367b_setAsicLedForceBlinkRate
 * Description:
 *      Set LEd blinking rate for force mode led
 * Input:
 *      blinkRate 	- Support 6 blink rates
 * Output:
 *      None
 * Return:
 *      RT_ERR_OK 			- Success
 *      RT_ERR_SMI  		- SMI access error
 *      RT_ERR_OUT_OF_RANGE - input parameter out of range
 * Note:
 *		None
 */
ret_t rtl8367b_setAsicLedForceBlinkRate(rtk_uint32 blinkRate)
{
    if(blinkRate >= LEDFORCERATE_END)
        return RT_ERR_OUT_OF_RANGE;

    return rtl8367b_setAsicRegBits(RTL8367B_REG_LED_MODE, RTL8367B_FORCE_RATE_MASK, blinkRate);
}
开发者ID:jing-git,项目名称:rt-n56u,代码行数:22,代码来源:rtl8367b_asicdrv_led.c

示例14: rtl8367b_setAsicLedBlinkRate

/* Function Name:
 *      rtl8367b_setAsicLedBlinkRate
 * Description:
 *      Set led blinking rate at mode 0 to mode 3
 * Input:
 *      blinkRate 	- Support 6 blink rates
 * Output:
 *      None
 * Return:
 *      RT_ERR_OK 			- Success
 *      RT_ERR_SMI  		- SMI access error
 *      RT_ERR_OUT_OF_RANGE - input parameter out of range
 * Note:
 *		LED blink rate can be at 43ms, 84ms, 120ms, 170ms, 340ms and 670ms
 */
ret_t rtl8367b_setAsicLedBlinkRate(rtk_uint32 blinkRate)
{
    if(blinkRate >= LEDBLINKRATE_END)
        return RT_ERR_OUT_OF_RANGE;

    return rtl8367b_setAsicRegBits(RTL8367B_REG_LED_MODE, RTL8367B_SEL_LEDRATE_MASK, blinkRate);
}
开发者ID:jing-git,项目名称:rt-n56u,代码行数:22,代码来源:rtl8367b_asicdrv_led.c

示例15: rtl8367b_setAsicSvlanPrioritySel

/* Function Name:
 *      rtl8367b_setAsicSvlanPrioritySel
 * Description:
 *      Set SVLAN priority field setting
 * Input:
 *      priSel 	- S-priority assignment method, 0:internal priority 1:C-tag priority 2:using Svlan member configuration
 * Output:
 *      None
 * Return:
 *      RT_ERR_OK 		- Success
 *      RT_ERR_SMI  	- SMI access error
 *      RT_ERR_INPUT  	- Invalid input parameter
 * Note:
 *      None
 */
ret_t rtl8367b_setAsicSvlanPrioritySel(rtk_uint32 priSel)
{
    if(priSel >= SPRISEL_END)
        return RT_ERR_INPUT;

    return rtl8367b_setAsicRegBits(RTL8367B_REG_SVLAN_CFG, RTL8367B_VS_SPRISEL_MASK, priSel);
}
开发者ID:udif,项目名称:kakaxi-project,代码行数:22,代码来源:rtl8367b_asicdrv_svlan.c


注:本文中的rtl8367b_setAsicRegBits函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。