LinuxQMISDK: qaGobiApiQos.h Source File

LinuxQMISDK SLQS03.03.07

- Main Page
- Modules
- References
- Data Structures

- File List
- Globals

qaGobiApiQos.h
Go to the documentation of this file.
1
11 #ifndef __GOBI_API_QOS_H__
12 #define __GOBI_API_QOS_H__
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 #define MAX_QOS_SPEC_PER_APN (10)
19
20 #define MAX_QOS_FILTER_TLV 25
21
37 ULONG SLQSQosReset(
38 BYTE instance
39 );
40
51 typedef struct
52 {
53 ULONG dataRateMax;
54 ULONG guaranteedRate;
55 } dataRate;
56
69 typedef struct
70 {
71 ULONG peakRate;
72 ULONG tokenRate;
73 ULONG bucketSz;
74 } tokenBucket;
75
87 typedef struct
88 {
89 WORD multiplier;
90 WORD exponent;
91 } pktErrRate;
92
187 typedef struct
188 {
189 BYTE index;
190 WORD *pProfileId3GPP2;
191 BYTE *p3GPP2Pri;
192 BYTE *pTrafficClass;
193 dataRate *pDataRate;
194 tokenBucket *pTokenBucket;
195 ULONG *pLatency;
196 ULONG *pJitter;
197 pktErrRate *pPktErrRate;
198 ULONG *pMinPolicedPktSz;
199 ULONG *pMaxAllowedPktSz;
200 WORD *p3GPPResResidualBER;
201 BYTE *p3GPPTraHdlPri;
202 BYTE *p3GPPImCn;
203 BYTE *p3GPPSigInd;
204 BYTE *pLteQci;
205 } swiQosFlow;
206
219 typedef struct
220 {
221 ULONG addr;
222 ULONG subnetMask;
223 } IPv4Addr;
224
240 typedef struct
241 {
242 BYTE val;
243 BYTE mask;
244 } Tos;
245
257 typedef struct
258 {
259 BYTE addr[16];
260 BYTE prefixLen;
261 } IPv6Addr;
262
278 typedef struct
279 {
280 BYTE val;
281 BYTE mask;
282 } IPv6TrafCls;
283
295 typedef struct
296 {
297 WORD port;
298 WORD range;
299 } Port;
300
402 typedef struct
403 {
404 BYTE index;
405 BYTE version;
406 IPv4Addr *pIPv4SrcAddr;
407 IPv4Addr *pIPv4DstAddr;
408 BYTE *pNxtHdrProto;
409 Tos *pTos;
410 IPv6Addr *pIPv6SrcAddr;
411 IPv6Addr *pIPv6DstAddr;
412 IPv6TrafCls *pIPv6TrafCls;
413 ULONG *pIPv6Label;
414 Port *pTCPSrcPort;
415 Port *pTCPDstPort;
416 Port *pUDPSrcPort;
417 Port *pUDPDstPort;
418 ULONG *pEspSpi;
419 WORD *pPrecedence;
420 WORD *pId;
421 Port *pTranSrcPort;
422 Port *pTranDstPort;
423 } swiQosFilter;
424
444 typedef struct
445 {
446 BYTE index;
447 swiQosFlow *pTxFlow;
448 swiQosFlow *pRxFlow;
449 swiQosFilter *pTxFilter;
450 swiQosFilter *pRxFilter;
451 } swiQosReq;
452
463 typedef struct
464 {
465 BYTE sz;
466 ULONG *pIds;
467 } swiQosIds;
468
491 ULONG SLQSQosReq(
492 BYTE instance,
493 swiQosReq *pQosReq,
494 swiQosIds *pQosResp );
495
510 ULONG SLQSQosRel(
511 BYTE instance,
512 swiQosIds *pQosIds );
513
528 ULONG SLQSQosSuspend(
529 BYTE instance,
530 swiQosIds *pQosIds );
531
546 ULONG SLQSQosResume(
547 BYTE instance,
548 swiQosIds *pQosIds );
549
570 typedef struct
571 {
572 ULONG id;
573 swiQosFlow *pTxFlow;
574 swiQosFlow *pRxFlow;
575 swiQosFilter *pTxFilter;
576 swiQosFilter *pRxFilter;
577 } swiQosModifyReq;
578
595 ULONG SLQSQosModify(
596 BYTE instance,
597 swiQosModifyReq *pReq );
598
609 typedef struct
610 {
611 swiQosFlow *pTxFlow;
612 swiQosFlow *pRxFlow;
613 } swiQosGranted;
614
634 ULONG SLQSQosGetGranted(
635 BYTE instance,
636 ULONG id,
637 swiQosGranted *pGranted );
638
661 ULONG SLQSQosGetFlowStatus(
662 BYTE instance,
663 ULONG id,
664 BYTE *pStatus);
665
684 ULONG SLQSQosGetNetworkStatus(
685 BYTE instance,
686 BYTE *pStatus);
687
698 typedef struct
699 {
700 WORD tech;
701 BYTE *pProfSz;
702 WORD *pProfValues;
703 } NWProfile;
704
722 ULONG SLQSQosGetNWProf(
723 BYTE instance,
724 BYTE *pSz,
725 NWProfile *pProfile);
726
751 typedef struct
752 {
753 ULONG qid;
754 ULONG tx_pkt;
755 ULONG tx_pkt_drp;
756 ULONGLONG tx_bytes;
757 ULONGLONG tx_bytes_drp;
758 } sQosFlowStat;
759
792 typedef struct
793 {
794 ULONG apnId;
795 ULONG total_tx_pkt;
796 ULONG total_tx_pkt_drp;
797 ULONG total_rx_pkt;
798 ULONGLONG total_tx_bytes;
799 ULONGLONG total_tx_bytes_drp;
800 ULONGLONG total_rx_bytes;
801
802 ULONG numQosFlow;
803 sQosFlowStat qosFlow[MAX_QOS_SPEC_PER_APN];
804 } sQosStat;
805
831 typedef struct
832 {
833 ULONG apnId;
834 BYTE ambr_ul;
835 BYTE ambr_dl;
836 BYTE ambr_ul_ext;
837 BYTE ambr_dl_ext;
838 BYTE ambr_ul_ext2;
839 BYTE ambr_dl_ext2;
840 } sApnExtraParams;
841
859 ULONG SLQSQosSwiReadDataStats(
860 BYTE instance,
861 ULONG apnId,
862 sQosStat *pQosStat
863 );
864
882 ULONG SLQSQosSwiReadApnExtraParams (
883 BYTE instance,
884 ULONG apnId,
885 sApnExtraParams *pApnExtraParams
886 );
887
888 #ifdef __cplusplus
889 } /* extern "C" { */
890 #endif
891
892 #endif /* __GOBI_API_QOS_H__ */
SLQSQosRel
ULONG SLQSQosRel(BYTE instance, swiQosIds *pQosIds)
swiQosFilter::pIPv6Label
ULONG * pIPv6Label
Definition: qaGobiApiQos.h:413
swiQosFilter::pEspSpi
ULONG * pEspSpi
Definition: qaGobiApiQos.h:418
swiQosModifyReq::pRxFilter
swiQosFilter * pRxFilter
Definition: qaGobiApiQos.h:576
Port::range
WORD range
Definition: qaGobiApiQos.h:298
swiQosFlow::pTokenBucket
tokenBucket * pTokenBucket
Definition: qaGobiApiQos.h:194
swiQosReq::index
BYTE index
Definition: qaGobiApiQos.h:446
IPv6Addr::prefixLen
BYTE prefixLen
Definition: qaGobiApiQos.h:260
swiQosReq
Definition: qaGobiApiQos.h:444
sQosStat
Definition: qaGobiApiQos.h:792
swiQosFilter::pTCPDstPort
Port * pTCPDstPort
Definition: qaGobiApiQos.h:415
sApnExtraParams
Definition: qaGobiApiQos.h:831
sApnExtraParams::ambr_dl_ext
BYTE ambr_dl_ext
Definition: qaGobiApiQos.h:837
tokenBucket
Definition: qaGobiApiQos.h:69
swiQosGranted
Definition: qaGobiApiQos.h:609
swiQosFlow::p3GPPSigInd
BYTE * p3GPPSigInd
Definition: qaGobiApiQos.h:203
SLQSQosGetNetworkStatus
ULONG SLQSQosGetNetworkStatus(BYTE instance, BYTE *pStatus)
BYTE
unsigned char BYTE
Definition: SwiDataTypes.h:26
swiQosFilter::pTranSrcPort
Port * pTranSrcPort
Definition: qaGobiApiQos.h:421
sApnExtraParams::ambr_dl
BYTE ambr_dl
Definition: qaGobiApiQos.h:835
SLQSQosModify
ULONG SLQSQosModify(BYTE instance, swiQosModifyReq *pReq)
swiQosFilter::pUDPDstPort
Port * pUDPDstPort
Definition: qaGobiApiQos.h:417
swiQosFlow::pPktErrRate
pktErrRate * pPktErrRate
Definition: qaGobiApiQos.h:197
swiQosModifyReq::pTxFlow
swiQosFlow * pTxFlow
Definition: qaGobiApiQos.h:573
swiQosModifyReq::id
ULONG id
Definition: qaGobiApiQos.h:572
Port
Definition: qaGobiApiQos.h:295
swiQosReq::pTxFilter
swiQosFilter * pTxFilter
Definition: qaGobiApiQos.h:449
swiQosFilter::pNxtHdrProto
BYTE * pNxtHdrProto
Definition: qaGobiApiQos.h:408
pktErrRate::exponent
WORD exponent
Definition: qaGobiApiQos.h:90
sApnExtraParams::ambr_ul_ext
BYTE ambr_ul_ext
Definition: qaGobiApiQos.h:836
sQosStat::total_tx_bytes
ULONGLONG total_tx_bytes
Definition: qaGobiApiQos.h:798
swiQosGranted::pTxFlow
swiQosFlow * pTxFlow
Definition: qaGobiApiQos.h:611
IPv4Addr::addr
ULONG addr
Definition: qaGobiApiQos.h:221
swiQosGranted::pRxFlow
swiQosFlow * pRxFlow
Definition: qaGobiApiQos.h:612
IPv6Addr
Definition: qaGobiApiQos.h:257
SLQSQosGetFlowStatus
ULONG SLQSQosGetFlowStatus(BYTE instance, ULONG id, BYTE *pStatus)
sApnExtraParams::ambr_ul_ext2
BYTE ambr_ul_ext2
Definition: qaGobiApiQos.h:838
pktErrRate
Definition: qaGobiApiQos.h:87
sQosFlowStat::tx_bytes
ULONGLONG tx_bytes
Definition: qaGobiApiQos.h:756
swiQosIds
Definition: qaGobiApiQos.h:463
swiQosFlow::pMinPolicedPktSz
ULONG * pMinPolicedPktSz
Definition: qaGobiApiQos.h:198
tokenBucket::tokenRate
ULONG tokenRate
Definition: qaGobiApiQos.h:72
sQosFlowStat
Definition: qaGobiApiQos.h:751
swiQosFlow::index
BYTE index
Definition: qaGobiApiQos.h:189
sQosStat::total_tx_pkt_drp
ULONG total_tx_pkt_drp
Definition: qaGobiApiQos.h:796
swiQosFilter::pIPv6DstAddr
IPv6Addr * pIPv6DstAddr
Definition: qaGobiApiQos.h:411
swiQosFlow::p3GPP2Pri
BYTE * p3GPP2Pri
Definition: qaGobiApiQos.h:191
swiQosFlow::pLteQci
BYTE * pLteQci
Definition: qaGobiApiQos.h:204
swiQosModifyReq
Definition: qaGobiApiQos.h:570
swiQosFilter::pPrecedence
WORD * pPrecedence
Definition: qaGobiApiQos.h:419
swiQosFlow::p3GPPTraHdlPri
BYTE * p3GPPTraHdlPri
Definition: qaGobiApiQos.h:201
IPv4Addr
Definition: qaGobiApiQos.h:219
swiQosFilter::pIPv6SrcAddr
IPv6Addr * pIPv6SrcAddr
Definition: qaGobiApiQos.h:410
swiQosModifyReq::pTxFilter
swiQosFilter * pTxFilter
Definition: qaGobiApiQos.h:575
swiQosFilter::pTranDstPort
Port * pTranDstPort
Definition: qaGobiApiQos.h:422
sQosFlowStat::tx_pkt
ULONG tx_pkt
Definition: qaGobiApiQos.h:754
MAX_QOS_SPEC_PER_APN
#define MAX_QOS_SPEC_PER_APN
Definition: qaGobiApiQos.h:18
Tos
Definition: qaGobiApiQos.h:240
NWProfile::pProfValues
WORD * pProfValues
Definition: qaGobiApiQos.h:702
swiQosFilter
Definition: qaGobiApiQos.h:402
dataRate::dataRateMax
ULONG dataRateMax
Definition: qaGobiApiQos.h:53
SLQSQosReset
ULONG SLQSQosReset(BYTE instance)
tokenBucket::bucketSz
ULONG bucketSz
Definition: qaGobiApiQos.h:73
swiQosFlow::p3GPPImCn
BYTE * p3GPPImCn
Definition: qaGobiApiQos.h:202
swiQosFlow::p3GPPResResidualBER
WORD * p3GPPResResidualBER
Definition: qaGobiApiQos.h:200
dataRate::guaranteedRate
ULONG guaranteedRate
Definition: qaGobiApiQos.h:54
sQosStat::total_rx_bytes
ULONGLONG total_rx_bytes
Definition: qaGobiApiQos.h:800
sQosStat::apnId
ULONG apnId
Definition: qaGobiApiQos.h:794
sQosFlowStat::tx_bytes_drp
ULONGLONG tx_bytes_drp
Definition: qaGobiApiQos.h:757
swiQosFilter::version
BYTE version
Definition: qaGobiApiQos.h:405
ULONGLONG
unsigned long long ULONGLONG
Definition: SwiDataTypes.h:24
sQosFlowStat::tx_pkt_drp
ULONG tx_pkt_drp
Definition: qaGobiApiQos.h:755
sQosStat::numQosFlow
ULONG numQosFlow
Definition: qaGobiApiQos.h:802
ULONG
unsigned long ULONG
Definition: SwiDataTypes.h:23
sQosStat::total_tx_bytes_drp
ULONGLONG total_tx_bytes_drp
Definition: qaGobiApiQos.h:799
Tos::val
BYTE val
Definition: qaGobiApiQos.h:242
dataRate
Definition: qaGobiApiQos.h:51
SLQSQosSwiReadDataStats
ULONG SLQSQosSwiReadDataStats(BYTE instance, ULONG apnId, sQosStat *pQosStat)
swiQosFlow::pTrafficClass
BYTE * pTrafficClass
Definition: qaGobiApiQos.h:192
swiQosModifyReq::pRxFlow
swiQosFlow * pRxFlow
Definition: qaGobiApiQos.h:574
swiQosFilter::pIPv4DstAddr
IPv4Addr * pIPv4DstAddr
Definition: qaGobiApiQos.h:407
SLQSQosGetNWProf
ULONG SLQSQosGetNWProf(BYTE instance, BYTE *pSz, NWProfile *pProfile)
swiQosFilter::pIPv4SrcAddr
IPv4Addr * pIPv4SrcAddr
Definition: qaGobiApiQos.h:406
sQosStat::total_tx_pkt
ULONG total_tx_pkt
Definition: qaGobiApiQos.h:795
swiQosFilter::pIPv6TrafCls
IPv6TrafCls * pIPv6TrafCls
Definition: qaGobiApiQos.h:412
swiQosFilter::pTos
Tos * pTos
Definition: qaGobiApiQos.h:409
swiQosFilter::index
BYTE index
Definition: qaGobiApiQos.h:404
swiQosFilter::pTCPSrcPort
Port * pTCPSrcPort
Definition: qaGobiApiQos.h:414
swiQosFlow::pMaxAllowedPktSz
ULONG * pMaxAllowedPktSz
Definition: qaGobiApiQos.h:199
sApnExtraParams::ambr_ul
BYTE ambr_ul
Definition: qaGobiApiQos.h:834
IPv6TrafCls::val
BYTE val
Definition: qaGobiApiQos.h:280
swiQosFlow::pJitter
ULONG * pJitter
Definition: qaGobiApiQos.h:196
NWProfile::tech
WORD tech
Definition: qaGobiApiQos.h:700
IPv4Addr::subnetMask
ULONG subnetMask
Definition: qaGobiApiQos.h:222
SLQSQosSwiReadApnExtraParams
ULONG SLQSQosSwiReadApnExtraParams(BYTE instance, ULONG apnId, sApnExtraParams *pApnExtraParams)
swiQosFlow::pProfileId3GPP2
WORD * pProfileId3GPP2
Definition: qaGobiApiQos.h:190
NWProfile
Definition: qaGobiApiQos.h:698
sQosStat::total_rx_pkt
ULONG total_rx_pkt
Definition: qaGobiApiQos.h:797
swiQosFilter::pId
WORD * pId
Definition: qaGobiApiQos.h:420
SLQSQosReq
ULONG SLQSQosReq(BYTE instance, swiQosReq *pQosReq, swiQosIds *pQosResp)
pktErrRate::multiplier
WORD multiplier
Definition: qaGobiApiQos.h:89
SLQSQosSuspend
ULONG SLQSQosSuspend(BYTE instance, swiQosIds *pQosIds)
swiQosReq::pRxFilter
swiQosFilter * pRxFilter
Definition: qaGobiApiQos.h:450
IPv6TrafCls
Definition: qaGobiApiQos.h:278
swiQosIds::sz
BYTE sz
Definition: qaGobiApiQos.h:465
swiQosIds::pIds
ULONG * pIds
Definition: qaGobiApiQos.h:466
swiQosReq::pTxFlow
swiQosFlow * pTxFlow
Definition: qaGobiApiQos.h:447
swiQosFilter::pUDPSrcPort
Port * pUDPSrcPort
Definition: qaGobiApiQos.h:416
tokenBucket::peakRate
ULONG peakRate
Definition: qaGobiApiQos.h:71
Tos::mask
BYTE mask
Definition: qaGobiApiQos.h:243
swiQosFlow::pLatency
ULONG * pLatency
Definition: qaGobiApiQos.h:195
swiQosFlow
Definition: qaGobiApiQos.h:187
swiQosFlow::pDataRate
dataRate * pDataRate
Definition: qaGobiApiQos.h:193
sApnExtraParams::apnId
ULONG apnId
Definition: qaGobiApiQos.h:833
Port::port
WORD port
Definition: qaGobiApiQos.h:297
sApnExtraParams::ambr_dl_ext2
BYTE ambr_dl_ext2
Definition: qaGobiApiQos.h:839
sQosFlowStat::qid
ULONG qid
Definition: qaGobiApiQos.h:753
NWProfile::pProfSz
BYTE * pProfSz
Definition: qaGobiApiQos.h:701
WORD
unsigned short WORD
Definition: SwiDataTypes.h:28
SLQSQosGetGranted
ULONG SLQSQosGetGranted(BYTE instance, ULONG id, swiQosGranted *pGranted)
IPv6TrafCls::mask
BYTE mask
Definition: qaGobiApiQos.h:281
SLQSQosResume
ULONG SLQSQosResume(BYTE instance, swiQosIds *pQosIds)
swiQosReq::pRxFlow
swiQosFlow * pRxFlow
Definition: qaGobiApiQos.h:448