• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ rtl8370_getAsicRegBit函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: rtl8370_getAsicPortDisableAging

/*
@func ret_t | rtl8370_getAsicPortDisableAging | Get L2 LUT aging per port setting.
@parm uint32 | port | Physical port number.
@parm uint32* | disable | 0: enable aging; 1: disabling aging
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_PORT_ID | Invalid port number.
@comm
     This API can be used to get L2 LUT aging function per port. 
*/
ret_t rtl8370_getAsicPortDisableAging(uint32 port, uint32 *disable)
{
    if(port > RTL8370_PORTIDMAX)
        return RT_ERR_PORT_ID;

    return rtl8370_getAsicRegBit(RTL8370_LUT_AGEOUT_CRTL_REG, port, disable);
}
开发者ID:andy-padavan,项目名称:rt-n56u,代码行数:16,代码来源:rtl8370_asicdrv_port.c


示例2: rtl8370_getAsic1xPBAuthConfig

/*
@func ret_t | rtl8370_getAsic1xPBAuthConfig | get 802.1x port-based auth. port configuration
@parm uint32 | port | Physical port number.
@parm uint32* | auth | 1: authorised, 0: non-authorised.
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error.
@rvalue RT_ERR_PORT_ID | Invalid port number.
@comm
    The API can get 802.1x port-based auth. port information.
    
*/
ret_t rtl8370_getAsic1xPBAuthConfig(uint32 port,uint32 *auth)
{
    if(port >= RTL8370_PORTNO)
        return RT_ERR_PORT_ID;

    return rtl8370_getAsicRegBit(RTL8370_DOT1X_PORT_AUTH_REG, port, auth);
}
开发者ID:schidler,项目名称:flyzjhz-rt-n56u,代码行数:18,代码来源:rtl8370_asicdrv_dot1x.c


示例3: rtl8370_getAsic1xPBOpdirConfig

/*
@func ret_t | rtl8370_getAsic1xPBOpdirConfig | get 802.1x port-based operational direction configuration
@parm uint32 | port | Physical port number.
@parm uint32* | opdir | Operation direction 1: IN, 0:BOTH
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error.
@rvalue RT_ERR_PORT_ID | Invalid port number.
@comm
    The API can get 802.1x port-based operational direction information.
    
*/
ret_t rtl8370_getAsic1xPBOpdirConfig(uint32 port,uint32* opdir)
{
    if(port >= RTL8370_PORTNO)
        return RT_ERR_PORT_ID;

    return rtl8370_getAsicRegBit(RTL8370_DOT1X_PORT_OPDIR_REG, port, opdir);
}
开发者ID:schidler,项目名称:flyzjhz-rt-n56u,代码行数:18,代码来源:rtl8370_asicdrv_dot1x.c


示例4: number

/*
@func ret_t  | rtl8370_getAsic1xPBEnConfig | Get 802.1x port-based port enable configuration
@parm uint32 | port | port number (0~15)
@parm uint32* | enabled | 1: enabled, 0: disabled.
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error.
@rvalue RT_ERR_PORT_ID | Invalid port number.
@comm
    The API can update the port-based port enable register content.
*/
ret_t rtl8370_getAsic1xPBEnConfig(uint32 port,uint32 *enabled)
{
    if(port >= RTL8370_PORTNO)
        return RT_ERR_PORT_ID;

    return rtl8370_getAsicRegBit(RTL8370_DOT1X_PORT_ENABLE_REG, port, enabled);
}
开发者ID:schidler,项目名称:flyzjhz-rt-n56u,代码行数:17,代码来源:rtl8370_asicdrv_dot1x.c


示例5: rtl8370_getAsicEeeRxEnable

/*
@func ret_t | rtl8370_getAsicEeeRxEnable | Get eee TX  function enable/disable.
@parm uint32 | port | The port number.
@parm uint32* | enabled | 1: enabled, 0: disabled.
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error.
@rvalue RT_ERR_INPUT | Invalid input parameter.
@comm
    This API get the EEE RX enable function.
*/
ret_t rtl8370_getAsicEeeRxEnable(uint32 port, uint32 *enable)
{
    if(port >= RTL8370_PORTNO)
        return RT_ERR_PORT_ID;

    return rtl8370_getAsicRegBit(RTL8370_PORT_EEE_CFG_REG(port), RTL8370_PORT_EEE_RX_ENABLE_OFFSET, enable);
}
开发者ID:mausvt,项目名称:seagate_central_cns3420_2-6-35,代码行数:17,代码来源:rtl8370_asicdrv_eee.c


