1 #ifndef CNTRL_SIGNALING_INTERFACE_
2 #define CNTRL_SIGNALING_INTERFACE_
7 #include <mac_common.h>
11 #include <sch_definitions.h>
12 using namespace Beceem;
13 #ifdef ENABLE_CORRIGENDUM2_UPDATE
14 extern B_UINT32 g_u32Corr2MacFlags;
29 #define MAX_CLASSIFIERS_IN_SF 4
33 #define MAX_STRING_LEN 20
34 #define MAX_PHS_LENGTHS 255
35 #define VENDOR_PHS_PARAM_LENGTH 10
36 #define MAX_NUM_ACTIVE_BS 10
37 #define AUTH_TOKEN_LENGTH 10
38 #define NUM_HARQ_CHANNELS 16 //Changed from 10 to 16 to accomodate all HARQ channels
39 #define VENDOR_CLASSIFIER_PARAM_LENGTH 1 //Changed the size to 1 byte since we dnt use it
40 #define VENDOR_SPECIF_QOS_PARAM 1
41 #define VENDOR_PHS_PARAM_LENGTH 10
42 #define MBS_CONTENTS_ID_LENGTH 10
43 #define GLOBAL_SF_CLASSNAME_LENGTH 6
45 #define TYPE_OF_SERVICE_LENGTH 3
46 #define IP_MASKED_SRC_ADDRESS_LENGTH 32
47 #define IP_MASKED_DEST_ADDRESS_LENGTH 32
48 #define PROTOCOL_SRC_PORT_RANGE_LENGTH 4
49 #define PROTOCOL_DEST_PORT_RANGE_LENGTH 4
50 #define ETHERNET_DEST_MAC_ADDR_LENGTH 12
51 #define ETHERNET_SRC_MAC_ADDR_LENGTH 12
52 #define NUM_ETHERTYPE_BYTES 3
53 #define NUM_IPV6_FLOWLABLE_BYTES 3
56 ////////////////////////////////////////////////////////////////////////////////
57 ////////////////////////structure Definitions///////////////////////////////////
58 ////////////////////////////////////////////////////////////////////////////////
59 /// \brief class cCPacketClassificationRule
61 class CCPacketClassificationRuleSI{
63 /// \brief Constructor for the class
64 CCPacketClassificationRuleSI():
65 u8ClassifierRulePriority(mClassifierRulePriority),
66 u8IPTypeOfServiceLength(mIPTypeOfService),
67 u8Protocol(mProtocol),
68 u8IPMaskedSourceAddressLength(0),
69 u8IPDestinationAddressLength(0),
70 u8ProtocolSourcePortRangeLength(0),
71 u8ProtocolDestPortRangeLength(0),
72 u8EthernetDestMacAddressLength(0),
73 u8EthernetSourceMACAddressLength(0),
75 u16UserPriority(mUserPriority),
77 u8AssociatedPHSI(mAssociatedPHSI),
78 u16PacketClassificationRuleIndex(mPacketClassifierRuleIndex),
79 u8VendorSpecificClassifierParamLength(mVendorSpecificClassifierParamLength),
80 u8IPv6FlowLableLength(mIPv6FlowLableLength),
81 u8ClassifierActionRule(mClassifierActionRule)
86 CCPacketClassificationRuleSI();
89 struct _stCPacketClassificationRuleSI{
92 /** 16bit UserPriority Of The Service Flow*/
93 B_UINT16 u16UserPriority;
94 /** 16bit VLANID Of The Service Flow*/
96 /** 16bit Packet Classification RuleIndex Of The Service Flow*/
97 B_UINT16 u16PacketClassificationRuleIndex;
98 /** 8bit Classifier Rule Priority Of The Service Flow*/
99 B_UINT8 u8ClassifierRulePriority;
100 /** Length of IP TypeOfService field*/
101 B_UINT8 u8IPTypeOfServiceLength;
102 /** 3bytes IP TypeOfService */
103 B_UINT8 u8IPTypeOfService[TYPE_OF_SERVICE_LENGTH];
104 /** Protocol used in classification of Service Flow*/
106 /** Length of IP Masked Source Address */
107 B_UINT8 u8IPMaskedSourceAddressLength;
108 /** IP Masked Source Address used in classification for the Service Flow*/
109 B_UINT8 u8IPMaskedSourceAddress[IP_MASKED_SRC_ADDRESS_LENGTH];
110 /** Length of IP Destination Address */
111 B_UINT8 u8IPDestinationAddressLength;
112 /** IP Destination Address used in classification for the Service Flow*/
113 B_UINT8 u8IPDestinationAddress[IP_MASKED_DEST_ADDRESS_LENGTH];
114 /** Length of Protocol Source Port Range */
115 B_UINT8 u8ProtocolSourcePortRangeLength;
116 /** Protocol Source Port Range used in the Service Flow*/
117 B_UINT8 u8ProtocolSourcePortRange[PROTOCOL_SRC_PORT_RANGE_LENGTH];
118 /** Length of Protocol Dest Port Range */
119 B_UINT8 u8ProtocolDestPortRangeLength;
120 /** Protocol Dest Port Range used in the Service Flow*/
121 B_UINT8 u8ProtocolDestPortRange[PROTOCOL_DEST_PORT_RANGE_LENGTH];
122 /** Length of Ethernet Destination MAC Address */
123 B_UINT8 u8EthernetDestMacAddressLength;
124 /** Ethernet Destination MAC Address used in classification of the Service Flow*/
125 B_UINT8 u8EthernetDestMacAddress[ETHERNET_DEST_MAC_ADDR_LENGTH];
126 /** Length of Ethernet Source MAC Address */
127 B_UINT8 u8EthernetSourceMACAddressLength;
128 /** Ethernet Source MAC Address used in classification of the Service Flow*/
129 B_UINT8 u8EthernetSourceMACAddress[ETHERNET_SRC_MAC_ADDR_LENGTH];
130 /** Length of Ethertype */
131 B_UINT8 u8EthertypeLength;
132 /** 3bytes Ethertype Of The Service Flow*/
133 B_UINT8 u8Ethertype[NUM_ETHERTYPE_BYTES];
134 /** 8bit Associated PHSI Of The Service Flow*/
135 B_UINT8 u8AssociatedPHSI;
136 /** Length of Vendor Specific Classifier Param length Of The Service Flow*/
137 B_UINT8 u8VendorSpecificClassifierParamLength;
138 /** Vendor Specific Classifier Param Of The Service Flow*/
139 B_UINT8 u8VendorSpecificClassifierParam[VENDOR_CLASSIFIER_PARAM_LENGTH];
140 /** Length Of IPv6 Flow Lable of the Service Flow*/
141 B_UINT8 u8IPv6FlowLableLength;
142 /** IPv6 Flow Lable Of The Service Flow*/
143 B_UINT8 u8IPv6FlowLable[NUM_IPV6_FLOWLABLE_BYTES];
144 /** Action associated with the classifier rule*/
145 B_UINT8 u8ClassifierActionRule;
146 B_UINT16 u16ValidityBitMap;
148 #ifndef BECEEM_TARGET
149 typedef struct _stCPacketClassificationRuleSI CCPacketClassificationRuleSI,stCPacketClassificationRuleSI, *pstCPacketClassificationRuleSI;
152 /// \brief class CPhsRuleSI
156 /// \brief Constructor for the class
163 u8VendorSpecificPHSParamsLength(mVendorSpecificPHSParamLength){}
169 typedef struct _stPhsRuleSI {
171 /** 8bit PHS Index Of The Service Flow*/
173 /** PHSF Length Of The Service Flow*/
174 B_UINT8 u8PHSFLength;
175 /** String of bytes containing header information to be supressed by the sending CS and reconstructed by the receiving CS*/
176 B_UINT8 u8PHSF[MAX_PHS_LENGTHS];
177 /** PHSM Length Of The Service Flow*/
178 B_UINT8 u8PHSMLength;
179 /** PHS Mask for the SF*/
180 B_UINT8 u8PHSM[MAX_PHS_LENGTHS];
181 /** 8bit Total number of bytes to be supressed for the Service Flow*/
183 /** 8bit Indicates whether or not Packet Header contents need to be verified prior to supression */
185 /** Vendor Specific PHS param Length Of The Service Flow*/
186 B_UINT8 u8VendorSpecificPHSParamsLength;
187 /** Vendor Specific PHS param Of The Service Flow*/
188 B_UINT8 u8VendorSpecificPHSParams[VENDOR_PHS_PARAM_LENGTH];
190 B_UINT8 u8Padding[2];
194 }stPhsRuleSI,*pstPhsRuleSI;
195 typedef stPhsRuleSI CPhsRuleSI;
198 /// \brief structure cConvergenceSLTypes
200 class CConvergenceSLTypes{
202 /// \brief Constructor for the class
203 CConvergenceSLTypes():
204 u8ClassfierDSCAction(mClassifierDSCAction),
205 u8PhsDSCAction (mPhsDSCAction)
209 CConvergenceSLTypes();
210 cCPacketClassificationRule.Reset();
214 struct _stConvergenceSLTypes{
216 /** 8bit Phs Classfier Action Of The Service Flow*/
217 B_UINT8 u8ClassfierDSCAction;
218 /** 8bit Phs DSC Action Of The Service Flow*/
219 B_UINT8 u8PhsDSCAction;
221 B_UINT8 u8Padding[2];
222 /// \brief class cCPacketClassificationRule
224 CCPacketClassificationRuleSI cCPacketClassificationRule;
226 stCPacketClassificationRuleSI cCPacketClassificationRule;
228 /// \brief class CPhsRuleSI
232 struct _stPhsRuleSI cPhsRule;
235 #ifndef BECEEM_TARGET
236 typedef struct _stConvergenceSLTypes stConvergenceSLTypes,CConvergenceSLTypes, *pstConvergenceSLTypes;
240 /// \brief structure CServiceFlowParamSI
242 class CServiceFlowParamSI{
244 /// \brief Constructor for the class
245 CServiceFlowParamSI():
248 u8ServiceClassNameLength(mServiceClassNameLength),
249 u8MBSService(mMBSService),
250 u8QosParamSet(mQosParamSetType),
251 u8TrafficPriority(mTrafficPriority),
252 u32MaxSustainedTrafficRate(mMaximumSustainedTrafficRate),
253 u32MaxTrafficBurst(mMaximumTrafficBurst),
254 u32MinReservedTrafficRate(mMinimumReservedTrafficRate),
255 u8ServiceFlowSchedulingType(mServiceFlowSchedulingType),
256 u8RequesttransmissionPolicy(mRequestTransmissionPolicy),
257 u32ToleratedJitter(mToleratedJitter),
258 u32MaximumLatency(mMaximumLatency),
259 u8FixedLengthVSVariableLengthSDUIndicator
260 (mFixedLengthVSVariableLength),
262 u16TargetSAID(mTargetSAID),
263 u8ARQEnable(mARQEnable),
264 u16ARQWindowSize(mARQWindowSize),
265 u16ARQBlockLifeTime(mARQBlockLifeTime),
266 u16ARQSyncLossTimeOut(mARQSyncLossTimeOut),
267 u8ARQDeliverInOrder(mARQDeliverInOrder),
268 u16ARQRxPurgeTimeOut(mARQRXPurgeTimeOut),
269 //Add ARQ BLOCK SIZE, ARQ TX and RX delay initializations here
270 //after we move to only CORR2
271 u8RxARQAckProcessingTime(mRxARQAckProcessingTime),
272 u8CSSpecification(mCSSpecification),
273 u8TypeOfDataDeliveryService(mTypeOfDataDeliveryService),
274 u16SDUInterArrivalTime(mSDUInterArrivalTime),
275 u16TimeBase(mTimeBase),
276 u8PagingPreference(mPagingPreference),
277 u8MBSZoneIdentifierassignment(mMBSZoneIdentifierassignmentLength),
278 u8TrafficIndicationPreference(mTrafficIndicationPreference),
279 u8GlobalServicesClassNameLength(mGlobalServicesClassNameLength),
280 u8SNFeedbackEnabled(mSNFeedbackEnabled),
282 u8CIDAllocation4activeBSsLength(mCIDAllocation4activeBSsLength),
283 u16UnsolicitedGrantInterval(mUnsolicitedGrantInterval),
284 u16UnsolicitedPollingInterval(mUnsolicitedPollingInterval),
285 u8PDUSNExtendedSubheader4HarqReordering(mPDUSNExtendedSubheader4HarqReordering),
286 u8MBSContentsIDLength(mMBSContentsIDLength),
287 u8HARQServiceFlows(mHARQServiceFlows),
288 u8AuthTokenLength(mAuthTokenLength),
289 u8HarqChannelMappingLength(mHarqChannelMappingLength),
290 u8VendorSpecificQoSParamLength(mVendorSpecificQoSParamLength),
294 //Remove the bolck after we move to Corr2 only code
295 #ifdef ENABLE_CORRIGENDUM2_UPDATE
296 if((g_u32Corr2MacFlags & CORR_2_DSX) || (g_u32Corr2MacFlags & CORR_2_ARQ))
298 /* IEEE Comment #627 / MTG Comment #426 */
299 u16ARQBlockSize = mARQBlockSize;
300 if(g_u32Corr2MacFlags & CORR_2_ARQ) {
301 u16ARQRetryTxTimeOut = mARQRetryTimeOutTxDelay;
302 if(g_u32VENDOR_TYPE == VENDOR_ALCATEL) {
303 u16ARQRetryRxTimeOut = mARQRetryTimeOutRxDelay_ALU;
305 u16ARQRetryRxTimeOut = mARQRetryTimeOutRxDelay;
310 u16ARQRetryTxTimeOut = mARQRetryTimeOutTxDelayCorr1;
311 u16ARQRetryRxTimeOut = mARQRetryTimeOutRxDelayCorr1;
317 u16ARQBlockSize = mARQBlockSizeCorr1;
318 u16ARQRetryTxTimeOut = mARQRetryTimeOutTxDelayCorr1;
319 u16ARQRetryRxTimeOut = mARQRetryTimeOutRxDelayCorr1;
323 void ComputeMacOverhead(B_UINT8 u8SecOvrhead);
324 B_UINT16 GetMacOverhead() { return u16MacOverhead; }
326 typedef struct _stServiceFlowParamSI{
327 #endif //end of ifdef BECEEM_TARGET
329 /** 32bitSFID Of The Service Flow*/
332 /** 32bit Maximum Sustained Traffic Rate of the Service Flow*/
333 B_UINT32 u32MaxSustainedTrafficRate;
335 /** 32bit Maximum Traffic Burst allowed for the Service Flow*/
336 B_UINT32 u32MaxTrafficBurst;
338 /** 32bit Minimum Reserved Traffic Rate of the Service Flow*/
339 B_UINT32 u32MinReservedTrafficRate;
341 /** 32bit Tolerated Jitter of the Service Flow*/
342 B_UINT32 u32ToleratedJitter;
344 /** 32bit Maximum Latency of the Service Flow*/
345 B_UINT32 u32MaximumLatency;
347 /** 16bitCID Of The Service Flow*/
350 /** 16bit SAID on which the service flow being set up shall be mapped*/
351 B_UINT16 u16TargetSAID;
353 /** 16bit ARQ window size negotiated*/
354 B_UINT16 u16ARQWindowSize;
356 /** 16bit Total Tx delay incl sending, receiving & processing delays */
357 B_UINT16 u16ARQRetryTxTimeOut;
359 /** 16bit Total Rx delay incl sending, receiving & processing delays */
360 B_UINT16 u16ARQRetryRxTimeOut;
362 /** 16bit ARQ block lifetime */
363 B_UINT16 u16ARQBlockLifeTime;
365 /** 16bit ARQ Sync loss timeout*/
366 B_UINT16 u16ARQSyncLossTimeOut;
368 /** 16bit ARQ Purge timeout */
369 B_UINT16 u16ARQRxPurgeTimeOut;
370 #if 0 //def ENABLE_CORRIGENDUM2_UPDATE
371 /* IEEE Comment #627 / MTG Comment #426 */
372 /// \brief Size of an ARQ block, changed from 2 bytes to 1
373 B_UINT8 u8ARQBlockSize;
375 //TODO::Remove this once we move to a new CORR2 driver
376 /// \brief Size of an ARQ block
377 B_UINT16 u16ARQBlockSize;
380 /** 16bit Nominal interval b/w consecutive SDU arrivals at MAC SAP*/
381 B_UINT16 u16SDUInterArrivalTime;
383 /** 16bit Specifies the time base for rate measurement */
384 B_UINT16 u16TimeBase;
386 /** 16bit Interval b/w Successive Grant oppurtunities*/
387 B_UINT16 u16UnsolicitedGrantInterval;
389 /** 16bit Interval b/w Successive Polling grant oppurtunities*/
390 B_UINT16 u16UnsolicitedPollingInterval;
392 /** internal var to get the overhead */
393 B_UINT16 u16MacOverhead;
395 /** MBS contents Identifier*/
396 B_UINT16 u16MBSContentsID[MBS_CONTENTS_ID_LENGTH];
398 /** MBS contents Identifier length*/
399 B_UINT8 u8MBSContentsIDLength;
401 /** ServiceClassName Length Of The Service Flow*/
402 B_UINT8 u8ServiceClassNameLength;
404 /** 32bytes ServiceClassName Of The Service Flow*/
405 B_UINT8 u8ServiceClassName[32];
407 /** 8bit Indicates whether or not MBS service is requested for this Serivce Flow*/
408 B_UINT8 u8MBSService;
410 /** 8bit QOS Parameter Set specifies proper application of QoS paramters to Provisioned, Admitted and Active sets*/
411 B_UINT8 u8QosParamSet;
413 /** 8bit Traffic Priority Of the Service Flow */
414 B_UINT8 u8TrafficPriority;
416 /** 8bit Uplink Grant Scheduling Type of The Service Flow */
417 B_UINT8 u8ServiceFlowSchedulingType;
419 /** 8bit Request transmission Policy of the Service Flow*/
420 B_UINT8 u8RequesttransmissionPolicy;
422 /** 8bit Specifies whether SDUs for this Service flow are of FixedLength or Variable length */
423 B_UINT8 u8FixedLengthVSVariableLengthSDUIndicator;
425 /** 8bit Length of the SDU for a fixed length SDU service flow*/
428 /** 8bit Indicates whether or not ARQ is requested for this connection*/
431 /**< 8bit Indicates whether or not data has tobe delivered in order to higher layer*/
432 B_UINT8 u8ARQDeliverInOrder;
434 /** 8bit Receiver ARQ ACK processing time */
435 B_UINT8 u8RxARQAckProcessingTime;
437 /** 8bit Convergence Sublayer Specification Of The Service Flow*/
438 B_UINT8 u8CSSpecification;
440 /** 8 bit Type of data delivery service*/
441 B_UINT8 u8TypeOfDataDeliveryService;
443 /** 8bit Specifies whether a service flow may generate Paging */
444 B_UINT8 u8PagingPreference;
446 /** 8bit Indicates the MBS Zone through which the connection or virtual connection is valid */
447 B_UINT8 u8MBSZoneIdentifierassignment;
449 /** 8bit Specifies whether traffic on SF should generate MOB_TRF_IND to MS in sleep mode*/
450 B_UINT8 u8TrafficIndicationPreference;
452 /** 8bit Speciifes the length of predefined Global QoS parameter set encoding for this SF */
453 B_UINT8 u8GlobalServicesClassNameLength;
455 /** 6 byte Speciifes the predefined Global QoS parameter set encoding for this SF */
456 B_UINT8 u8GlobalServicesClassName[GLOBAL_SF_CLASSNAME_LENGTH];
458 /** 8bit Indicates whether or not SN feedback is enabled for the conn */
459 B_UINT8 u8SNFeedbackEnabled;
461 /** Indicates the size of the Fragment Sequence Number for the connection */
464 /** 8bit Number of CIDs in active BS list */
465 B_UINT8 u8CIDAllocation4activeBSsLength;
467 /** CIDs of BS in the active list */
468 B_UINT8 u8CIDAllocation4activeBSs[MAX_NUM_ACTIVE_BS];
470 /** Specifies if PDU extended subheader should be applied on every PDU on this conn*/
471 B_UINT8 u8PDUSNExtendedSubheader4HarqReordering;
473 /** 8bit Specifies whether the connection uses HARQ or not */
474 B_UINT8 u8HARQServiceFlows;
476 /** Specifies the length of Authorization token*/
477 B_UINT8 u8AuthTokenLength;
479 /** Specifies the Authorization token*/
480 B_UINT8 u8AuthToken[AUTH_TOKEN_LENGTH];
482 /** specifes Number of HARQ channels used to carry data length*/
483 B_UINT8 u8HarqChannelMappingLength;
485 /** specifes HARQ channels used to carry data*/
486 B_UINT8 u8HARQChannelMapping[NUM_HARQ_CHANNELS];
488 /** 8bit Length of Vendor Specific QoS Params */
489 B_UINT8 u8VendorSpecificQoSParamLength;
491 /** 1byte Vendor Specific QoS Param Of The Service Flow*/
492 B_UINT8 u8VendorSpecificQoSParam[VENDOR_SPECIF_QOS_PARAM];
494 // indicates total classifiers in the SF
495 B_UINT8 u8TotalClassifiers; /**< Total number of valid classifiers*/
496 B_UINT8 bValid; /**< Validity flag */
497 B_UINT8 u8Padding; /**< Padding byte*/
501 Structure for Convergence SubLayer Types with a maximum of 4 classifiers
503 CConvergenceSLTypes cConvergenceSLTypes[MAX_CLASSIFIERS_IN_SF];
506 Structure for Convergence SubLayer Types with a maximum of 4 classifiers
508 stConvergenceSLTypes cConvergenceSLTypes[MAX_CLASSIFIERS_IN_SF];
514 } stServiceFlowParamSI, *pstServiceFlowParamSI;
515 typedef stServiceFlowParamSI CServiceFlowParamSI;
519 structure stLocalSFAddRequest
521 typedef struct _stLocalSFAddRequest{
523 _stLocalSFAddRequest( ) :
524 u8Type(0x00), eConnectionDir(0x00),
525 u16TID(0x0000), u16CID(0x0000), u16VCID(0x0000)
529 B_UINT8 u8Type; /**< Type*/
530 B_UINT8 eConnectionDir; /**< Connection direction*/
531 /// \brief 16 bit TID
532 B_UINT16 u16TID; /**< 16bit TID*/
534 B_UINT16 u16CID; /**< 16bit CID*/
536 B_UINT16 u16VCID; /**< 16bit VCID*/
537 /// \brief structure ParameterSet
538 #ifdef BECEEM_SIGNALLING_INTERFACE_API
539 CServiceFlowParamSI sfParameterSet;
543 CServiceFlowParamSI *psfParameterSet;
545 stServiceFlowParamSI *psfParameterSet; /**< structure ParameterSet*/
549 USE_DATA_MEMORY_MANAGER();
551 }stLocalSFAddRequest, *pstLocalSFAddRequest;
555 structure stLocalSFAddIndication
557 typedef struct _stLocalSFAddIndication{
559 _stLocalSFAddIndication( ) :
560 u8Type(0x00), eConnectionDir(0x00),
561 u16TID(0x0000), u16CID(0x0000), u16VCID(0x0000)
565 B_UINT8 u8Type; /**< Type*/
566 B_UINT8 eConnectionDir; /**< Connection Direction*/
567 /// \brief 16 bit TID
568 B_UINT16 u16TID; /**< TID*/
570 B_UINT16 u16CID; /**< 16bitCID*/
572 B_UINT16 u16VCID; /**< 16bitVCID*/
574 #ifdef BECEEM_SIGNALLING_INTERFACE_API
575 CServiceFlowParamSI sfAuthorizedSet;
576 /// \brief structure AdmittedSet
577 CServiceFlowParamSI sfAdmittedSet;
578 /// \brief structure ActiveSet
579 CServiceFlowParamSI sfActiveSet;
582 /// \brief structure AuthorizedSet
584 CServiceFlowParamSI *psfAuthorizedSet;
585 /// \brief structure AdmittedSet
586 CServiceFlowParamSI *psfAdmittedSet;
587 /// \brief structure ActiveSet
588 CServiceFlowParamSI *psfActiveSet;
590 /// \brief structure AuthorizedSet
591 stServiceFlowParamSI *psfAuthorizedSet; /**< AuthorizedSet of type stServiceFlowParamSI*/
592 /// \brief structure AdmittedSet
593 stServiceFlowParamSI *psfAdmittedSet; /**< AdmittedSet of type stServiceFlowParamSI*/
594 /// \brief structure ActiveSet
595 stServiceFlowParamSI *psfActiveSet; /**< sfActiveSet of type stServiceFlowParamSI*/
597 B_UINT8 u8CC; /**< Confirmation Code*/
598 B_UINT8 u8Padd; /**< 8-bit Padding */
600 B_UINT16 u16Padd; /**< 16 bit Padding */
603 USE_DATA_MEMORY_MANAGER();
605 }stLocalSFAddIndication;
608 typedef struct _stLocalSFAddIndication *pstLocalSFAddIndication;
610 structure stLocalSFChangeRequest is same as structure stLocalSFAddIndication
612 typedef struct _stLocalSFAddIndication stLocalSFChangeRequest, *pstLocalSFChangeRequest;
614 structure stLocalSFChangeIndication is same as structure stLocalSFAddIndication
616 typedef struct _stLocalSFAddIndication stLocalSFChangeIndication, *pstLocalSFChangeIndication;
619 structure stLocalSFDeleteRequest
621 typedef struct _stLocalSFDeleteRequest{
623 _stLocalSFDeleteRequest( ) :
624 u8Type(0x00), u8Padding(0x00),
625 u16TID(0x0000), u32SFID (0x00000000)
628 B_UINT8 u8Type; /**< Type*/
629 B_UINT8 u8Padding; /**< Padding byte*/
630 B_UINT16 u16TID; /**< TID*/
632 B_UINT32 u32SFID; /**< SFID*/
634 USE_DATA_MEMORY_MANAGER();
636 }stLocalSFDeleteRequest, *pstLocalSFDeleteRequest;
639 structure stLocalSFDeleteIndication
641 typedef struct stLocalSFDeleteIndication{
643 stLocalSFDeleteIndication( ) :
644 u8Type(0x00), u8Padding(0x00),
645 u16TID(0x0000), u16CID(0x0000),
646 u16VCID(0x0000),u32SFID (0x00000000)
649 B_UINT8 u8Type; /**< Type */
650 B_UINT8 u8Padding; /**< Padding */
651 B_UINT16 u16TID; /**< TID */
653 B_UINT16 u16CID; /**< CID */
655 B_UINT16 u16VCID; /**< VCID */
657 B_UINT32 u32SFID; /**< SFID */
658 /// \brief 8bit Confirmation code
659 B_UINT8 u8ConfirmationCode; /**< Confirmation code */
660 B_UINT8 u8Padding1[3]; /**< 3 byte Padding */
662 USE_DATA_MEMORY_MANAGER();
664 }stLocalSFDeleteIndication;
666 typedef struct _stIM_SFHostNotify
668 B_UINT32 SFID; //SFID of the service flow
669 B_UINT16 newCID; //the new/changed CID
670 B_UINT16 VCID; //Get new Vcid if the flow has been made active in CID update TLV, but was inactive earlier or the orig vcid
671 B_UINT8 RetainSF; //Indication to Host if the SF is to be retained or deleted; if TRUE-retain else delete
672 B_UINT8 QoSParamSet; //QoS paramset of the retained SF
673 B_UINT16 u16reserved; //For byte alignment