/*
* Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
* From ASN.1 module "X2AP-Containers"
- * found in "Spec/e2ap-v031ex.asn"
- * `asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER`
+ * found in "X2AP-15-4-0.asn1"
+ * `asn1c -D ./asn1_n1 -pdu=auto -fno-include-deps -fcompound-names -findirect-choice -gen-PER -gen-OER -no-gen-example`
*/
#include "ProtocolExtensionField.h"
size_t for_column = 2; /* &Extension */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_SubjectToStatusTransfer_ItemExtIEs, id));
+ const int indexToPresence[7] = {
+ E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_NOTHING,
+ E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_ReceiveStatusOfULPDCPSDUsExtended,
+ E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_COUNTValueExtended,
+ E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_COUNTValueExtended,
+ E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18,
+ E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_COUNTvaluePDCP_SNlength18,
+ E_RABs_SubjectToStatusTransfer_ItemExtIEs__extensionValue_PR_COUNTvaluePDCP_SNlength18
+ };
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
- result.presence_index = presence_index;
+ result.presence_index = indexToPresence[presence_index];
break;
}
}
size_t for_column = 2; /* &Extension */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_Item_SCG_BearerExtIEs, id));
+ const int indexToPresence[3] = {
+ E_RABs_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue_PR_NOTHING,
+ E_RABs_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue_PR_Correlation_ID,
+ E_RABs_ToBeAdded_Item_SCG_BearerExtIEs__extensionValue_PR_Correlation_ID
+ };
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
- result.presence_index = presence_index;
+ result.presence_index = indexToPresence[presence_index];
break;
}
}
size_t for_column = 2; /* &Extension */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs, id));
+ const int indexToPresence[3] = {
+ E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs__extensionValue_PR_NOTHING,
+ E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs__extensionValue_PR_Correlation_ID,
+ E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs__extensionValue_PR_Correlation_ID
+ };
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
- result.presence_index = presence_index;
+ result.presence_index = indexToPresence[presence_index];
break;
}
}
size_t for_column = 2; /* &Extension */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs, id));
+ const int indexToPresence[4] = {
+ E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING,
+ E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_PDCPSnLength,
+ E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_PDCPSnLength,
+ E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_DuplicationActivation
+ };
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
- result.presence_index = presence_index;
+ result.presence_index = indexToPresence[presence_index];
break;
}
}
size_t for_column = 2; /* &Extension */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs, id));
+ const int indexToPresence[3] = {
+ E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING,
+ E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_PDCPSnLength,
+ E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_PDCPSnLength
+ };
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
- result.presence_index = presence_index;
+ result.presence_index = indexToPresence[presence_index];
break;
}
}
size_t for_column = 2; /* &Extension */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, id));
+ const int indexToPresence[4] = {
+ E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING,
+ E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_PDCPSnLength,
+ E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_PDCPSnLength,
+ E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_DuplicationActivation
+ };
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
- result.presence_index = presence_index;
+ result.presence_index = indexToPresence[presence_index];
break;
}
}
size_t for_column = 2; /* &Extension */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs, id));
+ const int indexToPresence[4] = {
+ E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING,
+ E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_PDCPSnLength,
+ E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_PDCPSnLength,
+ E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_GTPtunnelEndpoint
+ };
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
- result.presence_index = presence_index;
+ result.presence_index = indexToPresence[presence_index];
break;
}
}
size_t for_column = 2; /* &Extension */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs, id));
+ const int indexToPresence[3] = {
+ E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING,
+ E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_PDCPSnLength,
+ E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_PDCPSnLength
+ };
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
- result.presence_index = presence_index;
+ result.presence_index = indexToPresence[presence_index];
break;
}
}
size_t for_column = 2; /* &Extension */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs, id));
+ const int indexToPresence[3] = {
+ E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING,
+ E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_PDCPSnLength,
+ E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_PDCPSnLength
+ };
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
- result.presence_index = presence_index;
+ result.presence_index = indexToPresence[presence_index];
break;
}
}
size_t for_column = 2; /* &Extension */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs, id));
+ const int indexToPresence[4] = {
+ E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NOTHING,
+ E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_PDCPSnLength,
+ E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_PDCPSnLength,
+ E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs__extensionValue_PR_NewDRBIDrequest
+ };
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
- result.presence_index = presence_index;
+ result.presence_index = indexToPresence[presence_index];
break;
}
}
size_t for_column = 2; /* &Extension */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs, id));
+ const int indexToPresence[3] = {
+ E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_NOTHING,
+ E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_PDCPSnLength,
+ E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs__extensionValue_PR_PDCPSnLength
+ };
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
- result.presence_index = presence_index;
+ result.presence_index = indexToPresence[presence_index];
break;
}
}
size_t for_column = 2; /* &Extension */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct E_RAB_Level_QoS_Parameters_ExtIEs, id));
+ const int indexToPresence[3] = {
+ E_RAB_Level_QoS_Parameters_ExtIEs__extensionValue_PR_NOTHING,
+ E_RAB_Level_QoS_Parameters_ExtIEs__extensionValue_PR_Packet_LossRate,
+ E_RAB_Level_QoS_Parameters_ExtIEs__extensionValue_PR_Packet_LossRate
+ };
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
- result.presence_index = presence_index;
+ result.presence_index = indexToPresence[presence_index];
break;
}
}
size_t for_column = 2; /* &Extension */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct FDD_Info_ExtIEs, id));
+ const int indexToPresence[7] = {
+ FDD_Info_ExtIEs__extensionValue_PR_NOTHING,
+ FDD_Info_ExtIEs__extensionValue_PR_EARFCNExtension,
+ FDD_Info_ExtIEs__extensionValue_PR_EARFCNExtension,
+ FDD_Info_ExtIEs__extensionValue_PR_OffsetOfNbiotChannelNumberToEARFCN,
+ FDD_Info_ExtIEs__extensionValue_PR_OffsetOfNbiotChannelNumberToEARFCN,
+ FDD_Info_ExtIEs__extensionValue_PR_NRS_NSSS_PowerOffset,
+ FDD_Info_ExtIEs__extensionValue_PR_NSSS_NumOccasionDifferentPrecoder
+ };
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
- result.presence_index = presence_index;
+ result.presence_index = indexToPresence[presence_index];
break;
}
}
size_t for_column = 2; /* &Extension */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct GBR_QosInformation_ExtIEs, id));
+ const int indexToPresence[5] = {
+ GBR_QosInformation_ExtIEs__extensionValue_PR_NOTHING,
+ GBR_QosInformation_ExtIEs__extensionValue_PR_ExtendedBitRate,
+ GBR_QosInformation_ExtIEs__extensionValue_PR_ExtendedBitRate,
+ GBR_QosInformation_ExtIEs__extensionValue_PR_ExtendedBitRate,
+ GBR_QosInformation_ExtIEs__extensionValue_PR_ExtendedBitRate
+ };
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
- result.presence_index = presence_index;
+ result.presence_index = indexToPresence[presence_index];
break;
}
}
size_t for_column = 2; /* &Extension */
size_t row, presence_index = 0;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct UEAggregate_MaximumBitrate_ExtIEs, id));
+ const int indexToPresence[3] = {
+ UEAggregate_MaximumBitrate_ExtIEs__extensionValue_PR_NOTHING,
+ UEAggregate_MaximumBitrate_ExtIEs__extensionValue_PR_ExtendedBitRate,
+ UEAggregate_MaximumBitrate_ExtIEs__extensionValue_PR_ExtendedBitRate
+ };
for(row=0; row < itable->rows_count; row++) {
const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
presence_index++;
if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
result.type_descriptor = type_cell->type_descriptor;
- result.presence_index = presence_index;
+ result.presence_index = indexToPresence[presence_index];
break;
}
}