staging: tidspbridge: fix return value check in dsp_wdt_init()
[deliverable/linux.git] / drivers / staging / bcm / cntrl_SignalingInterface.h
CommitLineData
f8942e07
SH
1#ifndef CNTRL_SIGNALING_INTERFACE_
2#define CNTRL_SIGNALING_INTERFACE_
3
8f413fe6
KM
4#define DSA_REQ 11
5#define DSA_RSP 12
6#define DSA_ACK 13
7#define DSC_REQ 14
8#define DSC_RSP 15
9#define DSC_ACK 16
10#define DSD_REQ 17
11#define DSD_RSP 18
12#define DSD_ACK 19
13#define MAX_CLASSIFIERS_IN_SF 4
14
15#define MAX_STRING_LEN 20
16#define MAX_PHS_LENGTHS 255
17#define VENDOR_PHS_PARAM_LENGTH 10
18#define MAX_NUM_ACTIVE_BS 10
19#define AUTH_TOKEN_LENGTH 10
957d7cdc
KM
20#define NUM_HARQ_CHANNELS 16 /* Changed from 10 to 16 to accommodate all HARQ channels */
21#define VENDOR_CLASSIFIER_PARAM_LENGTH 1 /* Changed the size to 1 byte since we dnt use it */
8f413fe6
KM
22#define VENDOR_SPECIF_QOS_PARAM 1
23#define VENDOR_PHS_PARAM_LENGTH 10
24#define MBS_CONTENTS_ID_LENGTH 10
25#define GLOBAL_SF_CLASSNAME_LENGTH 6
26
27#define TYPE_OF_SERVICE_LENGTH 3
28#define IP_MASKED_SRC_ADDRESS_LENGTH 32
29#define IP_MASKED_DEST_ADDRESS_LENGTH 32
30#define PROTOCOL_SRC_PORT_RANGE_LENGTH 4
31#define PROTOCOL_DEST_PORT_RANGE_LENGTH 4
32#define ETHERNET_DEST_MAC_ADDR_LENGTH 12
33#define ETHERNET_SRC_MAC_ADDR_LENGTH 12
34#define NUM_ETHERTYPE_BYTES 3
35#define NUM_IPV6_FLOWLABLE_BYTES 3
f8942e07 36
957d7cdc
KM
37/*
38 * structure Definitions
39 *
40 * brief class cCPacketClassificationRule
41 */
8f413fe6 42struct _stCPacketClassificationRuleSI {
957d7cdc 43 /* 16bit UserPriority Of The Service Flow */
8f413fe6 44 B_UINT16 u16UserPriority;
957d7cdc 45 /* 16bit VLANID Of The Service Flow */
8f413fe6 46 B_UINT16 u16VLANID;
957d7cdc 47 /* 16bit Packet Classification RuleIndex Of The Service Flow */
8f413fe6 48 B_UINT16 u16PacketClassificationRuleIndex;
957d7cdc 49 /* 8bit Classifier Rule Priority Of The Service Flow */
8f413fe6 50 B_UINT8 u8ClassifierRulePriority;
957d7cdc 51 /* Length of IP TypeOfService field */
8f413fe6 52 B_UINT8 u8IPTypeOfServiceLength;
957d7cdc 53 /* 3bytes IP TypeOfService */
8f413fe6 54 B_UINT8 u8IPTypeOfService[TYPE_OF_SERVICE_LENGTH];
957d7cdc 55 /* Protocol used in classification of Service Flow */
8f413fe6 56 B_UINT8 u8Protocol;
957d7cdc 57 /* Length of IP Masked Source Address */
8f413fe6 58 B_UINT8 u8IPMaskedSourceAddressLength;
957d7cdc 59 /* IP Masked Source Address used in classification for the Service Flow */
8f413fe6 60 B_UINT8 u8IPMaskedSourceAddress[IP_MASKED_SRC_ADDRESS_LENGTH];
957d7cdc 61 /* Length of IP Destination Address */
8f413fe6 62 B_UINT8 u8IPDestinationAddressLength;
957d7cdc 63 /* IP Destination Address used in classification for the Service Flow */
8f413fe6 64 B_UINT8 u8IPDestinationAddress[IP_MASKED_DEST_ADDRESS_LENGTH];
957d7cdc 65 /* Length of Protocol Source Port Range */
8f413fe6 66 B_UINT8 u8ProtocolSourcePortRangeLength;
957d7cdc 67 /* Protocol Source Port Range used in the Service Flow */
8f413fe6 68 B_UINT8 u8ProtocolSourcePortRange[PROTOCOL_SRC_PORT_RANGE_LENGTH];
957d7cdc 69 /* Length of Protocol Dest Port Range */
8f413fe6 70 B_UINT8 u8ProtocolDestPortRangeLength;
957d7cdc 71 /* Protocol Dest Port Range used in the Service Flow */
8f413fe6 72 B_UINT8 u8ProtocolDestPortRange[PROTOCOL_DEST_PORT_RANGE_LENGTH];
957d7cdc 73 /* Length of Ethernet Destination MAC Address */
8f413fe6 74 B_UINT8 u8EthernetDestMacAddressLength;
957d7cdc 75 /* Ethernet Destination MAC Address used in classification of the Service Flow */
8f413fe6 76 B_UINT8 u8EthernetDestMacAddress[ETHERNET_DEST_MAC_ADDR_LENGTH];
957d7cdc 77 /* Length of Ethernet Source MAC Address */
8f413fe6 78 B_UINT8 u8EthernetSourceMACAddressLength;
957d7cdc 79 /* Ethernet Source MAC Address used in classification of the Service Flow */
8f413fe6 80 B_UINT8 u8EthernetSourceMACAddress[ETHERNET_SRC_MAC_ADDR_LENGTH];
957d7cdc 81 /* Length of Ethertype */
8f413fe6 82 B_UINT8 u8EthertypeLength;
957d7cdc 83 /* 3bytes Ethertype Of The Service Flow */
8f413fe6 84 B_UINT8 u8Ethertype[NUM_ETHERTYPE_BYTES];
957d7cdc 85 /* 8bit Associated PHSI Of The Service Flow */
8f413fe6 86 B_UINT8 u8AssociatedPHSI;
957d7cdc 87 /* Length of Vendor Specific Classifier Param length Of The Service Flow */
8f413fe6 88 B_UINT8 u8VendorSpecificClassifierParamLength;
957d7cdc 89 /* Vendor Specific Classifier Param Of The Service Flow */
8f413fe6 90 B_UINT8 u8VendorSpecificClassifierParam[VENDOR_CLASSIFIER_PARAM_LENGTH];
957d7cdc 91 /* Length Of IPv6 Flow Lable of the Service Flow */
8f413fe6 92 B_UINT8 u8IPv6FlowLableLength;
957d7cdc 93 /* IPv6 Flow Lable Of The Service Flow */
8f413fe6 94 B_UINT8 u8IPv6FlowLable[NUM_IPV6_FLOWLABLE_BYTES];
957d7cdc 95 /* Action associated with the classifier rule */
8f413fe6
KM
96 B_UINT8 u8ClassifierActionRule;
97 B_UINT16 u16ValidityBitMap;
f8942e07 98};
8f413fe6 99typedef struct _stCPacketClassificationRuleSI CCPacketClassificationRuleSI, stCPacketClassificationRuleSI, *pstCPacketClassificationRuleSI;
f8942e07 100
957d7cdc 101/* brief class CPhsRuleSI */
f8942e07 102typedef struct _stPhsRuleSI {
957d7cdc 103 /* 8bit PHS Index Of The Service Flow */
8f413fe6 104 B_UINT8 u8PHSI;
957d7cdc 105 /* PHSF Length Of The Service Flow */
8f413fe6 106 B_UINT8 u8PHSFLength;
957d7cdc 107 /* String of bytes containing header information to be suppressed by the sending CS and reconstructed by the receiving CS */
8f413fe6 108 B_UINT8 u8PHSF[MAX_PHS_LENGTHS];
957d7cdc 109 /* PHSM Length Of The Service Flow */
8f413fe6 110 B_UINT8 u8PHSMLength;
957d7cdc 111 /* PHS Mask for the SF */
8f413fe6 112 B_UINT8 u8PHSM[MAX_PHS_LENGTHS];
957d7cdc 113 /* 8bit Total number of bytes to be suppressed for the Service Flow */
8f413fe6 114 B_UINT8 u8PHSS;
957d7cdc 115 /* 8bit Indicates whether or not Packet Header contents need to be verified prior to suppression */
8f413fe6 116 B_UINT8 u8PHSV;
957d7cdc 117 /* Vendor Specific PHS param Length Of The Service Flow */
8f413fe6 118 B_UINT8 u8VendorSpecificPHSParamsLength;
957d7cdc 119 /* Vendor Specific PHS param Of The Service Flow */
8f413fe6
KM
120 B_UINT8 u8VendorSpecificPHSParams[VENDOR_PHS_PARAM_LENGTH];
121 B_UINT8 u8Padding[2];
122} stPhsRuleSI, *pstPhsRuleSI;
f8942e07 123typedef stPhsRuleSI CPhsRuleSI;
f8942e07 124
957d7cdc 125/* brief structure cConvergenceSLTypes */
8f413fe6 126struct _stConvergenceSLTypes {
957d7cdc 127 /* 8bit Phs Classfier Action Of The Service Flow */
8f413fe6 128 B_UINT8 u8ClassfierDSCAction;
957d7cdc 129 /* 8bit Phs DSC Action Of The Service Flow */
8f413fe6 130 B_UINT8 u8PhsDSCAction;
957d7cdc 131 /* 16bit Padding */
8f413fe6 132 B_UINT8 u8Padding[2];
957d7cdc 133 /* brief class cCPacketClassificationRule */
8f413fe6 134 stCPacketClassificationRuleSI cCPacketClassificationRule;
957d7cdc 135 /* brief class CPhsRuleSI */
8f413fe6 136 struct _stPhsRuleSI cPhsRule;
f8942e07 137};
8f413fe6 138typedef struct _stConvergenceSLTypes stConvergenceSLTypes, CConvergenceSLTypes, *pstConvergenceSLTypes;
f8942e07 139
957d7cdc 140/* brief structure CServiceFlowParamSI */
8f413fe6 141typedef struct _stServiceFlowParamSI {
957d7cdc 142 /* 32bitSFID Of The Service Flow */
8f413fe6 143 B_UINT32 u32SFID;
957d7cdc 144 /* 32bit Maximum Sustained Traffic Rate of the Service Flow */
8f413fe6 145 B_UINT32 u32MaxSustainedTrafficRate;
957d7cdc 146 /* 32bit Maximum Traffic Burst allowed for the Service Flow */
8f413fe6 147 B_UINT32 u32MaxTrafficBurst;
957d7cdc 148 /* 32bit Minimum Reserved Traffic Rate of the Service Flow */
8f413fe6 149 B_UINT32 u32MinReservedTrafficRate;
957d7cdc 150 /* 32bit Tolerated Jitter of the Service Flow */
8f413fe6 151 B_UINT32 u32ToleratedJitter;
957d7cdc 152 /* 32bit Maximum Latency of the Service Flow */
8f413fe6 153 B_UINT32 u32MaximumLatency;
957d7cdc 154 /* 16bitCID Of The Service Flow */
8f413fe6 155 B_UINT16 u16CID;
957d7cdc 156 /* 16bit SAID on which the service flow being set up shall be mapped */
8f413fe6 157 B_UINT16 u16TargetSAID;
957d7cdc 158 /* 16bit ARQ window size negotiated */
8f413fe6 159 B_UINT16 u16ARQWindowSize;
957d7cdc 160 /* 16bit Total Tx delay incl sending, receiving & processing delays */
8f413fe6 161 B_UINT16 u16ARQRetryTxTimeOut;
957d7cdc 162 /* 16bit Total Rx delay incl sending, receiving & processing delays */
8f413fe6 163 B_UINT16 u16ARQRetryRxTimeOut;
957d7cdc 164 /* 16bit ARQ block lifetime */
8f413fe6 165 B_UINT16 u16ARQBlockLifeTime;
957d7cdc 166 /* 16bit ARQ Sync loss timeout */
8f413fe6 167 B_UINT16 u16ARQSyncLossTimeOut;
957d7cdc 168 /* 16bit ARQ Purge timeout */
8f413fe6 169 B_UINT16 u16ARQRxPurgeTimeOut;
957d7cdc
KM
170 /* TODO::Remove this once we move to a new CORR2 driver
171 * brief Size of an ARQ block
172 */
8f413fe6 173 B_UINT16 u16ARQBlockSize;
957d7cdc
KM
174 /* #endif */
175 /* 16bit Nominal interval b/w consecutive SDU arrivals at MAC SAP */
8f413fe6 176 B_UINT16 u16SDUInterArrivalTime;
957d7cdc 177 /* 16bit Specifies the time base for rate measurement */
8f413fe6 178 B_UINT16 u16TimeBase;
957d7cdc 179 /* 16bit Interval b/w Successive Grant oppurtunities */
8f413fe6 180 B_UINT16 u16UnsolicitedGrantInterval;
957d7cdc 181 /* 16bit Interval b/w Successive Polling grant oppurtunities */
8f413fe6 182 B_UINT16 u16UnsolicitedPollingInterval;
957d7cdc 183 /* internal var to get the overhead */
8f413fe6 184 B_UINT16 u16MacOverhead;
957d7cdc 185 /* MBS contents Identifier */
8f413fe6 186 B_UINT16 u16MBSContentsID[MBS_CONTENTS_ID_LENGTH];
957d7cdc 187 /* MBS contents Identifier length */
8f413fe6 188 B_UINT8 u8MBSContentsIDLength;
957d7cdc 189 /* ServiceClassName Length Of The Service Flow */
8f413fe6 190 B_UINT8 u8ServiceClassNameLength;
957d7cdc 191 /* 32bytes ServiceClassName Of The Service Flow */
8f413fe6 192 B_UINT8 u8ServiceClassName[32];
957d7cdc 193 /* 8bit Indicates whether or not MBS service is requested for this Serivce Flow */
8f413fe6 194 B_UINT8 u8MBSService;
957d7cdc 195 /* 8bit QOS Parameter Set specifies proper application of QoS parameters to Provisioned, Admitted and Active sets */
8f413fe6 196 B_UINT8 u8QosParamSet;
957d7cdc 197 /* 8bit Traffic Priority Of the Service Flow */
8f413fe6 198 B_UINT8 u8TrafficPriority;
957d7cdc 199 /* 8bit Uplink Grant Scheduling Type of The Service Flow */
8f413fe6 200 B_UINT8 u8ServiceFlowSchedulingType;
957d7cdc 201 /* 8bit Request transmission Policy of the Service Flow */
8f413fe6 202 B_UINT8 u8RequesttransmissionPolicy;
957d7cdc 203 /* 8bit Specifies whether SDUs for this Service flow are of FixedLength or Variable length */
8f413fe6 204 B_UINT8 u8FixedLengthVSVariableLengthSDUIndicator;
957d7cdc 205 /* 8bit Length of the SDU for a fixed length SDU service flow */
8f413fe6 206 B_UINT8 u8SDUSize;
957d7cdc 207 /* 8bit Indicates whether or not ARQ is requested for this connection */
8f413fe6 208 B_UINT8 u8ARQEnable;
957d7cdc 209 /* < 8bit Indicates whether or not data has tobe delivered in order to higher layer */
8f413fe6 210 B_UINT8 u8ARQDeliverInOrder;
957d7cdc 211 /* 8bit Receiver ARQ ACK processing time */
8f413fe6 212 B_UINT8 u8RxARQAckProcessingTime;
957d7cdc 213 /* 8bit Convergence Sublayer Specification Of The Service Flow */
8f413fe6 214 B_UINT8 u8CSSpecification;
957d7cdc 215 /* 8 bit Type of data delivery service */
8f413fe6 216 B_UINT8 u8TypeOfDataDeliveryService;
957d7cdc 217 /* 8bit Specifies whether a service flow may generate Paging */
8f413fe6 218 B_UINT8 u8PagingPreference;
957d7cdc 219 /* 8bit Indicates the MBS Zone through which the connection or virtual connection is valid */
8f413fe6 220 B_UINT8 u8MBSZoneIdentifierassignment;
957d7cdc 221 /* 8bit Specifies whether traffic on SF should generate MOB_TRF_IND to MS in sleep mode */
8f413fe6 222 B_UINT8 u8TrafficIndicationPreference;
957d7cdc 223 /* 8bit Speciifes the length of predefined Global QoS parameter set encoding for this SF */
8f413fe6 224 B_UINT8 u8GlobalServicesClassNameLength;
957d7cdc 225 /* 6 byte Speciifes the predefined Global QoS parameter set encoding for this SF */
8f413fe6 226 B_UINT8 u8GlobalServicesClassName[GLOBAL_SF_CLASSNAME_LENGTH];
957d7cdc 227 /* 8bit Indicates whether or not SN feedback is enabled for the conn */
8f413fe6 228 B_UINT8 u8SNFeedbackEnabled;
957d7cdc 229 /* Indicates the size of the Fragment Sequence Number for the connection */
8f413fe6 230 B_UINT8 u8FSNSize;
957d7cdc 231 /* 8bit Number of CIDs in active BS list */
8f413fe6 232 B_UINT8 u8CIDAllocation4activeBSsLength;
957d7cdc 233 /* CIDs of BS in the active list */
8f413fe6 234 B_UINT8 u8CIDAllocation4activeBSs[MAX_NUM_ACTIVE_BS];
957d7cdc 235 /* Specifies if PDU extended subheader should be applied on every PDU on this conn */
8f413fe6 236 B_UINT8 u8PDUSNExtendedSubheader4HarqReordering;
957d7cdc 237 /* 8bit Specifies whether the connection uses HARQ or not */
8f413fe6 238 B_UINT8 u8HARQServiceFlows;
957d7cdc 239 /* Specifies the length of Authorization token */
8f413fe6 240 B_UINT8 u8AuthTokenLength;
957d7cdc 241 /* Specifies the Authorization token */
8f413fe6 242 B_UINT8 u8AuthToken[AUTH_TOKEN_LENGTH];
957d7cdc 243 /* specifes Number of HARQ channels used to carry data length */
8f413fe6 244 B_UINT8 u8HarqChannelMappingLength;
957d7cdc 245 /* specifes HARQ channels used to carry data */
8f413fe6 246 B_UINT8 u8HARQChannelMapping[NUM_HARQ_CHANNELS];
957d7cdc 247 /* 8bit Length of Vendor Specific QoS Params */
8f413fe6 248 B_UINT8 u8VendorSpecificQoSParamLength;
957d7cdc 249 /* 1byte Vendor Specific QoS Param Of The Service Flow */
8f413fe6 250 B_UINT8 u8VendorSpecificQoSParam[VENDOR_SPECIF_QOS_PARAM];
957d7cdc
KM
251 /* indicates total classifiers in the SF */
252 B_UINT8 u8TotalClassifiers; /* < Total number of valid classifiers */
253 B_UINT8 bValid; /* < Validity flag */
254 B_UINT8 u8Padding; /* < Padding byte */
255/*
256 * Structure for Convergence SubLayer Types with a maximum of 4 classifiers
257 */
8f413fe6 258 stConvergenceSLTypes cConvergenceSLTypes[MAX_CLASSIFIERS_IN_SF];
f8942e07 259
f8942e07
SH
260} stServiceFlowParamSI, *pstServiceFlowParamSI;
261typedef stServiceFlowParamSI CServiceFlowParamSI;
f8942e07 262
957d7cdc
KM
263/*
264 * structure stLocalSFAddRequest
265 */
8f413fe6 266typedef struct _stLocalSFAddRequest {
957d7cdc
KM
267 B_UINT8 u8Type; /* < Type */
268 B_UINT8 eConnectionDir; /* < Connection direction */
269 /* brief 16 bit TID */
270 B_UINT16 u16TID; /* < 16bit TID */
271 /* brief 16bitCID */
272 B_UINT16 u16CID; /* < 16bit CID */
273 /* brief 16bitVCID */
274 B_UINT16 u16VCID; /* < 16bit VCID */
275 /* brief structure ParameterSet */
276 stServiceFlowParamSI *psfParameterSet; /* < structure ParameterSet */
f8942e07 277
8f413fe6 278} stLocalSFAddRequest, *pstLocalSFAddRequest;
f8942e07 279
957d7cdc
KM
280/*
281 * structure stLocalSFAddIndication
282 */
8f413fe6 283typedef struct _stLocalSFAddIndication {
957d7cdc
KM
284 B_UINT8 u8Type; /* < Type */
285 B_UINT8 eConnectionDir; /* < Connection Direction */
286 /* brief 16 bit TID */
287 B_UINT16 u16TID; /* < TID */
288 /* brief 16bitCID */
289 B_UINT16 u16CID; /* < 16bitCID */
290 /* brief 16bitVCID */
291 B_UINT16 u16VCID; /* < 16bitVCID */
292 /* brief structure AuthorizedSet */
293 /* brief structure AuthorizedSet */
294 stServiceFlowParamSI *psfAuthorizedSet; /* < AuthorizedSet of type stServiceFlowParamSI */
295 /* brief structure AdmittedSet */
296 stServiceFlowParamSI *psfAdmittedSet; /* < AdmittedSet of type stServiceFlowParamSI */
297 /* brief structure ActiveSet */
298 stServiceFlowParamSI *psfActiveSet; /* < sfActiveSet of type stServiceFlowParamSI */
299 B_UINT8 u8CC; /* <Confirmation Code */
300 B_UINT8 u8Padd; /* < 8-bit Padding */
301 B_UINT16 u16Padd; /* < 16 bit Padding */
8f413fe6
KM
302
303} stLocalSFAddIndication;
f8942e07
SH
304
305typedef struct _stLocalSFAddIndication *pstLocalSFAddIndication;
957d7cdc
KM
306/*
307 * structure stLocalSFChangeRequest is same as structure stLocalSFAddIndication
308 */
f8942e07 309typedef struct _stLocalSFAddIndication stLocalSFChangeRequest, *pstLocalSFChangeRequest;
957d7cdc
KM
310/*
311 * structure stLocalSFChangeIndication is same as structure stLocalSFAddIndication
312 */
f8942e07
SH
313typedef struct _stLocalSFAddIndication stLocalSFChangeIndication, *pstLocalSFChangeIndication;
314
957d7cdc
KM
315/*
316 * structure stLocalSFDeleteRequest
317 */
8f413fe6 318typedef struct _stLocalSFDeleteRequest {
957d7cdc
KM
319 B_UINT8 u8Type; /* < Type */
320 B_UINT8 u8Padding; /* < Padding byte */
321 B_UINT16 u16TID; /* < TID */
322 /* brief 32bitSFID */
323 B_UINT32 u32SFID; /* < SFID */
8f413fe6 324} stLocalSFDeleteRequest, *pstLocalSFDeleteRequest;
f8942e07 325
957d7cdc
KM
326/*
327 * structure stLocalSFDeleteIndication
328 */
8f413fe6 329typedef struct stLocalSFDeleteIndication {
957d7cdc
KM
330 B_UINT8 u8Type; /* < Type */
331 B_UINT8 u8Padding; /* < Padding */
332 B_UINT16 u16TID; /* < TID */
333 /* brief 16bitCID */
334 B_UINT16 u16CID; /* < CID */
335 /* brief 16bitVCID */
336 B_UINT16 u16VCID; /* < VCID */
337 /* brief 32bitSFID */
338 B_UINT32 u32SFID; /* < SFID */
339 /* brief 8bit Confirmation code */
340 B_UINT8 u8ConfirmationCode; /* < Confirmation code */
341 B_UINT8 u8Padding1[3]; /* < 3 byte Padding */
8f413fe6 342} stLocalSFDeleteIndication;
f8942e07 343
65bf58ce 344typedef struct _stIM_SFHostNotify {
957d7cdc
KM
345 B_UINT32 SFID; /* SFID of the service flow */
346 B_UINT16 newCID; /* the new/changed CID */
347 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 */
348 B_UINT8 RetainSF; /* Indication to Host if the SF is to be retained or deleted; if TRUE-retain else delete */
349 B_UINT8 QoSParamSet; /* QoS paramset of the retained SF */
350 B_UINT16 u16reserved; /* For byte alignment */
f8942e07
SH
351} stIM_SFHostNotify;
352
353#endif
This page took 0.198325 seconds and 5 git commands to generate.