Files
openairinterface5g/openair2/RRC/CELLULAR/rrc_msg_ies.h
T
2013-06-25 09:05:02 +00:00

835 lines
25 KiB
C
Executable File

/***************************************************************************
rrc_msg_ies.h - description
-------------------
begin : Jan 6, 2003
copyright : (C) 2003, 2010 by Eurecom
email : Michelle.Wetterwald@eurecom.fr
**************************************************************************
Define structures for RRC peer-to-peer messages
***************************************************************************/
#ifndef __RRC_MSG_IES_H__
#define __RRC_MSG_IES_H__
#include "rrc_platform_types.h"
#include "rrc_msg_constant.h"
#include "rrc_bch_per_basic.h"
/**************************************************************/
/* For all Messages */
/**************************************************************/
/* IntegrityCheckInfo */
typedef u32 IntegrityCheckInfo;
/**************************************************************/
/* RRCConnectionRequest */
/**************************************************************/
/* IMEI_Digit */
typedef u8 IMEI_Digit;
/* IMEI */
typedef struct IMEI {
u8 numDigits;
IMEI_Digit digit[15];
} IMEI;
/* EstablishmentCause - Full 25.331 list */
typedef enum {
originatingConversationalCall = 0,
originatingStreamingCall = 1,
originatingInteractiveCall = 2,
originatingBackgroundCall = 3,
originatingSubscribedTrafficCall = 4,
terminatingConversationalCall = 5,
terminatingStreamingCall = 6,
terminatingInteractiveCall = 7,
terminatingBackgroundCall = 8,
emergencyCall = 9,
interRAT_CellReselection = 10,
interRAT_CellChangeOrder = 11,
registration = 12,
detach = 13,
originatingHighPrioritySignalling = 14,
originatingLowPrioritySignalling = 15,
callRe_establishment = 16,
terminatingHighPrioritySignalling = 17,
terminatingLowPrioritySignalling = 18,
terminatingCauseUnknown = 19,
} EstablishmentCause;
/* ProtocolErrorIndicator */
typedef enum {
noError = 0,
errorOccurred = 1
} ProtocolErrorIndicator;
/**************************************************************/
/* RRCConnectionSetup */
/**************************************************************/
/* IMEI -- cf RRCConnectionRequest */
/* RRC_TransactionIdentifier */
// value >= 0 && value <= 3
typedef u8 RRC_TransactionIdentifier;
/* ActivationTime */
// value >= 0 && value <= 255
typedef u16 ActivationTime;
/* U_RNTI */
//typedef struct U_RNTI {
// SRNC_Identity srnc_Identity;
// S_RNTI s_RNTI;
//} U_RNTI;
typedef u16 U_RNTI;
/* RRC_StateIndicator */
typedef enum {
cell_DCH = 0,
cell_FACH = 1,
cell_PCH = 2,
ura_PCH = 3
} RRC_StateIndicator;
/* NAS QOS Info - Moby Dick */
//typedef u8 IP_DSCP_Codes[MAXURAB];
//typedef u8 QOS_Classes[MAXURAB];
/* UE_Configuration */
typedef struct UE_Configuration {
u16 numoctets;
u8 data[MSG_UECONFIG_LGTH];
} UE_Configuration;
/**************************************************************/
/* RRCConnectionSetupComplete */
/**************************************************************/
// RRC_TransactionIdentifier
/* UE_RadioAccessCapability */
typedef enum {
rel_4 = 0,
eurecom_rrc = 7 // values != 0 are spare values
} UE_RadioAccessCapability;
/**************************************************************/
/* RRCConnectionReject */
/**************************************************************/
// IMEI
// RRC_TransactionIdentifier
/* WaitTime */
// value >= 0 && value <= 15
typedef u8 WaitTime;
/**************************************************************/
/* RRCConnectionRelease */
/**************************************************************/
// U_RNTI
/* ReleaseCause */
typedef enum {
normalEvent = 0,
unspecified = 1,
pre_emptiveRelease = 2,
congestion = 3,
re_establishmentReject = 4,
directedsignallingconnectionre_establishment = 5,
userInactivity = 6,
} ReleaseCause;
/**************************************************************/
/* InitialDirectTransfer */
/**************************************************************/
/* NAS_Message */
typedef struct NAS_Message {
u16 numoctets;
u8 data[MSG_NASDATA_LGTH];
} NAS_Message;
/**************************************************************/
/* RadioBearerSetup */
/**************************************************************/
/* RB_Identity */
// value >= 1 && value <= 32
typedef u16 RB_Identity;
/* NAS QOS Info - Moby Dick */
typedef u16 QOS_Class;
typedef u16 IP_DSCP_Code;
typedef u16 SAP_Id;
/* RB_InformationSetup */
typedef struct RB_InformationSetup {
RB_Identity rb_identity;
// PDCP_Info pdcp_Info;
// RLC_InfoChoice rlc_InfoChoice;
// RB_MappingInfo rb_MappingInfo;
QOS_Class qos_class;
IP_DSCP_Code ip_dscp_code;
SAP_Id sap_id;
} RB_InformationSetup;
/* RAB_InformationSetupList */
typedef struct RAB_InformationSetupList {
u16 numrabs;
RB_InformationSetup rbinfo[MAXRBSETUP];
} RAB_InformationSetupList;
/**************************************************************/
/* RadioBearerRelease */
/**************************************************************/
/* RB_InformationReleaseList */
typedef struct RB_InformationReleaseList {
u16 numrabs;
RB_Identity rbid[MAXRBSETUP];
} RB_InformationReleaseList;
/**************************************************************/
/* RadioBearerSetupFailure */
/**************************************************************/
// RRC_TransactionIdentifier rrc_TransactionIdentifier;
/* ProtocolErrorCause */
typedef enum {
asn1_ViolationOrEncodingError = 0,
messageTypeNonexistent = 1,
messageNotCompatibleWithReceiverState = 2,
ie_ValueNotComprehended = 3,
informationElementMissing = 4,
messageExtensionNotComprehended = 5,
} ProtocolErrorCause;
/* FailureCauseWithProtErr */
typedef struct FailureCauseWithProtErr {
u8 type;
ProtocolErrorCause protocolError;
} FailureCauseWithProtErr;
/**************************************************************/
/* CellUpdate */
/**************************************************************/
// U_RNTI
/* CellUpdateCause */
typedef enum {
cellReselection = 0,
periodicalCellUpdate = 1,
uplinkDataTransmission = 2,
utran_pagingResponse = 3,
re_enteredServiceArea = 4,
radiolinkFailure = 5,
rlc_unrecoverableError = 6,
} CellUpdateCause;
/* FailureCauseWithProtErrTrId */
typedef struct FailureCauseWithProtErrTrId {
RRC_TransactionIdentifier rrc_TransactionIdentifier;
FailureCauseWithProtErr failureCause;
} FailureCauseWithProtErrTrId;
/**************************************************************/
/* PagingType2 */
/**************************************************************/
// RRC_TransactionIdentifier
// IMEI
/* PAGING_Message */
typedef struct PAGING_Message {
u16 numoctets;
u8 data[MSG_PAGING_LGTH];
} PAGING_Message;
/**************************************************************/
/* MeasurementControl */
/**************************************************************/
// RRC_TransactionIdentifier
/* MeasurementIdentity */
// value >= 1 && value <= 16
typedef u16 MeasurementIdentity;
/* ReportingIntervalLong */
typedef enum {
int250 = 250,
int500 = 500,
int1000 = 1000,
int2000 = 2000,
int3000 = 3000,
int4000 = 4000,
int6000 = 6000,
int8000 = 8000,
int12000 = 12000,
int16000 = 16000,
int20000 = 20000,
int24000 = 24000,
int28000 = 28000,
int32000 = 32000,
int64000 = 64000,
} ReportingIntervalLong;
/* ReportingAmount */
typedef enum {
amount1 = 1,
amount2 = 2,
amount4 = 4,
amount8 = 8,
amount16 = 16,
amount32 = 32,
amount64 = 64,
amount_inf = 0
} ReportingAmount;
/* PeriodicalReportingCriteria */
typedef struct PeriodicalReportingCriteria {
ReportingAmount reportingAmount;
ReportingIntervalLong reportingInterval;
} PeriodicalReportingCriteria;
/* FilterCoefficient */
typedef enum {
coeff0 = 0, //default value
coeff1 = 1,
coeff2 = 2,
coeff3 = 3,
coeff4 = 4,
coeff5 = 5,
coeff6 = 6,
coeff7 = 7,
coeff8 = 8,
coeff9 = 9,
coeff11 = 11,
coeff13 = 13,
coeff15 = 15,
coeff17 = 17,
coeff19 = 19,
} FilterCoefficient;
/**************************************************************/
/* IntraFreqMeasQuantityList */
typedef enum {
primaryCCPCH_RSCP = 0,
pathloss = 1,
timeslotISCP = 2,
} IntraFreqMeasQuantityList;
/* IntraFreqMeasQuantity */
typedef struct IntraFreqMeasQuantity {
FilterCoefficient filterCoefficient;
// IntraFreqMeasQuantityList measureList[4]; //4 defined in 25.331 - not used
} IntraFreqMeasQuantity;
/* CellReportingQuantities */
typedef struct CellReportingQuantities {
u8 cellIdentity_reportingIndicator;
u8 timeslotISCP_reportingIndicator;
u8 primaryCCPCH_RSCP_reportingIndicator;
u8 pathloss_reportingIndicator;
} CellReportingQuantities;
/* MV_ue_State */
typedef enum {
mv_cell_DCH = 0,
mv_all_But_Cell_DCH = 1,
mv_all_States = 2
//} MV_ue_State;
///* MeasurementValidity */
//typedef struct MeasurementValidity {
// MV_ue_State ue_State;
} MeasurementValidity;
/* IntraFreqReportingCriteria_r4 */
typedef struct IntraFreqReportingCriteria_r4 {
int value; //FFS
} IntraFreqReportingCriteria_r4;
/* IntraFreqReportCriteria_r4 */
typedef struct IntraFreqReportCriteria_r4 {
u16 criteriaType;
union {
/* criteriaType = 1 */
IntraFreqReportingCriteria_r4 intraFreqReportingCriteria;
/* criteriaType = 2 */
PeriodicalReportingCriteria periodicalReportingCriteria;
/* criteriaType = 3 */
//ReportingCellStatusOpt *noReporting;
} criteriaDef;
} IntraFreqReportCriteria_r4;
/* IntraFrequencyMeasurement_r4 */
typedef struct IntraFrequencyMeasurement_r4 {
IntraFreqMeasQuantity intraFreqMeasQuantity;
CellReportingQuantities intraFreqReportingQuantity;
MeasurementValidity measurementValidity;
IntraFreqReportCriteria_r4 reportCriteria;
} IntraFrequencyMeasurement_r4;
/**************************************************************/
/* TransportChannelIdentity
(value >= 1 && value <= 32) */
typedef u8 TransportChannelIdentity;
/* UL_TrCH_Identity */
typedef struct UL_TrCH_Identity {
u8 ch_type;
TransportChannelIdentity ch_id;
} UL_TrCH_Identity;
/* TrafficVolumeMeasurementObjectList */
typedef struct TrafficVolumeMeasurementObjectList {
u8 numChannels;
UL_TrCH_Identity channel[MAXMEASTRCH]; // should be 32
} TrafficVolumeMeasurementObjectList;
/* TimeInterval
(value >= 1 && value <= 13) */
typedef u8 TimeInterval;
/* TrafficVolumeMeasQuantity */
typedef struct TrafficVolumeMeasQuantity {
u8 tf_type;
union {
/* tf_type = 1 */
/* tf_type = 2 */
TimeInterval averageRLC_BufferPayload;
/* tf_type = 3 */
TimeInterval varianceOfRLC_BufferPayload;
} timeinterval;
} TrafficVolumeMeasQuantity;
/* TrafficVolumeReportingQuantity */
typedef struct TrafficVolumeReportingQuantity {
u8 rlc_RB_BufferPayload;
u8 rlc_RB_BufferPayloadAverage;
u8 rlc_RB_BufferPayloadVariance;
} TrafficVolumeReportingQuantity;
// MeasurementValidity
/* TrafficVolumeReportingCriteria */
typedef struct TrafficVolumeReportingCriteria {
u16 value; //Temp
} TrafficVolumeReportingCriteria;
// PeriodicalReportingCriteria
/* TrafficVolumeReportCriteria */
typedef struct TrafficVolumeReportCriteria {
u16 criteriaType;
union {
/* criteriaType = 1 */
TrafficVolumeReportingCriteria trafficVolumeReportingCriteria;
/* criteriaType = 2 */
PeriodicalReportingCriteria periodicalReportingCriteria;
/* criteriaType = 3 */
} criteriaDef;
} TrafficVolumeReportCriteria;
/* TrafficVolumeMeasurement */
typedef struct TrafficVolumeMeasurement {
// TrafficVolumeMeasurementObjectList trafficVolumeMeasurementObjectList; FFS
// TrafficVolumeMeasQuantity trafficVolumeMeasQuantity; Ignored anyway
TrafficVolumeReportingQuantity trafficVolumeReportingQuantity;
MeasurementValidity measurementValidity;
TrafficVolumeReportCriteria reportCriteria;
} TrafficVolumeMeasurement;
/**************************************************************/
/* BLER_TransChIdList */
typedef struct BLER_TransChIdList {
u8 numTrCH;
TransportChannelIdentity ch_id[MAXMEASTRCH]; //should be 32
} BLER_TransChIdList;
/* TFCS_IdentityPlain
(value >= 1 && value <= 8) */
typedef u8 TFCS_IdentityPlain;
/* SIR_TFCS */
typedef TFCS_IdentityPlain SIR_TFCS;
/* SIR_TFCS_List */
typedef struct SIR_TFCS_List {
u8 numTFCS;
SIR_TFCS tfcs[MAXMEASTFCS];
} SIR_TFCS_List;
/* QualityReportingQuantity */
typedef struct QualityReportingQuantity {
u8 dl_TransChBLER;
// BLER_TransChIdList bler_dl_TransChIdList;FFS
SIR_TFCS_List sir_TFCS_List;
} QualityReportingQuantity;
/* QualityReportingCriteria */
typedef struct QualityReportingCriteria {
u16 value; //Temp
} QualityReportingCriteria;
// PeriodicalReportingCriteria
/* QualityReportCriteria */
typedef struct QualityReportCriteria {
u16 criteriaType;
union {
/* criteriaType = 1 */
QualityReportingCriteria qualityReportingCriteria;
/* criteriaType = 2 */
PeriodicalReportingCriteria periodicalReportingCriteria;
/* criteriaType = 3 */
} criteriaDef;
} QualityReportCriteria;
/* QualityMeasurement */
typedef struct QualityMeasurement {
QualityReportingQuantity qualityReportingQuantity;
QualityReportCriteria reportCriteria;
} QualityMeasurement;
/**************************************************************/
/* UE_MeasurementQuantity */
typedef enum {
ue_TransmittedPower = 0,
utra_Carrier_RSSI = 1,
} UE_MeasurementQuantity;
/* UE_InternalMeasQuantity */
typedef struct UE_InternalMeasQuantity {
UE_MeasurementQuantity measurementQuantity;
FilterCoefficient filterCoefficient;
} UE_InternalMeasQuantity;
/* UE_InternalReportingQuantity_r4 */
typedef struct UE_InternalReportingQuantity_r4 {
u8 ue_TransmittedPower;
u8 appliedTA; //modeSpecificInfo
} UE_InternalReportingQuantity_r4;
/* UE_InternalReportingCriteria */
typedef struct UE_InternalReportingCriteria {
u16 value; //Temp
} UE_InternalReportingCriteria;
// PeriodicalReportingCriteria
/* UE_InternalReportCriteria */
typedef struct UE_InternalReportCriteria {
u16 criteriaType;
union {
/* criteriaType = 1 */
UE_InternalReportingCriteria ue_InternalReportingCriteria;
/* criteriaType = 2 */
PeriodicalReportingCriteria periodicalReportingCriteria;
/* criteriaType = 3 */
} criteriaDef;
} UE_InternalReportCriteria;
/* UE_InternalMeasurement */
typedef struct UE_InternalMeasurement_r4 {
UE_InternalMeasQuantity ue_InternalMeasQuantity;
UE_InternalReportingQuantity_r4 ue_InternalReportingQuantity;
UE_InternalReportCriteria reportCriteria;
} UE_InternalMeasurement_r4;
//****************************************************************
/* MeasurementType */
typedef struct MeasurementType {
u16 measType;
union {
/* measType = 1 */
IntraFrequencyMeasurement_r4 intraFrequencyMeasurement;
/* measType = 2 */
//InterFrequencyMeasurement_r4 interFrequencyMeasurement;
/* measType = 5 */
TrafficVolumeMeasurement trafficVolumeMeasurement;
/* measType = 6 */
QualityMeasurement qualityMeasurement;
/* measType = 7 */
UE_InternalMeasurement_r4 ue_InternalMeasurement;
} type;
} MeasurementType;
/* MeasurementCommand_r4 */
typedef struct MeasurementCommand_r4 {
u16 cmdType;
union {
/* cmdType = 1 */
MeasurementType setup;
/* cmdType = 2 */
MeasurementType modify;
/* cmdType = 3 */
} command;
} MeasurementCommand_r4;
/* PeriodicalOrEventTrigger */
typedef enum {
periodical = 0,
eventTrigger = 1
} PeriodicalOrEventTrigger;
/* TransferMode */
typedef enum {
acknowledgedModeRLC = 0,
unacknowledgedModeRLC = 1
} TransferMode;
/* MeasurementReportingMode */
typedef struct MeasurementReportingMode {
TransferMode measurementReportTransferMode;
PeriodicalOrEventTrigger periodicalOrEventTrigger;
} MeasurementReportingMode;
/**************************************************************/
/* MeasurementReport */
/**************************************************************/
// MeasurementIdentity
/**************************************************************/
/* CellIdentity */
typedef u8 CellIdentity;
/* SFN_SFN_ObsTimeDifference
value >= 0 && value <= 16777215 */
typedef int SFN_SFN_ObsTimeDifference;
/* CellParametersID
value >= 0 && value <= 127 */
typedef u8 CellParametersID;
/* PrimaryCCPCH_RSCP
value >= 0 && value <= 127 */
typedef u8 PrimaryCCPCH_RSCP;
/* Pathloss
value >= 46 && value <= 173 */
typedef u16 Pathloss;
/* TimeslotISCP
value >= 0 && value <= 127 */
typedef u8 TimeslotISCP;
/* TimeslotISCP_List */
typedef struct TimeslotISCP_List {
u8 numSlots;
TimeslotISCP iscp[JRRM_SLOTS_PER_FRAME];
} TimeslotISCP_List;
/* CellMeasuredResults_modeSpecificInfo_tdd */
typedef struct CellMeasuredResults_modeSpecificInfo_tdd {
CellParametersID cellParametersID;
//TGSN proposedTGSN;
PrimaryCCPCH_RSCP primaryCCPCH_RSCP;
Pathloss pathloss;
TimeslotISCP_List timeslotISCP_List;
} CellMeasuredResults_modeSpecificInfo_tdd;
/* CellMeasuredResults */
typedef struct CellMeasuredResults {
CellIdentity cellIdentity;
//SFN_SFN_ObsTimeDifference sfn_SFN_ObsTimeDifference;
//CellSynchronisationInfo cellSynchronisationInfo;
CellMeasuredResults_modeSpecificInfo_tdd modeSpecificInfo;
} CellMeasuredResults;
/* IntraFreqMeasuredResultsList */
typedef struct IntraFreqMeasuredResultsList {
u8 numCells;
CellMeasuredResults cellMeas[MAXMEASCELLS];
} IntraFreqMeasuredResultsList;
/**************************************************************/
/* RLC_BuffersPayload */
typedef enum {
pl0 = 0,
pl4 = 1,
pl8 = 2,
pl16 = 3,
pl32 = 4,
pl64 = 5,
pl128 = 6,
pl256 = 7,
pl512 = 8,
pl1024 = 9,
pl2k = 10,
pl4k = 11,
pl8k = 12,
pl16k = 13,
pl32k = 14,
pl64k = 15,
pl128k = 16,
pl256k = 17,
pl512k = 18,
pl1024k = 19,
} RLC_BuffersPayload;
/* AverageRLC_BufferPayload */
typedef enum {
pla0 = 0,
pla4 = 1,
pla8 = 2,
pla16 = 3,
pla32 = 4,
pla64 = 5,
pla128 = 6,
pla256 = 7,
pla512 = 8,
pla1024 = 9,
pla2k = 10,
pla4k = 11,
pla8k = 12,
pla16k = 13,
pla32k = 14,
pla64k = 15,
pla128k = 16,
pla256k = 17,
pla512k = 18,
pla1024k = 19,
} AverageRLC_BufferPayload;
/* VarianceOfRLC_BufferPayload */
typedef enum {
plv0 = 0,
plv4 = 1,
plv8 = 2,
plv16 = 3,
plv32 = 4,
plv64 = 5,
plv128 = 6,
plv256 = 7,
plv512 = 8,
plv1024 = 9,
plv2k = 10,
plv4k = 11,
plv8k = 12,
plv16k = 13,
} VarianceOfRLC_BufferPayload;
/* TrafficVolumeMeasuredResults */
typedef struct TrafficVolumeMeasuredResults {
RB_Identity rb_Identity;
RLC_BuffersPayload rlc_BuffersPayload;
AverageRLC_BufferPayload averageRLC_BufferPayload;
VarianceOfRLC_BufferPayload varianceOfRLC_BufferPayload;
} TrafficVolumeMeasuredResults;
/* TrafficVolumeMeasuredResultsList */
typedef struct TrafficVolumeMeasuredResultsList {
u8 numRB;
TrafficVolumeMeasuredResults RBMeas[MAXMEASRBS]; // should be 32
} TrafficVolumeMeasuredResultsList;
/**************************************************************/
/* DL_TransportChannelBLER
(value >= 0 && value <= 63) */
typedef u8 DL_TransportChannelBLER;
/* BLER_MeasurementResults */
typedef struct BLER_MeasurementResults {
TransportChannelIdentity transportChannelIdentity;
DL_TransportChannelBLER dl_TransportChannelBLER;
} BLER_MeasurementResults;
/* BLER_MeasurementResultsList */
typedef struct BLER_MeasurementResultsList {
u8 numTrCH;
BLER_MeasurementResults measTrCH[MAXMEASTRCH]; // should be 32
} BLER_MeasurementResultsList;
// TFCS_IdentityPlain
/* SIR
(value >= 0 && value <= 63) */
typedef u8 SIR;
/* SIR_TimeslotList */
typedef struct SIR_TimeslotList {
u8 numSIR;
SIR sir[JRRM_SLOTS_PER_FRAME];
} SIR_TimeslotList;
/* SIR_MeasurementResults */
typedef struct SIR_MeasurementResults {
TFCS_IdentityPlain tfcs_ID;
SIR_TimeslotList sir_TimeslotList;
} SIR_MeasurementResults;
/* SIR_MeasurementList */
typedef struct SIR_MeasurementList {
u8 numTFCS;
SIR_MeasurementResults sirMeas[MAXMEASTFCS];
} SIR_MeasurementList;
/* QualityMeasuredResults */
typedef struct QualityMeasuredResults {
BLER_MeasurementResultsList blerMeasurementResultsList;
SIR_MeasurementList sir_MeasurementList;
} QualityMeasuredResults;
/**************************************************************/
/* UE_TransmittedPower
value >= 0 && value <= 104 */
typedef u8 UE_TransmittedPower;
/* UE_TransmittedPowerTDD_List */
typedef struct UE_TransmittedPowerTDD_List {
u8 numSlots;
UE_TransmittedPower xmitPower[JRRM_SLOTS_PER_FRAME];
} UE_TransmittedPowerTDD_List;
/* UL_TimingAdvance
value >= 0 && value <= 63 */
typedef u8 UL_TimingAdvance;
/* UE_InternalMeasuredResults_tdd */
typedef struct UE_InternalMeasuredResults_modeSpecificInfo_tdd {
UE_TransmittedPowerTDD_List ue_TransmittedPowerTDD_List;
UL_TimingAdvance appliedTA;
} UE_InternalMeasuredResults_tdd;
/**************************************************************/
/* MeasuredResults */
typedef struct MeasuredResults {
u8 measResult;
union {
/* measResult = 1 */
IntraFreqMeasuredResultsList intraFreqMeasuredResultsList;
/* measResult = 2 */
//InterFreqMeasuredResultsList interFreqMeasuredResultsList;
/* measResult = 4 */
TrafficVolumeMeasuredResultsList trafficVolumeMeasuredResultsList;
/* measResult = 5 */
QualityMeasuredResults qualityMeasuredResults;
/* measResult = 6 */
UE_InternalMeasuredResults_tdd ue_InternalMeasuredResults;
} result;
} MeasuredResults;
// /**************************************************************/
// /* OpenLoopPowerControl_IPDL_TDD_r4 */
// /**************************************************************/
// typedef struct OpenLoopPowerControl {
// s16 alpha __attribute__ ((packed));
// u16 maxPowerIncrease __attribute__ ((packed));
// } OpenLoopPowerControl;
//
// /**************************************************************/
// /* UL_DPCH_PowerControlInfo_tdd */
// /**************************************************************/
// typedef struct UplinkPhysicalChannelControl {
// s16 timingAdvance __attribute__ ((packed));
// u16 alpha __attribute__ ((packed));
// s16 prach_ConstantValue __attribute__ ((packed));
// s16 pusch_ConstantValue __attribute__ ((packed));
// s16 dpch_ConstantValue __attribute__ ((packed));
// OpenLoopPowerControl openLoopPowerControl __attribute__ ((packed));
// } UplinkPhysicalChannelControl;
//
// /**************************************************************/
// /* UL_DPCH_PowerControlInfo_tdd */
// /**************************************************************/
// typedef struct UL_DPCH_PowerControlInfo {
// s16 ul_TargetSIR __attribute__ ((packed));
// // UL_DPCH_PowerControlInfo_tdd_ul_OL_PC_Signalling ul_OL_PC_Signalling;
// } UL_DPCH_PowerControlInfo;
// /**************************************************************/
// /* CCTrCH_PowerControlInfo_r4 */
// /**************************************************************/
// typedef struct CCTrCH_PowerControlInfo {
// u16 tfcs_Identity __attribute__ ((packed)); // CCTrCH Index
// UL_DPCH_PowerControlInfo ul_DPCH_PowerControlInfo __attribute__ ((packed));
// } CCTrCH_PowerControlInfo;
// /**************************************************************/
// /* UplinkPhysicalChannelControl_r4_IEs */
// /**************************************************************/
// typedef struct UplinkPhysicalChannelControl_IE {
// u16 ue_id __attribute__ ((packed));
// CCTrCH_PowerControlInfo ccTrCH_PowerControlInfo __attribute__ ((packed)); //CCTrCH UL Power Control
// UplinkPhysicalChannelControl uplinkPhysicalChannelControl __attribute__ ((packed)); //PRACH/PUSCH Parameters
// } UplinkPhysicalChannelControl_IE;
//**************************************************************/
/* UE Capability Information */
/**************************************************************/
/* AccessStratumReleaseIndicator */
typedef u8 AccessStratumReleaseIndicator;
/* EurecomKernelReleaseIndicator */
typedef u8 EurecomKernelReleaseIndicator;
#endif