X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=e2ap%2Flib%2FProtocolExtensionField.c;fp=e2ap%2Flib%2FProtocolExtensionField.c;h=62cda8ded64d69ff22a3cd470ea8e0a07aa326a1;hb=1455c85dea3fba44cdcba8a92864be730691a6ec;hp=0449d9f8fa52ba926b5a545548f783acbad7aa00;hpb=534c88222636f2197d8d7811b3ea0ef58909636a;p=ric-plt%2Fsubmgr.git diff --git a/e2ap/lib/ProtocolExtensionField.c b/e2ap/lib/ProtocolExtensionField.c index 0449d9f..62cda8d 100644 --- a/e2ap/lib/ProtocolExtensionField.c +++ b/e2ap/lib/ProtocolExtensionField.c @@ -1,8 +1,8 @@ /* * 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" @@ -1595,6 +1595,15 @@ select_E_RABs_SubjectToStatusTransfer_ItemExtIEs_extensionValue_type(const asn_T 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]; @@ -1606,7 +1615,7 @@ select_E_RABs_SubjectToStatusTransfer_ItemExtIEs_extensionValue_type(const asn_T 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; } } @@ -2504,6 +2513,11 @@ select_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_extensionValue_type(const asn_TYPE 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]; @@ -2515,7 +2529,7 @@ select_E_RABs_ToBeAdded_Item_SCG_BearerExtIEs_extensionValue_type(const asn_TYPE 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; } } @@ -2999,6 +3013,11 @@ select_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_extensionValue_type(const as 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]; @@ -3010,7 +3029,7 @@ select_E_RABs_ToBeAdded_ModReqItem_SCG_BearerExtIEs_extensionValue_type(const as 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; } } @@ -4601,6 +4620,12 @@ select_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_extensionValue_ 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]; @@ -4612,7 +4637,7 @@ select_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresentExtIEs_extensionValue_ 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; } } @@ -4781,6 +4806,11 @@ select_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_extens 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]; @@ -4792,7 +4822,7 @@ select_E_RABs_Admitted_ToBeAdded_SgNBAddReqAck_Item_SgNBPDCPpresentExtIEs_extens 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; } } @@ -5438,6 +5468,12 @@ select_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_extensionValue_ 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]; @@ -5449,7 +5485,7 @@ select_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_extensionValue_ 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; } } @@ -5735,6 +5771,12 @@ select_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_extensionVal 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]; @@ -5746,7 +5788,7 @@ select_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresentExtIEs_extensionVal 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; } } @@ -6104,6 +6146,11 @@ select_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_extension 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]; @@ -6115,7 +6162,7 @@ select_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresentExtIEs_extension 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; } } @@ -6401,6 +6448,11 @@ select_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_extens 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]; @@ -6412,7 +6464,7 @@ select_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresentExtIEs_extens 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; } } @@ -7004,6 +7056,12 @@ select_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_extensionValue 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]; @@ -7015,7 +7073,7 @@ select_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresentExtIEs_extensionValue 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; } } @@ -7364,6 +7422,11 @@ select_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_ext 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]; @@ -7375,7 +7438,7 @@ select_E_RABs_AdmittedToBeModified_SgNBModConf_Item_SgNBPDCPnotpresentExtIEs_ext 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; } } @@ -11324,6 +11387,11 @@ select_E_RAB_Level_QoS_Parameters_ExtIEs_extensionValue_type(const asn_TYPE_desc 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]; @@ -11335,7 +11403,7 @@ select_E_RAB_Level_QoS_Parameters_ExtIEs_extensionValue_type(const asn_TYPE_desc 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; } } @@ -11756,6 +11824,15 @@ select_FDD_Info_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_t 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]; @@ -11767,7 +11844,7 @@ select_FDD_Info_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t *parent_t 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; } } @@ -12062,6 +12139,13 @@ select_GBR_QosInformation_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t 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]; @@ -12073,7 +12157,7 @@ select_GBR_QosInformation_ExtIEs_extensionValue_type(const asn_TYPE_descriptor_t 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; } } @@ -16598,6 +16682,11 @@ select_UEAggregate_MaximumBitrate_ExtIEs_extensionValue_type(const asn_TYPE_desc 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]; @@ -16609,7 +16698,7 @@ select_UEAggregate_MaximumBitrate_ExtIEs_extensionValue_type(const asn_TYPE_desc 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; } }