diff options
Diffstat (limited to 'drivers/staging/bcm/cntrl_SignalingInterface.h')
-rw-r--r-- | drivers/staging/bcm/cntrl_SignalingInterface.h | 704 |
1 files changed, 296 insertions, 408 deletions
diff --git a/drivers/staging/bcm/cntrl_SignalingInterface.h b/drivers/staging/bcm/cntrl_SignalingInterface.h index 7619e4b819bd..990e809e9680 100644 --- a/drivers/staging/bcm/cntrl_SignalingInterface.h +++ b/drivers/staging/bcm/cntrl_SignalingInterface.h @@ -1,423 +1,311 @@ #ifndef CNTRL_SIGNALING_INTERFACE_ #define CNTRL_SIGNALING_INTERFACE_ - - - -#define DSA_REQ 11 -#define DSA_RSP 12 -#define DSA_ACK 13 -#define DSC_REQ 14 -#define DSC_RSP 15 -#define DSC_ACK 16 -#define DSD_REQ 17 -#define DSD_RSP 18 -#define DSD_ACK 19 -#define MAX_CLASSIFIERS_IN_SF 4 - - -#define MAX_STRING_LEN 20 -#define MAX_PHS_LENGTHS 255 -#define VENDOR_PHS_PARAM_LENGTH 10 -#define MAX_NUM_ACTIVE_BS 10 -#define AUTH_TOKEN_LENGTH 10 -#define NUM_HARQ_CHANNELS 16 //Changed from 10 to 16 to accommodate all HARQ channels -#define VENDOR_CLASSIFIER_PARAM_LENGTH 1 //Changed the size to 1 byte since we dnt use it -#define VENDOR_SPECIF_QOS_PARAM 1 -#define VENDOR_PHS_PARAM_LENGTH 10 -#define MBS_CONTENTS_ID_LENGTH 10 -#define GLOBAL_SF_CLASSNAME_LENGTH 6 - -#define TYPE_OF_SERVICE_LENGTH 3 -#define IP_MASKED_SRC_ADDRESS_LENGTH 32 -#define IP_MASKED_DEST_ADDRESS_LENGTH 32 -#define PROTOCOL_SRC_PORT_RANGE_LENGTH 4 -#define PROTOCOL_DEST_PORT_RANGE_LENGTH 4 -#define ETHERNET_DEST_MAC_ADDR_LENGTH 12 -#define ETHERNET_SRC_MAC_ADDR_LENGTH 12 -#define NUM_ETHERTYPE_BYTES 3 -#define NUM_IPV6_FLOWLABLE_BYTES 3 - - -//////////////////////////////////////////////////////////////////////////////// -////////////////////////structure Definitions/////////////////////////////////// -//////////////////////////////////////////////////////////////////////////////// -/// \brief class cCPacketClassificationRule -struct _stCPacketClassificationRuleSI{ - - /** 16bit UserPriority Of The Service Flow*/ - B_UINT16 u16UserPriority; - /** 16bit VLANID Of The Service Flow*/ - B_UINT16 u16VLANID; - /** 16bit Packet Classification RuleIndex Of The Service Flow*/ - B_UINT16 u16PacketClassificationRuleIndex; - /** 8bit Classifier Rule Priority Of The Service Flow*/ - B_UINT8 u8ClassifierRulePriority; - /** Length of IP TypeOfService field*/ - B_UINT8 u8IPTypeOfServiceLength; - /** 3bytes IP TypeOfService */ - B_UINT8 u8IPTypeOfService[TYPE_OF_SERVICE_LENGTH]; - /** Protocol used in classification of Service Flow*/ - B_UINT8 u8Protocol; - /** Length of IP Masked Source Address */ - B_UINT8 u8IPMaskedSourceAddressLength; - /** IP Masked Source Address used in classification for the Service Flow*/ - B_UINT8 u8IPMaskedSourceAddress[IP_MASKED_SRC_ADDRESS_LENGTH]; - /** Length of IP Destination Address */ - B_UINT8 u8IPDestinationAddressLength; - /** IP Destination Address used in classification for the Service Flow*/ - B_UINT8 u8IPDestinationAddress[IP_MASKED_DEST_ADDRESS_LENGTH]; - /** Length of Protocol Source Port Range */ - B_UINT8 u8ProtocolSourcePortRangeLength; - /** Protocol Source Port Range used in the Service Flow*/ - B_UINT8 u8ProtocolSourcePortRange[PROTOCOL_SRC_PORT_RANGE_LENGTH]; - /** Length of Protocol Dest Port Range */ - B_UINT8 u8ProtocolDestPortRangeLength; - /** Protocol Dest Port Range used in the Service Flow*/ - B_UINT8 u8ProtocolDestPortRange[PROTOCOL_DEST_PORT_RANGE_LENGTH]; - /** Length of Ethernet Destination MAC Address */ - B_UINT8 u8EthernetDestMacAddressLength; - /** Ethernet Destination MAC Address used in classification of the Service Flow*/ - B_UINT8 u8EthernetDestMacAddress[ETHERNET_DEST_MAC_ADDR_LENGTH]; - /** Length of Ethernet Source MAC Address */ - B_UINT8 u8EthernetSourceMACAddressLength; - /** Ethernet Source MAC Address used in classification of the Service Flow*/ - B_UINT8 u8EthernetSourceMACAddress[ETHERNET_SRC_MAC_ADDR_LENGTH]; - /** Length of Ethertype */ - B_UINT8 u8EthertypeLength; - /** 3bytes Ethertype Of The Service Flow*/ - B_UINT8 u8Ethertype[NUM_ETHERTYPE_BYTES]; - /** 8bit Associated PHSI Of The Service Flow*/ - B_UINT8 u8AssociatedPHSI; - /** Length of Vendor Specific Classifier Param length Of The Service Flow*/ - B_UINT8 u8VendorSpecificClassifierParamLength; - /** Vendor Specific Classifier Param Of The Service Flow*/ - B_UINT8 u8VendorSpecificClassifierParam[VENDOR_CLASSIFIER_PARAM_LENGTH]; - /** Length Of IPv6 Flow Lable of the Service Flow*/ - B_UINT8 u8IPv6FlowLableLength; - /** IPv6 Flow Lable Of The Service Flow*/ - B_UINT8 u8IPv6FlowLable[NUM_IPV6_FLOWLABLE_BYTES]; - /** Action associated with the classifier rule*/ - B_UINT8 u8ClassifierActionRule; - B_UINT16 u16ValidityBitMap; +#define DSA_REQ 11 +#define DSA_RSP 12 +#define DSA_ACK 13 +#define DSC_REQ 14 +#define DSC_RSP 15 +#define DSC_ACK 16 +#define DSD_REQ 17 +#define DSD_RSP 18 +#define DSD_ACK 19 +#define MAX_CLASSIFIERS_IN_SF 4 + +#define MAX_STRING_LEN 20 +#define MAX_PHS_LENGTHS 255 +#define VENDOR_PHS_PARAM_LENGTH 10 +#define MAX_NUM_ACTIVE_BS 10 +#define AUTH_TOKEN_LENGTH 10 +#define NUM_HARQ_CHANNELS 16 /* Changed from 10 to 16 to accommodate all HARQ channels */ +#define VENDOR_CLASSIFIER_PARAM_LENGTH 1 /* Changed the size to 1 byte since we dnt use it */ +#define VENDOR_SPECIF_QOS_PARAM 1 +#define VENDOR_PHS_PARAM_LENGTH 10 +#define MBS_CONTENTS_ID_LENGTH 10 +#define GLOBAL_SF_CLASSNAME_LENGTH 6 + +#define TYPE_OF_SERVICE_LENGTH 3 +#define IP_MASKED_SRC_ADDRESS_LENGTH 32 +#define IP_MASKED_DEST_ADDRESS_LENGTH 32 +#define PROTOCOL_SRC_PORT_RANGE_LENGTH 4 +#define PROTOCOL_DEST_PORT_RANGE_LENGTH 4 +#define ETHERNET_DEST_MAC_ADDR_LENGTH 12 +#define ETHERNET_SRC_MAC_ADDR_LENGTH 12 +#define NUM_ETHERTYPE_BYTES 3 +#define NUM_IPV6_FLOWLABLE_BYTES 3 + +struct bcm_packet_class_rules { + /* 16bit UserPriority Of The Service Flow */ + B_UINT16 u16UserPriority; + /* 16bit VLANID Of The Service Flow */ + B_UINT16 u16VLANID; + /* 16bit Packet Classification RuleIndex Of The Service Flow */ + B_UINT16 u16PacketClassificationRuleIndex; + /* 8bit Classifier Rule Priority Of The Service Flow */ + B_UINT8 u8ClassifierRulePriority; + /* Length of IP TypeOfService field */ + B_UINT8 u8IPTypeOfServiceLength; + /* 3bytes IP TypeOfService */ + B_UINT8 u8IPTypeOfService[TYPE_OF_SERVICE_LENGTH]; + /* Protocol used in classification of Service Flow */ + B_UINT8 u8Protocol; + /* Length of IP Masked Source Address */ + B_UINT8 u8IPMaskedSourceAddressLength; + /* IP Masked Source Address used in classification for the Service Flow */ + B_UINT8 u8IPMaskedSourceAddress[IP_MASKED_SRC_ADDRESS_LENGTH]; + /* Length of IP Destination Address */ + B_UINT8 u8IPDestinationAddressLength; + /* IP Destination Address used in classification for the Service Flow */ + B_UINT8 u8IPDestinationAddress[IP_MASKED_DEST_ADDRESS_LENGTH]; + /* Length of Protocol Source Port Range */ + B_UINT8 u8ProtocolSourcePortRangeLength; + /* Protocol Source Port Range used in the Service Flow */ + B_UINT8 u8ProtocolSourcePortRange[PROTOCOL_SRC_PORT_RANGE_LENGTH]; + /* Length of Protocol Dest Port Range */ + B_UINT8 u8ProtocolDestPortRangeLength; + /* Protocol Dest Port Range used in the Service Flow */ + B_UINT8 u8ProtocolDestPortRange[PROTOCOL_DEST_PORT_RANGE_LENGTH]; + /* Length of Ethernet Destination MAC Address */ + B_UINT8 u8EthernetDestMacAddressLength; + /* Ethernet Destination MAC Address used in classification of the Service Flow */ + B_UINT8 u8EthernetDestMacAddress[ETHERNET_DEST_MAC_ADDR_LENGTH]; + /* Length of Ethernet Source MAC Address */ + B_UINT8 u8EthernetSourceMACAddressLength; + /* Ethernet Source MAC Address used in classification of the Service Flow */ + B_UINT8 u8EthernetSourceMACAddress[ETHERNET_SRC_MAC_ADDR_LENGTH]; + /* Length of Ethertype */ + B_UINT8 u8EthertypeLength; + /* 3bytes Ethertype Of The Service Flow */ + B_UINT8 u8Ethertype[NUM_ETHERTYPE_BYTES]; + /* 8bit Associated PHSI Of The Service Flow */ + B_UINT8 u8AssociatedPHSI; + /* Length of Vendor Specific Classifier Param length Of The Service Flow */ + B_UINT8 u8VendorSpecificClassifierParamLength; + /* Vendor Specific Classifier Param Of The Service Flow */ + B_UINT8 u8VendorSpecificClassifierParam[VENDOR_CLASSIFIER_PARAM_LENGTH]; + /* Length Of IPv6 Flow Lable of the Service Flow */ + B_UINT8 u8IPv6FlowLableLength; + /* IPv6 Flow Lable Of The Service Flow */ + B_UINT8 u8IPv6FlowLable[NUM_IPV6_FLOWLABLE_BYTES]; + /* Action associated with the classifier rule */ + B_UINT8 u8ClassifierActionRule; + B_UINT16 u16ValidityBitMap; }; -typedef struct _stCPacketClassificationRuleSI CCPacketClassificationRuleSI,stCPacketClassificationRuleSI, *pstCPacketClassificationRuleSI; - -/// \brief class CPhsRuleSI -typedef struct _stPhsRuleSI { - /** 8bit PHS Index Of The Service Flow*/ - B_UINT8 u8PHSI; - /** PHSF Length Of The Service Flow*/ - B_UINT8 u8PHSFLength; - /** String of bytes containing header information to be suppressed by the sending CS and reconstructed by the receiving CS*/ - B_UINT8 u8PHSF[MAX_PHS_LENGTHS]; - /** PHSM Length Of The Service Flow*/ - B_UINT8 u8PHSMLength; - /** PHS Mask for the SF*/ - B_UINT8 u8PHSM[MAX_PHS_LENGTHS]; - /** 8bit Total number of bytes to be suppressed for the Service Flow*/ - B_UINT8 u8PHSS; - /** 8bit Indicates whether or not Packet Header contents need to be verified prior to suppression */ - B_UINT8 u8PHSV; - /** Vendor Specific PHS param Length Of The Service Flow*/ - B_UINT8 u8VendorSpecificPHSParamsLength; - /** Vendor Specific PHS param Of The Service Flow*/ - B_UINT8 u8VendorSpecificPHSParams[VENDOR_PHS_PARAM_LENGTH]; - - B_UINT8 u8Padding[2]; -}stPhsRuleSI,*pstPhsRuleSI; -typedef stPhsRuleSI CPhsRuleSI; -/// \brief structure cConvergenceSLTypes -struct _stConvergenceSLTypes{ - /** 8bit Phs Classfier Action Of The Service Flow*/ - B_UINT8 u8ClassfierDSCAction; - /** 8bit Phs DSC Action Of The Service Flow*/ - B_UINT8 u8PhsDSCAction; - /** 16bit Padding */ - B_UINT8 u8Padding[2]; - /// \brief class cCPacketClassificationRule - stCPacketClassificationRuleSI cCPacketClassificationRule; - /// \brief class CPhsRuleSI - struct _stPhsRuleSI cPhsRule; +struct bcm_phs_rules { + /* 8bit PHS Index Of The Service Flow */ + B_UINT8 u8PHSI; + /* PHSF Length Of The Service Flow */ + B_UINT8 u8PHSFLength; + /* String of bytes containing header information to be suppressed by the sending CS and reconstructed by the receiving CS */ + B_UINT8 u8PHSF[MAX_PHS_LENGTHS]; + /* PHSM Length Of The Service Flow */ + B_UINT8 u8PHSMLength; + /* PHS Mask for the SF */ + B_UINT8 u8PHSM[MAX_PHS_LENGTHS]; + /* 8bit Total number of bytes to be suppressed for the Service Flow */ + B_UINT8 u8PHSS; + /* 8bit Indicates whether or not Packet Header contents need to be verified prior to suppression */ + B_UINT8 u8PHSV; + /* Vendor Specific PHS param Length Of The Service Flow */ + B_UINT8 u8VendorSpecificPHSParamsLength; + /* Vendor Specific PHS param Of The Service Flow */ + B_UINT8 u8VendorSpecificPHSParams[VENDOR_PHS_PARAM_LENGTH]; + B_UINT8 u8Padding[2]; }; -typedef struct _stConvergenceSLTypes stConvergenceSLTypes,CConvergenceSLTypes, *pstConvergenceSLTypes; - - -/// \brief structure CServiceFlowParamSI -typedef struct _stServiceFlowParamSI{ - - /** 32bitSFID Of The Service Flow*/ - B_UINT32 u32SFID; - - /** 32bit Maximum Sustained Traffic Rate of the Service Flow*/ - B_UINT32 u32MaxSustainedTrafficRate; - - /** 32bit Maximum Traffic Burst allowed for the Service Flow*/ - B_UINT32 u32MaxTrafficBurst; - - /** 32bit Minimum Reserved Traffic Rate of the Service Flow*/ - B_UINT32 u32MinReservedTrafficRate; - - /** 32bit Tolerated Jitter of the Service Flow*/ - B_UINT32 u32ToleratedJitter; - - /** 32bit Maximum Latency of the Service Flow*/ - B_UINT32 u32MaximumLatency; - - /** 16bitCID Of The Service Flow*/ - B_UINT16 u16CID; - - /** 16bit SAID on which the service flow being set up shall be mapped*/ - B_UINT16 u16TargetSAID; - - /** 16bit ARQ window size negotiated*/ - B_UINT16 u16ARQWindowSize; - - /** 16bit Total Tx delay incl sending, receiving & processing delays */ - B_UINT16 u16ARQRetryTxTimeOut; - - /** 16bit Total Rx delay incl sending, receiving & processing delays */ - B_UINT16 u16ARQRetryRxTimeOut; - - /** 16bit ARQ block lifetime */ - B_UINT16 u16ARQBlockLifeTime; - - /** 16bit ARQ Sync loss timeout*/ - B_UINT16 u16ARQSyncLossTimeOut; - - /** 16bit ARQ Purge timeout */ - B_UINT16 u16ARQRxPurgeTimeOut; -//TODO::Remove this once we move to a new CORR2 driver - /// \brief Size of an ARQ block - B_UINT16 u16ARQBlockSize; - -//#endif - /** 16bit Nominal interval b/w consecutive SDU arrivals at MAC SAP*/ - B_UINT16 u16SDUInterArrivalTime; - - /** 16bit Specifies the time base for rate measurement */ - B_UINT16 u16TimeBase; - - /** 16bit Interval b/w Successive Grant oppurtunities*/ - B_UINT16 u16UnsolicitedGrantInterval; - - /** 16bit Interval b/w Successive Polling grant oppurtunities*/ - B_UINT16 u16UnsolicitedPollingInterval; - - /** internal var to get the overhead */ - B_UINT16 u16MacOverhead; - - /** MBS contents Identifier*/ - B_UINT16 u16MBSContentsID[MBS_CONTENTS_ID_LENGTH]; - - /** MBS contents Identifier length*/ - B_UINT8 u8MBSContentsIDLength; - - /** ServiceClassName Length Of The Service Flow*/ - B_UINT8 u8ServiceClassNameLength; - - /** 32bytes ServiceClassName Of The Service Flow*/ - B_UINT8 u8ServiceClassName[32]; - - /** 8bit Indicates whether or not MBS service is requested for this Serivce Flow*/ - B_UINT8 u8MBSService; - - /** 8bit QOS Parameter Set specifies proper application of QoS paramters to Provisioned, Admitted and Active sets*/ - B_UINT8 u8QosParamSet; - - /** 8bit Traffic Priority Of the Service Flow */ - B_UINT8 u8TrafficPriority; - - /** 8bit Uplink Grant Scheduling Type of The Service Flow */ - B_UINT8 u8ServiceFlowSchedulingType; - - /** 8bit Request transmission Policy of the Service Flow*/ - B_UINT8 u8RequesttransmissionPolicy; - - /** 8bit Specifies whether SDUs for this Service flow are of FixedLength or Variable length */ - B_UINT8 u8FixedLengthVSVariableLengthSDUIndicator; - - /** 8bit Length of the SDU for a fixed length SDU service flow*/ - B_UINT8 u8SDUSize; - /** 8bit Indicates whether or not ARQ is requested for this connection*/ - B_UINT8 u8ARQEnable; - - /**< 8bit Indicates whether or not data has tobe delivered in order to higher layer*/ - B_UINT8 u8ARQDeliverInOrder; - - /** 8bit Receiver ARQ ACK processing time */ - B_UINT8 u8RxARQAckProcessingTime; - - /** 8bit Convergence Sublayer Specification Of The Service Flow*/ - B_UINT8 u8CSSpecification; - - /** 8 bit Type of data delivery service*/ - B_UINT8 u8TypeOfDataDeliveryService; - - /** 8bit Specifies whether a service flow may generate Paging */ - B_UINT8 u8PagingPreference; - - /** 8bit Indicates the MBS Zone through which the connection or virtual connection is valid */ - B_UINT8 u8MBSZoneIdentifierassignment; - - /** 8bit Specifies whether traffic on SF should generate MOB_TRF_IND to MS in sleep mode*/ - B_UINT8 u8TrafficIndicationPreference; - - /** 8bit Speciifes the length of predefined Global QoS parameter set encoding for this SF */ - B_UINT8 u8GlobalServicesClassNameLength; - - /** 6 byte Speciifes the predefined Global QoS parameter set encoding for this SF */ - B_UINT8 u8GlobalServicesClassName[GLOBAL_SF_CLASSNAME_LENGTH]; - - /** 8bit Indicates whether or not SN feedback is enabled for the conn */ - B_UINT8 u8SNFeedbackEnabled; - - /** Indicates the size of the Fragment Sequence Number for the connection */ - B_UINT8 u8FSNSize; - - /** 8bit Number of CIDs in active BS list */ - B_UINT8 u8CIDAllocation4activeBSsLength; - - /** CIDs of BS in the active list */ - B_UINT8 u8CIDAllocation4activeBSs[MAX_NUM_ACTIVE_BS]; - - /** Specifies if PDU extended subheader should be applied on every PDU on this conn*/ - B_UINT8 u8PDUSNExtendedSubheader4HarqReordering; - - /** 8bit Specifies whether the connection uses HARQ or not */ - B_UINT8 u8HARQServiceFlows; - - /** Specifies the length of Authorization token*/ - B_UINT8 u8AuthTokenLength; - - /** Specifies the Authorization token*/ - B_UINT8 u8AuthToken[AUTH_TOKEN_LENGTH]; - - /** specifes Number of HARQ channels used to carry data length*/ - B_UINT8 u8HarqChannelMappingLength; - - /** specifes HARQ channels used to carry data*/ - B_UINT8 u8HARQChannelMapping[NUM_HARQ_CHANNELS]; - - /** 8bit Length of Vendor Specific QoS Params */ - B_UINT8 u8VendorSpecificQoSParamLength; - - /** 1byte Vendor Specific QoS Param Of The Service Flow*/ - B_UINT8 u8VendorSpecificQoSParam[VENDOR_SPECIF_QOS_PARAM]; - - // indicates total classifiers in the SF - B_UINT8 u8TotalClassifiers; /**< Total number of valid classifiers*/ - B_UINT8 bValid; /**< Validity flag */ - B_UINT8 u8Padding; /**< Padding byte*/ - -/** -Structure for Convergence SubLayer Types with a maximum of 4 classifiers -*/ - stConvergenceSLTypes cConvergenceSLTypes[MAX_CLASSIFIERS_IN_SF]; - -} stServiceFlowParamSI, *pstServiceFlowParamSI; -typedef stServiceFlowParamSI CServiceFlowParamSI; - -/** -structure stLocalSFAddRequest -*/ -typedef struct _stLocalSFAddRequest{ - - B_UINT8 u8Type; /**< Type*/ - B_UINT8 eConnectionDir; /**< Connection direction*/ - /// \brief 16 bit TID - B_UINT16 u16TID; /**< 16bit TID*/ - /// \brief 16bitCID - B_UINT16 u16CID; /**< 16bit CID*/ - /// \brief 16bitVCID - B_UINT16 u16VCID; /**< 16bit VCID*/ - /// \brief structure ParameterSet - - stServiceFlowParamSI *psfParameterSet; /**< structure ParameterSet*/ - -}stLocalSFAddRequest, *pstLocalSFAddRequest; - - -/** -structure stLocalSFAddIndication -*/ -typedef struct _stLocalSFAddIndication{ - - B_UINT8 u8Type; /**< Type*/ - B_UINT8 eConnectionDir; /**< Connection Direction*/ - /// \brief 16 bit TID - B_UINT16 u16TID; /**< TID*/ - /// \brief 16bitCID - B_UINT16 u16CID; /**< 16bitCID*/ - /// \brief 16bitVCID - B_UINT16 u16VCID; /**< 16bitVCID*/ - - - /// \brief structure AuthorizedSet - /// \brief structure AuthorizedSet - stServiceFlowParamSI *psfAuthorizedSet; /**< AuthorizedSet of type stServiceFlowParamSI*/ - /// \brief structure AdmittedSet - stServiceFlowParamSI *psfAdmittedSet; /**< AdmittedSet of type stServiceFlowParamSI*/ - /// \brief structure ActiveSet - stServiceFlowParamSI *psfActiveSet; /**< sfActiveSet of type stServiceFlowParamSI*/ - B_UINT8 u8CC; /**< Confirmation Code*/ - B_UINT8 u8Padd; /**< 8-bit Padding */ - - B_UINT16 u16Padd; /**< 16 bit Padding */ - -}stLocalSFAddIndication; +struct bcm_convergence_types { + /* 8bit Phs Classfier Action Of The Service Flow */ + B_UINT8 u8ClassfierDSCAction; + /* 8bit Phs DSC Action Of The Service Flow */ + B_UINT8 u8PhsDSCAction; + /* 16bit Padding */ + B_UINT8 u8Padding[2]; + /* Packet classification rules structure */ + struct bcm_packet_class_rules cCPacketClassificationRule; + /* Payload header suppression rules structure */ + struct bcm_phs_rules cPhsRule; +}; +struct bcm_connect_mgr_params { + /* 32bitSFID Of The Service Flow */ + B_UINT32 u32SFID; + /* 32bit Maximum Sustained Traffic Rate of the Service Flow */ + B_UINT32 u32MaxSustainedTrafficRate; + /* 32bit Maximum Traffic Burst allowed for the Service Flow */ + B_UINT32 u32MaxTrafficBurst; + /* 32bit Minimum Reserved Traffic Rate of the Service Flow */ + B_UINT32 u32MinReservedTrafficRate; + /* 32bit Tolerated Jitter of the Service Flow */ + B_UINT32 u32ToleratedJitter; + /* 32bit Maximum Latency of the Service Flow */ + B_UINT32 u32MaximumLatency; + /* 16bitCID Of The Service Flow */ + B_UINT16 u16CID; + /* 16bit SAID on which the service flow being set up shall be mapped */ + B_UINT16 u16TargetSAID; + /* 16bit ARQ window size negotiated */ + B_UINT16 u16ARQWindowSize; + /* 16bit Total Tx delay incl sending, receiving & processing delays */ + B_UINT16 u16ARQRetryTxTimeOut; + /* 16bit Total Rx delay incl sending, receiving & processing delays */ + B_UINT16 u16ARQRetryRxTimeOut; + /* 16bit ARQ block lifetime */ + B_UINT16 u16ARQBlockLifeTime; + /* 16bit ARQ Sync loss timeout */ + B_UINT16 u16ARQSyncLossTimeOut; + /* 16bit ARQ Purge timeout */ + B_UINT16 u16ARQRxPurgeTimeOut; + /* TODO::Remove this once we move to a new CORR2 driver + * brief Size of an ARQ block + */ + B_UINT16 u16ARQBlockSize; + /* #endif */ + /* 16bit Nominal interval b/w consecutive SDU arrivals at MAC SAP */ + B_UINT16 u16SDUInterArrivalTime; + /* 16bit Specifies the time base for rate measurement */ + B_UINT16 u16TimeBase; + /* 16bit Interval b/w Successive Grant oppurtunities */ + B_UINT16 u16UnsolicitedGrantInterval; + /* 16bit Interval b/w Successive Polling grant oppurtunities */ + B_UINT16 u16UnsolicitedPollingInterval; + /* internal var to get the overhead */ + B_UINT16 u16MacOverhead; + /* MBS contents Identifier */ + B_UINT16 u16MBSContentsID[MBS_CONTENTS_ID_LENGTH]; + /* MBS contents Identifier length */ + B_UINT8 u8MBSContentsIDLength; + /* ServiceClassName Length Of The Service Flow */ + B_UINT8 u8ServiceClassNameLength; + /* 32bytes ServiceClassName Of The Service Flow */ + B_UINT8 u8ServiceClassName[32]; + /* 8bit Indicates whether or not MBS service is requested for this Serivce Flow */ + B_UINT8 u8MBSService; + /* 8bit QOS Parameter Set specifies proper application of QoS parameters to Provisioned, Admitted and Active sets */ + B_UINT8 u8QosParamSet; + /* 8bit Traffic Priority Of the Service Flow */ + B_UINT8 u8TrafficPriority; + /* 8bit Uplink Grant Scheduling Type of The Service Flow */ + B_UINT8 u8ServiceFlowSchedulingType; + /* 8bit Request transmission Policy of the Service Flow */ + B_UINT8 u8RequesttransmissionPolicy; + /* 8bit Specifies whether SDUs for this Service flow are of FixedLength or Variable length */ + B_UINT8 u8FixedLengthVSVariableLengthSDUIndicator; + /* 8bit Length of the SDU for a fixed length SDU service flow */ + B_UINT8 u8SDUSize; + /* 8bit Indicates whether or not ARQ is requested for this connection */ + B_UINT8 u8ARQEnable; + /* < 8bit Indicates whether or not data has tobe delivered in order to higher layer */ + B_UINT8 u8ARQDeliverInOrder; + /* 8bit Receiver ARQ ACK processing time */ + B_UINT8 u8RxARQAckProcessingTime; + /* 8bit Convergence Sublayer Specification Of The Service Flow */ + B_UINT8 u8CSSpecification; + /* 8 bit Type of data delivery service */ + B_UINT8 u8TypeOfDataDeliveryService; + /* 8bit Specifies whether a service flow may generate Paging */ + B_UINT8 u8PagingPreference; + /* 8bit Indicates the MBS Zone through which the connection or virtual connection is valid */ + B_UINT8 u8MBSZoneIdentifierassignment; + /* 8bit Specifies whether traffic on SF should generate MOB_TRF_IND to MS in sleep mode */ + B_UINT8 u8TrafficIndicationPreference; + /* 8bit Speciifes the length of predefined Global QoS parameter set encoding for this SF */ + B_UINT8 u8GlobalServicesClassNameLength; + /* 6 byte Speciifes the predefined Global QoS parameter set encoding for this SF */ + B_UINT8 u8GlobalServicesClassName[GLOBAL_SF_CLASSNAME_LENGTH]; + /* 8bit Indicates whether or not SN feedback is enabled for the conn */ + B_UINT8 u8SNFeedbackEnabled; + /* Indicates the size of the Fragment Sequence Number for the connection */ + B_UINT8 u8FSNSize; + /* 8bit Number of CIDs in active BS list */ + B_UINT8 u8CIDAllocation4activeBSsLength; + /* CIDs of BS in the active list */ + B_UINT8 u8CIDAllocation4activeBSs[MAX_NUM_ACTIVE_BS]; + /* Specifies if PDU extended subheader should be applied on every PDU on this conn */ + B_UINT8 u8PDUSNExtendedSubheader4HarqReordering; + /* 8bit Specifies whether the connection uses HARQ or not */ + B_UINT8 u8HARQServiceFlows; + /* Specifies the length of Authorization token */ + B_UINT8 u8AuthTokenLength; + /* Specifies the Authorization token */ + B_UINT8 u8AuthToken[AUTH_TOKEN_LENGTH]; + /* specifes Number of HARQ channels used to carry data length */ + B_UINT8 u8HarqChannelMappingLength; + /* specifes HARQ channels used to carry data */ + B_UINT8 u8HARQChannelMapping[NUM_HARQ_CHANNELS]; + /* 8bit Length of Vendor Specific QoS Params */ + B_UINT8 u8VendorSpecificQoSParamLength; + /* 1byte Vendor Specific QoS Param Of The Service Flow */ + B_UINT8 u8VendorSpecificQoSParam[VENDOR_SPECIF_QOS_PARAM]; + /* indicates total classifiers in the SF */ + B_UINT8 u8TotalClassifiers; /* < Total number of valid classifiers */ + B_UINT8 bValid; /* < Validity flag */ + B_UINT8 u8Padding; /* < Padding byte */ + /* + * Structure for Convergence SubLayer Types with a maximum of 4 classifiers + */ + struct bcm_convergence_types cConvergenceSLTypes[MAX_CLASSIFIERS_IN_SF]; +}; -typedef struct _stLocalSFAddIndication *pstLocalSFAddIndication; -/** -structure stLocalSFChangeRequest is same as structure stLocalSFAddIndication -*/ -typedef struct _stLocalSFAddIndication stLocalSFChangeRequest, *pstLocalSFChangeRequest; -/** -structure stLocalSFChangeIndication is same as structure stLocalSFAddIndication -*/ -typedef struct _stLocalSFAddIndication stLocalSFChangeIndication, *pstLocalSFChangeIndication; +struct bcm_add_request { + B_UINT8 u8Type; /* < Type */ + B_UINT8 eConnectionDir; /* < Connection direction */ + /* brief 16 bit TID */ + B_UINT16 u16TID; /* < 16bit TID */ + /* brief 16bitCID */ + B_UINT16 u16CID; /* < 16bit CID */ + /* brief 16bitVCID */ + B_UINT16 u16VCID; /* < 16bit VCID */ + struct bcm_connect_mgr_params *psfParameterSet; /* < connection manager parameters */ +}; -/** -structure stLocalSFDeleteRequest -*/ -typedef struct _stLocalSFDeleteRequest{ - B_UINT8 u8Type; /**< Type*/ - B_UINT8 u8Padding; /**< Padding byte*/ - B_UINT16 u16TID; /**< TID*/ - /// \brief 32bitSFID - B_UINT32 u32SFID; /**< SFID*/ -}stLocalSFDeleteRequest, *pstLocalSFDeleteRequest; +struct bcm_add_indication { + B_UINT8 u8Type; /* < Type */ + B_UINT8 eConnectionDir; /* < Connection Direction */ + /* brief 16 bit TID */ + B_UINT16 u16TID; /* < TID */ + /* brief 16bitCID */ + B_UINT16 u16CID; /* < 16bitCID */ + /* brief 16bitVCID */ + B_UINT16 u16VCID; /* < 16bitVCID */ + struct bcm_connect_mgr_params *psfAuthorizedSet; /* Authorized set of connection manager parameters */ + struct bcm_connect_mgr_params *psfAdmittedSet; /* Admitted set of connection manager parameters */ + struct bcm_connect_mgr_params *psfActiveSet; /* Activeset of connection manager parameters */ + B_UINT8 u8CC; /* <Confirmation Code */ + B_UINT8 u8Padd; /* < 8-bit Padding */ + B_UINT16 u16Padd; /* < 16 bit Padding */ +}; -/** -structure stLocalSFDeleteIndication -*/ -typedef struct stLocalSFDeleteIndication{ - B_UINT8 u8Type; /**< Type */ - B_UINT8 u8Padding; /**< Padding */ - B_UINT16 u16TID; /**< TID */ - /// \brief 16bitCID - B_UINT16 u16CID; /**< CID */ - /// \brief 16bitVCID - B_UINT16 u16VCID; /**< VCID */ - /// \brief 32bitSFID - B_UINT32 u32SFID; /**< SFID */ - /// \brief 8bit Confirmation code - B_UINT8 u8ConfirmationCode; /**< Confirmation code */ - B_UINT8 u8Padding1[3]; /**< 3 byte Padding */ -}stLocalSFDeleteIndication; +struct bcm_del_request { + B_UINT8 u8Type; /* < Type */ + B_UINT8 u8Padding; /* < Padding byte */ + B_UINT16 u16TID; /* < TID */ + /* brief 32bitSFID */ + B_UINT32 u32SFID; /* < SFID */ +}; -typedef struct _stIM_SFHostNotify -{ - B_UINT32 SFID; //SFID of the service flow - B_UINT16 newCID; //the new/changed CID - 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 - B_UINT8 RetainSF; //Indication to Host if the SF is to be retained or deleted; if TRUE-retain else delete - B_UINT8 QoSParamSet; //QoS paramset of the retained SF - B_UINT16 u16reserved; //For byte alignment +struct bcm_del_indication { + B_UINT8 u8Type; /* < Type */ + B_UINT8 u8Padding; /* < Padding */ + B_UINT16 u16TID; /* < TID */ + /* brief 16bitCID */ + B_UINT16 u16CID; /* < CID */ + /* brief 16bitVCID */ + B_UINT16 u16VCID; /* < VCID */ + /* brief 32bitSFID */ + B_UINT32 u32SFID; /* < SFID */ + /* brief 8bit Confirmation code */ + B_UINT8 u8ConfirmationCode; /* < Confirmation code */ + B_UINT8 u8Padding1[3]; /* < 3 byte Padding */ +}; -} stIM_SFHostNotify; +struct bcm_stim_sfhostnotify { + B_UINT32 SFID; /* SFID of the service flow */ + B_UINT16 newCID; /* the new/changed CID */ + 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 */ + B_UINT8 RetainSF; /* Indication to Host if the SF is to be retained or deleted; if TRUE-retain else delete */ + B_UINT8 QoSParamSet; /* QoS paramset of the retained SF */ + B_UINT16 u16reserved; /* For byte alignment */ +}; #endif |