示例6: index

/*
@func ret_t | rtl8370_getAsicMeterState | Get shared meter status.
@parm uint32 | index | Shared meter index (0-63) of 64 shared meter index
@parm uint32* | state | 0: rate doesn't exceed     1: rate exceeds
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error.
@rvalue RT_ERR_FILTER_METER_ID | Invalid meter
@rvalue RT_ERR_FAILED | Invalid parameter.
@comm
    If rate is over rate*8Kbps of a meter, the state bit of this meter is set to 1.
    Clear by write.
 */
ret_t rtl8370_getAsicMeterState(uint32 index, uint32* state)
{
    if(index > RTL8370_METERMAX)
        return RT_ERR_FILTER_METER_ID;

    return rtl8370_getAsicRegBit(RTL8370_METER_OVERRATE_INDICATOR_REG(index), RTL8370_METER_EXCEED_OFFSET(index), &(*state));
}
开发者ID:appleorange1,项目名称:asus-rt-n12-lx,代码行数:19,代码来源:rtl8370_asicdrv_meter.c


示例7: rtl8370_getAsicEeeForceMode

/*
@func ret_t | rtl8370_getAsicEeeForceMode | Get eee force mode function enable/disable.
@parm uint32 | port | The port number.
@parm uint32* | enabled | 1: enabled, 0: disabled.
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error.
@rvalue RT_ERR_INPUT | Invalid input parameter.
@comm
    This API get the EEE force mode function.
*/
ret_t rtl8370_getAsicEeeForceMode(uint32 port, uint32 *enable)
{
    if(port >= RTL8370_PORTNO)
        return RT_ERR_PORT_ID;

    return rtl8370_getAsicRegBit(RTL8370_PORT_EEE_CFG_REG(port), RTL8370_PORT_EEE_FORCE_OFFSET, enable);
}
开发者ID:mausvt,项目名称:seagate_central_cns3420_2-6-35,代码行数:17,代码来源:rtl8370_asicdrv_eee.c


示例8: rtl8370_getAsicEeeGiga

/*
@func ret_t | rtl8370_getAsicEeeGiga | Get 100M eee enable/disable.
@parm uint32 | port | The port number.
@parm uint32* | enabled | 1: enabled, 0: disabled.
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error.
@rvalue RT_ERR_INPUT | Invalid input parameter.
@comm
    This API get the 100M EEE function.
*/
ret_t rtl8370_getAsicEeeGiga(uint32 port, uint32 *enable)
{
    if(port >= RTL8370_PORTNO)
        return RT_ERR_PORT_ID;

    return rtl8370_getAsicRegBit(RTL8370_PORT_EEE_CFG_REG(port), RTL8370_PORT_EEE_GIGA_OFFSET, enable);
}
开发者ID:mausvt,项目名称:seagate_central_cns3420_2-6-35,代码行数:17,代码来源:rtl8370_asicdrv_eee.c


示例9: rtl8370_getAsicGreenHighPriorityTraffic

/*
@func ret_t | rtl8370_getAsicGreenHighPriorityTraffic | Set traffic type for each priority
@parm uint32 | port | The port number
@parm uint32* | indicator | Have received high priority traffic indicator. If 1 means ASCI had received high priority in 1second checking priod.
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error.
@rvalue RT_ERR_PORT_ID | Invalid port number.
@comm
    The API can get indicator which ASIC had received high priority traffic or not.
*/
ret_t rtl8370_getAsicGreenHighPriorityTraffic(uint32 port, uint32* indicator)
{
    if(port > RTL8370_PORTIDMAX)
        return RT_ERR_PORT_ID;

    return rtl8370_getAsicRegBit(RTL8370_REG_HIGHPRI_INDICATOR, port, indicator);
}
开发者ID:mausvt,项目名称:seagate_central_cns3420_2-6-35,代码行数:17,代码来源:rtl8370_asicdrv_green.c


示例10: number

