-- This file was generated by the Objective Systems ASN1C Compiler
-- (http://www.obj-sys.com).  Version: 7.7.2, Date: 13-Oct-2023.

EUTRA-Sidelink-Preconf DEFINITIONS AUTOMATIC TAGS ::= BEGIN

IMPORTS

AdditionalSpectrumEmission, AdditionalSpectrumEmission-v10l0, 
   ARFCN-ValueEUTRA-r9, FilterCoefficient, maxCBR-Level-r14, maxCBR-Level-1-r14
   , maxFreq, maxFreqV2X-r14, maxSL-TxPool-r12, maxSL-CommRxPoolPreconf-v1310, 
   maxSL-CommTxPoolPreconf-v1310, maxSL-DiscRxPoolPreconf-r13, 
   maxSL-DiscTxPoolPreconf-r13, maxSL-V2X-CBRConfig2-r14, 
   maxSL-V2X-CBRConfig2-1-r14, maxSL-V2X-RxPoolPreconf-r14, 
   maxSL-V2X-TxConfig2-r14, maxSL-V2X-TxConfig2-1-r14, 
   maxSL-V2X-TxPoolPreconf-r14, MCS-PSSCH-Range-r15, P-Max, 
   ReselectionInfoRelay-r13, SL-AnchorCarrierFreqList-V2X-r14, 
   SL-CBR-Levels-Config-r14, SL-CBR-PSSCH-TxConfig-r14, 
   SL-CommTxPoolSensingConfig-r14, SL-CP-Len-r12, SL-HoppingConfigComm-r12, 
   SL-NR-AnchorCarrierFreqList-r16, SL-OffsetIndicator-r12, 
   SL-OffsetIndicatorSync-r12, SL-OffsetIndicatorSync-v1430, SL-PeriodComm-r12
   , RSRP-RangeSL3-r12, SL-MinT2ValueList-r15, SL-PriorityList-r13, 
   SL-TF-ResourceConfig-r12, SL-TRPT-Subset-r12, SL-TxParameters-r12, 
   SL-ZoneConfig-r14, P0-SL-r12, TDD-ConfigSL-r12, SubframeBitmapSL-r14, 
   SL-P2X-ResourceSelectionConfig-r14, 
   SL-RestrictResourceReservationPeriodList-r14, SL-SyncAllowed-r14, 
   SL-OffsetIndicatorSync-r14, SL-Priority-r13, 
   SL-V2X-FreqSelectionConfigList-r15, SL-V2X-PacketDuplicationConfig-r15, 
   SL-V2X-SyncFreqList-r15
FROM EUTRA-RRC-Definitions ;

-- Productions

Tx-PreconfigIndex-r14 ::= INTEGER (0..maxSL-V2X-TxConfig2-1-r14)

SL-V2X-TxProfile-r15 ::= ENUMERATED { rel14(0), rel15(1), spare6(2), spare5(3)
   , spare4(4), spare3(5), spare2(6), spare1(7), ... }

SL-PreconfigGeneral-r12 ::= SEQUENCE {
--PDCP configuration
   rohc-Profiles-r12 [0] SEQUENCE {
      profile0x0001-r12 [0] BOOLEAN,
      profile0x0002-r12 [1] BOOLEAN,
      profile0x0004-r12 [2] BOOLEAN,
      profile0x0006-r12 [3] BOOLEAN,
      profile0x0101-r12 [4] BOOLEAN,
      profile0x0102-r12 [5] BOOLEAN,
      profile0x0104-r12 [6] BOOLEAN
   },
--Physical configuration
   carrierFreq-r12 [1] ARFCN-ValueEUTRA-r9,
   maxTxPower-r12 [2] P-Max,
   additionalSpectrumEmission-r12 [3] AdditionalSpectrumEmission,
   sl-bandwidth-r12 [4] ENUMERATED { n6(0), n15(1), n25(2), n50(3), n75(4), 
      n100(5) },
   tdd-ConfigSL-r12 [5] TDD-ConfigSL-r12,
   reserved-r12 [6] BIT STRING  (SIZE (19)),
   ...,
   [[
      additionalSpectrumEmission-v1440 [7] AdditionalSpectrumEmission-v10l0
          OPTIONAL
   ]]
}

SL-PreconfigSync-r12 ::= SEQUENCE {
   syncCP-Len-r12 [0] SL-CP-Len-r12,
   syncOffsetIndicator1-r12 [1] SL-OffsetIndicatorSync-r12,
   syncOffsetIndicator2-r12 [2] SL-OffsetIndicatorSync-r12,
   syncTxParameters-r12 [3] P0-SL-r12,
   syncTxThreshOoC-r12 [4] RSRP-RangeSL3-r12,
   filterCoefficient-r12 [5] FilterCoefficient,
   syncRefMinHyst-r12 [6] ENUMERATED { dB0(0), dB3(1), dB6(2), dB9(3), dB12(4)
       },
   syncRefDiffHyst-r12 [7] ENUMERATED { dB0(0), dB3(1), dB6(2), dB9(3), dB12(4)
      , dBinf(5) },
   ...,
   [[
      syncTxPeriodic-r13 [8] ENUMERATED { true(0) } OPTIONAL
   ]]
}

SL-PreconfigCommPool-r12 ::= SEQUENCE {
--This IE is same as SL-CommResourcePool with rxParametersNCell absent
   sc-CP-Len-r12 [0] SL-CP-Len-r12,
   sc-Period-r12 [1] SL-PeriodComm-r12,
   sc-TF-ResourceConfig-r12 [2] SL-TF-ResourceConfig-r12,
   sc-TxParameters-r12 [3] P0-SL-r12,
   data-CP-Len-r12 [4] SL-CP-Len-r12,
   data-TF-ResourceConfig-r12 [5] SL-TF-ResourceConfig-r12,
   dataHoppingConfig-r12 [6] SL-HoppingConfigComm-r12,
   dataTxParameters-r12 [7] P0-SL-r12,
   trpt-Subset-r12 [8] SL-TRPT-Subset-r12,
   ...,
   [[
      priorityList-r13 [9] SL-PriorityList-r13 OPTIONAL
   ]]
}

SL-PreconfigCommPoolList4-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF 
   SL-PreconfigCommPool-r12

SL-PreconfigCommRxPoolList-r13 ::= SEQUENCE (SIZE (1..maxSL-CommRxPoolPreconf-v1310)) OF 
   SL-PreconfigCommPool-r12

SL-PreconfigCommTxPoolList-r13 ::= SEQUENCE (SIZE (1..maxSL-CommTxPoolPreconf-v1310)) OF 
   SL-PreconfigCommPool-r12

SL-PreconfigDiscPool-r13 ::= SEQUENCE {
--This IE is same as SL-DiscResourcePool with rxParameters absent
   cp-Len-r13 [0] SL-CP-Len-r12,
   discPeriod-r13 [1] ENUMERATED { rf4(0), rf6(1), rf7(2), rf8(3), rf12(4), 
      rf14(5), rf16(6), rf24(7), rf28(8), rf32(9), rf64(10), rf128(11), 
      rf256(12), rf512(13), rf1024(14), spare(15) },
   numRetx-r13 [2] INTEGER (0..3),
   numRepetition-r13 [3] INTEGER (1..50),
   tf-ResourceConfig-r13 [4] SL-TF-ResourceConfig-r12,
   txParameters-r13 [5] SEQUENCE {
      txParametersGeneral-r13 [0] P0-SL-r12,
      txProbability-r13 [1] ENUMERATED { p25(0), p50(1), p75(2), p100(3) }
   } OPTIONAL,
   ...
}

SL-PreconfigDiscRxPoolList-r13 ::= SEQUENCE (SIZE (1..maxSL-DiscRxPoolPreconf-r13)) OF 
   SL-PreconfigDiscPool-r13

SL-PreconfigDiscTxPoolList-r13 ::= SEQUENCE (SIZE (1..maxSL-DiscTxPoolPreconf-r13)) OF 
   SL-PreconfigDiscPool-r13

SL-PreconfigRelay-r13 ::= SEQUENCE {
   reselectionInfoOoC-r13 [0] ReselectionInfoRelay-r13
}

SL-Preconfiguration-r12 ::= SEQUENCE {
   preconfigGeneral-r12 [0] SL-PreconfigGeneral-r12,
   preconfigSync-r12 [1] SL-PreconfigSync-r12,
   preconfigComm-r12 [2] SL-PreconfigCommPoolList4-r12,
   ...,
   [[
      preconfigComm-v1310 [3] SEQUENCE {
         commRxPoolList-r13 [0] SL-PreconfigCommRxPoolList-r13,
         commTxPoolList-r13 [1] SL-PreconfigCommTxPoolList-r13 OPTIONAL
      } OPTIONAL,
      preconfigDisc-r13 [4] SEQUENCE {
         discRxPoolList-r13 [0] SL-PreconfigDiscRxPoolList-r13,
         discTxPoolList-r13 [1] SL-PreconfigDiscTxPoolList-r13 OPTIONAL
      } OPTIONAL,
      preconfigRelay-r13 [5] SL-PreconfigRelay-r13 OPTIONAL
   ]]
}

SL-V2X-SyncOffsetIndicators-r14 ::= SEQUENCE {
   syncOffsetIndicator1-r14 [0] SL-OffsetIndicatorSync-r14,
   syncOffsetIndicator2-r14 [1] SL-OffsetIndicatorSync-r14,
   syncOffsetIndicator3-r14 [2] SL-OffsetIndicatorSync-r14 OPTIONAL
}

SL-PreconfigV2X-Sync-r14 ::= SEQUENCE {
   syncOffsetIndicators-r14 [0] SL-V2X-SyncOffsetIndicators-r14,
   syncTxParameters-r14 [1] P0-SL-r12,
   syncTxThreshOoC-r14 [2] RSRP-RangeSL3-r12,
   filterCoefficient-r14 [3] FilterCoefficient,
   syncRefMinHyst-r14 [4] ENUMERATED { dB0(0), dB3(1), dB6(2), dB9(3), dB12(4)
       },
   syncRefDiffHyst-r14 [5] ENUMERATED { dB0(0), dB3(1), dB6(2), dB9(3), dB12(4)
      , dBinf(5) },
   ...,
   [[
      slss-TxDisabled-r15 [6] ENUMERATED { true(0) } OPTIONAL
   ]]
}

SL-PPPP-TxPreconfigIndex-r14 ::= SEQUENCE {
   priorityThreshold-r14 [0] SL-Priority-r13,
   defaultTxConfigIndex-r14 [1] INTEGER (0..maxCBR-Level-1-r14),
   cbr-ConfigIndex-r14 [2] INTEGER (0..maxSL-V2X-CBRConfig2-1-r14),
   tx-ConfigIndexList-r14 [3] SEQUENCE (SIZE (1..maxCBR-Level-r14)) OF Tx-PreconfigIndex-r14
}

SL-CBR-PPPP-TxPreconfigList-r14 ::= SEQUENCE (SIZE (1..8)) OF 
   SL-PPPP-TxPreconfigIndex-r14

SL-PPPP-TxPreconfigIndex-v1530 ::= SEQUENCE {
   mcs-PSSCH-Range-r15 [0] SEQUENCE (SIZE (1..maxCBR-Level-r14)) OF MCS-PSSCH-Range-r15 OPTIONAL
}

SL-CBR-PPPP-TxPreconfigList-v1530 ::= SEQUENCE (SIZE (1..8)) OF 
   SL-PPPP-TxPreconfigIndex-v1530

SL-V2X-PreconfigCommPool-r14 ::= SEQUENCE {
--This IE is same as SL-CommResourcePoolV2X with rxParametersNCell absent
   sl-OffsetIndicator-r14 [0] EXPLICIT SL-OffsetIndicator-r12 OPTIONAL,
   sl-Subframe-r14 [1] EXPLICIT SubframeBitmapSL-r14,
   adjacencyPSCCH-PSSCH-r14 [2] BOOLEAN,
   sizeSubchannel-r14 [3] ENUMERATED { n4(0), n5(1), n6(2), n8(3), n9(4), 
      n10(5), n12(6), n15(7), n16(8), n18(9), n20(10), n25(11), n30(12), 
      n48(13), n50(14), n72(15), n75(16), n96(17), n100(18), spare13(19), 
      spare12(20), spare11(21), spare10(22), spare9(23), spare8(24), spare7(25)
      , spare6(26), spare5(27), spare4(28), spare3(29), spare2(30), spare1(31)
       },
   numSubchannel-r14 [4] ENUMERATED { n1(0), n3(1), n5(2), n8(3), n10(4), 
      n15(5), n20(6), spare1(7) },
   startRB-Subchannel-r14 [5] INTEGER (0..99),
   startRB-PSCCH-Pool-r14 [6] INTEGER (0..99) OPTIONAL,
   dataTxParameters-r14 [7] P0-SL-r12,
   zoneID-r14 [8] INTEGER (0..7) OPTIONAL,
   threshS-RSSI-CBR-r14 [9] INTEGER (0..45) OPTIONAL,
   cbr-pssch-TxConfigList-r14 [10] SL-CBR-PPPP-TxPreconfigList-r14 OPTIONAL,
   resourceSelectionConfigP2X-r14 [11] SL-P2X-ResourceSelectionConfig-r14
       OPTIONAL,
   syncAllowed-r14 [12] SL-SyncAllowed-r14 OPTIONAL,
   restrictResourceReservationPeriod-r14 [13] 
      SL-RestrictResourceReservationPeriodList-r14 OPTIONAL,
   ...,
   [[
      sl-MinT2ValueList-r15 [14] SL-MinT2ValueList-r15 OPTIONAL,
      cbr-pssch-TxConfigList-v1530 [15] SL-CBR-PPPP-TxPreconfigList-v1530
          OPTIONAL
   ]]
}

SL-PreconfigV2X-RxPoolList-r14 ::= SEQUENCE (SIZE (1..maxSL-V2X-RxPoolPreconf-r14)) OF 
   SL-V2X-PreconfigCommPool-r14

SL-PreconfigV2X-TxPoolList-r14 ::= SEQUENCE (SIZE (1..maxSL-V2X-TxPoolPreconf-r14)) OF 
   SL-V2X-PreconfigCommPool-r14

SL-V2X-PreconfigFreqInfo-r14 ::= SEQUENCE {
   v2x-CommPreconfigGeneral-r14 [0] SL-PreconfigGeneral-r12,
   v2x-CommPreconfigSync-r14 [1] SL-PreconfigV2X-Sync-r14 OPTIONAL,
   v2x-CommRxPoolList-r14 [2] SL-PreconfigV2X-RxPoolList-r14,
   v2x-CommTxPoolList-r14 [3] SL-PreconfigV2X-TxPoolList-r14,
   p2x-CommTxPoolList-r14 [4] SL-PreconfigV2X-TxPoolList-r14,
   v2x-ResourceSelectionConfig-r14 [5] SL-CommTxPoolSensingConfig-r14 OPTIONAL,
   zoneConfig-r14 [6] SL-ZoneConfig-r14 OPTIONAL,
   syncPriority-r14 [7] ENUMERATED { gnss(0), enb(1) },
   thresSL-TxPrioritization-r14 [8] SL-Priority-r13 OPTIONAL,
   offsetDFN-r14 [9] INTEGER (0..1000) OPTIONAL,
   ...,
   [[
      v2x-FreqSelectionConfigList-r15 [10] SL-V2X-FreqSelectionConfigList-r15
          OPTIONAL
   ]]
}

SL-V2X-PreconfigFreqList-r14 ::= SEQUENCE (SIZE (1..maxFreqV2X-r14)) OF 
   SL-V2X-PreconfigFreqInfo-r14

SL-CBR-PreconfigTxConfigList-r14 ::= SEQUENCE {
   cbr-RangeCommonConfigList-r14 [0] SEQUENCE (SIZE (1..maxSL-V2X-CBRConfig2-r14)) OF 
      SL-CBR-Levels-Config-r14,
   sl-CBR-PSSCH-TxConfigList-r14 [1] SEQUENCE (SIZE (1..maxSL-V2X-TxConfig2-r14)) OF 
      SL-CBR-PSSCH-TxConfig-r14
}

SL-V2X-TxProfileList-r15 ::= SEQUENCE (SIZE (1..256)) OF SL-V2X-TxProfile-r15

SL-V2X-Preconfiguration-r14 ::= SEQUENCE {
   v2x-PreconfigFreqList-r14 [0] SL-V2X-PreconfigFreqList-r14,
   anchorCarrierFreqList-r14 [1] SL-AnchorCarrierFreqList-V2X-r14 OPTIONAL,
   cbr-PreconfigList-r14 [2] SL-CBR-PreconfigTxConfigList-r14 OPTIONAL,
   ...,
   [[
      v2x-PacketDuplicationConfig-r15 [3] SL-V2X-PacketDuplicationConfig-r15
          OPTIONAL,
      syncFreqList-r15 [4] SL-V2X-SyncFreqList-r15 OPTIONAL,
      slss-TxMultiFreq-r15 [5] ENUMERATED { true(0) } OPTIONAL,
      v2x-TxProfileList-r15 [6] SL-V2X-TxProfileList-r15 OPTIONAL
   ]],
   [[
      anchorCarrierFreqListNR-r16 [7] SL-NR-AnchorCarrierFreqList-r16 OPTIONAL
   ]]
}

END
