LinuxQMISDK: qaGobiApiQos.h Source File

LinuxQMISDK SLQS03.03.11

- Main Page
- Modules
- References
- Data Structures

- File List
- Globals

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
qaGobiApiQos.h
Go to the documentation of this file.
1
9 /*
10 * Copyright: © 2013-2015 Sierra Wireless, Inc. all rights reserved
11 */
12 #ifndef __GOBI_API_QOS_H__
13 #define __GOBI_API_QOS_H__
14
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18
19 #define MAX_QOS_SPEC_PER_APN (10)
20
21 #define MAX_QOS_FILTER_TLV 25
22
38 ULONG SLQSQosReset(
39 BYTE instance
40 );
41
52 typedef struct
53 {
54 ULONG dataRateMax;
55 ULONG guaranteedRate;
56 } dataRate;
57
70 typedef struct
71 {
72 ULONG peakRate;
73 ULONG tokenRate;
74 ULONG bucketSz;
75 } tokenBucket;
76
88 typedef struct
89 {
90 WORD multiplier;
91 WORD exponent;
92 } pktErrRate;
93
188 typedef struct
189 {
190 BYTE index;
191 WORD *pProfileId3GPP2;
192 BYTE *p3GPP2Pri;
193 BYTE *pTrafficClass;
194 dataRate *pDataRate;
195 tokenBucket *pTokenBucket;
196 ULONG *pLatency;
197 ULONG *pJitter;
198 pktErrRate *pPktErrRate;
199 ULONG *pMinPolicedPktSz;
200 ULONG *pMaxAllowedPktSz;
201 WORD *p3GPPResResidualBER;
202 BYTE *p3GPPTraHdlPri;
203 BYTE *p3GPPImCn;
204 BYTE *p3GPPSigInd;
205 BYTE *pLteQci;
206 } swiQosFlow;
207
220 typedef struct
221 {
222 ULONG addr;
223 ULONG subnetMask;
224 } IPv4Addr;
225
241 typedef struct
242 {
243 BYTE val;
244 BYTE mask;
245 } Tos;
246
258 typedef struct
259 {
260 BYTE addr[16];
261 BYTE prefixLen;
262 } IPv6Addr;
263
279 typedef struct
280 {
281 BYTE val;
282 BYTE mask;
283 } IPv6TrafCls;
284
296 typedef struct
297 {
298 WORD port;
299 WORD range;
300 } Port;
301
408 typedef struct
409 {
410 BYTE index;
411 BYTE version;
412 IPv4Addr *pIPv4SrcAddr;
413 IPv4Addr *pIPv4DstAddr;
414 BYTE *pNxtHdrProto;
415 Tos *pTos;
416 IPv6Addr *pIPv6SrcAddr;
417 IPv6Addr *pIPv6DstAddr;
418 IPv6TrafCls *pIPv6TrafCls;
419 ULONG *pIPv6Label;
420 Port *pTCPSrcPort;
421 Port *pTCPDstPort;
422 Port *pUDPSrcPort;
423 Port *pUDPDstPort;
424 ULONG *pEspSpi;
425 WORD *pPrecedence;
426 WORD *pId;
427 Port *pTranSrcPort;
428 Port *pTranDstPort;
429 } swiQosFilter;
430
450 typedef struct
451 {
452 BYTE index;
453 swiQosFlow *pTxFlow;
454 swiQosFlow *pRxFlow;
455 swiQosFilter *pTxFilter;
456 swiQosFilter *pRxFilter;
457 } swiQosReq;
458
469 typedef struct
470 {
471 BYTE sz;
472 ULONG *pIds;
473 } swiQosIds;
474
497 ULONG SLQSQosReq(
498 BYTE instance,
499 swiQosReq *pQosReq,
500 swiQosIds *pQosResp );
501
516 ULONG SLQSQosRel(
517 BYTE instance,
518 swiQosIds *pQosIds );
519
534 ULONG SLQSQosSuspend(
535 BYTE instance,
536 swiQosIds *pQosIds );
537
552 ULONG SLQSQosResume(
553 BYTE instance,
554 swiQosIds *pQosIds );
555
576 typedef struct
577 {
578 ULONG id;
579 swiQosFlow *pTxFlow;
580 swiQosFlow *pRxFlow;
581 swiQosFilter *pTxFilter;
582 swiQosFilter *pRxFilter;
583 } swiQosModifyReq;
584
601 ULONG SLQSQosModify(
602 BYTE instance,
603 swiQosModifyReq *pReq );
604
615 typedef struct
616 {
617 swiQosFlow *pTxFlow;
618 swiQosFlow *pRxFlow;
619 } swiQosGranted;
620
640 ULONG SLQSQosGetGranted(
641 BYTE instance,
642 ULONG id,
643 swiQosGranted *pGranted );
644
667 ULONG SLQSQosGetFlowStatus(
668 BYTE instance,
669 ULONG id,
670 BYTE *pStatus);
671
690 ULONG SLQSQosGetNetworkStatus(
691 BYTE instance,
692 BYTE *pStatus);
693
704 typedef struct
705 {
706 WORD tech;
707 BYTE *pProfSz;
708 WORD *pProfValues;
709 } NWProfile;
710
728 ULONG SLQSQosGetNWProf(
729 BYTE instance,
730 BYTE *pSz,
731 NWProfile *pProfile);
732
751 typedef struct
752 {
753 ULONG bearerId;
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
837 typedef struct
838 {
839 ULONG apnId;
840 BYTE ambr_ul;
841 BYTE ambr_dl;
842 BYTE ambr_ul_ext;
843 BYTE ambr_dl_ext;
844 BYTE ambr_ul_ext2;
845 BYTE ambr_dl_ext2;
846 } sApnExtraParams;
847
865 ULONG SLQSQosSwiReadDataStats(
866 BYTE instance,
867 ULONG apnId,
868 sQosStat *pQosStat
869 );
870
888 ULONG SLQSQosSwiReadApnExtraParams (
889 BYTE instance,
890 ULONG apnId,
891 sApnExtraParams *pApnExtraParams
892 );
893
894 #ifdef __cplusplus
895 } /* extern "C" { */
896 #endif
897
898 #endif /* __GOBI_API_QOS_H__ */
SLQSQosRel
ULONG SLQSQosRel(BYTE instance, swiQosIds *pQosIds)
swiQosFilter::pIPv6Label
ULONG * pIPv6Label
Definition: qaGobiApiQos.h:419
swiQosFilter::pEspSpi
ULONG * pEspSpi
Definition: qaGobiApiQos.h:424
swiQosModifyReq::pRxFilter
swiQosFilter * pRxFilter
Definition: qaGobiApiQos.h:582
Port::range
WORD range
Definition: qaGobiApiQos.h:299
swiQosFlow::pTokenBucket
tokenBucket * pTokenBucket
Definition: qaGobiApiQos.h:195
swiQosReq::index
BYTE index
Definition: qaGobiApiQos.h:452
sQosFlowStat::bearerId
ULONG bearerId
Definition: qaGobiApiQos.h:753
IPv6Addr::prefixLen
BYTE prefixLen
Definition: qaGobiApiQos.h:261
swiQosReq
Definition: qaGobiApiQos.h:450
sQosStat
Definition: qaGobiApiQos.h:792
swiQosFilter::pTCPDstPort
Port * pTCPDstPort
Definition: qaGobiApiQos.h:421
sApnExtraParams
Definition: qaGobiApiQos.h:837
sApnExtraParams::ambr_dl_ext
BYTE ambr_dl_ext
Definition: qaGobiApiQos.h:843
tokenBucket
Definition: qaGobiApiQos.h:70
swiQosGranted
Definition: qaGobiApiQos.h:615
swiQosFlow::p3GPPSigInd
BYTE * p3GPPSigInd
Definition: qaGobiApiQos.h:204
SLQSQosGetNetworkStatus
ULONG SLQSQosGetNetworkStatus(BYTE instance, BYTE *pStatus)
BYTE
unsigned char BYTE
Definition: SwiDataTypes.h:28
swiQosFilter::pTranSrcPort
Port * pTranSrcPort
Definition: qaGobiApiQos.h:427
sApnExtraParams::ambr_dl
BYTE ambr_dl
Definition: qaGobiApiQos.h:841
SLQSQosModify
ULONG SLQSQosModify(BYTE instance, swiQosModifyReq *pReq)
swiQosFilter::pUDPDstPort
Port * pUDPDstPort
Definition: qaGobiApiQos.h:423
swiQosFlow::pPktErrRate
pktErrRate * pPktErrRate
Definition: qaGobiApiQos.h:198
swiQosModifyReq::pTxFlow
swiQosFlow * pTxFlow
Definition: qaGobiApiQos.h:579
swiQosModifyReq::id
ULONG id
Definition: qaGobiApiQos.h:578
Port
Definition: qaGobiApiQos.h:296
swiQosReq::pTxFilter
swiQosFilter * pTxFilter
Definition: qaGobiApiQos.h:455
swiQosFilter::pNxtHdrProto
BYTE * pNxtHdrProto
Definition: qaGobiApiQos.h:414
pktErrRate::exponent
WORD exponent
Definition: qaGobiApiQos.h:91
sApnExtraParams::ambr_ul_ext
BYTE ambr_ul_ext
Definition: qaGobiApiQos.h:842
sQosStat::total_tx_bytes
ULONGLONG total_tx_bytes
Definition: qaGobiApiQos.h:798
swiQosGranted::pTxFlow
swiQosFlow * pTxFlow
Definition: qaGobiApiQos.h:617
IPv4Addr::addr
ULONG addr
Definition: qaGobiApiQos.h:222
swiQosGranted::pRxFlow
swiQosFlow * pRxFlow
Definition: qaGobiApiQos.h:618
IPv6Addr
Definition: qaGobiApiQos.h:258
SLQSQosGetFlowStatus
ULONG SLQSQosGetFlowStatus(BYTE instance, ULONG id, BYTE *pStatus)
sApnExtraParams::ambr_ul_ext2
BYTE ambr_ul_ext2
Definition: qaGobiApiQos.h:844
pktErrRate
Definition: qaGobiApiQos.h:88
sQosFlowStat::tx_bytes
ULONGLONG tx_bytes
Definition: qaGobiApiQos.h:756
swiQosIds
Definition: qaGobiApiQos.h:469
swiQosFlow::pMinPolicedPktSz
ULONG * pMinPolicedPktSz
Definition: qaGobiApiQos.h:199
tokenBucket::tokenRate
ULONG tokenRate
Definition: qaGobiApiQos.h:73
sQosFlowStat
Definition: qaGobiApiQos.h:751
swiQosFlow::index
BYTE index
Definition: qaGobiApiQos.h:190
sQosStat::total_tx_pkt_drp
ULONG total_tx_pkt_drp
Definition: qaGobiApiQos.h:796
swiQosFilter::pIPv6DstAddr
IPv6Addr * pIPv6DstAddr
Definition: qaGobiApiQos.h:417
swiQosFlow::p3GPP2Pri
BYTE * p3GPP2Pri
Definition: qaGobiApiQos.h:192
swiQosFlow::pLteQci
BYTE * pLteQci
Definition: qaGobiApiQos.h:205
swiQosModifyReq
Definition: qaGobiApiQos.h:576
swiQosFilter::pPrecedence
WORD * pPrecedence
Definition: qaGobiApiQos.h:425
swiQosFlow::p3GPPTraHdlPri
BYTE * p3GPPTraHdlPri
Definition: qaGobiApiQos.h:202
IPv4Addr
Definition: qaGobiApiQos.h:220
swiQosFilter::pIPv6SrcAddr
IPv6Addr * pIPv6SrcAddr
Definition: qaGobiApiQos.h:416
swiQosModifyReq::pTxFilter
swiQosFilter * pTxFilter
Definition: qaGobiApiQos.h:581
swiQosFilter::pTranDstPort
Port * pTranDstPort
Definition: qaGobiApiQos.h:428
sQosFlowStat::tx_pkt
ULONG tx_pkt
Definition: qaGobiApiQos.h:754
MAX_QOS_SPEC_PER_APN
#define MAX_QOS_SPEC_PER_APN
Definition: qaGobiApiQos.h:19
Tos
Definition: qaGobiApiQos.h:241
NWProfile::pProfValues
WORD * pProfValues
Definition: qaGobiApiQos.h:708
swiQosFilter
Definition: qaGobiApiQos.h:408
dataRate::dataRateMax
ULONG dataRateMax
Definition: qaGobiApiQos.h:54
SLQSQosReset
ULONG SLQSQosReset(BYTE instance)
tokenBucket::bucketSz
ULONG bucketSz
Definition: qaGobiApiQos.h:74
swiQosFlow::p3GPPImCn
BYTE * p3GPPImCn
Definition: qaGobiApiQos.h:203
swiQosFlow::p3GPPResResidualBER
WORD * p3GPPResResidualBER
Definition: qaGobiApiQos.h:201
dataRate::guaranteedRate
ULONG guaranteedRate
Definition: qaGobiApiQos.h:55
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:411
ULONGLONG
unsigned long long ULONGLONG
Definition: SwiDataTypes.h:26
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:25
sQosStat::total_tx_bytes_drp
ULONGLONG total_tx_bytes_drp
Definition: qaGobiApiQos.h:799
Tos::val
BYTE val
Definition: qaGobiApiQos.h:243
dataRate
Definition: qaGobiApiQos.h:52
SLQSQosSwiReadDataStats
ULONG SLQSQosSwiReadDataStats(BYTE instance, ULONG apnId, sQosStat *pQosStat)
swiQosFlow::pTrafficClass
BYTE * pTrafficClass
Definition: qaGobiApiQos.h:193
swiQosModifyReq::pRxFlow
swiQosFlow * pRxFlow
Definition: qaGobiApiQos.h:580
swiQosFilter::pIPv4DstAddr
IPv4Addr * pIPv4DstAddr
Definition: qaGobiApiQos.h:413
SLQSQosGetNWProf
ULONG SLQSQosGetNWProf(BYTE instance, BYTE *pSz, NWProfile *pProfile)
swiQosFilter::pIPv4SrcAddr
IPv4Addr * pIPv4SrcAddr
Definition: qaGobiApiQos.h:412
sQosStat::total_tx_pkt
ULONG total_tx_pkt
Definition: qaGobiApiQos.h:795
swiQosFilter::pIPv6TrafCls
IPv6TrafCls * pIPv6TrafCls
Definition: qaGobiApiQos.h:418
swiQosFilter::pTos
Tos * pTos
Definition: qaGobiApiQos.h:415
swiQosFilter::index
BYTE index
Definition: qaGobiApiQos.h:410
swiQosFilter::pTCPSrcPort
Port * pTCPSrcPort
Definition: qaGobiApiQos.h:420
swiQosFlow::pMaxAllowedPktSz
ULONG * pMaxAllowedPktSz
Definition: qaGobiApiQos.h:200
sApnExtraParams::ambr_ul
BYTE ambr_ul
Definition: qaGobiApiQos.h:840
IPv6TrafCls::val
BYTE val
Definition: qaGobiApiQos.h:281
swiQosFlow::pJitter
ULONG * pJitter
Definition: qaGobiApiQos.h:197
NWProfile::tech
WORD tech
Definition: qaGobiApiQos.h:706
IPv4Addr::subnetMask
ULONG subnetMask
Definition: qaGobiApiQos.h:223
SLQSQosSwiReadApnExtraParams
ULONG SLQSQosSwiReadApnExtraParams(BYTE instance, ULONG apnId, sApnExtraParams *pApnExtraParams)
swiQosFlow::pProfileId3GPP2
WORD * pProfileId3GPP2
Definition: qaGobiApiQos.h:191
NWProfile
Definition: qaGobiApiQos.h:704
sQosStat::total_rx_pkt
ULONG total_rx_pkt
Definition: qaGobiApiQos.h:797
swiQosFilter::pId
WORD * pId
Definition: qaGobiApiQos.h:426
SLQSQosReq
ULONG SLQSQosReq(BYTE instance, swiQosReq *pQosReq, swiQosIds *pQosResp)
pktErrRate::multiplier
WORD multiplier
Definition: qaGobiApiQos.h:90
SLQSQosSuspend
ULONG SLQSQosSuspend(BYTE instance, swiQosIds *pQosIds)
swiQosReq::pRxFilter
swiQosFilter * pRxFilter
Definition: qaGobiApiQos.h:456
IPv6TrafCls
Definition: qaGobiApiQos.h:279
swiQosIds::sz
BYTE sz
Definition: qaGobiApiQos.h:471
swiQosIds::pIds
ULONG * pIds
Definition: qaGobiApiQos.h:472
swiQosReq::pTxFlow
swiQosFlow * pTxFlow
Definition: qaGobiApiQos.h:453
swiQosFilter::pUDPSrcPort
Port * pUDPSrcPort
Definition: qaGobiApiQos.h:422
tokenBucket::peakRate
ULONG peakRate
Definition: qaGobiApiQos.h:72
Tos::mask
BYTE mask
Definition: qaGobiApiQos.h:244
swiQosFlow::pLatency
ULONG * pLatency
Definition: qaGobiApiQos.h:196
swiQosFlow
Definition: qaGobiApiQos.h:188
swiQosFlow::pDataRate
dataRate * pDataRate
Definition: qaGobiApiQos.h:194
sApnExtraParams::apnId
ULONG apnId
Definition: qaGobiApiQos.h:839
Port::port
WORD port
Definition: qaGobiApiQos.h:298
sApnExtraParams::ambr_dl_ext2
BYTE ambr_dl_ext2
Definition: qaGobiApiQos.h:845
NWProfile::pProfSz
BYTE * pProfSz
Definition: qaGobiApiQos.h:707
WORD
unsigned short WORD
Definition: SwiDataTypes.h:30
SLQSQosGetGranted
ULONG SLQSQosGetGranted(BYTE instance, ULONG id, swiQosGranted *pGranted)
IPv6TrafCls::mask
BYTE mask
Definition: qaGobiApiQos.h:282
SLQSQosResume
ULONG SLQSQosResume(BYTE instance, swiQosIds *pQosIds)
swiQosReq::pRxFlow
swiQosFlow * pRxFlow
Definition: qaGobiApiQos.h:454