/*
@func ret_t | rtl8370_getAsicStormFilterBroadcastEnable | Get per-port broadcast storm filter enable/disable.
@parm uint32 | port | Physical port number (0~15).
@parm uint32* | enabled | 1: enabled, 0: disabled.
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error.
@rvalue RT_ERR_PORT_ID | Invalid port number.
@comm
    This API get per-port broadcast stomr filter enable/disable
    Broadcast storm filters of each port point to some meters. If
    broadcast storm filter of port n is enabled, data length of
    broadcast packet will be included in the meter pointed by port
    n to elminate broadcast packet egress rate.
*/
ret_t rtl8370_getAsicStormFilterBroadcastEnable(uint32 port, uint32 *enable)
{
    if(port >= RTL8370_PORTNO)
        return RT_ERR_PORT_ID;

    return rtl8370_getAsicRegBit(RTL8370_STORM_BCAST_REG, port, enable);
}
开发者ID:jing-git,项目名称:rt-n56u,代码行数:21,代码来源:rtl8370_asicdrv_storm.c


示例11: rtl8370_getAsicPortBlockSpa

/*
@func ret_t | rtl8370_getAsicPortBlockSpa | Disable blocking frame if source port and destination port are the same.
@parm uint32 | port | Physical port number.
@parm uint32 | permit | 0: block; 1: permit
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_PORT_ID | Invalid port number.
@comm
     This API is setted to disable block frame if source port = destination port.
*/
ret_t rtl8370_getAsicPortBlockSpa(uint32 port,uint32* permit)
{
    if(port >= RTL8370_PORTNO)
        return RT_ERR_PORT_ID;

    return rtl8370_getAsicRegBit(RTL8370_SOURCE_PORT_BLOCK_REG, port, permit);
}
开发者ID:andy-padavan,项目名称:rt-n56u,代码行数:16,代码来源:rtl8370_asicdrv_port.c


示例12: priority

/*
@func ret_t | rtl8370_getAsicGreenTrafficType | Get traffic type for each priority
@parm uint32 | priority | internal priority (0~7).
@parm uint32* | traffictype | high/low traffic type, 1:high priority traffic type, 0:low priority traffic type
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error. 
@rvalue RT_ERR_PORT_ID | Invalid port number.
@comm
    The API can get internal priority to traffic type. ASIC will set indicator for receiving high-prioirty traffic in 1second by traffic type configuration.
*/
ret_t rtl8370_getAsicGreenTrafficType(uint32 priority, uint32* traffictype)
{
    
    if(priority > RTL8370_PRIMAX)
        return RT_ERR_QOS_INT_PRIORITY;

    return rtl8370_getAsicRegBit(RTL8370_REG_HIGHPRI_CFG, priority, traffictype);
}
开发者ID:xtra72,项目名称:s805,代码行数:18,代码来源:rtl8370_asicdrv_green.c


示例13: rtl8370_getAsicVlanIngressFilter

/*
@func ret_t | rtl8370_getAsicVlanIngressFilter | Get VLAN Ingress Filter
@parm uint32 | port | The port number
@parm uint32* | ptr_enabled | Enable or disable Ingress filter
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error.
@rvalue RT_ERR_INPUT | Invalid input parameter.
@rvalue RT_ERR_PORT_ID | Invalid port number.
@comm
    The API can Get the VLAN ingress filter.
*/
ret_t rtl8370_getAsicVlanIngressFilter(uint32 port, uint32 *ptr_enabled)
{
    if(port > RTL8370_PORTIDMAX)
        return RT_ERR_PORT_ID;

    if(NULL == ptr_enabled) 
        return RT_ERR_INPUT;

    return rtl8370_getAsicRegBit(RTL8370SG_VLAN_INGRESS_REG, port, ptr_enabled);
}
开发者ID:schidler,项目名称:flyzjhz-rt-n56u,代码行数:21,代码来源:rtl8370_asicdrv_vlan.c


示例14: rtl8370_getAsicAprEnable

/*
@func ret_t | rtl8370_getAsicAprEnable | Set per-port APR enable.
@parm uint32 | port | The port number
@parm uint32* | aprEnable | APR enable seting 1:enable 0:disable.
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error.
@rvalue RT_ERR_PORT_ID | Invalid port number.
@comm
    The API can get per-port APR enable setting
*/
ret_t rtl8370_getAsicAprEnable(uint32 port, uint32 *aprEnable)
{
    ret_t retVal;
    
    if(port > RTL8370_PORTIDMAX)
        return RT_ERR_PORT_ID;

    retVal = rtl8370_getAsicRegBit(RTL8370_SCHEDULE_APR_CRTL_REG, RTL8370_SCHEDULE_APR_CRTL_OFFSET(port), aprEnable);

    return retVal;
}
开发者ID:LXiong,项目名称:openwrt-rtk,代码行数:21,代码来源:rtl8370_asicdrv_scheduling.c


