#ifndef _RTL8370_ASICDRV_SCHEDULING_H_ #define _RTL8370_ASICDRV_SCHEDULING_H_ #include <rtl8370_asicdrv.h> #define RTL8370_QWEIGHTMAX 0x7F #define RTL8370_PORT_QUEUE_METER_INDEX_MAX 7 /* enum for queue type */ enum QUEUETYPE { QTYPE_STRICT = 0, QTYPE_WFQ, }; extern ret_t rtl8370_setAsicLeakyBucketParameter(uint32 tick, uint32 token); extern ret_t rtl8370_getAsicLeakyBucketParameter(uint32 *tick, uint32 *token); extern ret_t rtl8370_setAsicAprMeter(uint32 port, uint32 qid, uint32 apridx); extern ret_t rtl8370_getAsicAprMeter(uint32 port, uint32 qid, uint32 *apridx); extern ret_t rtl8370_setAsicPprMeter(uint32 port, uint32 qid, uint32 ppridx); extern ret_t rtl8370_getAsicPprMeter(uint32 port, uint32 qid, uint32 *ppridx); extern ret_t rtl8370_setAsicAprEnable(uint32 port, uint32 aprEnable); extern ret_t rtl8370_getAsicAprEnable(uint32 port, uint32 *aprEnable); extern ret_t rtl8370_setAsicPprEnable(uint32 port, uint32 pprEnable); extern ret_t rtl8370_getAsicPprEnable(uint32 port, uint32 *pprEnable); extern ret_t rtl8370_setAsicWFQWeight( uint32, uint32 queueid, uint32 weight ); extern ret_t rtl8370_getAsicWFQWeight( uint32, uint32 queueid, uint32 *weight ); extern ret_t rtl8370_setAsicWFQBurstSize(uint32 burstsize); extern ret_t rtl8370_getAsicWFQBurstSize(uint32 *burstsize); extern ret_t rtl8370_setAsicQueueType(uint32 port, uint32 qid, uint32 queueType); extern ret_t rtl8370_getAsicQueueType(uint32 port, uint32 qid, uint32 *queueType); extern ret_t rtl8370_setAsicQueueRate( uint32 port, uint32 qid, uint32 ppridx,uint32 apridx ); extern ret_t rtl8370_getAsicQueueRate( uint32 port, uint32 qid, uint32* ppridx,uint32* apridx ); extern ret_t rtl8370_setAsicPortEgressRate(uint32 port, uint32 rate); extern ret_t rtl8370_getAsicPortEgressRate(uint32 port, uint32 *rate); extern ret_t rtl8370_setAsicPortEgressRateIfg(uint32 ifg); extern ret_t rtl8370_getAsicPortEgressRateIfg(uint32 *ifg); #endif /*_RTL8370_ASICDRV_SCHEDULING_H_*/