示例15: rtl8370_getAsicLutCamTbUsage

/*
@func ret_t | rtl8370_getAsicLutCamTbUsage | Configure Lut CAM table usage.
@parm uint32* | enabled | L2 CAM table usage 1: enabled, 0: disabled.
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error.
@common
    The API can get LUT CAM usage setting
*/
ret_t rtl8370_getAsicLutCamTbUsage(uint32* enabled)
{
    ret_t   retVal;
    uint32  regData;

    if ((retVal = rtl8370_getAsicRegBit(RTL8370_REG_LUT_CFG, RTL8370_BCAM_DISABLE_OFFSET, &regData)) != RT_ERR_OK)
        return retVal;

    *enabled = regData ? 0 : 1;

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


示例16: queue

/*
@func ret_t | rtl8370_getAsicQueueType | Get type of WFQ.
@parm uint32 | port | The port number.
@parm uint32 | qid | The queue ID wanted to set.
@parm uint32* | queueType | Pointer to the returned queue type.
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error.
@rvalue RT_ERR_PORT_ID | Invalid port number.
@rvalue RT_ERR_QUEUE_ID | Invalid queue id.
@comm
    The API can get type, strict priority or weight fair queue (WFQ), of the specified queue.  
 */
ret_t rtl8370_getAsicQueueType(uint32 port, uint32 qid, uint32 *queueType)
{
    ret_t retVal;

    /* Invalid input parameter */
    if(port  > RTL8370_PORTIDMAX)
        return RT_ERR_PORT_ID;

    if(qid > RTL8370_QIDMAX)
        return RT_ERR_QUEUE_ID;

    retVal = rtl8370_getAsicRegBit(RTL8370_SCHEDULE_QUEUE_TYPE_REG(port), RTL8370_SCHEDULE_QUEUE_TYPE_OFFSET(port, qid),queueType);    

    return retVal;
}
开发者ID:LXiong,项目名称:openwrt-rtk,代码行数:27,代码来源:rtl8370_asicdrv_scheduling.c


示例17: rtl8370_getAsicPortEnableAll

/*
@func ret_t | rtl8370_getAsicPortEnableAll | Get ALL ports enable.
@parm uint32 | *enable | enable all ports.
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error.
@rvalue RT_ERR_FAILED | Invalid parameter.
@rvalue RT_ERR_INPUT | Invalid input parameter.
@comm
  This API can set all ports enable.  
 */
ret_t rtl8370_getAsicPortEnableAll(uint32 *enable)
{
    ret_t retVal;
    uint32 regData;
    
    retVal = rtl8370_getAsicRegBit(RTL8370_REG_PHY_AD, RTL8370_PHY_AD_DUMMY_1_OFFSET, &regData);
    if(retVal !=  RT_ERR_OK)
        return retVal;

    if (regData==0)
        *enable = 1;
    else
        *enable = 0;

    return RT_ERR_OK;
}
开发者ID:xtra72,项目名称:s805,代码行数:26,代码来源:rtl8370_asicdrv_port.c


示例18: rtl8370_getAsicLedSystemEnable

/*
@func ret_t | rtl8370_getAsicLedSystemEnable | Turn on/off Led of all system ports
@parm uint32 | *enable | LED system configuration.
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error.
@rvalue RT_ERR_PORT_ID | Invalid port number.
@rvalue RT_ERR_INPUT | Invalid input value.
@comm
    The API can turn on/off leds of dedicated port while indicated information configuration of LED group is set to force mode.
 */
ret_t rtl8370_getAsicLedSystemEnable(uint32 *enable)
{
    ret_t retVal;
    uint32 regData;

	if ((retVal = rtl8370_getAsicRegBit(RTL8370_REG_LED_SYS_CONFIG, RTL8370_LED_IO_DISABLE_OFFSET, &regData))!=RT_ERR_OK)
        return retVal;

    if (regData == 1)
    {
        *enable = 0;
    }
    else
    {
        *enable = 1;
    }

    return RT_ERR_OK;
}
开发者ID:mausvt,项目名称:seagate_central_cns3420_2-6-35,代码行数:29,代码来源:rtl8370_asicdrv_led.c


示例19: number

/*
@func ret_t | rtl8370_setAsicPHYReg | Set PHY registers .
@parm uint32 | phyNo | PHY number (0~7).
@parm uint32 | phyAddr | PHY address (0~31).
@parm uint32 | data | Writing data.
@rvalue RT_ERR_OK | 
@rvalue RT_ERR_FAILED | invalid parameter
@rvalue RT_ERR_PHY_REG_ID | invalid PHY address
@rvalue RT_ERR_PORT_ID | invalid port id.
@rvalue RT_ERR_BUSYWAIT_TIMEOUT | PHY access busy
@comm
    The API can set internal PHY register 0~31. There are 8 internal PHYs in switch and each PHY can be
    accessed by software.
 */
ret_t rtl8370_setAsicPHYReg( uint32 phyNo, uint32 phyAddr, uint32 data )
{
    ret_t retVal;
    uint32 regData;
    uint32 busyFlag;

    if(phyNo > RTL8370_PHY_INTERNALNOMAX)
        return RT_ERR_PORT_ID;


    if(phyAddr > RTL8370_PHY_REGNOMAX)
        return RT_ERR_PHY_REG_ID;

/*
word address    a[15]    a[14]    a[13]    a[12]    a[11]    a[10]    a[9]    a[8]    a[7]    a[6]    a[5]    a[4]    a[3]    a[2]    a[1]    a[0]
phy0 ~ phy7     [        3'd1         ]    [ 0        0        0        0      0 ]    [      PHY No.     ]    [        reg adr[4:0]              ]
*/

    /*Check internal phy access busy or not*/
    retVal = rtl8370_getAsicRegBit(RTL8370_REG_INDRECT_ACCESS_STATUS, RTL8370_PHY_BUSY_OFFSET,&busyFlag);
    if(retVal !=  RT_ERR_OK)
        return retVal;

    if(busyFlag)
        return RT_ERR_BUSYWAIT_TIMEOUT;

    /*prepare access data*/
    retVal = rtl8370_setAsicReg(RTL8370_REG_INDRECT_ACCESS_WRITE_DATA, data);
    if(retVal !=  RT_ERR_OK)
        return retVal;
    
    /*prepare access address*/
    regData = RTL8370_PHY_BASE | (phyNo<<RTL8370_PHY_OFFSET) | phyAddr; 
	
    retVal = rtl8370_setAsicReg(RTL8370_REG_INDRECT_ACCESS_ADDRESS, regData);
    if(retVal !=  RT_ERR_OK)
        return retVal;

    /*Set WRITE Command*/
    return rtl8370_setAsicReg(RTL8370_REG_INDRECT_ACCESS_CRTL, RTL8370_CMD_MASK | RTL8370_RW_MASK);
}
开发者ID:jing-git,项目名称:rt-n56u,代码行数:55,代码来源:rtl8370_asicdrv_phy.c


示例20: index

/*
@func ret_t | rtl8370_getAsicShareMeter | Get meter configuration
@parm uint32 | index | Shared meter index (0-63) of 64 shared meter index
@parm uint32* | rate | 17-bits rate of share meter, unit is 8Kpbs
@parm uint32* | ifg | Rate's calculation including IFG 1:include 0:exclude 
@rvalue RT_ERR_OK | Success.
@rvalue RT_ERR_SMI | SMI access error.
@rvalue RT_ERR_FILTER_METER_ID | Invalid meter
@comm
    The API can get shared meter rate and ifg include for each meter. Rate unit is 8Kbps.    
 */
ret_t rtl8370_getAsicShareMeter(uint32 index, uint32 *rate ,uint32 *ifg)
{
    uint32 regData;
    uint32 regData2;
    ret_t retVal;

    if(index > RTL8370_METERMAX)
        return RT_ERR_FILTER_METER_ID;

    /*17-bits Rate*/
    retVal = rtl8370_getAsicReg(RTL8370_METER_RATE_REG(index), &regData);
    if(retVal != RT_ERR_OK)
        return retVal;

    retVal = rtl8370_getAsicReg(RTL8370_METER_RATE_REG(index)+1, &regData2);
    if(retVal != RT_ERR_OK)
        return retVal;

    *rate = ((regData2 << 16) & 0x10000) | regData;
    /*IFG*/
    return rtl8370_getAsicRegBit(RTL8370_METER_IFG_CTRL_REG(index), RTL8370_METER_IFG_OFFSET(index), ifg);
}
开发者ID:jing-git,项目名称:rt-n56u,代码行数:33,代码来源:rtl8370_asicdrv_meter.c



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ rtl8370_getAsicRegBits函数代码示例发布时间:2022-05-30
下一篇:
C++ rtl8370_getAsicReg函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap