From 0ec7f1366761fffcd73ba359969ea1029ed5dc79 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 10 Sep 2015 10:52:18 +0200 Subject: Cleanups (rename 'asn1c' to 'hnbap', Makefile sanitizing) --- src/Makefile | 28 ++- src/asn1c/.gitignore | 60 ----- src/asn1c/Access-stratum-release-indicator.c | 176 ------------- src/asn1c/Access-stratum-release-indicator.h | 56 ----- src/asn1c/AccessResult.c | 168 ------------- src/asn1c/AccessResult.h | 52 ---- src/asn1c/AdditionalNeighbourInfoList.c | 60 ----- src/asn1c/AdditionalNeighbourInfoList.h | 44 ---- src/asn1c/AltitudeAndDirection.c | 261 -------------------- src/asn1c/AltitudeAndDirection.h | 51 ---- src/asn1c/BackoffTimer.c | 166 ------------- src/asn1c/BackoffTimer.h | 43 ---- src/asn1c/BindingID.c | 167 ------------- src/asn1c/BindingID.h | 43 ---- src/asn1c/CELL-FACHMobilitySupport.c | 166 ------------- src/asn1c/CELL-FACHMobilitySupport.h | 51 ---- src/asn1c/CGI.c | 94 ------- src/asn1c/CGI.h | 49 ---- src/asn1c/CI.c | 167 ------------- src/asn1c/CI.h | 43 ---- src/asn1c/CN-DomainIndicator.c | 166 ------------- src/asn1c/CN-DomainIndicator.h | 49 ---- src/asn1c/CSG-Capability.c | 168 ------------- src/asn1c/CSG-Capability.h | 52 ---- src/asn1c/CSG-ID.c | 172 ------------- src/asn1c/CSG-ID.h | 43 ---- src/asn1c/CSGMembershipStatus.c | 168 ------------- src/asn1c/CSGMembershipStatus.h | 52 ---- src/asn1c/CSGMembershipUpdate.c | 146 ----------- src/asn1c/CSGMembershipUpdate.h | 54 ---- src/asn1c/Cause.c | 93 ------- src/asn1c/Cause.h | 62 ----- src/asn1c/CauseMisc.c | 172 ------------- src/asn1c/CauseMisc.h | 54 ---- src/asn1c/CauseProtocol.c | 178 -------------- src/asn1c/CauseProtocol.h | 57 ----- src/asn1c/CauseRadioNetwork.c | 196 --------------- src/asn1c/CauseRadioNetwork.h | 66 ----- src/asn1c/CauseTransport.c | 168 ------------- src/asn1c/CauseTransport.h | 52 ---- src/asn1c/CellIdentity.c | 172 ------------- src/asn1c/CellIdentity.h | 43 ---- src/asn1c/ConfigurationInformation.c | 73 ------ src/asn1c/ConfigurationInformation.h | 56 ----- src/asn1c/Context-ID.c | 172 ------------- src/asn1c/Context-ID.h | 43 ---- src/asn1c/Criticality.c | 168 ------------- src/asn1c/Criticality.h | 50 ---- src/asn1c/CriticalityDiagnostics-IE-List.c | 146 ----------- src/asn1c/CriticalityDiagnostics-IE-List.h | 60 ----- src/asn1c/CriticalityDiagnostics.c | 104 -------- src/asn1c/CriticalityDiagnostics.h | 56 ----- src/asn1c/ESN.c | 172 ------------- src/asn1c/ESN.h | 43 ---- src/asn1c/ErrorIndication.c | 146 ----------- src/asn1c/ErrorIndication.h | 54 ---- src/asn1c/GTP-TEI.c | 167 ------------- src/asn1c/GTP-TEI.h | 43 ---- src/asn1c/GeographicalCoordinates.c | 313 ------------------------ src/asn1c/GeographicalCoordinates.h | 59 ----- src/asn1c/GeographicalLocation.c | 84 ------- src/asn1c/GeographicalLocation.h | 51 ---- src/asn1c/HNB-Cell-Access-Mode.c | 170 ------------- src/asn1c/HNB-Cell-Access-Mode.h | 53 ---- src/asn1c/HNB-Cell-Identifier.c | 84 ------- src/asn1c/HNB-Cell-Identifier.h | 51 ---- src/asn1c/HNB-GWResponse.c | 83 ------- src/asn1c/HNB-GWResponse.h | 59 ----- src/asn1c/HNB-Identity-Info.c | 167 ------------- src/asn1c/HNB-Identity-Info.h | 43 ---- src/asn1c/HNB-Identity.c | 74 ------ src/asn1c/HNB-Identity.h | 49 ---- src/asn1c/HNB-Location-Information.c | 84 ------- src/asn1c/HNB-Location-Information.h | 53 ---- src/asn1c/HNB-RNL-Identity.c | 63 ----- src/asn1c/HNB-RNL-Identity.h | 53 ---- src/asn1c/HNBAP-PDU.c | 83 ------- src/asn1c/HNBAP-PDU.h | 59 ----- src/asn1c/HNBCapacity.c | 166 ------------- src/asn1c/HNBCapacity.h | 43 ---- src/asn1c/HNBConfigInfo.c | 84 ------- src/asn1c/HNBConfigInfo.h | 51 ---- src/asn1c/HNBConfigTransferRequest.c | 146 ----------- src/asn1c/HNBConfigTransferRequest.h | 54 ---- src/asn1c/HNBConfigTransferResponse.c | 146 ----------- src/asn1c/HNBConfigTransferResponse.h | 54 ---- src/asn1c/HNBConfigurationInformationMissing.c | 74 ------ src/asn1c/HNBConfigurationInformationMissing.h | 49 ---- src/asn1c/HNBConfigurationInformationProvided.c | 104 -------- src/asn1c/HNBConfigurationInformationProvided.h | 55 ----- src/asn1c/HNBDe-Register.c | 146 ----------- src/asn1c/HNBDe-Register.h | 54 ---- src/asn1c/HNBRegisterAccept.c | 146 ----------- src/asn1c/HNBRegisterAccept.h | 54 ---- src/asn1c/HNBRegisterReject.c | 146 ----------- src/asn1c/HNBRegisterReject.h | 54 ---- src/asn1c/HNBRegisterRequest.c | 146 ----------- src/asn1c/HNBRegisterRequest.h | 54 ---- src/asn1c/IE-Extensions.c | 60 ----- src/asn1c/IE-Extensions.h | 44 ---- src/asn1c/IE.c | 82 ------- src/asn1c/IE.h | 42 ---- src/asn1c/IMEI.c | 172 ------------- src/asn1c/IMEI.h | 43 ---- src/asn1c/IMSI.c | 167 ------------- src/asn1c/IMSI.h | 43 ---- src/asn1c/IMSIDS41.c | 167 ------------- src/asn1c/IMSIDS41.h | 43 ---- src/asn1c/IMSIESN.c | 72 ------ src/asn1c/IMSIESN.h | 40 --- src/asn1c/IP-Address.c | 139 ----------- src/asn1c/IP-Address.h | 73 ------ src/asn1c/InitiatingMessage.c | 82 ------- src/asn1c/InitiatingMessage.h | 42 ---- src/asn1c/Ipv4Address.c | 167 ------------- src/asn1c/Ipv4Address.h | 43 ---- src/asn1c/Ipv6Address.c | 167 ------------- src/asn1c/Ipv6Address.h | 43 ---- src/asn1c/Iurh-Signalling-TNL-AddressList.c | 60 ----- src/asn1c/Iurh-Signalling-TNL-AddressList.h | 44 ---- src/asn1c/LAC.c | 167 ------------- src/asn1c/LAC.h | 43 ---- src/asn1c/LAI.c | 72 ------ src/asn1c/LAI.h | 44 ---- src/asn1c/MacroCellID.c | 73 ------ src/asn1c/MacroCellID.h | 56 ----- src/asn1c/MacroCoverageInformation.c | 74 ------ src/asn1c/MacroCoverageInformation.h | 49 ---- src/asn1c/Makefile.local | 262 -------------------- src/asn1c/MuxPortNumber.c | 166 ------------- src/asn1c/MuxPortNumber.h | 43 ---- src/asn1c/NeighbourCellIdentityList.c | 60 ----- src/asn1c/NeighbourCellIdentityList.h | 44 ---- src/asn1c/NeighbourIdentity.c | 73 ------ src/asn1c/NeighbourIdentity.h | 56 ----- src/asn1c/NeighbourInfoList.c | 60 ----- src/asn1c/NeighbourInfoList.h | 44 ---- src/asn1c/NeighbourInfoRequestItem.c | 74 ------ src/asn1c/NeighbourInfoRequestItem.h | 49 ---- src/asn1c/NeighbourInfoRequestList.c | 60 ----- src/asn1c/NeighbourInfoRequestList.h | 44 ---- src/asn1c/PLMNidentity.c | 167 ------------- src/asn1c/PLMNidentity.h | 43 ---- src/asn1c/PSC.c | 172 ------------- src/asn1c/PSC.h | 43 ---- src/asn1c/PTMSI.c | 172 ------------- src/asn1c/PTMSI.h | 43 ---- src/asn1c/PTMSIRAI.c | 72 ------ src/asn1c/PTMSIRAI.h | 44 ---- src/asn1c/Presence.c | 168 ------------- src/asn1c/Presence.h | 50 ---- src/asn1c/PrivateIE-ID.c | 103 -------- src/asn1c/PrivateIE-ID.h | 50 ---- src/asn1c/PrivateMessage.c | 146 ----------- src/asn1c/PrivateMessage.h | 54 ---- src/asn1c/ProcedureCode.c | 166 ------------- src/asn1c/ProcedureCode.h | 58 ----- src/asn1c/ProtocolIE-ID.c | 166 ------------- src/asn1c/ProtocolIE-ID.h | 89 ------- src/asn1c/RAB-ID.c | 172 ------------- src/asn1c/RAB-ID.h | 43 ---- src/asn1c/RABList.c | 60 ----- src/asn1c/RABList.h | 44 ---- src/asn1c/RABListItem.c | 104 -------- src/asn1c/RABListItem.h | 54 ---- src/asn1c/RAC.c | 167 ------------- src/asn1c/RAC.h | 43 ---- src/asn1c/RAI.c | 72 ------ src/asn1c/RAI.h | 44 ---- src/asn1c/RNC-ID.c | 166 ------------- src/asn1c/RNC-ID.h | 43 ---- src/asn1c/Registration-Cause.c | 170 ------------- src/asn1c/Registration-Cause.h | 53 ---- src/asn1c/RelocationComplete.c | 146 ----------- src/asn1c/RelocationComplete.h | 54 ---- src/asn1c/S-RNTIPrefix.c | 172 ------------- src/asn1c/S-RNTIPrefix.h | 43 ---- src/asn1c/SAC.c | 167 ------------- src/asn1c/SAC.h | 43 ---- src/asn1c/SuccessfulOutcome.c | 82 ------- src/asn1c/SuccessfulOutcome.h | 42 ---- src/asn1c/TMSIDS41.c | 167 ------------- src/asn1c/TMSIDS41.h | 43 ---- src/asn1c/TMSILAI.c | 108 -------- src/asn1c/TMSILAI.h | 40 --- src/asn1c/TNLUpdateFailure.c | 146 ----------- src/asn1c/TNLUpdateFailure.h | 54 ---- src/asn1c/TNLUpdateRequest.c | 146 ----------- src/asn1c/TNLUpdateRequest.h | 54 ---- src/asn1c/TNLUpdateResponse.c | 146 ----------- src/asn1c/TNLUpdateResponse.h | 54 ---- src/asn1c/TransportInfo.c | 149 ----------- src/asn1c/TransportInfo.h | 75 ------ src/asn1c/TransportLayerAddress.c | 172 ------------- src/asn1c/TransportLayerAddress.h | 43 ---- src/asn1c/TriggeringMessage.c | 168 ------------- src/asn1c/TriggeringMessage.h | 50 ---- src/asn1c/Tunnel-Information.c | 84 ------- src/asn1c/Tunnel-Information.h | 51 ---- src/asn1c/TypeOfError.c | 168 ------------- src/asn1c/TypeOfError.h | 52 ---- src/asn1c/U-RNTI.c | 172 ------------- src/asn1c/U-RNTI.h | 43 ---- src/asn1c/U-RNTIQueryRequest.c | 146 ----------- src/asn1c/U-RNTIQueryRequest.h | 54 ---- src/asn1c/U-RNTIQueryResponse.c | 146 ----------- src/asn1c/U-RNTIQueryResponse.h | 54 ---- src/asn1c/UDP-Port-Number.c | 167 ------------- src/asn1c/UDP-Port-Number.h | 43 ---- src/asn1c/UE-Capabilities.c | 84 ------- src/asn1c/UE-Capabilities.h | 51 ---- src/asn1c/UE-Identity.c | 133 ---------- src/asn1c/UE-Identity.h | 74 ------ src/asn1c/UEDe-Register.c | 146 ----------- src/asn1c/UEDe-Register.h | 54 ---- src/asn1c/UERegisterAccept.c | 146 ----------- src/asn1c/UERegisterAccept.h | 54 ---- src/asn1c/UERegisterReject.c | 146 ----------- src/asn1c/UERegisterReject.h | 54 ---- src/asn1c/UERegisterRequest.c | 146 ----------- src/asn1c/UERegisterRequest.h | 54 ---- src/asn1c/URAIdentity.c | 166 ------------- src/asn1c/URAIdentity.h | 43 ---- src/asn1c/URAIdentityList.c | 60 ----- src/asn1c/URAIdentityList.h | 39 --- src/asn1c/UTRANCellID.c | 104 -------- src/asn1c/UTRANCellID.h | 51 ---- src/asn1c/UnknownU-RNTIIndication.c | 166 ------------- src/asn1c/UnknownU-RNTIIndication.h | 51 ---- src/asn1c/UnsuccessfulOutcome.c | 82 ------- src/asn1c/UnsuccessfulOutcome.h | 42 ---- src/asn1c/Update-cause.c | 166 ------------- src/asn1c/Update-cause.h | 51 ---- src/hnbap/.gitignore | 60 +++++ src/hnbap/Access-stratum-release-indicator.c | 176 +++++++++++++ src/hnbap/Access-stratum-release-indicator.h | 56 +++++ src/hnbap/AccessResult.c | 168 +++++++++++++ src/hnbap/AccessResult.h | 52 ++++ src/hnbap/AdditionalNeighbourInfoList.c | 60 +++++ src/hnbap/AdditionalNeighbourInfoList.h | 44 ++++ src/hnbap/AltitudeAndDirection.c | 261 ++++++++++++++++++++ src/hnbap/AltitudeAndDirection.h | 51 ++++ src/hnbap/BackoffTimer.c | 166 +++++++++++++ src/hnbap/BackoffTimer.h | 43 ++++ src/hnbap/BindingID.c | 167 +++++++++++++ src/hnbap/BindingID.h | 43 ++++ src/hnbap/CELL-FACHMobilitySupport.c | 166 +++++++++++++ src/hnbap/CELL-FACHMobilitySupport.h | 51 ++++ src/hnbap/CGI.c | 94 +++++++ src/hnbap/CGI.h | 49 ++++ src/hnbap/CI.c | 167 +++++++++++++ src/hnbap/CI.h | 43 ++++ src/hnbap/CN-DomainIndicator.c | 166 +++++++++++++ src/hnbap/CN-DomainIndicator.h | 49 ++++ src/hnbap/CSG-Capability.c | 168 +++++++++++++ src/hnbap/CSG-Capability.h | 52 ++++ src/hnbap/CSG-ID.c | 172 +++++++++++++ src/hnbap/CSG-ID.h | 43 ++++ src/hnbap/CSGMembershipStatus.c | 168 +++++++++++++ src/hnbap/CSGMembershipStatus.h | 52 ++++ src/hnbap/CSGMembershipUpdate.c | 146 +++++++++++ src/hnbap/CSGMembershipUpdate.h | 54 ++++ src/hnbap/Cause.c | 93 +++++++ src/hnbap/Cause.h | 62 +++++ src/hnbap/CauseMisc.c | 172 +++++++++++++ src/hnbap/CauseMisc.h | 54 ++++ src/hnbap/CauseProtocol.c | 178 ++++++++++++++ src/hnbap/CauseProtocol.h | 57 +++++ src/hnbap/CauseRadioNetwork.c | 196 +++++++++++++++ src/hnbap/CauseRadioNetwork.h | 66 +++++ src/hnbap/CauseTransport.c | 168 +++++++++++++ src/hnbap/CauseTransport.h | 52 ++++ src/hnbap/CellIdentity.c | 172 +++++++++++++ src/hnbap/CellIdentity.h | 43 ++++ src/hnbap/ConfigurationInformation.c | 73 ++++++ src/hnbap/ConfigurationInformation.h | 56 +++++ src/hnbap/Context-ID.c | 172 +++++++++++++ src/hnbap/Context-ID.h | 43 ++++ src/hnbap/Criticality.c | 168 +++++++++++++ src/hnbap/Criticality.h | 50 ++++ src/hnbap/CriticalityDiagnostics-IE-List.c | 146 +++++++++++ src/hnbap/CriticalityDiagnostics-IE-List.h | 60 +++++ src/hnbap/CriticalityDiagnostics.c | 104 ++++++++ src/hnbap/CriticalityDiagnostics.h | 56 +++++ src/hnbap/ESN.c | 172 +++++++++++++ src/hnbap/ESN.h | 43 ++++ src/hnbap/ErrorIndication.c | 146 +++++++++++ src/hnbap/ErrorIndication.h | 54 ++++ src/hnbap/GTP-TEI.c | 167 +++++++++++++ src/hnbap/GTP-TEI.h | 43 ++++ src/hnbap/GeographicalCoordinates.c | 313 ++++++++++++++++++++++++ src/hnbap/GeographicalCoordinates.h | 59 +++++ src/hnbap/GeographicalLocation.c | 84 +++++++ src/hnbap/GeographicalLocation.h | 51 ++++ src/hnbap/HNB-Cell-Access-Mode.c | 170 +++++++++++++ src/hnbap/HNB-Cell-Access-Mode.h | 53 ++++ src/hnbap/HNB-Cell-Identifier.c | 84 +++++++ src/hnbap/HNB-Cell-Identifier.h | 51 ++++ src/hnbap/HNB-GWResponse.c | 83 +++++++ src/hnbap/HNB-GWResponse.h | 59 +++++ src/hnbap/HNB-Identity-Info.c | 167 +++++++++++++ src/hnbap/HNB-Identity-Info.h | 43 ++++ src/hnbap/HNB-Identity.c | 74 ++++++ src/hnbap/HNB-Identity.h | 49 ++++ src/hnbap/HNB-Location-Information.c | 84 +++++++ src/hnbap/HNB-Location-Information.h | 53 ++++ src/hnbap/HNB-RNL-Identity.c | 63 +++++ src/hnbap/HNB-RNL-Identity.h | 53 ++++ src/hnbap/HNBAP-PDU.c | 83 +++++++ src/hnbap/HNBAP-PDU.h | 59 +++++ src/hnbap/HNBCapacity.c | 166 +++++++++++++ src/hnbap/HNBCapacity.h | 43 ++++ src/hnbap/HNBConfigInfo.c | 84 +++++++ src/hnbap/HNBConfigInfo.h | 51 ++++ src/hnbap/HNBConfigTransferRequest.c | 146 +++++++++++ src/hnbap/HNBConfigTransferRequest.h | 54 ++++ src/hnbap/HNBConfigTransferResponse.c | 146 +++++++++++ src/hnbap/HNBConfigTransferResponse.h | 54 ++++ src/hnbap/HNBConfigurationInformationMissing.c | 74 ++++++ src/hnbap/HNBConfigurationInformationMissing.h | 49 ++++ src/hnbap/HNBConfigurationInformationProvided.c | 104 ++++++++ src/hnbap/HNBConfigurationInformationProvided.h | 55 +++++ src/hnbap/HNBDe-Register.c | 146 +++++++++++ src/hnbap/HNBDe-Register.h | 54 ++++ src/hnbap/HNBRegisterAccept.c | 146 +++++++++++ src/hnbap/HNBRegisterAccept.h | 54 ++++ src/hnbap/HNBRegisterReject.c | 146 +++++++++++ src/hnbap/HNBRegisterReject.h | 54 ++++ src/hnbap/HNBRegisterRequest.c | 146 +++++++++++ src/hnbap/HNBRegisterRequest.h | 54 ++++ src/hnbap/IE-Extensions.c | 60 +++++ src/hnbap/IE-Extensions.h | 44 ++++ src/hnbap/IE.c | 82 +++++++ src/hnbap/IE.h | 42 ++++ src/hnbap/IMEI.c | 172 +++++++++++++ src/hnbap/IMEI.h | 43 ++++ src/hnbap/IMSI.c | 167 +++++++++++++ src/hnbap/IMSI.h | 43 ++++ src/hnbap/IMSIDS41.c | 167 +++++++++++++ src/hnbap/IMSIDS41.h | 43 ++++ src/hnbap/IMSIESN.c | 72 ++++++ src/hnbap/IMSIESN.h | 40 +++ src/hnbap/IP-Address.c | 139 +++++++++++ src/hnbap/IP-Address.h | 73 ++++++ src/hnbap/InitiatingMessage.c | 82 +++++++ src/hnbap/InitiatingMessage.h | 42 ++++ src/hnbap/Ipv4Address.c | 167 +++++++++++++ src/hnbap/Ipv4Address.h | 43 ++++ src/hnbap/Ipv6Address.c | 167 +++++++++++++ src/hnbap/Ipv6Address.h | 43 ++++ src/hnbap/Iurh-Signalling-TNL-AddressList.c | 60 +++++ src/hnbap/Iurh-Signalling-TNL-AddressList.h | 44 ++++ src/hnbap/LAC.c | 167 +++++++++++++ src/hnbap/LAC.h | 43 ++++ src/hnbap/LAI.c | 72 ++++++ src/hnbap/LAI.h | 44 ++++ src/hnbap/MacroCellID.c | 73 ++++++ src/hnbap/MacroCellID.h | 56 +++++ src/hnbap/MacroCoverageInformation.c | 74 ++++++ src/hnbap/MacroCoverageInformation.h | 49 ++++ src/hnbap/Makefile | 262 ++++++++++++++++++++ src/hnbap/MuxPortNumber.c | 166 +++++++++++++ src/hnbap/MuxPortNumber.h | 43 ++++ src/hnbap/NeighbourCellIdentityList.c | 60 +++++ src/hnbap/NeighbourCellIdentityList.h | 44 ++++ src/hnbap/NeighbourIdentity.c | 73 ++++++ src/hnbap/NeighbourIdentity.h | 56 +++++ src/hnbap/NeighbourInfoList.c | 60 +++++ src/hnbap/NeighbourInfoList.h | 44 ++++ src/hnbap/NeighbourInfoRequestItem.c | 74 ++++++ src/hnbap/NeighbourInfoRequestItem.h | 49 ++++ src/hnbap/NeighbourInfoRequestList.c | 60 +++++ src/hnbap/NeighbourInfoRequestList.h | 44 ++++ src/hnbap/PLMNidentity.c | 167 +++++++++++++ src/hnbap/PLMNidentity.h | 43 ++++ src/hnbap/PSC.c | 172 +++++++++++++ src/hnbap/PSC.h | 43 ++++ src/hnbap/PTMSI.c | 172 +++++++++++++ src/hnbap/PTMSI.h | 43 ++++ src/hnbap/PTMSIRAI.c | 72 ++++++ src/hnbap/PTMSIRAI.h | 44 ++++ src/hnbap/Presence.c | 168 +++++++++++++ src/hnbap/Presence.h | 50 ++++ src/hnbap/PrivateIE-ID.c | 103 ++++++++ src/hnbap/PrivateIE-ID.h | 50 ++++ src/hnbap/PrivateMessage.c | 146 +++++++++++ src/hnbap/PrivateMessage.h | 54 ++++ src/hnbap/ProcedureCode.c | 166 +++++++++++++ src/hnbap/ProcedureCode.h | 58 +++++ src/hnbap/ProtocolIE-ID.c | 166 +++++++++++++ src/hnbap/ProtocolIE-ID.h | 89 +++++++ src/hnbap/RAB-ID.c | 172 +++++++++++++ src/hnbap/RAB-ID.h | 43 ++++ src/hnbap/RABList.c | 60 +++++ src/hnbap/RABList.h | 44 ++++ src/hnbap/RABListItem.c | 104 ++++++++ src/hnbap/RABListItem.h | 54 ++++ src/hnbap/RAC.c | 167 +++++++++++++ src/hnbap/RAC.h | 43 ++++ src/hnbap/RAI.c | 72 ++++++ src/hnbap/RAI.h | 44 ++++ src/hnbap/RNC-ID.c | 166 +++++++++++++ src/hnbap/RNC-ID.h | 43 ++++ src/hnbap/Registration-Cause.c | 170 +++++++++++++ src/hnbap/Registration-Cause.h | 53 ++++ src/hnbap/RelocationComplete.c | 146 +++++++++++ src/hnbap/RelocationComplete.h | 54 ++++ src/hnbap/S-RNTIPrefix.c | 172 +++++++++++++ src/hnbap/S-RNTIPrefix.h | 43 ++++ src/hnbap/SAC.c | 167 +++++++++++++ src/hnbap/SAC.h | 43 ++++ src/hnbap/SuccessfulOutcome.c | 82 +++++++ src/hnbap/SuccessfulOutcome.h | 42 ++++ src/hnbap/TMSIDS41.c | 167 +++++++++++++ src/hnbap/TMSIDS41.h | 43 ++++ src/hnbap/TMSILAI.c | 108 ++++++++ src/hnbap/TMSILAI.h | 40 +++ src/hnbap/TNLUpdateFailure.c | 146 +++++++++++ src/hnbap/TNLUpdateFailure.h | 54 ++++ src/hnbap/TNLUpdateRequest.c | 146 +++++++++++ src/hnbap/TNLUpdateRequest.h | 54 ++++ src/hnbap/TNLUpdateResponse.c | 146 +++++++++++ src/hnbap/TNLUpdateResponse.h | 54 ++++ src/hnbap/TransportInfo.c | 149 +++++++++++ src/hnbap/TransportInfo.h | 75 ++++++ src/hnbap/TransportLayerAddress.c | 172 +++++++++++++ src/hnbap/TransportLayerAddress.h | 43 ++++ src/hnbap/TriggeringMessage.c | 168 +++++++++++++ src/hnbap/TriggeringMessage.h | 50 ++++ src/hnbap/Tunnel-Information.c | 84 +++++++ src/hnbap/Tunnel-Information.h | 51 ++++ src/hnbap/TypeOfError.c | 168 +++++++++++++ src/hnbap/TypeOfError.h | 52 ++++ src/hnbap/U-RNTI.c | 172 +++++++++++++ src/hnbap/U-RNTI.h | 43 ++++ src/hnbap/U-RNTIQueryRequest.c | 146 +++++++++++ src/hnbap/U-RNTIQueryRequest.h | 54 ++++ src/hnbap/U-RNTIQueryResponse.c | 146 +++++++++++ src/hnbap/U-RNTIQueryResponse.h | 54 ++++ src/hnbap/UDP-Port-Number.c | 167 +++++++++++++ src/hnbap/UDP-Port-Number.h | 43 ++++ src/hnbap/UE-Capabilities.c | 84 +++++++ src/hnbap/UE-Capabilities.h | 51 ++++ src/hnbap/UE-Identity.c | 133 ++++++++++ src/hnbap/UE-Identity.h | 74 ++++++ src/hnbap/UEDe-Register.c | 146 +++++++++++ src/hnbap/UEDe-Register.h | 54 ++++ src/hnbap/UERegisterAccept.c | 146 +++++++++++ src/hnbap/UERegisterAccept.h | 54 ++++ src/hnbap/UERegisterReject.c | 146 +++++++++++ src/hnbap/UERegisterReject.h | 54 ++++ src/hnbap/UERegisterRequest.c | 146 +++++++++++ src/hnbap/UERegisterRequest.h | 54 ++++ src/hnbap/URAIdentity.c | 166 +++++++++++++ src/hnbap/URAIdentity.h | 43 ++++ src/hnbap/URAIdentityList.c | 60 +++++ src/hnbap/URAIdentityList.h | 39 +++ src/hnbap/UTRANCellID.c | 104 ++++++++ src/hnbap/UTRANCellID.h | 51 ++++ src/hnbap/UnknownU-RNTIIndication.c | 166 +++++++++++++ src/hnbap/UnknownU-RNTIIndication.h | 51 ++++ src/hnbap/UnsuccessfulOutcome.c | 82 +++++++ src/hnbap/UnsuccessfulOutcome.h | 42 ++++ src/hnbap/Update-cause.c | 166 +++++++++++++ src/hnbap/Update-cause.h | 51 ++++ src/ranap/Makefile | 3 +- src/rua/Makefile | 3 +- 467 files changed, 21633 insertions(+), 21621 deletions(-) delete mode 100644 src/asn1c/.gitignore delete mode 100644 src/asn1c/Access-stratum-release-indicator.c delete mode 100644 src/asn1c/Access-stratum-release-indicator.h delete mode 100644 src/asn1c/AccessResult.c delete mode 100644 src/asn1c/AccessResult.h delete mode 100644 src/asn1c/AdditionalNeighbourInfoList.c delete mode 100644 src/asn1c/AdditionalNeighbourInfoList.h delete mode 100644 src/asn1c/AltitudeAndDirection.c delete mode 100644 src/asn1c/AltitudeAndDirection.h delete mode 100644 src/asn1c/BackoffTimer.c delete mode 100644 src/asn1c/BackoffTimer.h delete mode 100644 src/asn1c/BindingID.c delete mode 100644 src/asn1c/BindingID.h delete mode 100644 src/asn1c/CELL-FACHMobilitySupport.c delete mode 100644 src/asn1c/CELL-FACHMobilitySupport.h delete mode 100644 src/asn1c/CGI.c delete mode 100644 src/asn1c/CGI.h delete mode 100644 src/asn1c/CI.c delete mode 100644 src/asn1c/CI.h delete mode 100644 src/asn1c/CN-DomainIndicator.c delete mode 100644 src/asn1c/CN-DomainIndicator.h delete mode 100644 src/asn1c/CSG-Capability.c delete mode 100644 src/asn1c/CSG-Capability.h delete mode 100644 src/asn1c/CSG-ID.c delete mode 100644 src/asn1c/CSG-ID.h delete mode 100644 src/asn1c/CSGMembershipStatus.c delete mode 100644 src/asn1c/CSGMembershipStatus.h delete mode 100644 src/asn1c/CSGMembershipUpdate.c delete mode 100644 src/asn1c/CSGMembershipUpdate.h delete mode 100644 src/asn1c/Cause.c delete mode 100644 src/asn1c/Cause.h delete mode 100644 src/asn1c/CauseMisc.c delete mode 100644 src/asn1c/CauseMisc.h delete mode 100644 src/asn1c/CauseProtocol.c delete mode 100644 src/asn1c/CauseProtocol.h delete mode 100644 src/asn1c/CauseRadioNetwork.c delete mode 100644 src/asn1c/CauseRadioNetwork.h delete mode 100644 src/asn1c/CauseTransport.c delete mode 100644 src/asn1c/CauseTransport.h delete mode 100644 src/asn1c/CellIdentity.c delete mode 100644 src/asn1c/CellIdentity.h delete mode 100644 src/asn1c/ConfigurationInformation.c delete mode 100644 src/asn1c/ConfigurationInformation.h delete mode 100644 src/asn1c/Context-ID.c delete mode 100644 src/asn1c/Context-ID.h delete mode 100644 src/asn1c/Criticality.c delete mode 100644 src/asn1c/Criticality.h delete mode 100644 src/asn1c/CriticalityDiagnostics-IE-List.c delete mode 100644 src/asn1c/CriticalityDiagnostics-IE-List.h delete mode 100644 src/asn1c/CriticalityDiagnostics.c delete mode 100644 src/asn1c/CriticalityDiagnostics.h delete mode 100644 src/asn1c/ESN.c delete mode 100644 src/asn1c/ESN.h delete mode 100644 src/asn1c/ErrorIndication.c delete mode 100644 src/asn1c/ErrorIndication.h delete mode 100644 src/asn1c/GTP-TEI.c delete mode 100644 src/asn1c/GTP-TEI.h delete mode 100644 src/asn1c/GeographicalCoordinates.c delete mode 100644 src/asn1c/GeographicalCoordinates.h delete mode 100644 src/asn1c/GeographicalLocation.c delete mode 100644 src/asn1c/GeographicalLocation.h delete mode 100644 src/asn1c/HNB-Cell-Access-Mode.c delete mode 100644 src/asn1c/HNB-Cell-Access-Mode.h delete mode 100644 src/asn1c/HNB-Cell-Identifier.c delete mode 100644 src/asn1c/HNB-Cell-Identifier.h delete mode 100644 src/asn1c/HNB-GWResponse.c delete mode 100644 src/asn1c/HNB-GWResponse.h delete mode 100644 src/asn1c/HNB-Identity-Info.c delete mode 100644 src/asn1c/HNB-Identity-Info.h delete mode 100644 src/asn1c/HNB-Identity.c delete mode 100644 src/asn1c/HNB-Identity.h delete mode 100644 src/asn1c/HNB-Location-Information.c delete mode 100644 src/asn1c/HNB-Location-Information.h delete mode 100644 src/asn1c/HNB-RNL-Identity.c delete mode 100644 src/asn1c/HNB-RNL-Identity.h delete mode 100644 src/asn1c/HNBAP-PDU.c delete mode 100644 src/asn1c/HNBAP-PDU.h delete mode 100644 src/asn1c/HNBCapacity.c delete mode 100644 src/asn1c/HNBCapacity.h delete mode 100644 src/asn1c/HNBConfigInfo.c delete mode 100644 src/asn1c/HNBConfigInfo.h delete mode 100644 src/asn1c/HNBConfigTransferRequest.c delete mode 100644 src/asn1c/HNBConfigTransferRequest.h delete mode 100644 src/asn1c/HNBConfigTransferResponse.c delete mode 100644 src/asn1c/HNBConfigTransferResponse.h delete mode 100644 src/asn1c/HNBConfigurationInformationMissing.c delete mode 100644 src/asn1c/HNBConfigurationInformationMissing.h delete mode 100644 src/asn1c/HNBConfigurationInformationProvided.c delete mode 100644 src/asn1c/HNBConfigurationInformationProvided.h delete mode 100644 src/asn1c/HNBDe-Register.c delete mode 100644 src/asn1c/HNBDe-Register.h delete mode 100644 src/asn1c/HNBRegisterAccept.c delete mode 100644 src/asn1c/HNBRegisterAccept.h delete mode 100644 src/asn1c/HNBRegisterReject.c delete mode 100644 src/asn1c/HNBRegisterReject.h delete mode 100644 src/asn1c/HNBRegisterRequest.c delete mode 100644 src/asn1c/HNBRegisterRequest.h delete mode 100644 src/asn1c/IE-Extensions.c delete mode 100644 src/asn1c/IE-Extensions.h delete mode 100644 src/asn1c/IE.c delete mode 100644 src/asn1c/IE.h delete mode 100644 src/asn1c/IMEI.c delete mode 100644 src/asn1c/IMEI.h delete mode 100644 src/asn1c/IMSI.c delete mode 100644 src/asn1c/IMSI.h delete mode 100644 src/asn1c/IMSIDS41.c delete mode 100644 src/asn1c/IMSIDS41.h delete mode 100644 src/asn1c/IMSIESN.c delete mode 100644 src/asn1c/IMSIESN.h delete mode 100644 src/asn1c/IP-Address.c delete mode 100644 src/asn1c/IP-Address.h delete mode 100644 src/asn1c/InitiatingMessage.c delete mode 100644 src/asn1c/InitiatingMessage.h delete mode 100644 src/asn1c/Ipv4Address.c delete mode 100644 src/asn1c/Ipv4Address.h delete mode 100644 src/asn1c/Ipv6Address.c delete mode 100644 src/asn1c/Ipv6Address.h delete mode 100644 src/asn1c/Iurh-Signalling-TNL-AddressList.c delete mode 100644 src/asn1c/Iurh-Signalling-TNL-AddressList.h delete mode 100644 src/asn1c/LAC.c delete mode 100644 src/asn1c/LAC.h delete mode 100644 src/asn1c/LAI.c delete mode 100644 src/asn1c/LAI.h delete mode 100644 src/asn1c/MacroCellID.c delete mode 100644 src/asn1c/MacroCellID.h delete mode 100644 src/asn1c/MacroCoverageInformation.c delete mode 100644 src/asn1c/MacroCoverageInformation.h delete mode 100644 src/asn1c/Makefile.local delete mode 100644 src/asn1c/MuxPortNumber.c delete mode 100644 src/asn1c/MuxPortNumber.h delete mode 100644 src/asn1c/NeighbourCellIdentityList.c delete mode 100644 src/asn1c/NeighbourCellIdentityList.h delete mode 100644 src/asn1c/NeighbourIdentity.c delete mode 100644 src/asn1c/NeighbourIdentity.h delete mode 100644 src/asn1c/NeighbourInfoList.c delete mode 100644 src/asn1c/NeighbourInfoList.h delete mode 100644 src/asn1c/NeighbourInfoRequestItem.c delete mode 100644 src/asn1c/NeighbourInfoRequestItem.h delete mode 100644 src/asn1c/NeighbourInfoRequestList.c delete mode 100644 src/asn1c/NeighbourInfoRequestList.h delete mode 100644 src/asn1c/PLMNidentity.c delete mode 100644 src/asn1c/PLMNidentity.h delete mode 100644 src/asn1c/PSC.c delete mode 100644 src/asn1c/PSC.h delete mode 100644 src/asn1c/PTMSI.c delete mode 100644 src/asn1c/PTMSI.h delete mode 100644 src/asn1c/PTMSIRAI.c delete mode 100644 src/asn1c/PTMSIRAI.h delete mode 100644 src/asn1c/Presence.c delete mode 100644 src/asn1c/Presence.h delete mode 100644 src/asn1c/PrivateIE-ID.c delete mode 100644 src/asn1c/PrivateIE-ID.h delete mode 100644 src/asn1c/PrivateMessage.c delete mode 100644 src/asn1c/PrivateMessage.h delete mode 100644 src/asn1c/ProcedureCode.c delete mode 100644 src/asn1c/ProcedureCode.h delete mode 100644 src/asn1c/ProtocolIE-ID.c delete mode 100644 src/asn1c/ProtocolIE-ID.h delete mode 100644 src/asn1c/RAB-ID.c delete mode 100644 src/asn1c/RAB-ID.h delete mode 100644 src/asn1c/RABList.c delete mode 100644 src/asn1c/RABList.h delete mode 100644 src/asn1c/RABListItem.c delete mode 100644 src/asn1c/RABListItem.h delete mode 100644 src/asn1c/RAC.c delete mode 100644 src/asn1c/RAC.h delete mode 100644 src/asn1c/RAI.c delete mode 100644 src/asn1c/RAI.h delete mode 100644 src/asn1c/RNC-ID.c delete mode 100644 src/asn1c/RNC-ID.h delete mode 100644 src/asn1c/Registration-Cause.c delete mode 100644 src/asn1c/Registration-Cause.h delete mode 100644 src/asn1c/RelocationComplete.c delete mode 100644 src/asn1c/RelocationComplete.h delete mode 100644 src/asn1c/S-RNTIPrefix.c delete mode 100644 src/asn1c/S-RNTIPrefix.h delete mode 100644 src/asn1c/SAC.c delete mode 100644 src/asn1c/SAC.h delete mode 100644 src/asn1c/SuccessfulOutcome.c delete mode 100644 src/asn1c/SuccessfulOutcome.h delete mode 100644 src/asn1c/TMSIDS41.c delete mode 100644 src/asn1c/TMSIDS41.h delete mode 100644 src/asn1c/TMSILAI.c delete mode 100644 src/asn1c/TMSILAI.h delete mode 100644 src/asn1c/TNLUpdateFailure.c delete mode 100644 src/asn1c/TNLUpdateFailure.h delete mode 100644 src/asn1c/TNLUpdateRequest.c delete mode 100644 src/asn1c/TNLUpdateRequest.h delete mode 100644 src/asn1c/TNLUpdateResponse.c delete mode 100644 src/asn1c/TNLUpdateResponse.h delete mode 100644 src/asn1c/TransportInfo.c delete mode 100644 src/asn1c/TransportInfo.h delete mode 100644 src/asn1c/TransportLayerAddress.c delete mode 100644 src/asn1c/TransportLayerAddress.h delete mode 100644 src/asn1c/TriggeringMessage.c delete mode 100644 src/asn1c/TriggeringMessage.h delete mode 100644 src/asn1c/Tunnel-Information.c delete mode 100644 src/asn1c/Tunnel-Information.h delete mode 100644 src/asn1c/TypeOfError.c delete mode 100644 src/asn1c/TypeOfError.h delete mode 100644 src/asn1c/U-RNTI.c delete mode 100644 src/asn1c/U-RNTI.h delete mode 100644 src/asn1c/U-RNTIQueryRequest.c delete mode 100644 src/asn1c/U-RNTIQueryRequest.h delete mode 100644 src/asn1c/U-RNTIQueryResponse.c delete mode 100644 src/asn1c/U-RNTIQueryResponse.h delete mode 100644 src/asn1c/UDP-Port-Number.c delete mode 100644 src/asn1c/UDP-Port-Number.h delete mode 100644 src/asn1c/UE-Capabilities.c delete mode 100644 src/asn1c/UE-Capabilities.h delete mode 100644 src/asn1c/UE-Identity.c delete mode 100644 src/asn1c/UE-Identity.h delete mode 100644 src/asn1c/UEDe-Register.c delete mode 100644 src/asn1c/UEDe-Register.h delete mode 100644 src/asn1c/UERegisterAccept.c delete mode 100644 src/asn1c/UERegisterAccept.h delete mode 100644 src/asn1c/UERegisterReject.c delete mode 100644 src/asn1c/UERegisterReject.h delete mode 100644 src/asn1c/UERegisterRequest.c delete mode 100644 src/asn1c/UERegisterRequest.h delete mode 100644 src/asn1c/URAIdentity.c delete mode 100644 src/asn1c/URAIdentity.h delete mode 100644 src/asn1c/URAIdentityList.c delete mode 100644 src/asn1c/URAIdentityList.h delete mode 100644 src/asn1c/UTRANCellID.c delete mode 100644 src/asn1c/UTRANCellID.h delete mode 100644 src/asn1c/UnknownU-RNTIIndication.c delete mode 100644 src/asn1c/UnknownU-RNTIIndication.h delete mode 100644 src/asn1c/UnsuccessfulOutcome.c delete mode 100644 src/asn1c/UnsuccessfulOutcome.h delete mode 100644 src/asn1c/Update-cause.c delete mode 100644 src/asn1c/Update-cause.h create mode 100644 src/hnbap/.gitignore create mode 100644 src/hnbap/Access-stratum-release-indicator.c create mode 100644 src/hnbap/Access-stratum-release-indicator.h create mode 100644 src/hnbap/AccessResult.c create mode 100644 src/hnbap/AccessResult.h create mode 100644 src/hnbap/AdditionalNeighbourInfoList.c create mode 100644 src/hnbap/AdditionalNeighbourInfoList.h create mode 100644 src/hnbap/AltitudeAndDirection.c create mode 100644 src/hnbap/AltitudeAndDirection.h create mode 100644 src/hnbap/BackoffTimer.c create mode 100644 src/hnbap/BackoffTimer.h create mode 100644 src/hnbap/BindingID.c create mode 100644 src/hnbap/BindingID.h create mode 100644 src/hnbap/CELL-FACHMobilitySupport.c create mode 100644 src/hnbap/CELL-FACHMobilitySupport.h create mode 100644 src/hnbap/CGI.c create mode 100644 src/hnbap/CGI.h create mode 100644 src/hnbap/CI.c create mode 100644 src/hnbap/CI.h create mode 100644 src/hnbap/CN-DomainIndicator.c create mode 100644 src/hnbap/CN-DomainIndicator.h create mode 100644 src/hnbap/CSG-Capability.c create mode 100644 src/hnbap/CSG-Capability.h create mode 100644 src/hnbap/CSG-ID.c create mode 100644 src/hnbap/CSG-ID.h create mode 100644 src/hnbap/CSGMembershipStatus.c create mode 100644 src/hnbap/CSGMembershipStatus.h create mode 100644 src/hnbap/CSGMembershipUpdate.c create mode 100644 src/hnbap/CSGMembershipUpdate.h create mode 100644 src/hnbap/Cause.c create mode 100644 src/hnbap/Cause.h create mode 100644 src/hnbap/CauseMisc.c create mode 100644 src/hnbap/CauseMisc.h create mode 100644 src/hnbap/CauseProtocol.c create mode 100644 src/hnbap/CauseProtocol.h create mode 100644 src/hnbap/CauseRadioNetwork.c create mode 100644 src/hnbap/CauseRadioNetwork.h create mode 100644 src/hnbap/CauseTransport.c create mode 100644 src/hnbap/CauseTransport.h create mode 100644 src/hnbap/CellIdentity.c create mode 100644 src/hnbap/CellIdentity.h create mode 100644 src/hnbap/ConfigurationInformation.c create mode 100644 src/hnbap/ConfigurationInformation.h create mode 100644 src/hnbap/Context-ID.c create mode 100644 src/hnbap/Context-ID.h create mode 100644 src/hnbap/Criticality.c create mode 100644 src/hnbap/Criticality.h create mode 100644 src/hnbap/CriticalityDiagnostics-IE-List.c create mode 100644 src/hnbap/CriticalityDiagnostics-IE-List.h create mode 100644 src/hnbap/CriticalityDiagnostics.c create mode 100644 src/hnbap/CriticalityDiagnostics.h create mode 100644 src/hnbap/ESN.c create mode 100644 src/hnbap/ESN.h create mode 100644 src/hnbap/ErrorIndication.c create mode 100644 src/hnbap/ErrorIndication.h create mode 100644 src/hnbap/GTP-TEI.c create mode 100644 src/hnbap/GTP-TEI.h create mode 100644 src/hnbap/GeographicalCoordinates.c create mode 100644 src/hnbap/GeographicalCoordinates.h create mode 100644 src/hnbap/GeographicalLocation.c create mode 100644 src/hnbap/GeographicalLocation.h create mode 100644 src/hnbap/HNB-Cell-Access-Mode.c create mode 100644 src/hnbap/HNB-Cell-Access-Mode.h create mode 100644 src/hnbap/HNB-Cell-Identifier.c create mode 100644 src/hnbap/HNB-Cell-Identifier.h create mode 100644 src/hnbap/HNB-GWResponse.c create mode 100644 src/hnbap/HNB-GWResponse.h create mode 100644 src/hnbap/HNB-Identity-Info.c create mode 100644 src/hnbap/HNB-Identity-Info.h create mode 100644 src/hnbap/HNB-Identity.c create mode 100644 src/hnbap/HNB-Identity.h create mode 100644 src/hnbap/HNB-Location-Information.c create mode 100644 src/hnbap/HNB-Location-Information.h create mode 100644 src/hnbap/HNB-RNL-Identity.c create mode 100644 src/hnbap/HNB-RNL-Identity.h create mode 100644 src/hnbap/HNBAP-PDU.c create mode 100644 src/hnbap/HNBAP-PDU.h create mode 100644 src/hnbap/HNBCapacity.c create mode 100644 src/hnbap/HNBCapacity.h create mode 100644 src/hnbap/HNBConfigInfo.c create mode 100644 src/hnbap/HNBConfigInfo.h create mode 100644 src/hnbap/HNBConfigTransferRequest.c create mode 100644 src/hnbap/HNBConfigTransferRequest.h create mode 100644 src/hnbap/HNBConfigTransferResponse.c create mode 100644 src/hnbap/HNBConfigTransferResponse.h create mode 100644 src/hnbap/HNBConfigurationInformationMissing.c create mode 100644 src/hnbap/HNBConfigurationInformationMissing.h create mode 100644 src/hnbap/HNBConfigurationInformationProvided.c create mode 100644 src/hnbap/HNBConfigurationInformationProvided.h create mode 100644 src/hnbap/HNBDe-Register.c create mode 100644 src/hnbap/HNBDe-Register.h create mode 100644 src/hnbap/HNBRegisterAccept.c create mode 100644 src/hnbap/HNBRegisterAccept.h create mode 100644 src/hnbap/HNBRegisterReject.c create mode 100644 src/hnbap/HNBRegisterReject.h create mode 100644 src/hnbap/HNBRegisterRequest.c create mode 100644 src/hnbap/HNBRegisterRequest.h create mode 100644 src/hnbap/IE-Extensions.c create mode 100644 src/hnbap/IE-Extensions.h create mode 100644 src/hnbap/IE.c create mode 100644 src/hnbap/IE.h create mode 100644 src/hnbap/IMEI.c create mode 100644 src/hnbap/IMEI.h create mode 100644 src/hnbap/IMSI.c create mode 100644 src/hnbap/IMSI.h create mode 100644 src/hnbap/IMSIDS41.c create mode 100644 src/hnbap/IMSIDS41.h create mode 100644 src/hnbap/IMSIESN.c create mode 100644 src/hnbap/IMSIESN.h create mode 100644 src/hnbap/IP-Address.c create mode 100644 src/hnbap/IP-Address.h create mode 100644 src/hnbap/InitiatingMessage.c create mode 100644 src/hnbap/InitiatingMessage.h create mode 100644 src/hnbap/Ipv4Address.c create mode 100644 src/hnbap/Ipv4Address.h create mode 100644 src/hnbap/Ipv6Address.c create mode 100644 src/hnbap/Ipv6Address.h create mode 100644 src/hnbap/Iurh-Signalling-TNL-AddressList.c create mode 100644 src/hnbap/Iurh-Signalling-TNL-AddressList.h create mode 100644 src/hnbap/LAC.c create mode 100644 src/hnbap/LAC.h create mode 100644 src/hnbap/LAI.c create mode 100644 src/hnbap/LAI.h create mode 100644 src/hnbap/MacroCellID.c create mode 100644 src/hnbap/MacroCellID.h create mode 100644 src/hnbap/MacroCoverageInformation.c create mode 100644 src/hnbap/MacroCoverageInformation.h create mode 100644 src/hnbap/Makefile create mode 100644 src/hnbap/MuxPortNumber.c create mode 100644 src/hnbap/MuxPortNumber.h create mode 100644 src/hnbap/NeighbourCellIdentityList.c create mode 100644 src/hnbap/NeighbourCellIdentityList.h create mode 100644 src/hnbap/NeighbourIdentity.c create mode 100644 src/hnbap/NeighbourIdentity.h create mode 100644 src/hnbap/NeighbourInfoList.c create mode 100644 src/hnbap/NeighbourInfoList.h create mode 100644 src/hnbap/NeighbourInfoRequestItem.c create mode 100644 src/hnbap/NeighbourInfoRequestItem.h create mode 100644 src/hnbap/NeighbourInfoRequestList.c create mode 100644 src/hnbap/NeighbourInfoRequestList.h create mode 100644 src/hnbap/PLMNidentity.c create mode 100644 src/hnbap/PLMNidentity.h create mode 100644 src/hnbap/PSC.c create mode 100644 src/hnbap/PSC.h create mode 100644 src/hnbap/PTMSI.c create mode 100644 src/hnbap/PTMSI.h create mode 100644 src/hnbap/PTMSIRAI.c create mode 100644 src/hnbap/PTMSIRAI.h create mode 100644 src/hnbap/Presence.c create mode 100644 src/hnbap/Presence.h create mode 100644 src/hnbap/PrivateIE-ID.c create mode 100644 src/hnbap/PrivateIE-ID.h create mode 100644 src/hnbap/PrivateMessage.c create mode 100644 src/hnbap/PrivateMessage.h create mode 100644 src/hnbap/ProcedureCode.c create mode 100644 src/hnbap/ProcedureCode.h create mode 100644 src/hnbap/ProtocolIE-ID.c create mode 100644 src/hnbap/ProtocolIE-ID.h create mode 100644 src/hnbap/RAB-ID.c create mode 100644 src/hnbap/RAB-ID.h create mode 100644 src/hnbap/RABList.c create mode 100644 src/hnbap/RABList.h create mode 100644 src/hnbap/RABListItem.c create mode 100644 src/hnbap/RABListItem.h create mode 100644 src/hnbap/RAC.c create mode 100644 src/hnbap/RAC.h create mode 100644 src/hnbap/RAI.c create mode 100644 src/hnbap/RAI.h create mode 100644 src/hnbap/RNC-ID.c create mode 100644 src/hnbap/RNC-ID.h create mode 100644 src/hnbap/Registration-Cause.c create mode 100644 src/hnbap/Registration-Cause.h create mode 100644 src/hnbap/RelocationComplete.c create mode 100644 src/hnbap/RelocationComplete.h create mode 100644 src/hnbap/S-RNTIPrefix.c create mode 100644 src/hnbap/S-RNTIPrefix.h create mode 100644 src/hnbap/SAC.c create mode 100644 src/hnbap/SAC.h create mode 100644 src/hnbap/SuccessfulOutcome.c create mode 100644 src/hnbap/SuccessfulOutcome.h create mode 100644 src/hnbap/TMSIDS41.c create mode 100644 src/hnbap/TMSIDS41.h create mode 100644 src/hnbap/TMSILAI.c create mode 100644 src/hnbap/TMSILAI.h create mode 100644 src/hnbap/TNLUpdateFailure.c create mode 100644 src/hnbap/TNLUpdateFailure.h create mode 100644 src/hnbap/TNLUpdateRequest.c create mode 100644 src/hnbap/TNLUpdateRequest.h create mode 100644 src/hnbap/TNLUpdateResponse.c create mode 100644 src/hnbap/TNLUpdateResponse.h create mode 100644 src/hnbap/TransportInfo.c create mode 100644 src/hnbap/TransportInfo.h create mode 100644 src/hnbap/TransportLayerAddress.c create mode 100644 src/hnbap/TransportLayerAddress.h create mode 100644 src/hnbap/TriggeringMessage.c create mode 100644 src/hnbap/TriggeringMessage.h create mode 100644 src/hnbap/Tunnel-Information.c create mode 100644 src/hnbap/Tunnel-Information.h create mode 100644 src/hnbap/TypeOfError.c create mode 100644 src/hnbap/TypeOfError.h create mode 100644 src/hnbap/U-RNTI.c create mode 100644 src/hnbap/U-RNTI.h create mode 100644 src/hnbap/U-RNTIQueryRequest.c create mode 100644 src/hnbap/U-RNTIQueryRequest.h create mode 100644 src/hnbap/U-RNTIQueryResponse.c create mode 100644 src/hnbap/U-RNTIQueryResponse.h create mode 100644 src/hnbap/UDP-Port-Number.c create mode 100644 src/hnbap/UDP-Port-Number.h create mode 100644 src/hnbap/UE-Capabilities.c create mode 100644 src/hnbap/UE-Capabilities.h create mode 100644 src/hnbap/UE-Identity.c create mode 100644 src/hnbap/UE-Identity.h create mode 100644 src/hnbap/UEDe-Register.c create mode 100644 src/hnbap/UEDe-Register.h create mode 100644 src/hnbap/UERegisterAccept.c create mode 100644 src/hnbap/UERegisterAccept.h create mode 100644 src/hnbap/UERegisterReject.c create mode 100644 src/hnbap/UERegisterReject.h create mode 100644 src/hnbap/UERegisterRequest.c create mode 100644 src/hnbap/UERegisterRequest.h create mode 100644 src/hnbap/URAIdentity.c create mode 100644 src/hnbap/URAIdentity.h create mode 100644 src/hnbap/URAIdentityList.c create mode 100644 src/hnbap/URAIdentityList.h create mode 100644 src/hnbap/UTRANCellID.c create mode 100644 src/hnbap/UTRANCellID.h create mode 100644 src/hnbap/UnknownU-RNTIIndication.c create mode 100644 src/hnbap/UnknownU-RNTIIndication.h create mode 100644 src/hnbap/UnsuccessfulOutcome.c create mode 100644 src/hnbap/UnsuccessfulOutcome.h create mode 100644 src/hnbap/Update-cause.c create mode 100644 src/hnbap/Update-cause.h (limited to 'src') diff --git a/src/Makefile b/src/Makefile index d248859..cab64ff 100644 --- a/src/Makefile +++ b/src/Makefile @@ -2,13 +2,18 @@ ASN1_ROOT=../asn1/ ASN1_FILES=HNBAP-CommonDataTypes.asn ASN1TOSTRUCT:=$(ASN1_ROOT)/utils/asn1tostruct.py -#ASN1_SRCS:=$(patsubst -CFLAGS=-g -Wall `pkg-config --cflags libosmocore libosmovty libosmogsm libasn1c` -Iasn1c/ -LDFLAGS=`pkg-config --libs libosmocore libosmovty libosmogsm libasn1c` -lsctp +PKG_INCLUDES:=$(shell pkg-config --cflags libosmocore libosmovty libosmogsm libasn1c) +PKG_LDFLAGS:=$(shell pkg-config --libs libosmocore libosmovty libosmogsm libasn1c) -RANAP_OBJS=ranap/libosmo-asn1-ranap.a #ranap_encoder.o ranap_decoder.o -RUA_OBJS=rua/libosmo-asn1-rua.a #rua_encoder.o rua_decoder.o +CFLAGS:=-g -Wall $(PKG_INCLUDES) -Ihnbap/ +LDFLAGS:=$(PKG_LDFLAGS) -lsctp + +HNBAP_OBJS=hnbap_encoder.o hnbap_decoder.o +RANAP_OBJS=#ranap_encoder.o ranap_decoder.o +RUA_OBJS=#rua_encoder.o rua_decoder.o + +LIBS=hnbap/libosmo-asn1-hnbap.a rua/libosmo-asn1-rua.a ranap/libosmo-asn1-ranap.a all: hnbgw @@ -32,8 +37,8 @@ ranap_common.h: rua_common.h: for f in ranap/*.h; do echo "#include \"$f\""; done > rua_common.h -asn1c/libosmo-asn1-hnbap.a: - $(MAKE) -C asn1c +hnbap/libosmo-asn1-hnbap.a: + $(MAKE) -C hnbap rua/libosmo-asn1-rua.a: $(MAKE) -C rua @@ -41,11 +46,16 @@ rua/libosmo-asn1-rua.a: ranap/libosmo-asn1-ranap.a: $(MAKE) -C ranap -hnbgw: asn1helpers.o hnbap_common.o hnbap_encoder.o hnbap_decoder.o hnbgw.o hnbgw_hnbap.o asn1c/libosmo-asn1-hnbap.a $(RUA_OBJS) $(RANAP_OBJS) +hnbgw: asn1helpers.o hnbap_common.o hnbgw.o hnbgw_hnbap.o $(HNBAP_OBJS) $(RUA_OBJS) $(RANAP_OBJS) $(LIBS) $(CC) $(LDFLAGS) -o $@ $^ %.o: %.c $(CC) $(CFLAGS) -o $@ -c $^ clean: - @rm -f hmbgw *.o + @rm -f hnbgw *.o + +mrproper: clean + $(MAKE) -C hnbap clean + $(MAKE) -C rua clean + $(MAKE) -C ranap clean diff --git a/src/asn1c/.gitignore b/src/asn1c/.gitignore deleted file mode 100644 index 3698ce1..0000000 --- a/src/asn1c/.gitignore +++ /dev/null @@ -1,60 +0,0 @@ -ANY.c -ANY.h -BIT_STRING.c -BIT_STRING.h -INTEGER.c -INTEGER.h -Makefile.am.sample -NativeEnumerated.c -NativeEnumerated.h -NativeInteger.c -NativeInteger.h -OBJECT_IDENTIFIER.c -OBJECT_IDENTIFIER.h -OCTET_STRING.c -OCTET_STRING.h -asn_SEQUENCE_OF.c -asn_SEQUENCE_OF.h -asn_SET_OF.c -asn_SET_OF.h -asn_application.h -asn_codecs.h -asn_codecs_prim.c -asn_codecs_prim.h -asn_internal.h -asn_system.h -ber_decoder.c -ber_decoder.h -ber_tlv_length.c -ber_tlv_length.h -ber_tlv_tag.c -ber_tlv_tag.h -constr_CHOICE.c -constr_CHOICE.h -constr_SEQUENCE.c -constr_SEQUENCE.h -constr_SEQUENCE_OF.c -constr_SEQUENCE_OF.h -constr_SET_OF.c -constr_SET_OF.h -constr_TYPE.c -constr_TYPE.h -constraints.c -constraints.h -converter-sample.c -der_encoder.c -der_encoder.h -per_decoder.c -per_decoder.h -per_encoder.c -per_encoder.h -per_opentype.c -per_opentype.h -per_support.c -per_support.h -xer_decoder.c -xer_decoder.h -xer_encoder.c -xer_encoder.h -xer_support.c -xer_support.h diff --git a/src/asn1c/Access-stratum-release-indicator.c b/src/asn1c/Access-stratum-release-indicator.c deleted file mode 100644 index 1b13cd9..0000000 --- a/src/asn1c/Access-stratum-release-indicator.c +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "Access-stratum-release-indicator.h" - -int -Access_stratum_release_indicator_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -Access_stratum_release_indicator_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -Access_stratum_release_indicator_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -Access_stratum_release_indicator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -Access_stratum_release_indicator_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -Access_stratum_release_indicator_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -Access_stratum_release_indicator_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -Access_stratum_release_indicator_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -Access_stratum_release_indicator_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -Access_stratum_release_indicator_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -Access_stratum_release_indicator_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -Access_stratum_release_indicator_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_Access_stratum_release_indicator_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 5l } /* (0..5,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_Access_stratum_release_indicator_value2enum_1[] = { - { 0, 3, "r99" }, - { 1, 5, "rel-4" }, - { 2, 5, "rel-5" }, - { 3, 5, "rel-6" }, - { 4, 5, "rel-7" }, - { 5, 16, "rel-8-and-beyond" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_Access_stratum_release_indicator_enum2value_1[] = { - 0, /* r99(0) */ - 1, /* rel-4(1) */ - 2, /* rel-5(2) */ - 3, /* rel-6(3) */ - 4, /* rel-7(4) */ - 5 /* rel-8-and-beyond(5) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_Access_stratum_release_indicator_specs_1 = { - asn_MAP_Access_stratum_release_indicator_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_Access_stratum_release_indicator_enum2value_1, /* N => "tag"; sorted by N */ - 6, /* Number of elements in the maps */ - 7, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Access_stratum_release_indicator_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Access_stratum_release_indicator = { - "Access-stratum-release-indicator", - "Access-stratum-release-indicator", - Access_stratum_release_indicator_free, - Access_stratum_release_indicator_print, - Access_stratum_release_indicator_constraint, - Access_stratum_release_indicator_decode_ber, - Access_stratum_release_indicator_encode_der, - Access_stratum_release_indicator_decode_xer, - Access_stratum_release_indicator_encode_xer, - Access_stratum_release_indicator_decode_uper, - Access_stratum_release_indicator_encode_uper, - Access_stratum_release_indicator_decode_aper, - Access_stratum_release_indicator_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_Access_stratum_release_indicator_tags_1, - sizeof(asn_DEF_Access_stratum_release_indicator_tags_1) - /sizeof(asn_DEF_Access_stratum_release_indicator_tags_1[0]), /* 1 */ - asn_DEF_Access_stratum_release_indicator_tags_1, /* Same as above */ - sizeof(asn_DEF_Access_stratum_release_indicator_tags_1) - /sizeof(asn_DEF_Access_stratum_release_indicator_tags_1[0]), /* 1 */ - &asn_PER_type_Access_stratum_release_indicator_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Access_stratum_release_indicator_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/Access-stratum-release-indicator.h b/src/asn1c/Access-stratum-release-indicator.h deleted file mode 100644 index 1e1f7e1..0000000 --- a/src/asn1c/Access-stratum-release-indicator.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _Access_stratum_release_indicator_H_ -#define _Access_stratum_release_indicator_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Access_stratum_release_indicator { - Access_stratum_release_indicator_r99 = 0, - Access_stratum_release_indicator_rel_4 = 1, - Access_stratum_release_indicator_rel_5 = 2, - Access_stratum_release_indicator_rel_6 = 3, - Access_stratum_release_indicator_rel_7 = 4, - Access_stratum_release_indicator_rel_8_and_beyond = 5 - /* - * Enumeration is extensible - */ -} e_Access_stratum_release_indicator; - -/* Access-stratum-release-indicator */ -typedef long Access_stratum_release_indicator_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Access_stratum_release_indicator; -asn_struct_free_f Access_stratum_release_indicator_free; -asn_struct_print_f Access_stratum_release_indicator_print; -asn_constr_check_f Access_stratum_release_indicator_constraint; -ber_type_decoder_f Access_stratum_release_indicator_decode_ber; -der_type_encoder_f Access_stratum_release_indicator_encode_der; -xer_type_decoder_f Access_stratum_release_indicator_decode_xer; -xer_type_encoder_f Access_stratum_release_indicator_encode_xer; -per_type_decoder_f Access_stratum_release_indicator_decode_uper; -per_type_encoder_f Access_stratum_release_indicator_encode_uper; -per_type_decoder_f Access_stratum_release_indicator_decode_aper; -per_type_encoder_f Access_stratum_release_indicator_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Access_stratum_release_indicator_H_ */ -#include diff --git a/src/asn1c/AccessResult.c b/src/asn1c/AccessResult.c deleted file mode 100644 index 0e6cda0..0000000 --- a/src/asn1c/AccessResult.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "AccessResult.h" - -int -AccessResult_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -AccessResult_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -AccessResult_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - AccessResult_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -AccessResult_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - AccessResult_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -AccessResult_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - AccessResult_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -AccessResult_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - AccessResult_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -AccessResult_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - AccessResult_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -AccessResult_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - AccessResult_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -AccessResult_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - AccessResult_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -AccessResult_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - AccessResult_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -AccessResult_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - AccessResult_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -AccessResult_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - AccessResult_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_AccessResult_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_AccessResult_value2enum_1[] = { - { 0, 7, "allowed" }, - { 1, 10, "notAllowed" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_AccessResult_enum2value_1[] = { - 0, /* allowed(0) */ - 1 /* notAllowed(1) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_AccessResult_specs_1 = { - asn_MAP_AccessResult_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_AccessResult_enum2value_1, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 3, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_AccessResult_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_AccessResult = { - "AccessResult", - "AccessResult", - AccessResult_free, - AccessResult_print, - AccessResult_constraint, - AccessResult_decode_ber, - AccessResult_encode_der, - AccessResult_decode_xer, - AccessResult_encode_xer, - AccessResult_decode_uper, - AccessResult_encode_uper, - AccessResult_decode_aper, - AccessResult_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_AccessResult_tags_1, - sizeof(asn_DEF_AccessResult_tags_1) - /sizeof(asn_DEF_AccessResult_tags_1[0]), /* 1 */ - asn_DEF_AccessResult_tags_1, /* Same as above */ - sizeof(asn_DEF_AccessResult_tags_1) - /sizeof(asn_DEF_AccessResult_tags_1[0]), /* 1 */ - &asn_PER_type_AccessResult_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_AccessResult_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/AccessResult.h b/src/asn1c/AccessResult.h deleted file mode 100644 index e9f8087..0000000 --- a/src/asn1c/AccessResult.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _AccessResult_H_ -#define _AccessResult_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AccessResult { - AccessResult_allowed = 0, - AccessResult_notAllowed = 1 - /* - * Enumeration is extensible - */ -} e_AccessResult; - -/* AccessResult */ -typedef long AccessResult_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AccessResult; -asn_struct_free_f AccessResult_free; -asn_struct_print_f AccessResult_print; -asn_constr_check_f AccessResult_constraint; -ber_type_decoder_f AccessResult_decode_ber; -der_type_encoder_f AccessResult_encode_der; -xer_type_decoder_f AccessResult_decode_xer; -xer_type_encoder_f AccessResult_encode_xer; -per_type_decoder_f AccessResult_decode_uper; -per_type_encoder_f AccessResult_encode_uper; -per_type_decoder_f AccessResult_decode_aper; -per_type_encoder_f AccessResult_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AccessResult_H_ */ -#include diff --git a/src/asn1c/AdditionalNeighbourInfoList.c b/src/asn1c/AdditionalNeighbourInfoList.c deleted file mode 100644 index e592c7f..0000000 --- a/src/asn1c/AdditionalNeighbourInfoList.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "AdditionalNeighbourInfoList.h" - -static asn_per_constraints_t asn_PER_type_AdditionalNeighbourInfoList_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 7, 7, 1l, 128l } /* (SIZE(1..128)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_AdditionalNeighbourInfoList_1[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_HNBConfigInfo, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_AdditionalNeighbourInfoList_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_AdditionalNeighbourInfoList_specs_1 = { - sizeof(struct AdditionalNeighbourInfoList), - offsetof(struct AdditionalNeighbourInfoList, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_AdditionalNeighbourInfoList = { - "AdditionalNeighbourInfoList", - "AdditionalNeighbourInfoList", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_AdditionalNeighbourInfoList_tags_1, - sizeof(asn_DEF_AdditionalNeighbourInfoList_tags_1) - /sizeof(asn_DEF_AdditionalNeighbourInfoList_tags_1[0]), /* 1 */ - asn_DEF_AdditionalNeighbourInfoList_tags_1, /* Same as above */ - sizeof(asn_DEF_AdditionalNeighbourInfoList_tags_1) - /sizeof(asn_DEF_AdditionalNeighbourInfoList_tags_1[0]), /* 1 */ - &asn_PER_type_AdditionalNeighbourInfoList_constr_1, - asn_MBR_AdditionalNeighbourInfoList_1, - 1, /* Single element */ - &asn_SPC_AdditionalNeighbourInfoList_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/AdditionalNeighbourInfoList.h b/src/asn1c/AdditionalNeighbourInfoList.h deleted file mode 100644 index 7e15f4b..0000000 --- a/src/asn1c/AdditionalNeighbourInfoList.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _AdditionalNeighbourInfoList_H_ -#define _AdditionalNeighbourInfoList_H_ - - -#include - -/* Including external dependencies */ -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct HNBConfigInfo; - -/* AdditionalNeighbourInfoList */ -typedef struct AdditionalNeighbourInfoList { - A_SEQUENCE_OF(struct HNBConfigInfo) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AdditionalNeighbourInfoList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AdditionalNeighbourInfoList; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "HNBConfigInfo.h" - -#endif /* _AdditionalNeighbourInfoList_H_ */ -#include diff --git a/src/asn1c/AltitudeAndDirection.c b/src/asn1c/AltitudeAndDirection.c deleted file mode 100644 index a747406..0000000 --- a/src/asn1c/AltitudeAndDirection.c +++ /dev/null @@ -1,261 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "AltitudeAndDirection.h" - -static int -directionOfAltitude_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -directionOfAltitude_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -static void -directionOfAltitude_2_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - directionOfAltitude_2_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -static int -directionOfAltitude_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - directionOfAltitude_2_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -static asn_dec_rval_t -directionOfAltitude_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - directionOfAltitude_2_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -static asn_enc_rval_t -directionOfAltitude_2_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - directionOfAltitude_2_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -static asn_dec_rval_t -directionOfAltitude_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - directionOfAltitude_2_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -static asn_enc_rval_t -directionOfAltitude_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - directionOfAltitude_2_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -static asn_dec_rval_t -directionOfAltitude_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - directionOfAltitude_2_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_enc_rval_t -directionOfAltitude_2_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - directionOfAltitude_2_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -static asn_enc_rval_t -directionOfAltitude_2_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - directionOfAltitude_2_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -static asn_dec_rval_t -directionOfAltitude_2_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - directionOfAltitude_2_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static int -memb_altitude_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0l && value <= 32767l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_directionOfAltitude_constr_2 GCC_NOTUSED = { - { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_altitude_constr_5 GCC_NOTUSED = { - { APC_CONSTRAINED, 15, 15, 0l, 32767l } /* (0..32767) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_directionOfAltitude_value2enum_2[] = { - { 0, 6, "height" }, - { 1, 5, "depth" } -}; -static const unsigned int asn_MAP_directionOfAltitude_enum2value_2[] = { - 1, /* depth(1) */ - 0 /* height(0) */ -}; -static const asn_INTEGER_specifics_t asn_SPC_directionOfAltitude_specs_2 = { - asn_MAP_directionOfAltitude_value2enum_2, /* "tag" => N; sorted by tag */ - asn_MAP_directionOfAltitude_enum2value_2, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_directionOfAltitude_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_directionOfAltitude_2 = { - "directionOfAltitude", - "directionOfAltitude", - directionOfAltitude_2_free, - directionOfAltitude_2_print, - directionOfAltitude_2_constraint, - directionOfAltitude_2_decode_ber, - directionOfAltitude_2_encode_der, - directionOfAltitude_2_decode_xer, - directionOfAltitude_2_encode_xer, - directionOfAltitude_2_decode_uper, - directionOfAltitude_2_encode_uper, - directionOfAltitude_2_decode_aper, - directionOfAltitude_2_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_directionOfAltitude_tags_2, - sizeof(asn_DEF_directionOfAltitude_tags_2) - /sizeof(asn_DEF_directionOfAltitude_tags_2[0]) - 1, /* 1 */ - asn_DEF_directionOfAltitude_tags_2, /* Same as above */ - sizeof(asn_DEF_directionOfAltitude_tags_2) - /sizeof(asn_DEF_directionOfAltitude_tags_2[0]), /* 2 */ - &asn_PER_type_directionOfAltitude_constr_2, - 0, 0, /* Defined elsewhere */ - &asn_SPC_directionOfAltitude_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_AltitudeAndDirection_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct AltitudeAndDirection, directionOfAltitude), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_directionOfAltitude_2, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "directionOfAltitude" - }, - { ATF_NOFLAGS, 0, offsetof(struct AltitudeAndDirection, altitude), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_NativeInteger, - memb_altitude_constraint_1, - &asn_PER_memb_altitude_constr_5, - 0, - "altitude" - }, -}; -static const ber_tlv_tag_t asn_DEF_AltitudeAndDirection_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_AltitudeAndDirection_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* directionOfAltitude */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* altitude */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_AltitudeAndDirection_specs_1 = { - sizeof(struct AltitudeAndDirection), - offsetof(struct AltitudeAndDirection, _asn_ctx), - asn_MAP_AltitudeAndDirection_tag2el_1, - 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 1, /* Start extensions */ - 3 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_AltitudeAndDirection = { - "AltitudeAndDirection", - "AltitudeAndDirection", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_AltitudeAndDirection_tags_1, - sizeof(asn_DEF_AltitudeAndDirection_tags_1) - /sizeof(asn_DEF_AltitudeAndDirection_tags_1[0]), /* 1 */ - asn_DEF_AltitudeAndDirection_tags_1, /* Same as above */ - sizeof(asn_DEF_AltitudeAndDirection_tags_1) - /sizeof(asn_DEF_AltitudeAndDirection_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_AltitudeAndDirection_1, - 2, /* Elements count */ - &asn_SPC_AltitudeAndDirection_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/AltitudeAndDirection.h b/src/asn1c/AltitudeAndDirection.h deleted file mode 100644 index 7ea3dfd..0000000 --- a/src/asn1c/AltitudeAndDirection.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _AltitudeAndDirection_H_ -#define _AltitudeAndDirection_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum directionOfAltitude { - directionOfAltitude_height = 0, - directionOfAltitude_depth = 1 -} e_directionOfAltitude; - -/* AltitudeAndDirection */ -typedef struct AltitudeAndDirection { - long directionOfAltitude; - long altitude; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AltitudeAndDirection_t; - -/* Implementation */ -/* extern asn_TYPE_descriptor_t asn_DEF_directionOfAltitude_2; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_AltitudeAndDirection; - -#ifdef __cplusplus -} -#endif - -#endif /* _AltitudeAndDirection_H_ */ -#include diff --git a/src/asn1c/BackoffTimer.c b/src/asn1c/BackoffTimer.c deleted file mode 100644 index 7dee227..0000000 --- a/src/asn1c/BackoffTimer.c +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "BackoffTimer.h" - -int -BackoffTimer_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0l && value <= 3600l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ -static void -BackoffTimer_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeInteger.free_struct; - td->print_struct = asn_DEF_NativeInteger.print_struct; - td->check_constraints = asn_DEF_NativeInteger.check_constraints; - td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; - td->der_encoder = asn_DEF_NativeInteger.der_encoder; - td->xer_decoder = asn_DEF_NativeInteger.xer_decoder; - td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; - td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; - td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; - td->aper_decoder = asn_DEF_NativeInteger.aper_decoder; - td->aper_encoder = asn_DEF_NativeInteger.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeInteger.per_constraints; - td->elements = asn_DEF_NativeInteger.elements; - td->elements_count = asn_DEF_NativeInteger.elements_count; - td->specifics = asn_DEF_NativeInteger.specifics; -} - -void -BackoffTimer_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - BackoffTimer_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -BackoffTimer_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - BackoffTimer_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -BackoffTimer_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - BackoffTimer_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -BackoffTimer_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - BackoffTimer_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -BackoffTimer_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - BackoffTimer_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -BackoffTimer_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - BackoffTimer_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -BackoffTimer_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - BackoffTimer_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -BackoffTimer_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - BackoffTimer_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -BackoffTimer_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - BackoffTimer_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -BackoffTimer_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - BackoffTimer_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_BackoffTimer_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED, 12, 12, 0l, 3600l } /* (0..3600) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_BackoffTimer_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_BackoffTimer = { - "BackoffTimer", - "BackoffTimer", - BackoffTimer_free, - BackoffTimer_print, - BackoffTimer_constraint, - BackoffTimer_decode_ber, - BackoffTimer_encode_der, - BackoffTimer_decode_xer, - BackoffTimer_encode_xer, - BackoffTimer_decode_uper, - BackoffTimer_encode_uper, - BackoffTimer_decode_aper, - BackoffTimer_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_BackoffTimer_tags_1, - sizeof(asn_DEF_BackoffTimer_tags_1) - /sizeof(asn_DEF_BackoffTimer_tags_1[0]), /* 1 */ - asn_DEF_BackoffTimer_tags_1, /* Same as above */ - sizeof(asn_DEF_BackoffTimer_tags_1) - /sizeof(asn_DEF_BackoffTimer_tags_1[0]), /* 1 */ - &asn_PER_type_BackoffTimer_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/BackoffTimer.h b/src/asn1c/BackoffTimer.h deleted file mode 100644 index 9b6b01f..0000000 --- a/src/asn1c/BackoffTimer.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _BackoffTimer_H_ -#define _BackoffTimer_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* BackoffTimer */ -typedef long BackoffTimer_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_BackoffTimer; -asn_struct_free_f BackoffTimer_free; -asn_struct_print_f BackoffTimer_print; -asn_constr_check_f BackoffTimer_constraint; -ber_type_decoder_f BackoffTimer_decode_ber; -der_type_encoder_f BackoffTimer_encode_der; -xer_type_decoder_f BackoffTimer_decode_xer; -xer_type_encoder_f BackoffTimer_encode_xer; -per_type_decoder_f BackoffTimer_decode_uper; -per_type_encoder_f BackoffTimer_encode_uper; -per_type_decoder_f BackoffTimer_decode_aper; -per_type_encoder_f BackoffTimer_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _BackoffTimer_H_ */ -#include diff --git a/src/asn1c/BindingID.c b/src/asn1c/BindingID.c deleted file mode 100644 index 7021128..0000000 --- a/src/asn1c/BindingID.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "BindingID.h" - -int -BindingID_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size >= 1l && size <= 4l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using OCTET_STRING, - * so here we adjust the DEF accordingly. - */ -static void -BindingID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_OCTET_STRING.free_struct; - td->print_struct = asn_DEF_OCTET_STRING.print_struct; - td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; - td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; - td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; - td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; - td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; - td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; - td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; - td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; - td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; - td->elements = asn_DEF_OCTET_STRING.elements; - td->elements_count = asn_DEF_OCTET_STRING.elements_count; - td->specifics = asn_DEF_OCTET_STRING.specifics; -} - -void -BindingID_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - BindingID_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -BindingID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - BindingID_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -BindingID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - BindingID_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -BindingID_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - BindingID_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -BindingID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - BindingID_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -BindingID_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - BindingID_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -BindingID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - BindingID_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -BindingID_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - BindingID_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -BindingID_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - BindingID_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -BindingID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - BindingID_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_BindingID_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 1l, 4l } /* (SIZE(1..4,...)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_BindingID_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_BindingID = { - "BindingID", - "BindingID", - BindingID_free, - BindingID_print, - BindingID_constraint, - BindingID_decode_ber, - BindingID_encode_der, - BindingID_decode_xer, - BindingID_encode_xer, - BindingID_decode_uper, - BindingID_encode_uper, - BindingID_decode_aper, - BindingID_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_BindingID_tags_1, - sizeof(asn_DEF_BindingID_tags_1) - /sizeof(asn_DEF_BindingID_tags_1[0]), /* 1 */ - asn_DEF_BindingID_tags_1, /* Same as above */ - sizeof(asn_DEF_BindingID_tags_1) - /sizeof(asn_DEF_BindingID_tags_1[0]), /* 1 */ - &asn_PER_type_BindingID_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/BindingID.h b/src/asn1c/BindingID.h deleted file mode 100644 index ad1a142..0000000 --- a/src/asn1c/BindingID.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _BindingID_H_ -#define _BindingID_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* BindingID */ -typedef OCTET_STRING_t BindingID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_BindingID; -asn_struct_free_f BindingID_free; -asn_struct_print_f BindingID_print; -asn_constr_check_f BindingID_constraint; -ber_type_decoder_f BindingID_decode_ber; -der_type_encoder_f BindingID_encode_der; -xer_type_decoder_f BindingID_decode_xer; -xer_type_encoder_f BindingID_encode_xer; -per_type_decoder_f BindingID_decode_uper; -per_type_encoder_f BindingID_encode_uper; -per_type_decoder_f BindingID_decode_aper; -per_type_encoder_f BindingID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _BindingID_H_ */ -#include diff --git a/src/asn1c/CELL-FACHMobilitySupport.c b/src/asn1c/CELL-FACHMobilitySupport.c deleted file mode 100644 index e2bc3cb..0000000 --- a/src/asn1c/CELL-FACHMobilitySupport.c +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "CELL-FACHMobilitySupport.h" - -int -CELL_FACHMobilitySupport_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -CELL_FACHMobilitySupport_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -CELL_FACHMobilitySupport_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -CELL_FACHMobilitySupport_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -CELL_FACHMobilitySupport_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -CELL_FACHMobilitySupport_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -CELL_FACHMobilitySupport_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -CELL_FACHMobilitySupport_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -CELL_FACHMobilitySupport_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -CELL_FACHMobilitySupport_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -CELL_FACHMobilitySupport_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_CELL_FACHMobilitySupport_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_CELL_FACHMobilitySupport_value2enum_1[] = { - { 0, 9, "supported" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_CELL_FACHMobilitySupport_enum2value_1[] = { - 0 /* supported(0) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_CELL_FACHMobilitySupport_specs_1 = { - asn_MAP_CELL_FACHMobilitySupport_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_CELL_FACHMobilitySupport_enum2value_1, /* N => "tag"; sorted by N */ - 1, /* Number of elements in the maps */ - 2, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_CELL_FACHMobilitySupport_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CELL_FACHMobilitySupport = { - "CELL-FACHMobilitySupport", - "CELL-FACHMobilitySupport", - CELL_FACHMobilitySupport_free, - CELL_FACHMobilitySupport_print, - CELL_FACHMobilitySupport_constraint, - CELL_FACHMobilitySupport_decode_ber, - CELL_FACHMobilitySupport_encode_der, - CELL_FACHMobilitySupport_decode_xer, - CELL_FACHMobilitySupport_encode_xer, - CELL_FACHMobilitySupport_decode_uper, - CELL_FACHMobilitySupport_encode_uper, - CELL_FACHMobilitySupport_decode_aper, - CELL_FACHMobilitySupport_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_CELL_FACHMobilitySupport_tags_1, - sizeof(asn_DEF_CELL_FACHMobilitySupport_tags_1) - /sizeof(asn_DEF_CELL_FACHMobilitySupport_tags_1[0]), /* 1 */ - asn_DEF_CELL_FACHMobilitySupport_tags_1, /* Same as above */ - sizeof(asn_DEF_CELL_FACHMobilitySupport_tags_1) - /sizeof(asn_DEF_CELL_FACHMobilitySupport_tags_1[0]), /* 1 */ - &asn_PER_type_CELL_FACHMobilitySupport_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_CELL_FACHMobilitySupport_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/CELL-FACHMobilitySupport.h b/src/asn1c/CELL-FACHMobilitySupport.h deleted file mode 100644 index 3d6b588..0000000 --- a/src/asn1c/CELL-FACHMobilitySupport.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _CELL_FACHMobilitySupport_H_ -#define _CELL_FACHMobilitySupport_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CELL_FACHMobilitySupport { - CELL_FACHMobilitySupport_supported = 0 - /* - * Enumeration is extensible - */ -} e_CELL_FACHMobilitySupport; - -/* CELL-FACHMobilitySupport */ -typedef long CELL_FACHMobilitySupport_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CELL_FACHMobilitySupport; -asn_struct_free_f CELL_FACHMobilitySupport_free; -asn_struct_print_f CELL_FACHMobilitySupport_print; -asn_constr_check_f CELL_FACHMobilitySupport_constraint; -ber_type_decoder_f CELL_FACHMobilitySupport_decode_ber; -der_type_encoder_f CELL_FACHMobilitySupport_encode_der; -xer_type_decoder_f CELL_FACHMobilitySupport_decode_xer; -xer_type_encoder_f CELL_FACHMobilitySupport_encode_xer; -per_type_decoder_f CELL_FACHMobilitySupport_decode_uper; -per_type_encoder_f CELL_FACHMobilitySupport_encode_uper; -per_type_decoder_f CELL_FACHMobilitySupport_decode_aper; -per_type_encoder_f CELL_FACHMobilitySupport_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CELL_FACHMobilitySupport_H_ */ -#include diff --git a/src/asn1c/CGI.c b/src/asn1c/CGI.c deleted file mode 100644 index 07ee72a..0000000 --- a/src/asn1c/CGI.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "CGI.h" - -static asn_TYPE_member_t asn_MBR_CGI_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct CGI, pLMNidentity), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_PLMNidentity, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "pLMNidentity" - }, - { ATF_NOFLAGS, 0, offsetof(struct CGI, lAC), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_LAC, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "lAC" - }, - { ATF_NOFLAGS, 0, offsetof(struct CGI, cI), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_CI, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "cI" - }, - { ATF_POINTER, 1, offsetof(struct CGI, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_CGI_oms_1[] = { 3 }; -static const ber_tlv_tag_t asn_DEF_CGI_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_CGI_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNidentity */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lAC */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* cI */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_CGI_specs_1 = { - sizeof(struct CGI), - offsetof(struct CGI, _asn_ctx), - asn_MAP_CGI_tag2el_1, - 4, /* Count of tags in the map */ - asn_MAP_CGI_oms_1, /* Optional members */ - 1, 0, /* Root/Additions */ - -1, /* Start extensions */ - -1 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_CGI = { - "CGI", - "CGI", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_CGI_tags_1, - sizeof(asn_DEF_CGI_tags_1) - /sizeof(asn_DEF_CGI_tags_1[0]), /* 1 */ - asn_DEF_CGI_tags_1, /* Same as above */ - sizeof(asn_DEF_CGI_tags_1) - /sizeof(asn_DEF_CGI_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_CGI_1, - 4, /* Elements count */ - &asn_SPC_CGI_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/CGI.h b/src/asn1c/CGI.h deleted file mode 100644 index 802fc9a..0000000 --- a/src/asn1c/CGI.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _CGI_H_ -#define _CGI_H_ - - -#include - -/* Including external dependencies */ -#include "PLMNidentity.h" -#include "LAC.h" -#include "CI.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE_Extensions; - -/* CGI */ -typedef struct CGI { - PLMNidentity_t pLMNidentity; - LAC_t lAC; - CI_t cI; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CGI_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CGI; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _CGI_H_ */ -#include diff --git a/src/asn1c/CI.c b/src/asn1c/CI.c deleted file mode 100644 index 0f96301..0000000 --- a/src/asn1c/CI.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "CI.h" - -int -CI_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size == 2l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using OCTET_STRING, - * so here we adjust the DEF accordingly. - */ -static void -CI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_OCTET_STRING.free_struct; - td->print_struct = asn_DEF_OCTET_STRING.print_struct; - td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; - td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; - td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; - td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; - td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; - td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; - td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; - td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; - td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; - td->elements = asn_DEF_OCTET_STRING.elements; - td->elements_count = asn_DEF_OCTET_STRING.elements_count; - td->specifics = asn_DEF_OCTET_STRING.specifics; -} - -void -CI_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - CI_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -CI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - CI_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -CI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - CI_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -CI_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - CI_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -CI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - CI_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -CI_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - CI_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -CI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CI_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -CI_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CI_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -CI_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CI_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -CI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CI_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_CI_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 2l, 2l } /* (SIZE(2..2)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_CI_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CI = { - "CI", - "CI", - CI_free, - CI_print, - CI_constraint, - CI_decode_ber, - CI_encode_der, - CI_decode_xer, - CI_encode_xer, - CI_decode_uper, - CI_encode_uper, - CI_decode_aper, - CI_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_CI_tags_1, - sizeof(asn_DEF_CI_tags_1) - /sizeof(asn_DEF_CI_tags_1[0]), /* 1 */ - asn_DEF_CI_tags_1, /* Same as above */ - sizeof(asn_DEF_CI_tags_1) - /sizeof(asn_DEF_CI_tags_1[0]), /* 1 */ - &asn_PER_type_CI_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/CI.h b/src/asn1c/CI.h deleted file mode 100644 index 8efd030..0000000 --- a/src/asn1c/CI.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _CI_H_ -#define _CI_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* CI */ -typedef OCTET_STRING_t CI_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CI; -asn_struct_free_f CI_free; -asn_struct_print_f CI_print; -asn_constr_check_f CI_constraint; -ber_type_decoder_f CI_decode_ber; -der_type_encoder_f CI_encode_der; -xer_type_decoder_f CI_decode_xer; -xer_type_encoder_f CI_encode_xer; -per_type_decoder_f CI_decode_uper; -per_type_encoder_f CI_encode_uper; -per_type_decoder_f CI_decode_aper; -per_type_encoder_f CI_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CI_H_ */ -#include diff --git a/src/asn1c/CN-DomainIndicator.c b/src/asn1c/CN-DomainIndicator.c deleted file mode 100644 index 75fbca7..0000000 --- a/src/asn1c/CN-DomainIndicator.c +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "CN-DomainIndicator.h" - -int -CN_DomainIndicator_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -CN_DomainIndicator_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -CN_DomainIndicator_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - CN_DomainIndicator_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -CN_DomainIndicator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - CN_DomainIndicator_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -CN_DomainIndicator_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - CN_DomainIndicator_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -CN_DomainIndicator_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - CN_DomainIndicator_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -CN_DomainIndicator_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - CN_DomainIndicator_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -CN_DomainIndicator_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - CN_DomainIndicator_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -CN_DomainIndicator_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CN_DomainIndicator_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -CN_DomainIndicator_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CN_DomainIndicator_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -CN_DomainIndicator_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CN_DomainIndicator_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -CN_DomainIndicator_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CN_DomainIndicator_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_CN_DomainIndicator_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_CN_DomainIndicator_value2enum_1[] = { - { 0, 9, "cs-domain" }, - { 1, 9, "ps-domain" } -}; -static const unsigned int asn_MAP_CN_DomainIndicator_enum2value_1[] = { - 0, /* cs-domain(0) */ - 1 /* ps-domain(1) */ -}; -static const asn_INTEGER_specifics_t asn_SPC_CN_DomainIndicator_specs_1 = { - asn_MAP_CN_DomainIndicator_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_CN_DomainIndicator_enum2value_1, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_CN_DomainIndicator_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CN_DomainIndicator = { - "CN-DomainIndicator", - "CN-DomainIndicator", - CN_DomainIndicator_free, - CN_DomainIndicator_print, - CN_DomainIndicator_constraint, - CN_DomainIndicator_decode_ber, - CN_DomainIndicator_encode_der, - CN_DomainIndicator_decode_xer, - CN_DomainIndicator_encode_xer, - CN_DomainIndicator_decode_uper, - CN_DomainIndicator_encode_uper, - CN_DomainIndicator_decode_aper, - CN_DomainIndicator_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_CN_DomainIndicator_tags_1, - sizeof(asn_DEF_CN_DomainIndicator_tags_1) - /sizeof(asn_DEF_CN_DomainIndicator_tags_1[0]), /* 1 */ - asn_DEF_CN_DomainIndicator_tags_1, /* Same as above */ - sizeof(asn_DEF_CN_DomainIndicator_tags_1) - /sizeof(asn_DEF_CN_DomainIndicator_tags_1[0]), /* 1 */ - &asn_PER_type_CN_DomainIndicator_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_CN_DomainIndicator_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/CN-DomainIndicator.h b/src/asn1c/CN-DomainIndicator.h deleted file mode 100644 index 854f375..0000000 --- a/src/asn1c/CN-DomainIndicator.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _CN_DomainIndicator_H_ -#define _CN_DomainIndicator_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CN_DomainIndicator { - CN_DomainIndicator_cs_domain = 0, - CN_DomainIndicator_ps_domain = 1 -} e_CN_DomainIndicator; - -/* CN-DomainIndicator */ -typedef long CN_DomainIndicator_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CN_DomainIndicator; -asn_struct_free_f CN_DomainIndicator_free; -asn_struct_print_f CN_DomainIndicator_print; -asn_constr_check_f CN_DomainIndicator_constraint; -ber_type_decoder_f CN_DomainIndicator_decode_ber; -der_type_encoder_f CN_DomainIndicator_encode_der; -xer_type_decoder_f CN_DomainIndicator_decode_xer; -xer_type_encoder_f CN_DomainIndicator_encode_xer; -per_type_decoder_f CN_DomainIndicator_decode_uper; -per_type_encoder_f CN_DomainIndicator_encode_uper; -per_type_decoder_f CN_DomainIndicator_decode_aper; -per_type_encoder_f CN_DomainIndicator_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CN_DomainIndicator_H_ */ -#include diff --git a/src/asn1c/CSG-Capability.c b/src/asn1c/CSG-Capability.c deleted file mode 100644 index b07caeb..0000000 --- a/src/asn1c/CSG-Capability.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "CSG-Capability.h" - -int -CSG_Capability_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -CSG_Capability_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -CSG_Capability_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - CSG_Capability_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -CSG_Capability_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - CSG_Capability_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -CSG_Capability_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - CSG_Capability_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -CSG_Capability_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - CSG_Capability_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -CSG_Capability_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - CSG_Capability_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -CSG_Capability_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - CSG_Capability_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -CSG_Capability_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CSG_Capability_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -CSG_Capability_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CSG_Capability_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -CSG_Capability_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CSG_Capability_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -CSG_Capability_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CSG_Capability_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_CSG_Capability_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_CSG_Capability_value2enum_1[] = { - { 0, 11, "csg-capable" }, - { 1, 15, "not-csg-capable" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_CSG_Capability_enum2value_1[] = { - 0, /* csg-capable(0) */ - 1 /* not-csg-capable(1) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_CSG_Capability_specs_1 = { - asn_MAP_CSG_Capability_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_CSG_Capability_enum2value_1, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 3, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_CSG_Capability_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CSG_Capability = { - "CSG-Capability", - "CSG-Capability", - CSG_Capability_free, - CSG_Capability_print, - CSG_Capability_constraint, - CSG_Capability_decode_ber, - CSG_Capability_encode_der, - CSG_Capability_decode_xer, - CSG_Capability_encode_xer, - CSG_Capability_decode_uper, - CSG_Capability_encode_uper, - CSG_Capability_decode_aper, - CSG_Capability_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_CSG_Capability_tags_1, - sizeof(asn_DEF_CSG_Capability_tags_1) - /sizeof(asn_DEF_CSG_Capability_tags_1[0]), /* 1 */ - asn_DEF_CSG_Capability_tags_1, /* Same as above */ - sizeof(asn_DEF_CSG_Capability_tags_1) - /sizeof(asn_DEF_CSG_Capability_tags_1[0]), /* 1 */ - &asn_PER_type_CSG_Capability_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_CSG_Capability_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/CSG-Capability.h b/src/asn1c/CSG-Capability.h deleted file mode 100644 index f6df34d..0000000 --- a/src/asn1c/CSG-Capability.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _CSG_Capability_H_ -#define _CSG_Capability_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CSG_Capability { - CSG_Capability_csg_capable = 0, - CSG_Capability_not_csg_capable = 1 - /* - * Enumeration is extensible - */ -} e_CSG_Capability; - -/* CSG-Capability */ -typedef long CSG_Capability_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CSG_Capability; -asn_struct_free_f CSG_Capability_free; -asn_struct_print_f CSG_Capability_print; -asn_constr_check_f CSG_Capability_constraint; -ber_type_decoder_f CSG_Capability_decode_ber; -der_type_encoder_f CSG_Capability_encode_der; -xer_type_decoder_f CSG_Capability_decode_xer; -xer_type_encoder_f CSG_Capability_encode_xer; -per_type_decoder_f CSG_Capability_decode_uper; -per_type_encoder_f CSG_Capability_encode_uper; -per_type_decoder_f CSG_Capability_decode_aper; -per_type_encoder_f CSG_Capability_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CSG_Capability_H_ */ -#include diff --git a/src/asn1c/CSG-ID.c b/src/asn1c/CSG-ID.c deleted file mode 100644 index e7c2653..0000000 --- a/src/asn1c/CSG-ID.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "CSG-ID.h" - -int -CSG_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(st->size > 0) { - /* Size in bits */ - size = 8 * st->size - (st->bits_unused & 0x07); - } else { - size = 0; - } - - if((size == 27l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using BIT_STRING, - * so here we adjust the DEF accordingly. - */ -static void -CSG_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_BIT_STRING.free_struct; - td->print_struct = asn_DEF_BIT_STRING.print_struct; - td->check_constraints = asn_DEF_BIT_STRING.check_constraints; - td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; - td->der_encoder = asn_DEF_BIT_STRING.der_encoder; - td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; - td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; - td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; - td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; - td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; - td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_BIT_STRING.per_constraints; - td->elements = asn_DEF_BIT_STRING.elements; - td->elements_count = asn_DEF_BIT_STRING.elements_count; - td->specifics = asn_DEF_BIT_STRING.specifics; -} - -void -CSG_ID_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - CSG_ID_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -CSG_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - CSG_ID_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -CSG_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - CSG_ID_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -CSG_ID_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - CSG_ID_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -CSG_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - CSG_ID_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -CSG_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - CSG_ID_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -CSG_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CSG_ID_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -CSG_ID_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CSG_ID_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -CSG_ID_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CSG_ID_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -CSG_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CSG_ID_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_CSG_ID_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 27l, 27l } /* (SIZE(27..27)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_CSG_ID_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CSG_ID = { - "CSG-ID", - "CSG-ID", - CSG_ID_free, - CSG_ID_print, - CSG_ID_constraint, - CSG_ID_decode_ber, - CSG_ID_encode_der, - CSG_ID_decode_xer, - CSG_ID_encode_xer, - CSG_ID_decode_uper, - CSG_ID_encode_uper, - CSG_ID_decode_aper, - CSG_ID_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_CSG_ID_tags_1, - sizeof(asn_DEF_CSG_ID_tags_1) - /sizeof(asn_DEF_CSG_ID_tags_1[0]), /* 1 */ - asn_DEF_CSG_ID_tags_1, /* Same as above */ - sizeof(asn_DEF_CSG_ID_tags_1) - /sizeof(asn_DEF_CSG_ID_tags_1[0]), /* 1 */ - &asn_PER_type_CSG_ID_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/CSG-ID.h b/src/asn1c/CSG-ID.h deleted file mode 100644 index dfffa81..0000000 --- a/src/asn1c/CSG-ID.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _CSG_ID_H_ -#define _CSG_ID_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* CSG-ID */ -typedef BIT_STRING_t CSG_ID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CSG_ID; -asn_struct_free_f CSG_ID_free; -asn_struct_print_f CSG_ID_print; -asn_constr_check_f CSG_ID_constraint; -ber_type_decoder_f CSG_ID_decode_ber; -der_type_encoder_f CSG_ID_encode_der; -xer_type_decoder_f CSG_ID_decode_xer; -xer_type_encoder_f CSG_ID_encode_xer; -per_type_decoder_f CSG_ID_decode_uper; -per_type_encoder_f CSG_ID_encode_uper; -per_type_decoder_f CSG_ID_decode_aper; -per_type_encoder_f CSG_ID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CSG_ID_H_ */ -#include diff --git a/src/asn1c/CSGMembershipStatus.c b/src/asn1c/CSGMembershipStatus.c deleted file mode 100644 index 32abdca..0000000 --- a/src/asn1c/CSGMembershipStatus.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "CSGMembershipStatus.h" - -int -CSGMembershipStatus_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -CSGMembershipStatus_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -CSGMembershipStatus_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - CSGMembershipStatus_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -CSGMembershipStatus_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - CSGMembershipStatus_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -CSGMembershipStatus_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - CSGMembershipStatus_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -CSGMembershipStatus_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - CSGMembershipStatus_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -CSGMembershipStatus_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - CSGMembershipStatus_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -CSGMembershipStatus_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - CSGMembershipStatus_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -CSGMembershipStatus_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CSGMembershipStatus_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -CSGMembershipStatus_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CSGMembershipStatus_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -CSGMembershipStatus_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CSGMembershipStatus_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -CSGMembershipStatus_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CSGMembershipStatus_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_CSGMembershipStatus_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_CSGMembershipStatus_value2enum_1[] = { - { 0, 6, "member" }, - { 1, 10, "non-member" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_CSGMembershipStatus_enum2value_1[] = { - 0, /* member(0) */ - 1 /* non-member(1) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_CSGMembershipStatus_specs_1 = { - asn_MAP_CSGMembershipStatus_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_CSGMembershipStatus_enum2value_1, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 3, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_CSGMembershipStatus_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CSGMembershipStatus = { - "CSGMembershipStatus", - "CSGMembershipStatus", - CSGMembershipStatus_free, - CSGMembershipStatus_print, - CSGMembershipStatus_constraint, - CSGMembershipStatus_decode_ber, - CSGMembershipStatus_encode_der, - CSGMembershipStatus_decode_xer, - CSGMembershipStatus_encode_xer, - CSGMembershipStatus_decode_uper, - CSGMembershipStatus_encode_uper, - CSGMembershipStatus_decode_aper, - CSGMembershipStatus_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_CSGMembershipStatus_tags_1, - sizeof(asn_DEF_CSGMembershipStatus_tags_1) - /sizeof(asn_DEF_CSGMembershipStatus_tags_1[0]), /* 1 */ - asn_DEF_CSGMembershipStatus_tags_1, /* Same as above */ - sizeof(asn_DEF_CSGMembershipStatus_tags_1) - /sizeof(asn_DEF_CSGMembershipStatus_tags_1[0]), /* 1 */ - &asn_PER_type_CSGMembershipStatus_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_CSGMembershipStatus_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/CSGMembershipStatus.h b/src/asn1c/CSGMembershipStatus.h deleted file mode 100644 index 5f7e88c..0000000 --- a/src/asn1c/CSGMembershipStatus.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _CSGMembershipStatus_H_ -#define _CSGMembershipStatus_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CSGMembershipStatus { - CSGMembershipStatus_member = 0, - CSGMembershipStatus_non_member = 1 - /* - * Enumeration is extensible - */ -} e_CSGMembershipStatus; - -/* CSGMembershipStatus */ -typedef long CSGMembershipStatus_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CSGMembershipStatus; -asn_struct_free_f CSGMembershipStatus_free; -asn_struct_print_f CSGMembershipStatus_print; -asn_constr_check_f CSGMembershipStatus_constraint; -ber_type_decoder_f CSGMembershipStatus_decode_ber; -der_type_encoder_f CSGMembershipStatus_encode_der; -xer_type_decoder_f CSGMembershipStatus_decode_xer; -xer_type_encoder_f CSGMembershipStatus_encode_xer; -per_type_decoder_f CSGMembershipStatus_decode_uper; -per_type_encoder_f CSGMembershipStatus_encode_uper; -per_type_decoder_f CSGMembershipStatus_decode_aper; -per_type_encoder_f CSGMembershipStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CSGMembershipStatus_H_ */ -#include diff --git a/src/asn1c/CSGMembershipUpdate.c b/src/asn1c/CSGMembershipUpdate.c deleted file mode 100644 index bb5f940..0000000 --- a/src/asn1c/CSGMembershipUpdate.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "CSGMembershipUpdate.h" - -static int -memb_csgMembershipUpdate_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_csgMembershipUpdate_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_csgMembershipUpdate_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_csgMembershipUpdate_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_csgMembershipUpdate_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_csgMembershipUpdate_ies_specs_2 = { - sizeof(struct csgMembershipUpdate_ies), - offsetof(struct csgMembershipUpdate_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_csgMembershipUpdate_ies_2 = { - "csgMembershipUpdate-ies", - "csgMembershipUpdate-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_csgMembershipUpdate_ies_tags_2, - sizeof(asn_DEF_csgMembershipUpdate_ies_tags_2) - /sizeof(asn_DEF_csgMembershipUpdate_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_csgMembershipUpdate_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_csgMembershipUpdate_ies_tags_2) - /sizeof(asn_DEF_csgMembershipUpdate_ies_tags_2[0]), /* 2 */ - &asn_PER_type_csgMembershipUpdate_ies_constr_2, - asn_MBR_csgMembershipUpdate_ies_2, - 1, /* Single element */ - &asn_SPC_csgMembershipUpdate_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_CSGMembershipUpdate_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct CSGMembershipUpdate, csgMembershipUpdate_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_csgMembershipUpdate_ies_2, - memb_csgMembershipUpdate_ies_constraint_1, - &asn_PER_memb_csgMembershipUpdate_ies_constr_2, - 0, - "csgMembershipUpdate-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_CSGMembershipUpdate_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_CSGMembershipUpdate_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* csgMembershipUpdate-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_CSGMembershipUpdate_specs_1 = { - sizeof(struct CSGMembershipUpdate), - offsetof(struct CSGMembershipUpdate, _asn_ctx), - asn_MAP_CSGMembershipUpdate_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_CSGMembershipUpdate = { - "CSGMembershipUpdate", - "CSGMembershipUpdate", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_CSGMembershipUpdate_tags_1, - sizeof(asn_DEF_CSGMembershipUpdate_tags_1) - /sizeof(asn_DEF_CSGMembershipUpdate_tags_1[0]), /* 1 */ - asn_DEF_CSGMembershipUpdate_tags_1, /* Same as above */ - sizeof(asn_DEF_CSGMembershipUpdate_tags_1) - /sizeof(asn_DEF_CSGMembershipUpdate_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_CSGMembershipUpdate_1, - 1, /* Elements count */ - &asn_SPC_CSGMembershipUpdate_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/CSGMembershipUpdate.h b/src/asn1c/CSGMembershipUpdate.h deleted file mode 100644 index 30fd770..0000000 --- a/src/asn1c/CSGMembershipUpdate.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _CSGMembershipUpdate_H_ -#define _CSGMembershipUpdate_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* CSGMembershipUpdate */ -typedef struct CSGMembershipUpdate { - struct csgMembershipUpdate_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } csgMembershipUpdate_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CSGMembershipUpdate_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CSGMembershipUpdate; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _CSGMembershipUpdate_H_ */ -#include diff --git a/src/asn1c/Cause.c b/src/asn1c/Cause.c deleted file mode 100644 index 0dd34e3..0000000 --- a/src/asn1c/Cause.c +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "Cause.h" - -static asn_per_constraints_t asn_PER_type_Cause_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 3l } /* (0..3,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_Cause_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Cause, choice.radioNetwork), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_CauseRadioNetwork, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "radioNetwork" - }, - { ATF_NOFLAGS, 0, offsetof(struct Cause, choice.transport), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_CauseTransport, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "transport" - }, - { ATF_NOFLAGS, 0, offsetof(struct Cause, choice.protocol), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_CauseProtocol, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "protocol" - }, - { ATF_NOFLAGS, 0, offsetof(struct Cause, choice.misc), - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_CauseMisc, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "misc" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_Cause_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* radioNetwork */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protocol */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* misc */ -}; -static asn_CHOICE_specifics_t asn_SPC_Cause_specs_1 = { - sizeof(struct Cause), - offsetof(struct Cause, _asn_ctx), - offsetof(struct Cause, present), - sizeof(((struct Cause *)0)->present), - asn_MAP_Cause_tag2el_1, - 4, /* Count of tags in the map */ - 0, - 4 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_Cause = { - "Cause", - "Cause", - CHOICE_free, - CHOICE_print, - CHOICE_constraint, - CHOICE_decode_ber, - CHOICE_encode_der, - CHOICE_decode_xer, - CHOICE_encode_xer, - CHOICE_decode_uper, - CHOICE_encode_uper, - CHOICE_decode_aper, - CHOICE_encode_aper, - CHOICE_outmost_tag, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - &asn_PER_type_Cause_constr_1, - asn_MBR_Cause_1, - 4, /* Elements count */ - &asn_SPC_Cause_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/Cause.h b/src/asn1c/Cause.h deleted file mode 100644 index 9802bf6..0000000 --- a/src/asn1c/Cause.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _Cause_H_ -#define _Cause_H_ - - -#include - -/* Including external dependencies */ -#include "CauseRadioNetwork.h" -#include "CauseTransport.h" -#include "CauseProtocol.h" -#include "CauseMisc.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Cause_PR { - Cause_PR_NOTHING, /* No components present */ - Cause_PR_radioNetwork, - Cause_PR_transport, - Cause_PR_protocol, - Cause_PR_misc, - /* Extensions may appear below */ - -} Cause_PR; - -/* Cause */ -typedef struct Cause { - Cause_PR present; - union Cause_u { - CauseRadioNetwork_t radioNetwork; - CauseTransport_t transport; - CauseProtocol_t protocol; - CauseMisc_t misc; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Cause_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Cause; - -#ifdef __cplusplus -} -#endif - -#endif /* _Cause_H_ */ -#include diff --git a/src/asn1c/CauseMisc.c b/src/asn1c/CauseMisc.c deleted file mode 100644 index 47b1a6f..0000000 --- a/src/asn1c/CauseMisc.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "CauseMisc.h" - -int -CauseMisc_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -CauseMisc_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -CauseMisc_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - CauseMisc_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -CauseMisc_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - CauseMisc_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -CauseMisc_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - CauseMisc_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -CauseMisc_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - CauseMisc_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -CauseMisc_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - CauseMisc_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -CauseMisc_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - CauseMisc_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -CauseMisc_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CauseMisc_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -CauseMisc_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CauseMisc_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -CauseMisc_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CauseMisc_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -CauseMisc_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CauseMisc_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_CauseMisc_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 3l } /* (0..3,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_CauseMisc_value2enum_1[] = { - { 0, 19, "processing-overload" }, - { 1, 16, "hardware-failure" }, - { 2, 20, "o-and-m-intervention" }, - { 3, 11, "unspecified" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_CauseMisc_enum2value_1[] = { - 1, /* hardware-failure(1) */ - 2, /* o-and-m-intervention(2) */ - 0, /* processing-overload(0) */ - 3 /* unspecified(3) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_CauseMisc_specs_1 = { - asn_MAP_CauseMisc_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_CauseMisc_enum2value_1, /* N => "tag"; sorted by N */ - 4, /* Number of elements in the maps */ - 5, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_CauseMisc_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CauseMisc = { - "CauseMisc", - "CauseMisc", - CauseMisc_free, - CauseMisc_print, - CauseMisc_constraint, - CauseMisc_decode_ber, - CauseMisc_encode_der, - CauseMisc_decode_xer, - CauseMisc_encode_xer, - CauseMisc_decode_uper, - CauseMisc_encode_uper, - CauseMisc_decode_aper, - CauseMisc_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_CauseMisc_tags_1, - sizeof(asn_DEF_CauseMisc_tags_1) - /sizeof(asn_DEF_CauseMisc_tags_1[0]), /* 1 */ - asn_DEF_CauseMisc_tags_1, /* Same as above */ - sizeof(asn_DEF_CauseMisc_tags_1) - /sizeof(asn_DEF_CauseMisc_tags_1[0]), /* 1 */ - &asn_PER_type_CauseMisc_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_CauseMisc_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/CauseMisc.h b/src/asn1c/CauseMisc.h deleted file mode 100644 index 7863364..0000000 --- a/src/asn1c/CauseMisc.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _CauseMisc_H_ -#define _CauseMisc_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CauseMisc { - CauseMisc_processing_overload = 0, - CauseMisc_hardware_failure = 1, - CauseMisc_o_and_m_intervention = 2, - CauseMisc_unspecified = 3 - /* - * Enumeration is extensible - */ -} e_CauseMisc; - -/* CauseMisc */ -typedef long CauseMisc_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CauseMisc; -asn_struct_free_f CauseMisc_free; -asn_struct_print_f CauseMisc_print; -asn_constr_check_f CauseMisc_constraint; -ber_type_decoder_f CauseMisc_decode_ber; -der_type_encoder_f CauseMisc_encode_der; -xer_type_decoder_f CauseMisc_decode_xer; -xer_type_encoder_f CauseMisc_encode_xer; -per_type_decoder_f CauseMisc_decode_uper; -per_type_encoder_f CauseMisc_encode_uper; -per_type_decoder_f CauseMisc_decode_aper; -per_type_encoder_f CauseMisc_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CauseMisc_H_ */ -#include diff --git a/src/asn1c/CauseProtocol.c b/src/asn1c/CauseProtocol.c deleted file mode 100644 index dee71e1..0000000 --- a/src/asn1c/CauseProtocol.c +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "CauseProtocol.h" - -int -CauseProtocol_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -CauseProtocol_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -CauseProtocol_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - CauseProtocol_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -CauseProtocol_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - CauseProtocol_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -CauseProtocol_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - CauseProtocol_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -CauseProtocol_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - CauseProtocol_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -CauseProtocol_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - CauseProtocol_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -CauseProtocol_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - CauseProtocol_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -CauseProtocol_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CauseProtocol_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -CauseProtocol_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CauseProtocol_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -CauseProtocol_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CauseProtocol_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -CauseProtocol_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CauseProtocol_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_CauseProtocol_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 6l } /* (0..6,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_CauseProtocol_value2enum_1[] = { - { 0, 21, "transfer-syntax-error" }, - { 1, 28, "abstract-syntax-error-reject" }, - { 2, 39, "abstract-syntax-error-ignore-and-notify" }, - { 3, 42, "message-not-compatible-with-receiver-state" }, - { 4, 14, "semantic-error" }, - { 5, 11, "unspecified" }, - { 6, 49, "abstract-syntax-error-falsely-constructed-message" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_CauseProtocol_enum2value_1[] = { - 6, /* abstract-syntax-error-falsely-constructed-message(6) */ - 2, /* abstract-syntax-error-ignore-and-notify(2) */ - 1, /* abstract-syntax-error-reject(1) */ - 3, /* message-not-compatible-with-receiver-state(3) */ - 4, /* semantic-error(4) */ - 0, /* transfer-syntax-error(0) */ - 5 /* unspecified(5) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_CauseProtocol_specs_1 = { - asn_MAP_CauseProtocol_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_CauseProtocol_enum2value_1, /* N => "tag"; sorted by N */ - 7, /* Number of elements in the maps */ - 8, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_CauseProtocol_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CauseProtocol = { - "CauseProtocol", - "CauseProtocol", - CauseProtocol_free, - CauseProtocol_print, - CauseProtocol_constraint, - CauseProtocol_decode_ber, - CauseProtocol_encode_der, - CauseProtocol_decode_xer, - CauseProtocol_encode_xer, - CauseProtocol_decode_uper, - CauseProtocol_encode_uper, - CauseProtocol_decode_aper, - CauseProtocol_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_CauseProtocol_tags_1, - sizeof(asn_DEF_CauseProtocol_tags_1) - /sizeof(asn_DEF_CauseProtocol_tags_1[0]), /* 1 */ - asn_DEF_CauseProtocol_tags_1, /* Same as above */ - sizeof(asn_DEF_CauseProtocol_tags_1) - /sizeof(asn_DEF_CauseProtocol_tags_1[0]), /* 1 */ - &asn_PER_type_CauseProtocol_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_CauseProtocol_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/CauseProtocol.h b/src/asn1c/CauseProtocol.h deleted file mode 100644 index 1dc187c..0000000 --- a/src/asn1c/CauseProtocol.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _CauseProtocol_H_ -#define _CauseProtocol_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CauseProtocol { - CauseProtocol_transfer_syntax_error = 0, - CauseProtocol_abstract_syntax_error_reject = 1, - CauseProtocol_abstract_syntax_error_ignore_and_notify = 2, - CauseProtocol_message_not_compatible_with_receiver_state = 3, - CauseProtocol_semantic_error = 4, - CauseProtocol_unspecified = 5, - CauseProtocol_abstract_syntax_error_falsely_constructed_message = 6 - /* - * Enumeration is extensible - */ -} e_CauseProtocol; - -/* CauseProtocol */ -typedef long CauseProtocol_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CauseProtocol; -asn_struct_free_f CauseProtocol_free; -asn_struct_print_f CauseProtocol_print; -asn_constr_check_f CauseProtocol_constraint; -ber_type_decoder_f CauseProtocol_decode_ber; -der_type_encoder_f CauseProtocol_encode_der; -xer_type_decoder_f CauseProtocol_decode_xer; -xer_type_encoder_f CauseProtocol_encode_xer; -per_type_decoder_f CauseProtocol_decode_uper; -per_type_encoder_f CauseProtocol_encode_uper; -per_type_decoder_f CauseProtocol_decode_aper; -per_type_encoder_f CauseProtocol_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CauseProtocol_H_ */ -#include diff --git a/src/asn1c/CauseRadioNetwork.c b/src/asn1c/CauseRadioNetwork.c deleted file mode 100644 index 54a6dbf..0000000 --- a/src/asn1c/CauseRadioNetwork.c +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "CauseRadioNetwork.h" - -int -CauseRadioNetwork_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -CauseRadioNetwork_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -CauseRadioNetwork_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - CauseRadioNetwork_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -CauseRadioNetwork_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - CauseRadioNetwork_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -CauseRadioNetwork_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - CauseRadioNetwork_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -CauseRadioNetwork_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - CauseRadioNetwork_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -CauseRadioNetwork_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - CauseRadioNetwork_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -CauseRadioNetwork_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - CauseRadioNetwork_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -CauseRadioNetwork_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CauseRadioNetwork_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -CauseRadioNetwork_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CauseRadioNetwork_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -CauseRadioNetwork_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CauseRadioNetwork_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -CauseRadioNetwork_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CauseRadioNetwork_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_CauseRadioNetwork_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0l, 13l } /* (0..13,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_CauseRadioNetwork_value2enum_1[] = { - { 0, 8, "overload" }, - { 1, 21, "unauthorised-Location" }, - { 2, 16, "unauthorised-HNB" }, - { 3, 22, "hNB-parameter-mismatch" }, - { 4, 19, "invalid-UE-identity" }, - { 5, 26, "uE-not-allowed-on-this-HNB" }, - { 6, 15, "uE-unauthorised" }, - { 7, 23, "connection-with-UE-lost" }, - { 8, 14, "ue-RRC-release" }, - { 9, 18, "hNB-not-registered" }, - { 10, 11, "unspecified" }, - { 11, 6, "normal" }, - { 12, 12, "uE-relocated" }, - { 13, 28, "ue-registered-in-another-HNB" }, - { 14, 34, "no-neighbour-information-available" }, - { 15, 45, "iurh-connection-to-that-neighbour-not-Allowed" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_CauseRadioNetwork_enum2value_1[] = { - 7, /* connection-with-UE-lost(7) */ - 9, /* hNB-not-registered(9) */ - 3, /* hNB-parameter-mismatch(3) */ - 4, /* invalid-UE-identity(4) */ - 15, /* iurh-connection-to-that-neighbour-not-Allowed(15) */ - 14, /* no-neighbour-information-available(14) */ - 11, /* normal(11) */ - 0, /* overload(0) */ - 5, /* uE-not-allowed-on-this-HNB(5) */ - 12, /* uE-relocated(12) */ - 6, /* uE-unauthorised(6) */ - 8, /* ue-RRC-release(8) */ - 13, /* ue-registered-in-another-HNB(13) */ - 2, /* unauthorised-HNB(2) */ - 1, /* unauthorised-Location(1) */ - 10 /* unspecified(10) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_CauseRadioNetwork_specs_1 = { - asn_MAP_CauseRadioNetwork_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_CauseRadioNetwork_enum2value_1, /* N => "tag"; sorted by N */ - 16, /* Number of elements in the maps */ - 15, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_CauseRadioNetwork_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CauseRadioNetwork = { - "CauseRadioNetwork", - "CauseRadioNetwork", - CauseRadioNetwork_free, - CauseRadioNetwork_print, - CauseRadioNetwork_constraint, - CauseRadioNetwork_decode_ber, - CauseRadioNetwork_encode_der, - CauseRadioNetwork_decode_xer, - CauseRadioNetwork_encode_xer, - CauseRadioNetwork_decode_uper, - CauseRadioNetwork_encode_uper, - CauseRadioNetwork_decode_aper, - CauseRadioNetwork_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_CauseRadioNetwork_tags_1, - sizeof(asn_DEF_CauseRadioNetwork_tags_1) - /sizeof(asn_DEF_CauseRadioNetwork_tags_1[0]), /* 1 */ - asn_DEF_CauseRadioNetwork_tags_1, /* Same as above */ - sizeof(asn_DEF_CauseRadioNetwork_tags_1) - /sizeof(asn_DEF_CauseRadioNetwork_tags_1[0]), /* 1 */ - &asn_PER_type_CauseRadioNetwork_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_CauseRadioNetwork_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/CauseRadioNetwork.h b/src/asn1c/CauseRadioNetwork.h deleted file mode 100644 index 54d8b50..0000000 --- a/src/asn1c/CauseRadioNetwork.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _CauseRadioNetwork_H_ -#define _CauseRadioNetwork_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CauseRadioNetwork { - CauseRadioNetwork_overload = 0, - CauseRadioNetwork_unauthorised_Location = 1, - CauseRadioNetwork_unauthorised_HNB = 2, - CauseRadioNetwork_hNB_parameter_mismatch = 3, - CauseRadioNetwork_invalid_UE_identity = 4, - CauseRadioNetwork_uE_not_allowed_on_this_HNB = 5, - CauseRadioNetwork_uE_unauthorised = 6, - CauseRadioNetwork_connection_with_UE_lost = 7, - CauseRadioNetwork_ue_RRC_release = 8, - CauseRadioNetwork_hNB_not_registered = 9, - CauseRadioNetwork_unspecified = 10, - CauseRadioNetwork_normal = 11, - CauseRadioNetwork_uE_relocated = 12, - CauseRadioNetwork_ue_registered_in_another_HNB = 13, - /* - * Enumeration is extensible - */ - CauseRadioNetwork_no_neighbour_information_available = 14, - CauseRadioNetwork_iurh_connection_to_that_neighbour_not_Allowed = 15 -} e_CauseRadioNetwork; - -/* CauseRadioNetwork */ -typedef long CauseRadioNetwork_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CauseRadioNetwork; -asn_struct_free_f CauseRadioNetwork_free; -asn_struct_print_f CauseRadioNetwork_print; -asn_constr_check_f CauseRadioNetwork_constraint; -ber_type_decoder_f CauseRadioNetwork_decode_ber; -der_type_encoder_f CauseRadioNetwork_encode_der; -xer_type_decoder_f CauseRadioNetwork_decode_xer; -xer_type_encoder_f CauseRadioNetwork_encode_xer; -per_type_decoder_f CauseRadioNetwork_decode_uper; -per_type_encoder_f CauseRadioNetwork_encode_uper; -per_type_decoder_f CauseRadioNetwork_decode_aper; -per_type_encoder_f CauseRadioNetwork_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CauseRadioNetwork_H_ */ -#include diff --git a/src/asn1c/CauseTransport.c b/src/asn1c/CauseTransport.c deleted file mode 100644 index 835b182..0000000 --- a/src/asn1c/CauseTransport.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "CauseTransport.h" - -int -CauseTransport_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -CauseTransport_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -CauseTransport_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - CauseTransport_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -CauseTransport_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - CauseTransport_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -CauseTransport_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - CauseTransport_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -CauseTransport_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - CauseTransport_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -CauseTransport_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - CauseTransport_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -CauseTransport_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - CauseTransport_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -CauseTransport_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CauseTransport_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -CauseTransport_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CauseTransport_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -CauseTransport_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CauseTransport_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -CauseTransport_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CauseTransport_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_CauseTransport_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_CauseTransport_value2enum_1[] = { - { 0, 30, "transport-resource-unavailable" }, - { 1, 11, "unspecified" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_CauseTransport_enum2value_1[] = { - 0, /* transport-resource-unavailable(0) */ - 1 /* unspecified(1) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_CauseTransport_specs_1 = { - asn_MAP_CauseTransport_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_CauseTransport_enum2value_1, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 3, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_CauseTransport_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CauseTransport = { - "CauseTransport", - "CauseTransport", - CauseTransport_free, - CauseTransport_print, - CauseTransport_constraint, - CauseTransport_decode_ber, - CauseTransport_encode_der, - CauseTransport_decode_xer, - CauseTransport_encode_xer, - CauseTransport_decode_uper, - CauseTransport_encode_uper, - CauseTransport_decode_aper, - CauseTransport_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_CauseTransport_tags_1, - sizeof(asn_DEF_CauseTransport_tags_1) - /sizeof(asn_DEF_CauseTransport_tags_1[0]), /* 1 */ - asn_DEF_CauseTransport_tags_1, /* Same as above */ - sizeof(asn_DEF_CauseTransport_tags_1) - /sizeof(asn_DEF_CauseTransport_tags_1[0]), /* 1 */ - &asn_PER_type_CauseTransport_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_CauseTransport_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/CauseTransport.h b/src/asn1c/CauseTransport.h deleted file mode 100644 index ea445e9..0000000 --- a/src/asn1c/CauseTransport.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _CauseTransport_H_ -#define _CauseTransport_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CauseTransport { - CauseTransport_transport_resource_unavailable = 0, - CauseTransport_unspecified = 1 - /* - * Enumeration is extensible - */ -} e_CauseTransport; - -/* CauseTransport */ -typedef long CauseTransport_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CauseTransport; -asn_struct_free_f CauseTransport_free; -asn_struct_print_f CauseTransport_print; -asn_constr_check_f CauseTransport_constraint; -ber_type_decoder_f CauseTransport_decode_ber; -der_type_encoder_f CauseTransport_encode_der; -xer_type_decoder_f CauseTransport_decode_xer; -xer_type_encoder_f CauseTransport_encode_xer; -per_type_decoder_f CauseTransport_decode_uper; -per_type_encoder_f CauseTransport_encode_uper; -per_type_decoder_f CauseTransport_decode_aper; -per_type_encoder_f CauseTransport_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CauseTransport_H_ */ -#include diff --git a/src/asn1c/CellIdentity.c b/src/asn1c/CellIdentity.c deleted file mode 100644 index 8357943..0000000 --- a/src/asn1c/CellIdentity.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "CellIdentity.h" - -int -CellIdentity_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(st->size > 0) { - /* Size in bits */ - size = 8 * st->size - (st->bits_unused & 0x07); - } else { - size = 0; - } - - if((size == 28l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using BIT_STRING, - * so here we adjust the DEF accordingly. - */ -static void -CellIdentity_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_BIT_STRING.free_struct; - td->print_struct = asn_DEF_BIT_STRING.print_struct; - td->check_constraints = asn_DEF_BIT_STRING.check_constraints; - td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; - td->der_encoder = asn_DEF_BIT_STRING.der_encoder; - td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; - td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; - td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; - td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; - td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; - td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_BIT_STRING.per_constraints; - td->elements = asn_DEF_BIT_STRING.elements; - td->elements_count = asn_DEF_BIT_STRING.elements_count; - td->specifics = asn_DEF_BIT_STRING.specifics; -} - -void -CellIdentity_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - CellIdentity_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -CellIdentity_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - CellIdentity_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -CellIdentity_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - CellIdentity_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -CellIdentity_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - CellIdentity_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -CellIdentity_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - CellIdentity_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -CellIdentity_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - CellIdentity_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -CellIdentity_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CellIdentity_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -CellIdentity_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CellIdentity_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -CellIdentity_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - CellIdentity_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -CellIdentity_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - CellIdentity_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_CellIdentity_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 28l, 28l } /* (SIZE(28..28)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_CellIdentity_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_CellIdentity = { - "CellIdentity", - "CellIdentity", - CellIdentity_free, - CellIdentity_print, - CellIdentity_constraint, - CellIdentity_decode_ber, - CellIdentity_encode_der, - CellIdentity_decode_xer, - CellIdentity_encode_xer, - CellIdentity_decode_uper, - CellIdentity_encode_uper, - CellIdentity_decode_aper, - CellIdentity_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_CellIdentity_tags_1, - sizeof(asn_DEF_CellIdentity_tags_1) - /sizeof(asn_DEF_CellIdentity_tags_1[0]), /* 1 */ - asn_DEF_CellIdentity_tags_1, /* Same as above */ - sizeof(asn_DEF_CellIdentity_tags_1) - /sizeof(asn_DEF_CellIdentity_tags_1[0]), /* 1 */ - &asn_PER_type_CellIdentity_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/CellIdentity.h b/src/asn1c/CellIdentity.h deleted file mode 100644 index 69b1688..0000000 --- a/src/asn1c/CellIdentity.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _CellIdentity_H_ -#define _CellIdentity_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* CellIdentity */ -typedef BIT_STRING_t CellIdentity_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CellIdentity; -asn_struct_free_f CellIdentity_free; -asn_struct_print_f CellIdentity_print; -asn_constr_check_f CellIdentity_constraint; -ber_type_decoder_f CellIdentity_decode_ber; -der_type_encoder_f CellIdentity_encode_der; -xer_type_decoder_f CellIdentity_decode_xer; -xer_type_encoder_f CellIdentity_encode_xer; -per_type_decoder_f CellIdentity_decode_uper; -per_type_encoder_f CellIdentity_encode_uper; -per_type_decoder_f CellIdentity_decode_aper; -per_type_encoder_f CellIdentity_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CellIdentity_H_ */ -#include diff --git a/src/asn1c/ConfigurationInformation.c b/src/asn1c/ConfigurationInformation.c deleted file mode 100644 index f04f125..0000000 --- a/src/asn1c/ConfigurationInformation.c +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "ConfigurationInformation.h" - -static asn_per_constraints_t asn_PER_type_ConfigurationInformation_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_ConfigurationInformation_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct ConfigurationInformation, choice.provided), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_HNBConfigurationInformationProvided, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "provided" - }, - { ATF_NOFLAGS, 0, offsetof(struct ConfigurationInformation, choice.missing), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_HNBConfigurationInformationMissing, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "missing" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_ConfigurationInformation_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* provided */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* missing */ -}; -static asn_CHOICE_specifics_t asn_SPC_ConfigurationInformation_specs_1 = { - sizeof(struct ConfigurationInformation), - offsetof(struct ConfigurationInformation, _asn_ctx), - offsetof(struct ConfigurationInformation, present), - sizeof(((struct ConfigurationInformation *)0)->present), - asn_MAP_ConfigurationInformation_tag2el_1, - 2, /* Count of tags in the map */ - 0, - 2 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_ConfigurationInformation = { - "ConfigurationInformation", - "ConfigurationInformation", - CHOICE_free, - CHOICE_print, - CHOICE_constraint, - CHOICE_decode_ber, - CHOICE_encode_der, - CHOICE_decode_xer, - CHOICE_encode_xer, - CHOICE_decode_uper, - CHOICE_encode_uper, - CHOICE_decode_aper, - CHOICE_encode_aper, - CHOICE_outmost_tag, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - &asn_PER_type_ConfigurationInformation_constr_1, - asn_MBR_ConfigurationInformation_1, - 2, /* Elements count */ - &asn_SPC_ConfigurationInformation_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/ConfigurationInformation.h b/src/asn1c/ConfigurationInformation.h deleted file mode 100644 index 347f5d2..0000000 --- a/src/asn1c/ConfigurationInformation.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _ConfigurationInformation_H_ -#define _ConfigurationInformation_H_ - - -#include - -/* Including external dependencies */ -#include "HNBConfigurationInformationProvided.h" -#include "HNBConfigurationInformationMissing.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ConfigurationInformation_PR { - ConfigurationInformation_PR_NOTHING, /* No components present */ - ConfigurationInformation_PR_provided, - ConfigurationInformation_PR_missing, - /* Extensions may appear below */ - -} ConfigurationInformation_PR; - -/* ConfigurationInformation */ -typedef struct ConfigurationInformation { - ConfigurationInformation_PR present; - union ConfigurationInformation_u { - HNBConfigurationInformationProvided_t provided; - HNBConfigurationInformationMissing_t missing; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ConfigurationInformation_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ConfigurationInformation; - -#ifdef __cplusplus -} -#endif - -#endif /* _ConfigurationInformation_H_ */ -#include diff --git a/src/asn1c/Context-ID.c b/src/asn1c/Context-ID.c deleted file mode 100644 index 62820ae..0000000 --- a/src/asn1c/Context-ID.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "Context-ID.h" - -int -Context_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(st->size > 0) { - /* Size in bits */ - size = 8 * st->size - (st->bits_unused & 0x07); - } else { - size = 0; - } - - if((size == 24l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using BIT_STRING, - * so here we adjust the DEF accordingly. - */ -static void -Context_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_BIT_STRING.free_struct; - td->print_struct = asn_DEF_BIT_STRING.print_struct; - td->check_constraints = asn_DEF_BIT_STRING.check_constraints; - td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; - td->der_encoder = asn_DEF_BIT_STRING.der_encoder; - td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; - td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; - td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; - td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; - td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; - td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_BIT_STRING.per_constraints; - td->elements = asn_DEF_BIT_STRING.elements; - td->elements_count = asn_DEF_BIT_STRING.elements_count; - td->specifics = asn_DEF_BIT_STRING.specifics; -} - -void -Context_ID_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - Context_ID_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -Context_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - Context_ID_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -Context_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - Context_ID_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -Context_ID_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - Context_ID_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -Context_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - Context_ID_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -Context_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - Context_ID_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -Context_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - Context_ID_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -Context_ID_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - Context_ID_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -Context_ID_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - Context_ID_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -Context_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - Context_ID_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_Context_ID_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 24l, 24l } /* (SIZE(24..24)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_Context_ID_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Context_ID = { - "Context-ID", - "Context-ID", - Context_ID_free, - Context_ID_print, - Context_ID_constraint, - Context_ID_decode_ber, - Context_ID_encode_der, - Context_ID_decode_xer, - Context_ID_encode_xer, - Context_ID_decode_uper, - Context_ID_encode_uper, - Context_ID_decode_aper, - Context_ID_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_Context_ID_tags_1, - sizeof(asn_DEF_Context_ID_tags_1) - /sizeof(asn_DEF_Context_ID_tags_1[0]), /* 1 */ - asn_DEF_Context_ID_tags_1, /* Same as above */ - sizeof(asn_DEF_Context_ID_tags_1) - /sizeof(asn_DEF_Context_ID_tags_1[0]), /* 1 */ - &asn_PER_type_Context_ID_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/Context-ID.h b/src/asn1c/Context-ID.h deleted file mode 100644 index 89ba4e6..0000000 --- a/src/asn1c/Context-ID.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _Context_ID_H_ -#define _Context_ID_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Context-ID */ -typedef BIT_STRING_t Context_ID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Context_ID; -asn_struct_free_f Context_ID_free; -asn_struct_print_f Context_ID_print; -asn_constr_check_f Context_ID_constraint; -ber_type_decoder_f Context_ID_decode_ber; -der_type_encoder_f Context_ID_encode_der; -xer_type_decoder_f Context_ID_decode_xer; -xer_type_encoder_f Context_ID_encode_xer; -per_type_decoder_f Context_ID_decode_uper; -per_type_encoder_f Context_ID_encode_uper; -per_type_decoder_f Context_ID_decode_aper; -per_type_encoder_f Context_ID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Context_ID_H_ */ -#include diff --git a/src/asn1c/Criticality.c b/src/asn1c/Criticality.c deleted file mode 100644 index 56f5640..0000000 --- a/src/asn1c/Criticality.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-CommonDataTypes" - * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" - * `asn1c -gen-PER` - */ - -#include "Criticality.h" - -int -Criticality_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -Criticality_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -Criticality_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - Criticality_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -Criticality_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - Criticality_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -Criticality_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - Criticality_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -Criticality_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - Criticality_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -Criticality_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - Criticality_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -Criticality_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - Criticality_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -Criticality_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - Criticality_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -Criticality_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - Criticality_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -Criticality_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - Criticality_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -Criticality_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - Criticality_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_Criticality_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED, 2, 2, 0l, 2l } /* (0..2) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_Criticality_value2enum_1[] = { - { 0, 6, "reject" }, - { 1, 6, "ignore" }, - { 2, 6, "notify" } -}; -static const unsigned int asn_MAP_Criticality_enum2value_1[] = { - 1, /* ignore(1) */ - 2, /* notify(2) */ - 0 /* reject(0) */ -}; -static const asn_INTEGER_specifics_t asn_SPC_Criticality_specs_1 = { - asn_MAP_Criticality_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_Criticality_enum2value_1, /* N => "tag"; sorted by N */ - 3, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Criticality_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Criticality = { - "Criticality", - "Criticality", - Criticality_free, - Criticality_print, - Criticality_constraint, - Criticality_decode_ber, - Criticality_encode_der, - Criticality_decode_xer, - Criticality_encode_xer, - Criticality_decode_uper, - Criticality_encode_uper, - Criticality_decode_aper, - Criticality_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_Criticality_tags_1, - sizeof(asn_DEF_Criticality_tags_1) - /sizeof(asn_DEF_Criticality_tags_1[0]), /* 1 */ - asn_DEF_Criticality_tags_1, /* Same as above */ - sizeof(asn_DEF_Criticality_tags_1) - /sizeof(asn_DEF_Criticality_tags_1[0]), /* 1 */ - &asn_PER_type_Criticality_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Criticality_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/Criticality.h b/src/asn1c/Criticality.h deleted file mode 100644 index c110ab9..0000000 --- a/src/asn1c/Criticality.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-CommonDataTypes" - * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" - * `asn1c -gen-PER` - */ - -#ifndef _Criticality_H_ -#define _Criticality_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Criticality { - Criticality_reject = 0, - Criticality_ignore = 1, - Criticality_notify = 2 -} e_Criticality; - -/* Criticality */ -typedef long Criticality_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Criticality; -asn_struct_free_f Criticality_free; -asn_struct_print_f Criticality_print; -asn_constr_check_f Criticality_constraint; -ber_type_decoder_f Criticality_decode_ber; -der_type_encoder_f Criticality_encode_der; -xer_type_decoder_f Criticality_decode_xer; -xer_type_encoder_f Criticality_encode_xer; -per_type_decoder_f Criticality_decode_uper; -per_type_encoder_f Criticality_encode_uper; -per_type_decoder_f Criticality_decode_aper; -per_type_encoder_f Criticality_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Criticality_H_ */ -#include diff --git a/src/asn1c/CriticalityDiagnostics-IE-List.c b/src/asn1c/CriticalityDiagnostics-IE-List.c deleted file mode 100644 index 4d58426..0000000 --- a/src/asn1c/CriticalityDiagnostics-IE-List.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "CriticalityDiagnostics-IE-List.h" - -static asn_per_constraints_t asn_PER_type_CriticalityDiagnostics_IE_List_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 8, 8, 1l, 256l } /* (SIZE(1..256)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_Member_2[] = { - { ATF_NOFLAGS, 0, offsetof(struct Member, iECriticality), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_Criticality, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iECriticality" - }, - { ATF_NOFLAGS, 0, offsetof(struct Member, iE_ID), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_ProtocolIE_ID, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-ID" - }, - { ATF_NOFLAGS, 0, offsetof(struct Member, typeOfError), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_TypeOfError, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "typeOfError" - }, - { ATF_POINTER, 1, offsetof(struct Member, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_Member_oms_2[] = { 3 }; -static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iECriticality */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* iE-ID */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* typeOfError */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { - sizeof(struct Member), - offsetof(struct Member, _asn_ctx), - asn_MAP_Member_tag2el_2, - 4, /* Count of tags in the map */ - asn_MAP_Member_oms_2, /* Optional members */ - 1, 0, /* Root/Additions */ - 3, /* Start extensions */ - 5 /* Stop extensions */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_Member_2 = { - "SEQUENCE", - "SEQUENCE", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_Member_tags_2, - sizeof(asn_DEF_Member_tags_2) - /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ - asn_DEF_Member_tags_2, /* Same as above */ - sizeof(asn_DEF_Member_tags_2) - /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_Member_2, - 4, /* Elements count */ - &asn_SPC_Member_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_IE_List_1[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_Member_2, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_CriticalityDiagnostics_IE_List_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_CriticalityDiagnostics_IE_List_specs_1 = { - sizeof(struct CriticalityDiagnostics_IE_List), - offsetof(struct CriticalityDiagnostics_IE_List, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics_IE_List = { - "CriticalityDiagnostics-IE-List", - "CriticalityDiagnostics-IE-List", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_CriticalityDiagnostics_IE_List_tags_1, - sizeof(asn_DEF_CriticalityDiagnostics_IE_List_tags_1) - /sizeof(asn_DEF_CriticalityDiagnostics_IE_List_tags_1[0]), /* 1 */ - asn_DEF_CriticalityDiagnostics_IE_List_tags_1, /* Same as above */ - sizeof(asn_DEF_CriticalityDiagnostics_IE_List_tags_1) - /sizeof(asn_DEF_CriticalityDiagnostics_IE_List_tags_1[0]), /* 1 */ - &asn_PER_type_CriticalityDiagnostics_IE_List_constr_1, - asn_MBR_CriticalityDiagnostics_IE_List_1, - 1, /* Single element */ - &asn_SPC_CriticalityDiagnostics_IE_List_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/CriticalityDiagnostics-IE-List.h b/src/asn1c/CriticalityDiagnostics-IE-List.h deleted file mode 100644 index 05eec0a..0000000 --- a/src/asn1c/CriticalityDiagnostics-IE-List.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _CriticalityDiagnostics_IE_List_H_ -#define _CriticalityDiagnostics_IE_List_H_ - - -#include - -/* Including external dependencies */ -#include -#include "Criticality.h" -#include "ProtocolIE-ID.h" -#include "TypeOfError.h" -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE_Extensions; - -/* CriticalityDiagnostics-IE-List */ -typedef struct CriticalityDiagnostics_IE_List { - A_SEQUENCE_OF(struct Member { - Criticality_t iECriticality; - ProtocolIE_ID_t iE_ID; - TypeOfError_t typeOfError; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } ) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CriticalityDiagnostics_IE_List_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics_IE_List; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _CriticalityDiagnostics_IE_List_H_ */ -#include diff --git a/src/asn1c/CriticalityDiagnostics.c b/src/asn1c/CriticalityDiagnostics.c deleted file mode 100644 index 56d460f..0000000 --- a/src/asn1c/CriticalityDiagnostics.c +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "CriticalityDiagnostics.h" - -static asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_1[] = { - { ATF_POINTER, 5, offsetof(struct CriticalityDiagnostics, procedureCode), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_ProcedureCode, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "procedureCode" - }, - { ATF_POINTER, 4, offsetof(struct CriticalityDiagnostics, triggeringMessage), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_TriggeringMessage, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "triggeringMessage" - }, - { ATF_POINTER, 3, offsetof(struct CriticalityDiagnostics, procedureCriticality), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_Criticality, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "procedureCriticality" - }, - { ATF_POINTER, 2, offsetof(struct CriticalityDiagnostics, iEsCriticalityDiagnostics), - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_CriticalityDiagnostics_IE_List, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iEsCriticalityDiagnostics" - }, - { ATF_POINTER, 1, offsetof(struct CriticalityDiagnostics, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_CriticalityDiagnostics_oms_1[] = { 0, 1, 2, 3, 4 }; -static const ber_tlv_tag_t asn_DEF_CriticalityDiagnostics_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_CriticalityDiagnostics_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* triggeringMessage */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* procedureCriticality */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* iEsCriticalityDiagnostics */ - { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_CriticalityDiagnostics_specs_1 = { - sizeof(struct CriticalityDiagnostics), - offsetof(struct CriticalityDiagnostics, _asn_ctx), - asn_MAP_CriticalityDiagnostics_tag2el_1, - 5, /* Count of tags in the map */ - asn_MAP_CriticalityDiagnostics_oms_1, /* Optional members */ - 5, 0, /* Root/Additions */ - 4, /* Start extensions */ - 6 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics = { - "CriticalityDiagnostics", - "CriticalityDiagnostics", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_CriticalityDiagnostics_tags_1, - sizeof(asn_DEF_CriticalityDiagnostics_tags_1) - /sizeof(asn_DEF_CriticalityDiagnostics_tags_1[0]), /* 1 */ - asn_DEF_CriticalityDiagnostics_tags_1, /* Same as above */ - sizeof(asn_DEF_CriticalityDiagnostics_tags_1) - /sizeof(asn_DEF_CriticalityDiagnostics_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_CriticalityDiagnostics_1, - 5, /* Elements count */ - &asn_SPC_CriticalityDiagnostics_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/CriticalityDiagnostics.h b/src/asn1c/CriticalityDiagnostics.h deleted file mode 100644 index 97936ed..0000000 --- a/src/asn1c/CriticalityDiagnostics.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _CriticalityDiagnostics_H_ -#define _CriticalityDiagnostics_H_ - - -#include - -/* Including external dependencies */ -#include "ProcedureCode.h" -#include "TriggeringMessage.h" -#include "Criticality.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct CriticalityDiagnostics_IE_List; -struct IE_Extensions; - -/* CriticalityDiagnostics */ -typedef struct CriticalityDiagnostics { - ProcedureCode_t *procedureCode /* OPTIONAL */; - TriggeringMessage_t *triggeringMessage /* OPTIONAL */; - Criticality_t *procedureCriticality /* OPTIONAL */; - struct CriticalityDiagnostics_IE_List *iEsCriticalityDiagnostics /* OPTIONAL */; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CriticalityDiagnostics_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "CriticalityDiagnostics-IE-List.h" -#include "IE-Extensions.h" - -#endif /* _CriticalityDiagnostics_H_ */ -#include diff --git a/src/asn1c/ESN.c b/src/asn1c/ESN.c deleted file mode 100644 index 1acc9f8..0000000 --- a/src/asn1c/ESN.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "ESN.h" - -int -ESN_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(st->size > 0) { - /* Size in bits */ - size = 8 * st->size - (st->bits_unused & 0x07); - } else { - size = 0; - } - - if((size == 32l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using BIT_STRING, - * so here we adjust the DEF accordingly. - */ -static void -ESN_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_BIT_STRING.free_struct; - td->print_struct = asn_DEF_BIT_STRING.print_struct; - td->check_constraints = asn_DEF_BIT_STRING.check_constraints; - td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; - td->der_encoder = asn_DEF_BIT_STRING.der_encoder; - td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; - td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; - td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; - td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; - td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; - td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_BIT_STRING.per_constraints; - td->elements = asn_DEF_BIT_STRING.elements; - td->elements_count = asn_DEF_BIT_STRING.elements_count; - td->specifics = asn_DEF_BIT_STRING.specifics; -} - -void -ESN_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - ESN_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -ESN_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - ESN_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -ESN_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - ESN_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -ESN_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - ESN_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -ESN_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - ESN_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -ESN_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - ESN_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -ESN_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - ESN_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -ESN_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - ESN_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -ESN_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - ESN_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -ESN_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - ESN_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_ESN_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 32l, 32l } /* (SIZE(32..32)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_ESN_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_ESN = { - "ESN", - "ESN", - ESN_free, - ESN_print, - ESN_constraint, - ESN_decode_ber, - ESN_encode_der, - ESN_decode_xer, - ESN_encode_xer, - ESN_decode_uper, - ESN_encode_uper, - ESN_decode_aper, - ESN_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_ESN_tags_1, - sizeof(asn_DEF_ESN_tags_1) - /sizeof(asn_DEF_ESN_tags_1[0]), /* 1 */ - asn_DEF_ESN_tags_1, /* Same as above */ - sizeof(asn_DEF_ESN_tags_1) - /sizeof(asn_DEF_ESN_tags_1[0]), /* 1 */ - &asn_PER_type_ESN_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/ESN.h b/src/asn1c/ESN.h deleted file mode 100644 index 36ee2ca..0000000 --- a/src/asn1c/ESN.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _ESN_H_ -#define _ESN_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* ESN */ -typedef BIT_STRING_t ESN_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ESN; -asn_struct_free_f ESN_free; -asn_struct_print_f ESN_print; -asn_constr_check_f ESN_constraint; -ber_type_decoder_f ESN_decode_ber; -der_type_encoder_f ESN_encode_der; -xer_type_decoder_f ESN_decode_xer; -xer_type_encoder_f ESN_encode_xer; -per_type_decoder_f ESN_decode_uper; -per_type_encoder_f ESN_encode_uper; -per_type_decoder_f ESN_decode_aper; -per_type_encoder_f ESN_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ESN_H_ */ -#include diff --git a/src/asn1c/ErrorIndication.c b/src/asn1c/ErrorIndication.c deleted file mode 100644 index 7d25f8e..0000000 --- a/src/asn1c/ErrorIndication.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "ErrorIndication.h" - -static int -memb_errorIndication_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_errorIndication_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_errorIndication_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_errorIndication_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_errorIndication_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_errorIndication_ies_specs_2 = { - sizeof(struct errorIndication_ies), - offsetof(struct errorIndication_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_errorIndication_ies_2 = { - "errorIndication-ies", - "errorIndication-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_errorIndication_ies_tags_2, - sizeof(asn_DEF_errorIndication_ies_tags_2) - /sizeof(asn_DEF_errorIndication_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_errorIndication_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_errorIndication_ies_tags_2) - /sizeof(asn_DEF_errorIndication_ies_tags_2[0]), /* 2 */ - &asn_PER_type_errorIndication_ies_constr_2, - asn_MBR_errorIndication_ies_2, - 1, /* Single element */ - &asn_SPC_errorIndication_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_ErrorIndication_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication, errorIndication_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_errorIndication_ies_2, - memb_errorIndication_ies_constraint_1, - &asn_PER_memb_errorIndication_ies_constr_2, - 0, - "errorIndication-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_ErrorIndication_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_ErrorIndication_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* errorIndication-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_ErrorIndication_specs_1 = { - sizeof(struct ErrorIndication), - offsetof(struct ErrorIndication, _asn_ctx), - asn_MAP_ErrorIndication_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_ErrorIndication = { - "ErrorIndication", - "ErrorIndication", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_ErrorIndication_tags_1, - sizeof(asn_DEF_ErrorIndication_tags_1) - /sizeof(asn_DEF_ErrorIndication_tags_1[0]), /* 1 */ - asn_DEF_ErrorIndication_tags_1, /* Same as above */ - sizeof(asn_DEF_ErrorIndication_tags_1) - /sizeof(asn_DEF_ErrorIndication_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_ErrorIndication_1, - 1, /* Elements count */ - &asn_SPC_ErrorIndication_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/ErrorIndication.h b/src/asn1c/ErrorIndication.h deleted file mode 100644 index b68ec1b..0000000 --- a/src/asn1c/ErrorIndication.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _ErrorIndication_H_ -#define _ErrorIndication_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* ErrorIndication */ -typedef struct ErrorIndication { - struct errorIndication_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } errorIndication_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ErrorIndication_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ErrorIndication; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _ErrorIndication_H_ */ -#include diff --git a/src/asn1c/GTP-TEI.c b/src/asn1c/GTP-TEI.c deleted file mode 100644 index 3faf842..0000000 --- a/src/asn1c/GTP-TEI.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "GTP-TEI.h" - -int -GTP_TEI_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size == 4l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using OCTET_STRING, - * so here we adjust the DEF accordingly. - */ -static void -GTP_TEI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_OCTET_STRING.free_struct; - td->print_struct = asn_DEF_OCTET_STRING.print_struct; - td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; - td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; - td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; - td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; - td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; - td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; - td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; - td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; - td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; - td->elements = asn_DEF_OCTET_STRING.elements; - td->elements_count = asn_DEF_OCTET_STRING.elements_count; - td->specifics = asn_DEF_OCTET_STRING.specifics; -} - -void -GTP_TEI_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - GTP_TEI_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -GTP_TEI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - GTP_TEI_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -GTP_TEI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - GTP_TEI_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -GTP_TEI_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - GTP_TEI_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -GTP_TEI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - GTP_TEI_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -GTP_TEI_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - GTP_TEI_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -GTP_TEI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - GTP_TEI_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -GTP_TEI_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - GTP_TEI_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -GTP_TEI_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - GTP_TEI_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -GTP_TEI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - GTP_TEI_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_GTP_TEI_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 4l, 4l } /* (SIZE(4..4)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_GTP_TEI_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_GTP_TEI = { - "GTP-TEI", - "GTP-TEI", - GTP_TEI_free, - GTP_TEI_print, - GTP_TEI_constraint, - GTP_TEI_decode_ber, - GTP_TEI_encode_der, - GTP_TEI_decode_xer, - GTP_TEI_encode_xer, - GTP_TEI_decode_uper, - GTP_TEI_encode_uper, - GTP_TEI_decode_aper, - GTP_TEI_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_GTP_TEI_tags_1, - sizeof(asn_DEF_GTP_TEI_tags_1) - /sizeof(asn_DEF_GTP_TEI_tags_1[0]), /* 1 */ - asn_DEF_GTP_TEI_tags_1, /* Same as above */ - sizeof(asn_DEF_GTP_TEI_tags_1) - /sizeof(asn_DEF_GTP_TEI_tags_1[0]), /* 1 */ - &asn_PER_type_GTP_TEI_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/GTP-TEI.h b/src/asn1c/GTP-TEI.h deleted file mode 100644 index 863c612..0000000 --- a/src/asn1c/GTP-TEI.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _GTP_TEI_H_ -#define _GTP_TEI_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* GTP-TEI */ -typedef OCTET_STRING_t GTP_TEI_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_GTP_TEI; -asn_struct_free_f GTP_TEI_free; -asn_struct_print_f GTP_TEI_print; -asn_constr_check_f GTP_TEI_constraint; -ber_type_decoder_f GTP_TEI_decode_ber; -der_type_encoder_f GTP_TEI_encode_der; -xer_type_decoder_f GTP_TEI_decode_xer; -xer_type_encoder_f GTP_TEI_encode_xer; -per_type_decoder_f GTP_TEI_decode_uper; -per_type_encoder_f GTP_TEI_encode_uper; -per_type_decoder_f GTP_TEI_decode_aper; -per_type_encoder_f GTP_TEI_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _GTP_TEI_H_ */ -#include diff --git a/src/asn1c/GeographicalCoordinates.c b/src/asn1c/GeographicalCoordinates.c deleted file mode 100644 index 8ff5810..0000000 --- a/src/asn1c/GeographicalCoordinates.c +++ /dev/null @@ -1,313 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "GeographicalCoordinates.h" - -static int -latitudeSign_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -latitudeSign_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -static void -latitudeSign_2_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - latitudeSign_2_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -static int -latitudeSign_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - latitudeSign_2_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -static asn_dec_rval_t -latitudeSign_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - latitudeSign_2_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -static asn_enc_rval_t -latitudeSign_2_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - latitudeSign_2_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -static asn_dec_rval_t -latitudeSign_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - latitudeSign_2_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -static asn_enc_rval_t -latitudeSign_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - latitudeSign_2_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -static asn_dec_rval_t -latitudeSign_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - latitudeSign_2_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_enc_rval_t -latitudeSign_2_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - latitudeSign_2_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -static asn_enc_rval_t -latitudeSign_2_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - latitudeSign_2_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -static asn_dec_rval_t -latitudeSign_2_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - latitudeSign_2_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static int -memb_latitude_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0l && value <= 8388607l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static int -memb_longitude_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= -8388608ull && value <= 8388607l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_latitudeSign_constr_2 GCC_NOTUSED = { - { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_latitude_constr_5 GCC_NOTUSED = { - { APC_CONSTRAINED, 23, -1, 0l, 8388607l } /* (0..8388607) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_longitude_constr_6 GCC_NOTUSED = { - { APC_CONSTRAINED, 24, -1, -8388608ull, 8388607l } /* (-8388608..8388607) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_latitudeSign_value2enum_2[] = { - { 0, 5, "north" }, - { 1, 5, "south" } -}; -static const unsigned int asn_MAP_latitudeSign_enum2value_2[] = { - 0, /* north(0) */ - 1 /* south(1) */ -}; -static const asn_INTEGER_specifics_t asn_SPC_latitudeSign_specs_2 = { - asn_MAP_latitudeSign_value2enum_2, /* "tag" => N; sorted by tag */ - asn_MAP_latitudeSign_enum2value_2, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_latitudeSign_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_latitudeSign_2 = { - "latitudeSign", - "latitudeSign", - latitudeSign_2_free, - latitudeSign_2_print, - latitudeSign_2_constraint, - latitudeSign_2_decode_ber, - latitudeSign_2_encode_der, - latitudeSign_2_decode_xer, - latitudeSign_2_encode_xer, - latitudeSign_2_decode_uper, - latitudeSign_2_encode_uper, - latitudeSign_2_decode_aper, - latitudeSign_2_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_latitudeSign_tags_2, - sizeof(asn_DEF_latitudeSign_tags_2) - /sizeof(asn_DEF_latitudeSign_tags_2[0]) - 1, /* 1 */ - asn_DEF_latitudeSign_tags_2, /* Same as above */ - sizeof(asn_DEF_latitudeSign_tags_2) - /sizeof(asn_DEF_latitudeSign_tags_2[0]), /* 2 */ - &asn_PER_type_latitudeSign_constr_2, - 0, 0, /* Defined elsewhere */ - &asn_SPC_latitudeSign_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_GeographicalCoordinates_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct GeographicalCoordinates, latitudeSign), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_latitudeSign_2, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "latitudeSign" - }, - { ATF_NOFLAGS, 0, offsetof(struct GeographicalCoordinates, latitude), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_NativeInteger, - memb_latitude_constraint_1, - &asn_PER_memb_latitude_constr_5, - 0, - "latitude" - }, - { ATF_NOFLAGS, 0, offsetof(struct GeographicalCoordinates, longitude), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_NativeInteger, - memb_longitude_constraint_1, - &asn_PER_memb_longitude_constr_6, - 0, - "longitude" - }, - { ATF_POINTER, 1, offsetof(struct GeographicalCoordinates, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_GeographicalCoordinates_oms_1[] = { 3 }; -static const ber_tlv_tag_t asn_DEF_GeographicalCoordinates_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_GeographicalCoordinates_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* latitudeSign */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* latitude */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* longitude */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_GeographicalCoordinates_specs_1 = { - sizeof(struct GeographicalCoordinates), - offsetof(struct GeographicalCoordinates, _asn_ctx), - asn_MAP_GeographicalCoordinates_tag2el_1, - 4, /* Count of tags in the map */ - asn_MAP_GeographicalCoordinates_oms_1, /* Optional members */ - 1, 0, /* Root/Additions */ - 3, /* Start extensions */ - 5 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_GeographicalCoordinates = { - "GeographicalCoordinates", - "GeographicalCoordinates", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_GeographicalCoordinates_tags_1, - sizeof(asn_DEF_GeographicalCoordinates_tags_1) - /sizeof(asn_DEF_GeographicalCoordinates_tags_1[0]), /* 1 */ - asn_DEF_GeographicalCoordinates_tags_1, /* Same as above */ - sizeof(asn_DEF_GeographicalCoordinates_tags_1) - /sizeof(asn_DEF_GeographicalCoordinates_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_GeographicalCoordinates_1, - 4, /* Elements count */ - &asn_SPC_GeographicalCoordinates_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/GeographicalCoordinates.h b/src/asn1c/GeographicalCoordinates.h deleted file mode 100644 index 469a5cf..0000000 --- a/src/asn1c/GeographicalCoordinates.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _GeographicalCoordinates_H_ -#define _GeographicalCoordinates_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum latitudeSign { - latitudeSign_north = 0, - latitudeSign_south = 1 -} e_latitudeSign; - -/* Forward declarations */ -struct IE_Extensions; - -/* GeographicalCoordinates */ -typedef struct GeographicalCoordinates { - long latitudeSign; - long latitude; - long longitude; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} GeographicalCoordinates_t; - -/* Implementation */ -/* extern asn_TYPE_descriptor_t asn_DEF_latitudeSign_2; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_GeographicalCoordinates; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _GeographicalCoordinates_H_ */ -#include diff --git a/src/asn1c/GeographicalLocation.c b/src/asn1c/GeographicalLocation.c deleted file mode 100644 index c76978d..0000000 --- a/src/asn1c/GeographicalLocation.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "GeographicalLocation.h" - -static asn_TYPE_member_t asn_MBR_GeographicalLocation_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct GeographicalLocation, geographicalCoordinates), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_GeographicalCoordinates, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "geographicalCoordinates" - }, - { ATF_NOFLAGS, 0, offsetof(struct GeographicalLocation, altitudeAndDirection), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_AltitudeAndDirection, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "altitudeAndDirection" - }, - { ATF_POINTER, 1, offsetof(struct GeographicalLocation, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_GeographicalLocation_oms_1[] = { 2 }; -static const ber_tlv_tag_t asn_DEF_GeographicalLocation_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_GeographicalLocation_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* geographicalCoordinates */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* altitudeAndDirection */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_GeographicalLocation_specs_1 = { - sizeof(struct GeographicalLocation), - offsetof(struct GeographicalLocation, _asn_ctx), - asn_MAP_GeographicalLocation_tag2el_1, - 3, /* Count of tags in the map */ - asn_MAP_GeographicalLocation_oms_1, /* Optional members */ - 1, 0, /* Root/Additions */ - 2, /* Start extensions */ - 4 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_GeographicalLocation = { - "GeographicalLocation", - "GeographicalLocation", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_GeographicalLocation_tags_1, - sizeof(asn_DEF_GeographicalLocation_tags_1) - /sizeof(asn_DEF_GeographicalLocation_tags_1[0]), /* 1 */ - asn_DEF_GeographicalLocation_tags_1, /* Same as above */ - sizeof(asn_DEF_GeographicalLocation_tags_1) - /sizeof(asn_DEF_GeographicalLocation_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_GeographicalLocation_1, - 3, /* Elements count */ - &asn_SPC_GeographicalLocation_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/GeographicalLocation.h b/src/asn1c/GeographicalLocation.h deleted file mode 100644 index 4b2688d..0000000 --- a/src/asn1c/GeographicalLocation.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _GeographicalLocation_H_ -#define _GeographicalLocation_H_ - - -#include - -/* Including external dependencies */ -#include "GeographicalCoordinates.h" -#include "AltitudeAndDirection.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE_Extensions; - -/* GeographicalLocation */ -typedef struct GeographicalLocation { - GeographicalCoordinates_t geographicalCoordinates; - AltitudeAndDirection_t altitudeAndDirection; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} GeographicalLocation_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_GeographicalLocation; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _GeographicalLocation_H_ */ -#include diff --git a/src/asn1c/HNB-Cell-Access-Mode.c b/src/asn1c/HNB-Cell-Access-Mode.c deleted file mode 100644 index 322c49a..0000000 --- a/src/asn1c/HNB-Cell-Access-Mode.c +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "HNB-Cell-Access-Mode.h" - -int -HNB_Cell_Access_Mode_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -HNB_Cell_Access_Mode_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -HNB_Cell_Access_Mode_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -HNB_Cell_Access_Mode_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -HNB_Cell_Access_Mode_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -HNB_Cell_Access_Mode_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -HNB_Cell_Access_Mode_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -HNB_Cell_Access_Mode_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -HNB_Cell_Access_Mode_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -HNB_Cell_Access_Mode_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -HNB_Cell_Access_Mode_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_HNB_Cell_Access_Mode_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_HNB_Cell_Access_Mode_value2enum_1[] = { - { 0, 6, "closed" }, - { 1, 6, "hybrid" }, - { 2, 4, "open" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_HNB_Cell_Access_Mode_enum2value_1[] = { - 0, /* closed(0) */ - 1, /* hybrid(1) */ - 2 /* open(2) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_HNB_Cell_Access_Mode_specs_1 = { - asn_MAP_HNB_Cell_Access_Mode_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_HNB_Cell_Access_Mode_enum2value_1, /* N => "tag"; sorted by N */ - 3, /* Number of elements in the maps */ - 4, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_HNB_Cell_Access_Mode_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_HNB_Cell_Access_Mode = { - "HNB-Cell-Access-Mode", - "HNB-Cell-Access-Mode", - HNB_Cell_Access_Mode_free, - HNB_Cell_Access_Mode_print, - HNB_Cell_Access_Mode_constraint, - HNB_Cell_Access_Mode_decode_ber, - HNB_Cell_Access_Mode_encode_der, - HNB_Cell_Access_Mode_decode_xer, - HNB_Cell_Access_Mode_encode_xer, - HNB_Cell_Access_Mode_decode_uper, - HNB_Cell_Access_Mode_encode_uper, - HNB_Cell_Access_Mode_decode_aper, - HNB_Cell_Access_Mode_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_HNB_Cell_Access_Mode_tags_1, - sizeof(asn_DEF_HNB_Cell_Access_Mode_tags_1) - /sizeof(asn_DEF_HNB_Cell_Access_Mode_tags_1[0]), /* 1 */ - asn_DEF_HNB_Cell_Access_Mode_tags_1, /* Same as above */ - sizeof(asn_DEF_HNB_Cell_Access_Mode_tags_1) - /sizeof(asn_DEF_HNB_Cell_Access_Mode_tags_1[0]), /* 1 */ - &asn_PER_type_HNB_Cell_Access_Mode_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_HNB_Cell_Access_Mode_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/HNB-Cell-Access-Mode.h b/src/asn1c/HNB-Cell-Access-Mode.h deleted file mode 100644 index 76778e4..0000000 --- a/src/asn1c/HNB-Cell-Access-Mode.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNB_Cell_Access_Mode_H_ -#define _HNB_Cell_Access_Mode_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum HNB_Cell_Access_Mode { - HNB_Cell_Access_Mode_closed = 0, - HNB_Cell_Access_Mode_hybrid = 1, - HNB_Cell_Access_Mode_open = 2 - /* - * Enumeration is extensible - */ -} e_HNB_Cell_Access_Mode; - -/* HNB-Cell-Access-Mode */ -typedef long HNB_Cell_Access_Mode_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNB_Cell_Access_Mode; -asn_struct_free_f HNB_Cell_Access_Mode_free; -asn_struct_print_f HNB_Cell_Access_Mode_print; -asn_constr_check_f HNB_Cell_Access_Mode_constraint; -ber_type_decoder_f HNB_Cell_Access_Mode_decode_ber; -der_type_encoder_f HNB_Cell_Access_Mode_encode_der; -xer_type_decoder_f HNB_Cell_Access_Mode_decode_xer; -xer_type_encoder_f HNB_Cell_Access_Mode_encode_xer; -per_type_decoder_f HNB_Cell_Access_Mode_decode_uper; -per_type_encoder_f HNB_Cell_Access_Mode_encode_uper; -per_type_decoder_f HNB_Cell_Access_Mode_decode_aper; -per_type_encoder_f HNB_Cell_Access_Mode_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _HNB_Cell_Access_Mode_H_ */ -#include diff --git a/src/asn1c/HNB-Cell-Identifier.c b/src/asn1c/HNB-Cell-Identifier.c deleted file mode 100644 index d72a3d6..0000000 --- a/src/asn1c/HNB-Cell-Identifier.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "HNB-Cell-Identifier.h" - -static asn_TYPE_member_t asn_MBR_HNB_Cell_Identifier_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct HNB_Cell_Identifier, pLMNidentity), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_PLMNidentity, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "pLMNidentity" - }, - { ATF_NOFLAGS, 0, offsetof(struct HNB_Cell_Identifier, cellIdentity), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_CellIdentity, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "cellIdentity" - }, - { ATF_POINTER, 1, offsetof(struct HNB_Cell_Identifier, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_HNB_Cell_Identifier_oms_1[] = { 2 }; -static const ber_tlv_tag_t asn_DEF_HNB_Cell_Identifier_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_HNB_Cell_Identifier_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNidentity */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellIdentity */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_HNB_Cell_Identifier_specs_1 = { - sizeof(struct HNB_Cell_Identifier), - offsetof(struct HNB_Cell_Identifier, _asn_ctx), - asn_MAP_HNB_Cell_Identifier_tag2el_1, - 3, /* Count of tags in the map */ - asn_MAP_HNB_Cell_Identifier_oms_1, /* Optional members */ - 1, 0, /* Root/Additions */ - 2, /* Start extensions */ - 4 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_HNB_Cell_Identifier = { - "HNB-Cell-Identifier", - "HNB-Cell-Identifier", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_HNB_Cell_Identifier_tags_1, - sizeof(asn_DEF_HNB_Cell_Identifier_tags_1) - /sizeof(asn_DEF_HNB_Cell_Identifier_tags_1[0]), /* 1 */ - asn_DEF_HNB_Cell_Identifier_tags_1, /* Same as above */ - sizeof(asn_DEF_HNB_Cell_Identifier_tags_1) - /sizeof(asn_DEF_HNB_Cell_Identifier_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_HNB_Cell_Identifier_1, - 3, /* Elements count */ - &asn_SPC_HNB_Cell_Identifier_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/HNB-Cell-Identifier.h b/src/asn1c/HNB-Cell-Identifier.h deleted file mode 100644 index a887096..0000000 --- a/src/asn1c/HNB-Cell-Identifier.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNB_Cell_Identifier_H_ -#define _HNB_Cell_Identifier_H_ - - -#include - -/* Including external dependencies */ -#include "PLMNidentity.h" -#include "CellIdentity.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE_Extensions; - -/* HNB-Cell-Identifier */ -typedef struct HNB_Cell_Identifier { - PLMNidentity_t pLMNidentity; - CellIdentity_t cellIdentity; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} HNB_Cell_Identifier_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNB_Cell_Identifier; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _HNB_Cell_Identifier_H_ */ -#include diff --git a/src/asn1c/HNB-GWResponse.c b/src/asn1c/HNB-GWResponse.c deleted file mode 100644 index 2d782c2..0000000 --- a/src/asn1c/HNB-GWResponse.c +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "HNB-GWResponse.h" - -static asn_per_constraints_t asn_PER_type_HNB_GWResponse_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_HNB_GWResponse_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct HNB_GWResponse, choice.hNB), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_HNBConfigInfo, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "hNB" - }, - { ATF_NOFLAGS, 0, offsetof(struct HNB_GWResponse, choice.macroRNC), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_RNC_ID, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "macroRNC" - }, - { ATF_NOFLAGS, 0, offsetof(struct HNB_GWResponse, choice.unknownU_RNTIIndication), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_UnknownU_RNTIIndication, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "unknownU-RNTIIndication" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_HNB_GWResponse_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* hNB */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* macroRNC */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* unknownU-RNTIIndication */ -}; -static asn_CHOICE_specifics_t asn_SPC_HNB_GWResponse_specs_1 = { - sizeof(struct HNB_GWResponse), - offsetof(struct HNB_GWResponse, _asn_ctx), - offsetof(struct HNB_GWResponse, present), - sizeof(((struct HNB_GWResponse *)0)->present), - asn_MAP_HNB_GWResponse_tag2el_1, - 3, /* Count of tags in the map */ - 0, - 3 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_HNB_GWResponse = { - "HNB-GWResponse", - "HNB-GWResponse", - CHOICE_free, - CHOICE_print, - CHOICE_constraint, - CHOICE_decode_ber, - CHOICE_encode_der, - CHOICE_decode_xer, - CHOICE_encode_xer, - CHOICE_decode_uper, - CHOICE_encode_uper, - CHOICE_decode_aper, - CHOICE_encode_aper, - CHOICE_outmost_tag, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - &asn_PER_type_HNB_GWResponse_constr_1, - asn_MBR_HNB_GWResponse_1, - 3, /* Elements count */ - &asn_SPC_HNB_GWResponse_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/HNB-GWResponse.h b/src/asn1c/HNB-GWResponse.h deleted file mode 100644 index cd75a71..0000000 --- a/src/asn1c/HNB-GWResponse.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNB_GWResponse_H_ -#define _HNB_GWResponse_H_ - - -#include - -/* Including external dependencies */ -#include "HNBConfigInfo.h" -#include "RNC-ID.h" -#include "UnknownU-RNTIIndication.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum HNB_GWResponse_PR { - HNB_GWResponse_PR_NOTHING, /* No components present */ - HNB_GWResponse_PR_hNB, - HNB_GWResponse_PR_macroRNC, - HNB_GWResponse_PR_unknownU_RNTIIndication, - /* Extensions may appear below */ - -} HNB_GWResponse_PR; - -/* HNB-GWResponse */ -typedef struct HNB_GWResponse { - HNB_GWResponse_PR present; - union HNB_GWResponse_u { - HNBConfigInfo_t hNB; - RNC_ID_t macroRNC; - UnknownU_RNTIIndication_t unknownU_RNTIIndication; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} HNB_GWResponse_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNB_GWResponse; - -#ifdef __cplusplus -} -#endif - -#endif /* _HNB_GWResponse_H_ */ -#include diff --git a/src/asn1c/HNB-Identity-Info.c b/src/asn1c/HNB-Identity-Info.c deleted file mode 100644 index 3296058..0000000 --- a/src/asn1c/HNB-Identity-Info.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "HNB-Identity-Info.h" - -int -HNB_Identity_Info_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size >= 1l && size <= 255l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using OCTET_STRING, - * so here we adjust the DEF accordingly. - */ -static void -HNB_Identity_Info_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_OCTET_STRING.free_struct; - td->print_struct = asn_DEF_OCTET_STRING.print_struct; - td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; - td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; - td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; - td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; - td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; - td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; - td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; - td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; - td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; - td->elements = asn_DEF_OCTET_STRING.elements; - td->elements_count = asn_DEF_OCTET_STRING.elements_count; - td->specifics = asn_DEF_OCTET_STRING.specifics; -} - -void -HNB_Identity_Info_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - HNB_Identity_Info_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -HNB_Identity_Info_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - HNB_Identity_Info_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -HNB_Identity_Info_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - HNB_Identity_Info_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -HNB_Identity_Info_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - HNB_Identity_Info_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -HNB_Identity_Info_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - HNB_Identity_Info_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -HNB_Identity_Info_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - HNB_Identity_Info_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -HNB_Identity_Info_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - HNB_Identity_Info_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -HNB_Identity_Info_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - HNB_Identity_Info_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -HNB_Identity_Info_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - HNB_Identity_Info_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -HNB_Identity_Info_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - HNB_Identity_Info_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_HNB_Identity_Info_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 8, 8, 1l, 255l } /* (SIZE(1..255)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_HNB_Identity_Info_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_HNB_Identity_Info = { - "HNB-Identity-Info", - "HNB-Identity-Info", - HNB_Identity_Info_free, - HNB_Identity_Info_print, - HNB_Identity_Info_constraint, - HNB_Identity_Info_decode_ber, - HNB_Identity_Info_encode_der, - HNB_Identity_Info_decode_xer, - HNB_Identity_Info_encode_xer, - HNB_Identity_Info_decode_uper, - HNB_Identity_Info_encode_uper, - HNB_Identity_Info_decode_aper, - HNB_Identity_Info_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_HNB_Identity_Info_tags_1, - sizeof(asn_DEF_HNB_Identity_Info_tags_1) - /sizeof(asn_DEF_HNB_Identity_Info_tags_1[0]), /* 1 */ - asn_DEF_HNB_Identity_Info_tags_1, /* Same as above */ - sizeof(asn_DEF_HNB_Identity_Info_tags_1) - /sizeof(asn_DEF_HNB_Identity_Info_tags_1[0]), /* 1 */ - &asn_PER_type_HNB_Identity_Info_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/HNB-Identity-Info.h b/src/asn1c/HNB-Identity-Info.h deleted file mode 100644 index f36ac89..0000000 --- a/src/asn1c/HNB-Identity-Info.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNB_Identity_Info_H_ -#define _HNB_Identity_Info_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* HNB-Identity-Info */ -typedef OCTET_STRING_t HNB_Identity_Info_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNB_Identity_Info; -asn_struct_free_f HNB_Identity_Info_free; -asn_struct_print_f HNB_Identity_Info_print; -asn_constr_check_f HNB_Identity_Info_constraint; -ber_type_decoder_f HNB_Identity_Info_decode_ber; -der_type_encoder_f HNB_Identity_Info_encode_der; -xer_type_decoder_f HNB_Identity_Info_decode_xer; -xer_type_encoder_f HNB_Identity_Info_encode_xer; -per_type_decoder_f HNB_Identity_Info_decode_uper; -per_type_encoder_f HNB_Identity_Info_encode_uper; -per_type_decoder_f HNB_Identity_Info_decode_aper; -per_type_encoder_f HNB_Identity_Info_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _HNB_Identity_Info_H_ */ -#include diff --git a/src/asn1c/HNB-Identity.c b/src/asn1c/HNB-Identity.c deleted file mode 100644 index 3c1cbeb..0000000 --- a/src/asn1c/HNB-Identity.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "HNB-Identity.h" - -static asn_TYPE_member_t asn_MBR_HNB_Identity_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct HNB_Identity, hNB_Identity_Info), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_HNB_Identity_Info, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "hNB-Identity-Info" - }, - { ATF_POINTER, 1, offsetof(struct HNB_Identity, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_HNB_Identity_oms_1[] = { 1 }; -static const ber_tlv_tag_t asn_DEF_HNB_Identity_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_HNB_Identity_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* hNB-Identity-Info */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_HNB_Identity_specs_1 = { - sizeof(struct HNB_Identity), - offsetof(struct HNB_Identity, _asn_ctx), - asn_MAP_HNB_Identity_tag2el_1, - 2, /* Count of tags in the map */ - asn_MAP_HNB_Identity_oms_1, /* Optional members */ - 1, 0, /* Root/Additions */ - 1, /* Start extensions */ - 3 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_HNB_Identity = { - "HNB-Identity", - "HNB-Identity", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_HNB_Identity_tags_1, - sizeof(asn_DEF_HNB_Identity_tags_1) - /sizeof(asn_DEF_HNB_Identity_tags_1[0]), /* 1 */ - asn_DEF_HNB_Identity_tags_1, /* Same as above */ - sizeof(asn_DEF_HNB_Identity_tags_1) - /sizeof(asn_DEF_HNB_Identity_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_HNB_Identity_1, - 2, /* Elements count */ - &asn_SPC_HNB_Identity_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/HNB-Identity.h b/src/asn1c/HNB-Identity.h deleted file mode 100644 index af0a7b2..0000000 --- a/src/asn1c/HNB-Identity.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNB_Identity_H_ -#define _HNB_Identity_H_ - - -#include - -/* Including external dependencies */ -#include "HNB-Identity-Info.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE_Extensions; - -/* HNB-Identity */ -typedef struct HNB_Identity { - HNB_Identity_Info_t hNB_Identity_Info; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} HNB_Identity_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNB_Identity; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _HNB_Identity_H_ */ -#include diff --git a/src/asn1c/HNB-Location-Information.c b/src/asn1c/HNB-Location-Information.c deleted file mode 100644 index 6d1150b..0000000 --- a/src/asn1c/HNB-Location-Information.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "HNB-Location-Information.h" - -static asn_TYPE_member_t asn_MBR_HNB_Location_Information_1[] = { - { ATF_POINTER, 3, offsetof(struct HNB_Location_Information, macroCoverageInfo), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_MacroCoverageInformation, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "macroCoverageInfo" - }, - { ATF_POINTER, 2, offsetof(struct HNB_Location_Information, geographicalCoordinates), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_GeographicalLocation, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "geographicalCoordinates" - }, - { ATF_POINTER, 1, offsetof(struct HNB_Location_Information, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_HNB_Location_Information_oms_1[] = { 0, 1, 2 }; -static const ber_tlv_tag_t asn_DEF_HNB_Location_Information_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_HNB_Location_Information_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* macroCoverageInfo */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* geographicalCoordinates */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_HNB_Location_Information_specs_1 = { - sizeof(struct HNB_Location_Information), - offsetof(struct HNB_Location_Information, _asn_ctx), - asn_MAP_HNB_Location_Information_tag2el_1, - 3, /* Count of tags in the map */ - asn_MAP_HNB_Location_Information_oms_1, /* Optional members */ - 3, 0, /* Root/Additions */ - 2, /* Start extensions */ - 4 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_HNB_Location_Information = { - "HNB-Location-Information", - "HNB-Location-Information", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_HNB_Location_Information_tags_1, - sizeof(asn_DEF_HNB_Location_Information_tags_1) - /sizeof(asn_DEF_HNB_Location_Information_tags_1[0]), /* 1 */ - asn_DEF_HNB_Location_Information_tags_1, /* Same as above */ - sizeof(asn_DEF_HNB_Location_Information_tags_1) - /sizeof(asn_DEF_HNB_Location_Information_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_HNB_Location_Information_1, - 3, /* Elements count */ - &asn_SPC_HNB_Location_Information_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/HNB-Location-Information.h b/src/asn1c/HNB-Location-Information.h deleted file mode 100644 index 2450351..0000000 --- a/src/asn1c/HNB-Location-Information.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNB_Location_Information_H_ -#define _HNB_Location_Information_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct MacroCoverageInformation; -struct GeographicalLocation; -struct IE_Extensions; - -/* HNB-Location-Information */ -typedef struct HNB_Location_Information { - struct MacroCoverageInformation *macroCoverageInfo /* OPTIONAL */; - struct GeographicalLocation *geographicalCoordinates /* OPTIONAL */; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} HNB_Location_Information_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNB_Location_Information; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "MacroCoverageInformation.h" -#include "GeographicalLocation.h" -#include "IE-Extensions.h" - -#endif /* _HNB_Location_Information_H_ */ -#include diff --git a/src/asn1c/HNB-RNL-Identity.c b/src/asn1c/HNB-RNL-Identity.c deleted file mode 100644 index 65769f2..0000000 --- a/src/asn1c/HNB-RNL-Identity.c +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "HNB-RNL-Identity.h" - -static asn_per_constraints_t asn_PER_type_HNB_RNL_Identity_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_HNB_RNL_Identity_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct HNB_RNL_Identity, choice.hNB_Identity_as_Cell_Identifier), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_HNB_Cell_Identifier, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "hNB-Identity-as-Cell-Identifier" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_HNB_RNL_Identity_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* hNB-Identity-as-Cell-Identifier */ -}; -static asn_CHOICE_specifics_t asn_SPC_HNB_RNL_Identity_specs_1 = { - sizeof(struct HNB_RNL_Identity), - offsetof(struct HNB_RNL_Identity, _asn_ctx), - offsetof(struct HNB_RNL_Identity, present), - sizeof(((struct HNB_RNL_Identity *)0)->present), - asn_MAP_HNB_RNL_Identity_tag2el_1, - 1, /* Count of tags in the map */ - 0, - 1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_HNB_RNL_Identity = { - "HNB-RNL-Identity", - "HNB-RNL-Identity", - CHOICE_free, - CHOICE_print, - CHOICE_constraint, - CHOICE_decode_ber, - CHOICE_encode_der, - CHOICE_decode_xer, - CHOICE_encode_xer, - CHOICE_decode_uper, - CHOICE_encode_uper, - CHOICE_decode_aper, - CHOICE_encode_aper, - CHOICE_outmost_tag, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - &asn_PER_type_HNB_RNL_Identity_constr_1, - asn_MBR_HNB_RNL_Identity_1, - 1, /* Elements count */ - &asn_SPC_HNB_RNL_Identity_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/HNB-RNL-Identity.h b/src/asn1c/HNB-RNL-Identity.h deleted file mode 100644 index 75f29b0..0000000 --- a/src/asn1c/HNB-RNL-Identity.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNB_RNL_Identity_H_ -#define _HNB_RNL_Identity_H_ - - -#include - -/* Including external dependencies */ -#include "HNB-Cell-Identifier.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum HNB_RNL_Identity_PR { - HNB_RNL_Identity_PR_NOTHING, /* No components present */ - HNB_RNL_Identity_PR_hNB_Identity_as_Cell_Identifier, - /* Extensions may appear below */ - -} HNB_RNL_Identity_PR; - -/* HNB-RNL-Identity */ -typedef struct HNB_RNL_Identity { - HNB_RNL_Identity_PR present; - union HNB_RNL_Identity_u { - HNB_Cell_Identifier_t hNB_Identity_as_Cell_Identifier; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} HNB_RNL_Identity_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNB_RNL_Identity; - -#ifdef __cplusplus -} -#endif - -#endif /* _HNB_RNL_Identity_H_ */ -#include diff --git a/src/asn1c/HNBAP-PDU.c b/src/asn1c/HNBAP-PDU.c deleted file mode 100644 index a430881..0000000 --- a/src/asn1c/HNBAP-PDU.c +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "HNBAP-PDU.h" - -static asn_per_constraints_t asn_PER_type_HNBAP_PDU_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_HNBAP_PDU_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct HNBAP_PDU, choice.initiatingMessage), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_InitiatingMessage, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "initiatingMessage" - }, - { ATF_NOFLAGS, 0, offsetof(struct HNBAP_PDU, choice.successfulOutcome), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_SuccessfulOutcome, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "successfulOutcome" - }, - { ATF_NOFLAGS, 0, offsetof(struct HNBAP_PDU, choice.unsuccessfulOutcome), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_UnsuccessfulOutcome, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "unsuccessfulOutcome" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_HNBAP_PDU_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* initiatingMessage */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* successfulOutcome */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* unsuccessfulOutcome */ -}; -static asn_CHOICE_specifics_t asn_SPC_HNBAP_PDU_specs_1 = { - sizeof(struct HNBAP_PDU), - offsetof(struct HNBAP_PDU, _asn_ctx), - offsetof(struct HNBAP_PDU, present), - sizeof(((struct HNBAP_PDU *)0)->present), - asn_MAP_HNBAP_PDU_tag2el_1, - 3, /* Count of tags in the map */ - 0, - 3 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_HNBAP_PDU = { - "HNBAP-PDU", - "HNBAP-PDU", - CHOICE_free, - CHOICE_print, - CHOICE_constraint, - CHOICE_decode_ber, - CHOICE_encode_der, - CHOICE_decode_xer, - CHOICE_encode_xer, - CHOICE_decode_uper, - CHOICE_encode_uper, - CHOICE_decode_aper, - CHOICE_encode_aper, - CHOICE_outmost_tag, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - &asn_PER_type_HNBAP_PDU_constr_1, - asn_MBR_HNBAP_PDU_1, - 3, /* Elements count */ - &asn_SPC_HNBAP_PDU_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/HNBAP-PDU.h b/src/asn1c/HNBAP-PDU.h deleted file mode 100644 index 8417085..0000000 --- a/src/asn1c/HNBAP-PDU.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNBAP_PDU_H_ -#define _HNBAP_PDU_H_ - - -#include - -/* Including external dependencies */ -#include "InitiatingMessage.h" -#include "SuccessfulOutcome.h" -#include "UnsuccessfulOutcome.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum HNBAP_PDU_PR { - HNBAP_PDU_PR_NOTHING, /* No components present */ - HNBAP_PDU_PR_initiatingMessage, - HNBAP_PDU_PR_successfulOutcome, - HNBAP_PDU_PR_unsuccessfulOutcome, - /* Extensions may appear below */ - -} HNBAP_PDU_PR; - -/* HNBAP-PDU */ -typedef struct HNBAP_PDU { - HNBAP_PDU_PR present; - union HNBAP_PDU_u { - InitiatingMessage_t initiatingMessage; - SuccessfulOutcome_t successfulOutcome; - UnsuccessfulOutcome_t unsuccessfulOutcome; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} HNBAP_PDU_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNBAP_PDU; - -#ifdef __cplusplus -} -#endif - -#endif /* _HNBAP_PDU_H_ */ -#include diff --git a/src/asn1c/HNBCapacity.c b/src/asn1c/HNBCapacity.c deleted file mode 100644 index 0c8acb9..0000000 --- a/src/asn1c/HNBCapacity.c +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "HNBCapacity.h" - -int -HNBCapacity_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0l && value <= 1000l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ -static void -HNBCapacity_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeInteger.free_struct; - td->print_struct = asn_DEF_NativeInteger.print_struct; - td->check_constraints = asn_DEF_NativeInteger.check_constraints; - td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; - td->der_encoder = asn_DEF_NativeInteger.der_encoder; - td->xer_decoder = asn_DEF_NativeInteger.xer_decoder; - td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; - td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; - td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; - td->aper_decoder = asn_DEF_NativeInteger.aper_decoder; - td->aper_encoder = asn_DEF_NativeInteger.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeInteger.per_constraints; - td->elements = asn_DEF_NativeInteger.elements; - td->elements_count = asn_DEF_NativeInteger.elements_count; - td->specifics = asn_DEF_NativeInteger.specifics; -} - -void -HNBCapacity_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - HNBCapacity_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -HNBCapacity_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - HNBCapacity_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -HNBCapacity_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - HNBCapacity_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -HNBCapacity_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - HNBCapacity_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -HNBCapacity_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - HNBCapacity_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -HNBCapacity_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - HNBCapacity_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -HNBCapacity_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - HNBCapacity_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -HNBCapacity_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - HNBCapacity_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -HNBCapacity_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - HNBCapacity_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -HNBCapacity_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - HNBCapacity_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_HNBCapacity_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED, 10, 10, 0l, 1000l } /* (0..1000) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_HNBCapacity_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_HNBCapacity = { - "HNBCapacity", - "HNBCapacity", - HNBCapacity_free, - HNBCapacity_print, - HNBCapacity_constraint, - HNBCapacity_decode_ber, - HNBCapacity_encode_der, - HNBCapacity_decode_xer, - HNBCapacity_encode_xer, - HNBCapacity_decode_uper, - HNBCapacity_encode_uper, - HNBCapacity_decode_aper, - HNBCapacity_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_HNBCapacity_tags_1, - sizeof(asn_DEF_HNBCapacity_tags_1) - /sizeof(asn_DEF_HNBCapacity_tags_1[0]), /* 1 */ - asn_DEF_HNBCapacity_tags_1, /* Same as above */ - sizeof(asn_DEF_HNBCapacity_tags_1) - /sizeof(asn_DEF_HNBCapacity_tags_1[0]), /* 1 */ - &asn_PER_type_HNBCapacity_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/HNBCapacity.h b/src/asn1c/HNBCapacity.h deleted file mode 100644 index 2c6eea1..0000000 --- a/src/asn1c/HNBCapacity.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNBCapacity_H_ -#define _HNBCapacity_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* HNBCapacity */ -typedef long HNBCapacity_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNBCapacity; -asn_struct_free_f HNBCapacity_free; -asn_struct_print_f HNBCapacity_print; -asn_constr_check_f HNBCapacity_constraint; -ber_type_decoder_f HNBCapacity_decode_ber; -der_type_encoder_f HNBCapacity_encode_der; -xer_type_decoder_f HNBCapacity_decode_xer; -xer_type_encoder_f HNBCapacity_encode_xer; -per_type_decoder_f HNBCapacity_decode_uper; -per_type_encoder_f HNBCapacity_encode_uper; -per_type_decoder_f HNBCapacity_decode_aper; -per_type_encoder_f HNBCapacity_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _HNBCapacity_H_ */ -#include diff --git a/src/asn1c/HNBConfigInfo.c b/src/asn1c/HNBConfigInfo.c deleted file mode 100644 index dd1ddda..0000000 --- a/src/asn1c/HNBConfigInfo.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "HNBConfigInfo.h" - -static asn_TYPE_member_t asn_MBR_HNBConfigInfo_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct HNBConfigInfo, hnb_RNL_Identity), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - +1, /* EXPLICIT tag at current level */ - &asn_DEF_HNB_RNL_Identity, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "hnb-RNL-Identity" - }, - { ATF_NOFLAGS, 0, offsetof(struct HNBConfigInfo, configurationInformation), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - +1, /* EXPLICIT tag at current level */ - &asn_DEF_ConfigurationInformation, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "configurationInformation" - }, - { ATF_POINTER, 1, offsetof(struct HNBConfigInfo, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_HNBConfigInfo_oms_1[] = { 2 }; -static const ber_tlv_tag_t asn_DEF_HNBConfigInfo_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_HNBConfigInfo_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* hnb-RNL-Identity */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* configurationInformation */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_HNBConfigInfo_specs_1 = { - sizeof(struct HNBConfigInfo), - offsetof(struct HNBConfigInfo, _asn_ctx), - asn_MAP_HNBConfigInfo_tag2el_1, - 3, /* Count of tags in the map */ - asn_MAP_HNBConfigInfo_oms_1, /* Optional members */ - 1, 0, /* Root/Additions */ - 2, /* Start extensions */ - 4 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_HNBConfigInfo = { - "HNBConfigInfo", - "HNBConfigInfo", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_HNBConfigInfo_tags_1, - sizeof(asn_DEF_HNBConfigInfo_tags_1) - /sizeof(asn_DEF_HNBConfigInfo_tags_1[0]), /* 1 */ - asn_DEF_HNBConfigInfo_tags_1, /* Same as above */ - sizeof(asn_DEF_HNBConfigInfo_tags_1) - /sizeof(asn_DEF_HNBConfigInfo_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_HNBConfigInfo_1, - 3, /* Elements count */ - &asn_SPC_HNBConfigInfo_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/HNBConfigInfo.h b/src/asn1c/HNBConfigInfo.h deleted file mode 100644 index 2c45d51..0000000 --- a/src/asn1c/HNBConfigInfo.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNBConfigInfo_H_ -#define _HNBConfigInfo_H_ - - -#include - -/* Including external dependencies */ -#include "HNB-RNL-Identity.h" -#include "ConfigurationInformation.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE_Extensions; - -/* HNBConfigInfo */ -typedef struct HNBConfigInfo { - HNB_RNL_Identity_t hnb_RNL_Identity; - ConfigurationInformation_t configurationInformation; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} HNBConfigInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNBConfigInfo; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _HNBConfigInfo_H_ */ -#include diff --git a/src/asn1c/HNBConfigTransferRequest.c b/src/asn1c/HNBConfigTransferRequest.c deleted file mode 100644 index 336bd98..0000000 --- a/src/asn1c/HNBConfigTransferRequest.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "HNBConfigTransferRequest.h" - -static int -memb_hnbConfigTransferRequest_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_hnbConfigTransferRequest_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_hnbConfigTransferRequest_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_hnbConfigTransferRequest_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_hnbConfigTransferRequest_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_hnbConfigTransferRequest_ies_specs_2 = { - sizeof(struct hnbConfigTransferRequest_ies), - offsetof(struct hnbConfigTransferRequest_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_hnbConfigTransferRequest_ies_2 = { - "hnbConfigTransferRequest-ies", - "hnbConfigTransferRequest-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_hnbConfigTransferRequest_ies_tags_2, - sizeof(asn_DEF_hnbConfigTransferRequest_ies_tags_2) - /sizeof(asn_DEF_hnbConfigTransferRequest_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_hnbConfigTransferRequest_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_hnbConfigTransferRequest_ies_tags_2) - /sizeof(asn_DEF_hnbConfigTransferRequest_ies_tags_2[0]), /* 2 */ - &asn_PER_type_hnbConfigTransferRequest_ies_constr_2, - asn_MBR_hnbConfigTransferRequest_ies_2, - 1, /* Single element */ - &asn_SPC_hnbConfigTransferRequest_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_HNBConfigTransferRequest_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct HNBConfigTransferRequest, hnbConfigTransferRequest_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_hnbConfigTransferRequest_ies_2, - memb_hnbConfigTransferRequest_ies_constraint_1, - &asn_PER_memb_hnbConfigTransferRequest_ies_constr_2, - 0, - "hnbConfigTransferRequest-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_HNBConfigTransferRequest_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_HNBConfigTransferRequest_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* hnbConfigTransferRequest-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_HNBConfigTransferRequest_specs_1 = { - sizeof(struct HNBConfigTransferRequest), - offsetof(struct HNBConfigTransferRequest, _asn_ctx), - asn_MAP_HNBConfigTransferRequest_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_HNBConfigTransferRequest = { - "HNBConfigTransferRequest", - "HNBConfigTransferRequest", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_HNBConfigTransferRequest_tags_1, - sizeof(asn_DEF_HNBConfigTransferRequest_tags_1) - /sizeof(asn_DEF_HNBConfigTransferRequest_tags_1[0]), /* 1 */ - asn_DEF_HNBConfigTransferRequest_tags_1, /* Same as above */ - sizeof(asn_DEF_HNBConfigTransferRequest_tags_1) - /sizeof(asn_DEF_HNBConfigTransferRequest_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_HNBConfigTransferRequest_1, - 1, /* Elements count */ - &asn_SPC_HNBConfigTransferRequest_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/HNBConfigTransferRequest.h b/src/asn1c/HNBConfigTransferRequest.h deleted file mode 100644 index 16fd0b1..0000000 --- a/src/asn1c/HNBConfigTransferRequest.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNBConfigTransferRequest_H_ -#define _HNBConfigTransferRequest_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* HNBConfigTransferRequest */ -typedef struct HNBConfigTransferRequest { - struct hnbConfigTransferRequest_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } hnbConfigTransferRequest_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} HNBConfigTransferRequest_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNBConfigTransferRequest; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _HNBConfigTransferRequest_H_ */ -#include diff --git a/src/asn1c/HNBConfigTransferResponse.c b/src/asn1c/HNBConfigTransferResponse.c deleted file mode 100644 index da454cb..0000000 --- a/src/asn1c/HNBConfigTransferResponse.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "HNBConfigTransferResponse.h" - -static int -memb_hnbConfigTransferResponse_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_hnbConfigTransferResponse_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_hnbConfigTransferResponse_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_hnbConfigTransferResponse_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_hnbConfigTransferResponse_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_hnbConfigTransferResponse_ies_specs_2 = { - sizeof(struct hnbConfigTransferResponse_ies), - offsetof(struct hnbConfigTransferResponse_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_hnbConfigTransferResponse_ies_2 = { - "hnbConfigTransferResponse-ies", - "hnbConfigTransferResponse-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_hnbConfigTransferResponse_ies_tags_2, - sizeof(asn_DEF_hnbConfigTransferResponse_ies_tags_2) - /sizeof(asn_DEF_hnbConfigTransferResponse_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_hnbConfigTransferResponse_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_hnbConfigTransferResponse_ies_tags_2) - /sizeof(asn_DEF_hnbConfigTransferResponse_ies_tags_2[0]), /* 2 */ - &asn_PER_type_hnbConfigTransferResponse_ies_constr_2, - asn_MBR_hnbConfigTransferResponse_ies_2, - 1, /* Single element */ - &asn_SPC_hnbConfigTransferResponse_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_HNBConfigTransferResponse_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct HNBConfigTransferResponse, hnbConfigTransferResponse_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_hnbConfigTransferResponse_ies_2, - memb_hnbConfigTransferResponse_ies_constraint_1, - &asn_PER_memb_hnbConfigTransferResponse_ies_constr_2, - 0, - "hnbConfigTransferResponse-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_HNBConfigTransferResponse_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_HNBConfigTransferResponse_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* hnbConfigTransferResponse-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_HNBConfigTransferResponse_specs_1 = { - sizeof(struct HNBConfigTransferResponse), - offsetof(struct HNBConfigTransferResponse, _asn_ctx), - asn_MAP_HNBConfigTransferResponse_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_HNBConfigTransferResponse = { - "HNBConfigTransferResponse", - "HNBConfigTransferResponse", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_HNBConfigTransferResponse_tags_1, - sizeof(asn_DEF_HNBConfigTransferResponse_tags_1) - /sizeof(asn_DEF_HNBConfigTransferResponse_tags_1[0]), /* 1 */ - asn_DEF_HNBConfigTransferResponse_tags_1, /* Same as above */ - sizeof(asn_DEF_HNBConfigTransferResponse_tags_1) - /sizeof(asn_DEF_HNBConfigTransferResponse_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_HNBConfigTransferResponse_1, - 1, /* Elements count */ - &asn_SPC_HNBConfigTransferResponse_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/HNBConfigTransferResponse.h b/src/asn1c/HNBConfigTransferResponse.h deleted file mode 100644 index b858332..0000000 --- a/src/asn1c/HNBConfigTransferResponse.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNBConfigTransferResponse_H_ -#define _HNBConfigTransferResponse_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* HNBConfigTransferResponse */ -typedef struct HNBConfigTransferResponse { - struct hnbConfigTransferResponse_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } hnbConfigTransferResponse_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} HNBConfigTransferResponse_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNBConfigTransferResponse; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _HNBConfigTransferResponse_H_ */ -#include diff --git a/src/asn1c/HNBConfigurationInformationMissing.c b/src/asn1c/HNBConfigurationInformationMissing.c deleted file mode 100644 index aa20d2a..0000000 --- a/src/asn1c/HNBConfigurationInformationMissing.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "HNBConfigurationInformationMissing.h" - -static asn_TYPE_member_t asn_MBR_HNBConfigurationInformationMissing_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct HNBConfigurationInformationMissing, cause), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - +1, /* EXPLICIT tag at current level */ - &asn_DEF_Cause, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "cause" - }, - { ATF_POINTER, 1, offsetof(struct HNBConfigurationInformationMissing, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_HNBConfigurationInformationMissing_oms_1[] = { 1 }; -static const ber_tlv_tag_t asn_DEF_HNBConfigurationInformationMissing_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_HNBConfigurationInformationMissing_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cause */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_HNBConfigurationInformationMissing_specs_1 = { - sizeof(struct HNBConfigurationInformationMissing), - offsetof(struct HNBConfigurationInformationMissing, _asn_ctx), - asn_MAP_HNBConfigurationInformationMissing_tag2el_1, - 2, /* Count of tags in the map */ - asn_MAP_HNBConfigurationInformationMissing_oms_1, /* Optional members */ - 1, 0, /* Root/Additions */ - 1, /* Start extensions */ - 3 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_HNBConfigurationInformationMissing = { - "HNBConfigurationInformationMissing", - "HNBConfigurationInformationMissing", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_HNBConfigurationInformationMissing_tags_1, - sizeof(asn_DEF_HNBConfigurationInformationMissing_tags_1) - /sizeof(asn_DEF_HNBConfigurationInformationMissing_tags_1[0]), /* 1 */ - asn_DEF_HNBConfigurationInformationMissing_tags_1, /* Same as above */ - sizeof(asn_DEF_HNBConfigurationInformationMissing_tags_1) - /sizeof(asn_DEF_HNBConfigurationInformationMissing_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_HNBConfigurationInformationMissing_1, - 2, /* Elements count */ - &asn_SPC_HNBConfigurationInformationMissing_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/HNBConfigurationInformationMissing.h b/src/asn1c/HNBConfigurationInformationMissing.h deleted file mode 100644 index 6241f7b..0000000 --- a/src/asn1c/HNBConfigurationInformationMissing.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNBConfigurationInformationMissing_H_ -#define _HNBConfigurationInformationMissing_H_ - - -#include - -/* Including external dependencies */ -#include "Cause.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE_Extensions; - -/* HNBConfigurationInformationMissing */ -typedef struct HNBConfigurationInformationMissing { - Cause_t cause; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} HNBConfigurationInformationMissing_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNBConfigurationInformationMissing; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _HNBConfigurationInformationMissing_H_ */ -#include diff --git a/src/asn1c/HNBConfigurationInformationProvided.c b/src/asn1c/HNBConfigurationInformationProvided.c deleted file mode 100644 index c620055..0000000 --- a/src/asn1c/HNBConfigurationInformationProvided.c +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "HNBConfigurationInformationProvided.h" - -static asn_TYPE_member_t asn_MBR_HNBConfigurationInformationProvided_1[] = { - { ATF_POINTER, 2, offsetof(struct HNBConfigurationInformationProvided, psc), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_PSC, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "psc" - }, - { ATF_POINTER, 1, offsetof(struct HNBConfigurationInformationProvided, cSG_ID), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_CSG_ID, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "cSG-ID" - }, - { ATF_NOFLAGS, 0, offsetof(struct HNBConfigurationInformationProvided, hNB_Cell_Access_Mode), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_HNB_Cell_Access_Mode, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "hNB-Cell-Access-Mode" - }, - { ATF_NOFLAGS, 0, offsetof(struct HNBConfigurationInformationProvided, iurh_Signalling_TNL_AddressList), - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_Iurh_Signalling_TNL_AddressList, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iurh-Signalling-TNL-AddressList" - }, - { ATF_POINTER, 1, offsetof(struct HNBConfigurationInformationProvided, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_HNBConfigurationInformationProvided_oms_1[] = { 0, 1, 4 }; -static const ber_tlv_tag_t asn_DEF_HNBConfigurationInformationProvided_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_HNBConfigurationInformationProvided_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* psc */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cSG-ID */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* hNB-Cell-Access-Mode */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* iurh-Signalling-TNL-AddressList */ - { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_HNBConfigurationInformationProvided_specs_1 = { - sizeof(struct HNBConfigurationInformationProvided), - offsetof(struct HNBConfigurationInformationProvided, _asn_ctx), - asn_MAP_HNBConfigurationInformationProvided_tag2el_1, - 5, /* Count of tags in the map */ - asn_MAP_HNBConfigurationInformationProvided_oms_1, /* Optional members */ - 3, 0, /* Root/Additions */ - 4, /* Start extensions */ - 6 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_HNBConfigurationInformationProvided = { - "HNBConfigurationInformationProvided", - "HNBConfigurationInformationProvided", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_HNBConfigurationInformationProvided_tags_1, - sizeof(asn_DEF_HNBConfigurationInformationProvided_tags_1) - /sizeof(asn_DEF_HNBConfigurationInformationProvided_tags_1[0]), /* 1 */ - asn_DEF_HNBConfigurationInformationProvided_tags_1, /* Same as above */ - sizeof(asn_DEF_HNBConfigurationInformationProvided_tags_1) - /sizeof(asn_DEF_HNBConfigurationInformationProvided_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_HNBConfigurationInformationProvided_1, - 5, /* Elements count */ - &asn_SPC_HNBConfigurationInformationProvided_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/HNBConfigurationInformationProvided.h b/src/asn1c/HNBConfigurationInformationProvided.h deleted file mode 100644 index ccf9504..0000000 --- a/src/asn1c/HNBConfigurationInformationProvided.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNBConfigurationInformationProvided_H_ -#define _HNBConfigurationInformationProvided_H_ - - -#include - -/* Including external dependencies */ -#include "PSC.h" -#include "CSG-ID.h" -#include "HNB-Cell-Access-Mode.h" -#include "Iurh-Signalling-TNL-AddressList.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE_Extensions; - -/* HNBConfigurationInformationProvided */ -typedef struct HNBConfigurationInformationProvided { - PSC_t *psc /* OPTIONAL */; - CSG_ID_t *cSG_ID /* OPTIONAL */; - HNB_Cell_Access_Mode_t hNB_Cell_Access_Mode; - Iurh_Signalling_TNL_AddressList_t iurh_Signalling_TNL_AddressList; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} HNBConfigurationInformationProvided_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNBConfigurationInformationProvided; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _HNBConfigurationInformationProvided_H_ */ -#include diff --git a/src/asn1c/HNBDe-Register.c b/src/asn1c/HNBDe-Register.c deleted file mode 100644 index 023cf9f..0000000 --- a/src/asn1c/HNBDe-Register.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "HNBDe-Register.h" - -static int -memb_hnbDe_Register_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_hnbDe_Register_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_hnbDe_Register_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_hnbDe_Register_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_hnbDe_Register_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_hnbDe_Register_ies_specs_2 = { - sizeof(struct hnbDe_Register_ies), - offsetof(struct hnbDe_Register_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_hnbDe_Register_ies_2 = { - "hnbDe-Register-ies", - "hnbDe-Register-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_hnbDe_Register_ies_tags_2, - sizeof(asn_DEF_hnbDe_Register_ies_tags_2) - /sizeof(asn_DEF_hnbDe_Register_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_hnbDe_Register_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_hnbDe_Register_ies_tags_2) - /sizeof(asn_DEF_hnbDe_Register_ies_tags_2[0]), /* 2 */ - &asn_PER_type_hnbDe_Register_ies_constr_2, - asn_MBR_hnbDe_Register_ies_2, - 1, /* Single element */ - &asn_SPC_hnbDe_Register_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_HNBDe_Register_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct HNBDe_Register, hnbDe_Register_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_hnbDe_Register_ies_2, - memb_hnbDe_Register_ies_constraint_1, - &asn_PER_memb_hnbDe_Register_ies_constr_2, - 0, - "hnbDe-Register-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_HNBDe_Register_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_HNBDe_Register_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* hnbDe-Register-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_HNBDe_Register_specs_1 = { - sizeof(struct HNBDe_Register), - offsetof(struct HNBDe_Register, _asn_ctx), - asn_MAP_HNBDe_Register_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_HNBDe_Register = { - "HNBDe-Register", - "HNBDe-Register", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_HNBDe_Register_tags_1, - sizeof(asn_DEF_HNBDe_Register_tags_1) - /sizeof(asn_DEF_HNBDe_Register_tags_1[0]), /* 1 */ - asn_DEF_HNBDe_Register_tags_1, /* Same as above */ - sizeof(asn_DEF_HNBDe_Register_tags_1) - /sizeof(asn_DEF_HNBDe_Register_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_HNBDe_Register_1, - 1, /* Elements count */ - &asn_SPC_HNBDe_Register_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/HNBDe-Register.h b/src/asn1c/HNBDe-Register.h deleted file mode 100644 index fc501d5..0000000 --- a/src/asn1c/HNBDe-Register.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNBDe_Register_H_ -#define _HNBDe_Register_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* HNBDe-Register */ -typedef struct HNBDe_Register { - struct hnbDe_Register_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } hnbDe_Register_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} HNBDe_Register_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNBDe_Register; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _HNBDe_Register_H_ */ -#include diff --git a/src/asn1c/HNBRegisterAccept.c b/src/asn1c/HNBRegisterAccept.c deleted file mode 100644 index 466bb30..0000000 --- a/src/asn1c/HNBRegisterAccept.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "HNBRegisterAccept.h" - -static int -memb_hnbRegisterAccept_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_hnbRegisterAccept_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_hnbRegisterAccept_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_hnbRegisterAccept_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_hnbRegisterAccept_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_hnbRegisterAccept_ies_specs_2 = { - sizeof(struct hnbRegisterAccept_ies), - offsetof(struct hnbRegisterAccept_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_hnbRegisterAccept_ies_2 = { - "hnbRegisterAccept-ies", - "hnbRegisterAccept-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_hnbRegisterAccept_ies_tags_2, - sizeof(asn_DEF_hnbRegisterAccept_ies_tags_2) - /sizeof(asn_DEF_hnbRegisterAccept_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_hnbRegisterAccept_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_hnbRegisterAccept_ies_tags_2) - /sizeof(asn_DEF_hnbRegisterAccept_ies_tags_2[0]), /* 2 */ - &asn_PER_type_hnbRegisterAccept_ies_constr_2, - asn_MBR_hnbRegisterAccept_ies_2, - 1, /* Single element */ - &asn_SPC_hnbRegisterAccept_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_HNBRegisterAccept_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct HNBRegisterAccept, hnbRegisterAccept_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_hnbRegisterAccept_ies_2, - memb_hnbRegisterAccept_ies_constraint_1, - &asn_PER_memb_hnbRegisterAccept_ies_constr_2, - 0, - "hnbRegisterAccept-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_HNBRegisterAccept_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_HNBRegisterAccept_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* hnbRegisterAccept-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_HNBRegisterAccept_specs_1 = { - sizeof(struct HNBRegisterAccept), - offsetof(struct HNBRegisterAccept, _asn_ctx), - asn_MAP_HNBRegisterAccept_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_HNBRegisterAccept = { - "HNBRegisterAccept", - "HNBRegisterAccept", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_HNBRegisterAccept_tags_1, - sizeof(asn_DEF_HNBRegisterAccept_tags_1) - /sizeof(asn_DEF_HNBRegisterAccept_tags_1[0]), /* 1 */ - asn_DEF_HNBRegisterAccept_tags_1, /* Same as above */ - sizeof(asn_DEF_HNBRegisterAccept_tags_1) - /sizeof(asn_DEF_HNBRegisterAccept_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_HNBRegisterAccept_1, - 1, /* Elements count */ - &asn_SPC_HNBRegisterAccept_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/HNBRegisterAccept.h b/src/asn1c/HNBRegisterAccept.h deleted file mode 100644 index 2c0192c..0000000 --- a/src/asn1c/HNBRegisterAccept.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNBRegisterAccept_H_ -#define _HNBRegisterAccept_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* HNBRegisterAccept */ -typedef struct HNBRegisterAccept { - struct hnbRegisterAccept_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } hnbRegisterAccept_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} HNBRegisterAccept_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNBRegisterAccept; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _HNBRegisterAccept_H_ */ -#include diff --git a/src/asn1c/HNBRegisterReject.c b/src/asn1c/HNBRegisterReject.c deleted file mode 100644 index f39611d..0000000 --- a/src/asn1c/HNBRegisterReject.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "HNBRegisterReject.h" - -static int -memb_hnbRegisterReject_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_hnbRegisterReject_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_hnbRegisterReject_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_hnbRegisterReject_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_hnbRegisterReject_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_hnbRegisterReject_ies_specs_2 = { - sizeof(struct hnbRegisterReject_ies), - offsetof(struct hnbRegisterReject_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_hnbRegisterReject_ies_2 = { - "hnbRegisterReject-ies", - "hnbRegisterReject-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_hnbRegisterReject_ies_tags_2, - sizeof(asn_DEF_hnbRegisterReject_ies_tags_2) - /sizeof(asn_DEF_hnbRegisterReject_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_hnbRegisterReject_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_hnbRegisterReject_ies_tags_2) - /sizeof(asn_DEF_hnbRegisterReject_ies_tags_2[0]), /* 2 */ - &asn_PER_type_hnbRegisterReject_ies_constr_2, - asn_MBR_hnbRegisterReject_ies_2, - 1, /* Single element */ - &asn_SPC_hnbRegisterReject_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_HNBRegisterReject_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct HNBRegisterReject, hnbRegisterReject_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_hnbRegisterReject_ies_2, - memb_hnbRegisterReject_ies_constraint_1, - &asn_PER_memb_hnbRegisterReject_ies_constr_2, - 0, - "hnbRegisterReject-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_HNBRegisterReject_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_HNBRegisterReject_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* hnbRegisterReject-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_HNBRegisterReject_specs_1 = { - sizeof(struct HNBRegisterReject), - offsetof(struct HNBRegisterReject, _asn_ctx), - asn_MAP_HNBRegisterReject_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_HNBRegisterReject = { - "HNBRegisterReject", - "HNBRegisterReject", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_HNBRegisterReject_tags_1, - sizeof(asn_DEF_HNBRegisterReject_tags_1) - /sizeof(asn_DEF_HNBRegisterReject_tags_1[0]), /* 1 */ - asn_DEF_HNBRegisterReject_tags_1, /* Same as above */ - sizeof(asn_DEF_HNBRegisterReject_tags_1) - /sizeof(asn_DEF_HNBRegisterReject_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_HNBRegisterReject_1, - 1, /* Elements count */ - &asn_SPC_HNBRegisterReject_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/HNBRegisterReject.h b/src/asn1c/HNBRegisterReject.h deleted file mode 100644 index 830ca8a..0000000 --- a/src/asn1c/HNBRegisterReject.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNBRegisterReject_H_ -#define _HNBRegisterReject_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* HNBRegisterReject */ -typedef struct HNBRegisterReject { - struct hnbRegisterReject_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } hnbRegisterReject_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} HNBRegisterReject_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNBRegisterReject; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _HNBRegisterReject_H_ */ -#include diff --git a/src/asn1c/HNBRegisterRequest.c b/src/asn1c/HNBRegisterRequest.c deleted file mode 100644 index 214a3e7..0000000 --- a/src/asn1c/HNBRegisterRequest.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "HNBRegisterRequest.h" - -static int -memb_hnbRegisterRequest_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_hnbRegisterRequest_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_hnbRegisterRequest_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_hnbRegisterRequest_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_hnbRegisterRequest_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_hnbRegisterRequest_ies_specs_2 = { - sizeof(struct hnbRegisterRequest_ies), - offsetof(struct hnbRegisterRequest_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_hnbRegisterRequest_ies_2 = { - "hnbRegisterRequest-ies", - "hnbRegisterRequest-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_hnbRegisterRequest_ies_tags_2, - sizeof(asn_DEF_hnbRegisterRequest_ies_tags_2) - /sizeof(asn_DEF_hnbRegisterRequest_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_hnbRegisterRequest_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_hnbRegisterRequest_ies_tags_2) - /sizeof(asn_DEF_hnbRegisterRequest_ies_tags_2[0]), /* 2 */ - &asn_PER_type_hnbRegisterRequest_ies_constr_2, - asn_MBR_hnbRegisterRequest_ies_2, - 1, /* Single element */ - &asn_SPC_hnbRegisterRequest_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_HNBRegisterRequest_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct HNBRegisterRequest, hnbRegisterRequest_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_hnbRegisterRequest_ies_2, - memb_hnbRegisterRequest_ies_constraint_1, - &asn_PER_memb_hnbRegisterRequest_ies_constr_2, - 0, - "hnbRegisterRequest-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_HNBRegisterRequest_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_HNBRegisterRequest_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* hnbRegisterRequest-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_HNBRegisterRequest_specs_1 = { - sizeof(struct HNBRegisterRequest), - offsetof(struct HNBRegisterRequest, _asn_ctx), - asn_MAP_HNBRegisterRequest_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_HNBRegisterRequest = { - "HNBRegisterRequest", - "HNBRegisterRequest", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_HNBRegisterRequest_tags_1, - sizeof(asn_DEF_HNBRegisterRequest_tags_1) - /sizeof(asn_DEF_HNBRegisterRequest_tags_1[0]), /* 1 */ - asn_DEF_HNBRegisterRequest_tags_1, /* Same as above */ - sizeof(asn_DEF_HNBRegisterRequest_tags_1) - /sizeof(asn_DEF_HNBRegisterRequest_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_HNBRegisterRequest_1, - 1, /* Elements count */ - &asn_SPC_HNBRegisterRequest_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/HNBRegisterRequest.h b/src/asn1c/HNBRegisterRequest.h deleted file mode 100644 index f1ccf59..0000000 --- a/src/asn1c/HNBRegisterRequest.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _HNBRegisterRequest_H_ -#define _HNBRegisterRequest_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* HNBRegisterRequest */ -typedef struct HNBRegisterRequest { - struct hnbRegisterRequest_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } hnbRegisterRequest_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} HNBRegisterRequest_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HNBRegisterRequest; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _HNBRegisterRequest_H_ */ -#include diff --git a/src/asn1c/IE-Extensions.c b/src/asn1c/IE-Extensions.c deleted file mode 100644 index 66b8965..0000000 --- a/src/asn1c/IE-Extensions.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "IE-Extensions.h" - -static asn_per_constraints_t asn_PER_type_IE_Extensions_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 1l, 65535l } /* (SIZE(1..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_IE_Extensions_1[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_IE_Extensions_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_IE_Extensions_specs_1 = { - sizeof(struct IE_Extensions), - offsetof(struct IE_Extensions, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_IE_Extensions = { - "IE-Extensions", - "IE-Extensions", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_IE_Extensions_tags_1, - sizeof(asn_DEF_IE_Extensions_tags_1) - /sizeof(asn_DEF_IE_Extensions_tags_1[0]), /* 1 */ - asn_DEF_IE_Extensions_tags_1, /* Same as above */ - sizeof(asn_DEF_IE_Extensions_tags_1) - /sizeof(asn_DEF_IE_Extensions_tags_1[0]), /* 1 */ - &asn_PER_type_IE_Extensions_constr_1, - asn_MBR_IE_Extensions_1, - 1, /* Single element */ - &asn_SPC_IE_Extensions_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/IE-Extensions.h b/src/asn1c/IE-Extensions.h deleted file mode 100644 index f666dae..0000000 --- a/src/asn1c/IE-Extensions.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _IE_Extensions_H_ -#define _IE_Extensions_H_ - - -#include - -/* Including external dependencies */ -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* IE-Extensions */ -typedef struct IE_Extensions { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} IE_Extensions_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IE_Extensions; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _IE_Extensions_H_ */ -#include diff --git a/src/asn1c/IE.c b/src/asn1c/IE.c deleted file mode 100644 index 9d80998..0000000 --- a/src/asn1c/IE.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "IE.h" - -static asn_TYPE_member_t asn_MBR_IE_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct IE, id), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_ProtocolIE_ID, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "id" - }, - { ATF_NOFLAGS, 0, offsetof(struct IE, criticality), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_Criticality, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "criticality" - }, - { ATF_NOFLAGS, 0, offsetof(struct IE, value), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - +1, /* EXPLICIT tag at current level */ - &asn_DEF_ANY, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "value" - }, -}; -static const ber_tlv_tag_t asn_DEF_IE_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_IE_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_IE_specs_1 = { - sizeof(struct IE), - offsetof(struct IE, _asn_ctx), - asn_MAP_IE_tag2el_1, - 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* Start extensions */ - -1 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_IE = { - "IE", - "IE", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_IE_tags_1, - sizeof(asn_DEF_IE_tags_1) - /sizeof(asn_DEF_IE_tags_1[0]), /* 1 */ - asn_DEF_IE_tags_1, /* Same as above */ - sizeof(asn_DEF_IE_tags_1) - /sizeof(asn_DEF_IE_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_IE_1, - 3, /* Elements count */ - &asn_SPC_IE_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/IE.h b/src/asn1c/IE.h deleted file mode 100644 index e7d081f..0000000 --- a/src/asn1c/IE.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _IE_H_ -#define _IE_H_ - - -#include - -/* Including external dependencies */ -#include "ProtocolIE-ID.h" -#include "Criticality.h" -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* IE */ -typedef struct IE { - ProtocolIE_ID_t id; - Criticality_t criticality; - ANY_t value; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} IE_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IE; - -#ifdef __cplusplus -} -#endif - -#endif /* _IE_H_ */ -#include diff --git a/src/asn1c/IMEI.c b/src/asn1c/IMEI.c deleted file mode 100644 index ea7dc79..0000000 --- a/src/asn1c/IMEI.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "IMEI.h" - -int -IMEI_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(st->size > 0) { - /* Size in bits */ - size = 8 * st->size - (st->bits_unused & 0x07); - } else { - size = 0; - } - - if((size == 60l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using BIT_STRING, - * so here we adjust the DEF accordingly. - */ -static void -IMEI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_BIT_STRING.free_struct; - td->print_struct = asn_DEF_BIT_STRING.print_struct; - td->check_constraints = asn_DEF_BIT_STRING.check_constraints; - td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; - td->der_encoder = asn_DEF_BIT_STRING.der_encoder; - td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; - td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; - td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; - td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; - td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; - td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_BIT_STRING.per_constraints; - td->elements = asn_DEF_BIT_STRING.elements; - td->elements_count = asn_DEF_BIT_STRING.elements_count; - td->specifics = asn_DEF_BIT_STRING.specifics; -} - -void -IMEI_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - IMEI_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -IMEI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - IMEI_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -IMEI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - IMEI_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -IMEI_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - IMEI_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -IMEI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - IMEI_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -IMEI_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - IMEI_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -IMEI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - IMEI_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -IMEI_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - IMEI_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -IMEI_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - IMEI_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -IMEI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - IMEI_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_IMEI_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 60l, 60l } /* (SIZE(60..60)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_IMEI_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IMEI = { - "IMEI", - "IMEI", - IMEI_free, - IMEI_print, - IMEI_constraint, - IMEI_decode_ber, - IMEI_encode_der, - IMEI_decode_xer, - IMEI_encode_xer, - IMEI_decode_uper, - IMEI_encode_uper, - IMEI_decode_aper, - IMEI_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_IMEI_tags_1, - sizeof(asn_DEF_IMEI_tags_1) - /sizeof(asn_DEF_IMEI_tags_1[0]), /* 1 */ - asn_DEF_IMEI_tags_1, /* Same as above */ - sizeof(asn_DEF_IMEI_tags_1) - /sizeof(asn_DEF_IMEI_tags_1[0]), /* 1 */ - &asn_PER_type_IMEI_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/IMEI.h b/src/asn1c/IMEI.h deleted file mode 100644 index 41c8c9a..0000000 --- a/src/asn1c/IMEI.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _IMEI_H_ -#define _IMEI_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* IMEI */ -typedef BIT_STRING_t IMEI_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IMEI; -asn_struct_free_f IMEI_free; -asn_struct_print_f IMEI_print; -asn_constr_check_f IMEI_constraint; -ber_type_decoder_f IMEI_decode_ber; -der_type_encoder_f IMEI_encode_der; -xer_type_decoder_f IMEI_decode_xer; -xer_type_encoder_f IMEI_encode_xer; -per_type_decoder_f IMEI_decode_uper; -per_type_encoder_f IMEI_encode_uper; -per_type_decoder_f IMEI_decode_aper; -per_type_encoder_f IMEI_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _IMEI_H_ */ -#include diff --git a/src/asn1c/IMSI.c b/src/asn1c/IMSI.c deleted file mode 100644 index 3a44270..0000000 --- a/src/asn1c/IMSI.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "IMSI.h" - -int -IMSI_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size >= 3l && size <= 8l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using OCTET_STRING, - * so here we adjust the DEF accordingly. - */ -static void -IMSI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_OCTET_STRING.free_struct; - td->print_struct = asn_DEF_OCTET_STRING.print_struct; - td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; - td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; - td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; - td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; - td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; - td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; - td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; - td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; - td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; - td->elements = asn_DEF_OCTET_STRING.elements; - td->elements_count = asn_DEF_OCTET_STRING.elements_count; - td->specifics = asn_DEF_OCTET_STRING.specifics; -} - -void -IMSI_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - IMSI_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -IMSI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - IMSI_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -IMSI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - IMSI_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -IMSI_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - IMSI_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -IMSI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - IMSI_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -IMSI_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - IMSI_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -IMSI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - IMSI_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -IMSI_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - IMSI_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -IMSI_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - IMSI_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -IMSI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - IMSI_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_IMSI_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 3, 3, 3l, 8l } /* (SIZE(3..8)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_IMSI_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IMSI = { - "IMSI", - "IMSI", - IMSI_free, - IMSI_print, - IMSI_constraint, - IMSI_decode_ber, - IMSI_encode_der, - IMSI_decode_xer, - IMSI_encode_xer, - IMSI_decode_uper, - IMSI_encode_uper, - IMSI_decode_aper, - IMSI_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_IMSI_tags_1, - sizeof(asn_DEF_IMSI_tags_1) - /sizeof(asn_DEF_IMSI_tags_1[0]), /* 1 */ - asn_DEF_IMSI_tags_1, /* Same as above */ - sizeof(asn_DEF_IMSI_tags_1) - /sizeof(asn_DEF_IMSI_tags_1[0]), /* 1 */ - &asn_PER_type_IMSI_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/IMSI.h b/src/asn1c/IMSI.h deleted file mode 100644 index 061520c..0000000 --- a/src/asn1c/IMSI.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _IMSI_H_ -#define _IMSI_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* IMSI */ -typedef OCTET_STRING_t IMSI_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IMSI; -asn_struct_free_f IMSI_free; -asn_struct_print_f IMSI_print; -asn_constr_check_f IMSI_constraint; -ber_type_decoder_f IMSI_decode_ber; -der_type_encoder_f IMSI_encode_der; -xer_type_decoder_f IMSI_decode_xer; -xer_type_encoder_f IMSI_encode_xer; -per_type_decoder_f IMSI_decode_uper; -per_type_encoder_f IMSI_encode_uper; -per_type_decoder_f IMSI_decode_aper; -per_type_encoder_f IMSI_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _IMSI_H_ */ -#include diff --git a/src/asn1c/IMSIDS41.c b/src/asn1c/IMSIDS41.c deleted file mode 100644 index b68c86e..0000000 --- a/src/asn1c/IMSIDS41.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "IMSIDS41.h" - -int -IMSIDS41_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size >= 5l && size <= 7l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using OCTET_STRING, - * so here we adjust the DEF accordingly. - */ -static void -IMSIDS41_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_OCTET_STRING.free_struct; - td->print_struct = asn_DEF_OCTET_STRING.print_struct; - td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; - td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; - td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; - td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; - td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; - td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; - td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; - td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; - td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; - td->elements = asn_DEF_OCTET_STRING.elements; - td->elements_count = asn_DEF_OCTET_STRING.elements_count; - td->specifics = asn_DEF_OCTET_STRING.specifics; -} - -void -IMSIDS41_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - IMSIDS41_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -IMSIDS41_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - IMSIDS41_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -IMSIDS41_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - IMSIDS41_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -IMSIDS41_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - IMSIDS41_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -IMSIDS41_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - IMSIDS41_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -IMSIDS41_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - IMSIDS41_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -IMSIDS41_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - IMSIDS41_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -IMSIDS41_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - IMSIDS41_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -IMSIDS41_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - IMSIDS41_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -IMSIDS41_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - IMSIDS41_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_IMSIDS41_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 2, 2, 5l, 7l } /* (SIZE(5..7)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_IMSIDS41_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_IMSIDS41 = { - "IMSIDS41", - "IMSIDS41", - IMSIDS41_free, - IMSIDS41_print, - IMSIDS41_constraint, - IMSIDS41_decode_ber, - IMSIDS41_encode_der, - IMSIDS41_decode_xer, - IMSIDS41_encode_xer, - IMSIDS41_decode_uper, - IMSIDS41_encode_uper, - IMSIDS41_decode_aper, - IMSIDS41_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_IMSIDS41_tags_1, - sizeof(asn_DEF_IMSIDS41_tags_1) - /sizeof(asn_DEF_IMSIDS41_tags_1[0]), /* 1 */ - asn_DEF_IMSIDS41_tags_1, /* Same as above */ - sizeof(asn_DEF_IMSIDS41_tags_1) - /sizeof(asn_DEF_IMSIDS41_tags_1[0]), /* 1 */ - &asn_PER_type_IMSIDS41_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/IMSIDS41.h b/src/asn1c/IMSIDS41.h deleted file mode 100644 index e424742..0000000 --- a/src/asn1c/IMSIDS41.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _IMSIDS41_H_ -#define _IMSIDS41_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* IMSIDS41 */ -typedef OCTET_STRING_t IMSIDS41_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IMSIDS41; -asn_struct_free_f IMSIDS41_free; -asn_struct_print_f IMSIDS41_print; -asn_constr_check_f IMSIDS41_constraint; -ber_type_decoder_f IMSIDS41_decode_ber; -der_type_encoder_f IMSIDS41_encode_der; -xer_type_decoder_f IMSIDS41_decode_xer; -xer_type_encoder_f IMSIDS41_encode_xer; -per_type_decoder_f IMSIDS41_decode_uper; -per_type_encoder_f IMSIDS41_encode_uper; -per_type_decoder_f IMSIDS41_decode_aper; -per_type_encoder_f IMSIDS41_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _IMSIDS41_H_ */ -#include diff --git a/src/asn1c/IMSIESN.c b/src/asn1c/IMSIESN.c deleted file mode 100644 index 7bfd73b..0000000 --- a/src/asn1c/IMSIESN.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "IMSIESN.h" - -static asn_TYPE_member_t asn_MBR_IMSIESN_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct IMSIESN, iMSIDS41), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IMSIDS41, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iMSIDS41" - }, - { ATF_NOFLAGS, 0, offsetof(struct IMSIESN, eSN), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_ESN, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "eSN" - }, -}; -static const ber_tlv_tag_t asn_DEF_IMSIESN_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_IMSIESN_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iMSIDS41 */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eSN */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_IMSIESN_specs_1 = { - sizeof(struct IMSIESN), - offsetof(struct IMSIESN, _asn_ctx), - asn_MAP_IMSIESN_tag2el_1, - 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* Start extensions */ - -1 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_IMSIESN = { - "IMSIESN", - "IMSIESN", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_IMSIESN_tags_1, - sizeof(asn_DEF_IMSIESN_tags_1) - /sizeof(asn_DEF_IMSIESN_tags_1[0]), /* 1 */ - asn_DEF_IMSIESN_tags_1, /* Same as above */ - sizeof(asn_DEF_IMSIESN_tags_1) - /sizeof(asn_DEF_IMSIESN_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_IMSIESN_1, - 2, /* Elements count */ - &asn_SPC_IMSIESN_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/IMSIESN.h b/src/asn1c/IMSIESN.h deleted file mode 100644 index 442a217..0000000 --- a/src/asn1c/IMSIESN.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _IMSIESN_H_ -#define _IMSIESN_H_ - - -#include - -/* Including external dependencies */ -#include "IMSIDS41.h" -#include "ESN.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* IMSIESN */ -typedef struct IMSIESN { - IMSIDS41_t iMSIDS41; - ESN_t eSN; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} IMSIESN_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IMSIESN; - -#ifdef __cplusplus -} -#endif - -#endif /* _IMSIESN_H_ */ -#include diff --git a/src/asn1c/IP-Address.c b/src/asn1c/IP-Address.c deleted file mode 100644 index eb2e872..0000000 --- a/src/asn1c/IP-Address.c +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "IP-Address.h" - -static asn_per_constraints_t asn_PER_type_ipaddress_constr_2 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_ipaddress_2[] = { - { ATF_NOFLAGS, 0, offsetof(struct ipaddress, choice.ipv4info), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_Ipv4Address, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "ipv4info" - }, - { ATF_NOFLAGS, 0, offsetof(struct ipaddress, choice.ipv6info), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_Ipv6Address, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "ipv6info" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_ipaddress_tag2el_2[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ipv4info */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ipv6info */ -}; -static asn_CHOICE_specifics_t asn_SPC_ipaddress_specs_2 = { - sizeof(struct ipaddress), - offsetof(struct ipaddress, _asn_ctx), - offsetof(struct ipaddress, present), - sizeof(((struct ipaddress *)0)->present), - asn_MAP_ipaddress_tag2el_2, - 2, /* Count of tags in the map */ - 0, - 2 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_ipaddress_2 = { - "ipaddress", - "ipaddress", - CHOICE_free, - CHOICE_print, - CHOICE_constraint, - CHOICE_decode_ber, - CHOICE_encode_der, - CHOICE_decode_xer, - CHOICE_encode_xer, - CHOICE_decode_uper, - CHOICE_encode_uper, - CHOICE_decode_aper, - CHOICE_encode_aper, - CHOICE_outmost_tag, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - &asn_PER_type_ipaddress_constr_2, - asn_MBR_ipaddress_2, - 2, /* Elements count */ - &asn_SPC_ipaddress_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_IP_Address_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct IP_Address, ipaddress), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - +1, /* EXPLICIT tag at current level */ - &asn_DEF_ipaddress_2, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "ipaddress" - }, - { ATF_POINTER, 1, offsetof(struct IP_Address, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_IP_Address_oms_1[] = { 1 }; -static const ber_tlv_tag_t asn_DEF_IP_Address_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_IP_Address_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ipaddress */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_IP_Address_specs_1 = { - sizeof(struct IP_Address), - offsetof(struct IP_Address, _asn_ctx), - asn_MAP_IP_Address_tag2el_1, - 2, /* Count of tags in the map */ - asn_MAP_IP_Address_oms_1, /* Optional members */ - 1, 0, /* Root/Additions */ - 1, /* Start extensions */ - 3 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_IP_Address = { - "IP-Address", - "IP-Address", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_IP_Address_tags_1, - sizeof(asn_DEF_IP_Address_tags_1) - /sizeof(asn_DEF_IP_Address_tags_1[0]), /* 1 */ - asn_DEF_IP_Address_tags_1, /* Same as above */ - sizeof(asn_DEF_IP_Address_tags_1) - /sizeof(asn_DEF_IP_Address_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_IP_Address_1, - 2, /* Elements count */ - &asn_SPC_IP_Address_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/IP-Address.h b/src/asn1c/IP-Address.h deleted file mode 100644 index f73bd17..0000000 --- a/src/asn1c/IP-Address.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _IP_Address_H_ -#define _IP_Address_H_ - - -#include - -/* Including external dependencies */ -#include "Ipv4Address.h" -#include "Ipv6Address.h" -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ipaddress_PR { - ipaddress_PR_NOTHING, /* No components present */ - ipaddress_PR_ipv4info, - ipaddress_PR_ipv6info, - /* Extensions may appear below */ - -} ipaddress_PR; - -/* Forward declarations */ -struct IE_Extensions; - -/* IP-Address */ -typedef struct IP_Address { - struct ipaddress { - ipaddress_PR present; - union IP_Address__ipaddress_u { - Ipv4Address_t ipv4info; - Ipv6Address_t ipv6info; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } ipaddress; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} IP_Address_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IP_Address; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _IP_Address_H_ */ -#include diff --git a/src/asn1c/InitiatingMessage.c b/src/asn1c/InitiatingMessage.c deleted file mode 100644 index bafcc94..0000000 --- a/src/asn1c/InitiatingMessage.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "InitiatingMessage.h" - -static asn_TYPE_member_t asn_MBR_InitiatingMessage_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage, procedureCode), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_ProcedureCode, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "procedureCode" - }, - { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage, criticality), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_Criticality, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "criticality" - }, - { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage, value), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - +1, /* EXPLICIT tag at current level */ - &asn_DEF_ANY, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "value" - }, -}; -static const ber_tlv_tag_t asn_DEF_InitiatingMessage_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_InitiatingMessage_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_InitiatingMessage_specs_1 = { - sizeof(struct InitiatingMessage), - offsetof(struct InitiatingMessage, _asn_ctx), - asn_MAP_InitiatingMessage_tag2el_1, - 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* Start extensions */ - -1 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_InitiatingMessage = { - "InitiatingMessage", - "InitiatingMessage", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_InitiatingMessage_tags_1, - sizeof(asn_DEF_InitiatingMessage_tags_1) - /sizeof(asn_DEF_InitiatingMessage_tags_1[0]), /* 1 */ - asn_DEF_InitiatingMessage_tags_1, /* Same as above */ - sizeof(asn_DEF_InitiatingMessage_tags_1) - /sizeof(asn_DEF_InitiatingMessage_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_InitiatingMessage_1, - 3, /* Elements count */ - &asn_SPC_InitiatingMessage_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/InitiatingMessage.h b/src/asn1c/InitiatingMessage.h deleted file mode 100644 index 60adbe1..0000000 --- a/src/asn1c/InitiatingMessage.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _InitiatingMessage_H_ -#define _InitiatingMessage_H_ - - -#include - -/* Including external dependencies */ -#include "ProcedureCode.h" -#include "Criticality.h" -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* InitiatingMessage */ -typedef struct InitiatingMessage { - ProcedureCode_t procedureCode; - Criticality_t criticality; - ANY_t value; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} InitiatingMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_InitiatingMessage; - -#ifdef __cplusplus -} -#endif - -#endif /* _InitiatingMessage_H_ */ -#include diff --git a/src/asn1c/Ipv4Address.c b/src/asn1c/Ipv4Address.c deleted file mode 100644 index fee44c2..0000000 --- a/src/asn1c/Ipv4Address.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "Ipv4Address.h" - -int -Ipv4Address_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size == 4l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using OCTET_STRING, - * so here we adjust the DEF accordingly. - */ -static void -Ipv4Address_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_OCTET_STRING.free_struct; - td->print_struct = asn_DEF_OCTET_STRING.print_struct; - td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; - td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; - td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; - td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; - td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; - td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; - td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; - td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; - td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; - td->elements = asn_DEF_OCTET_STRING.elements; - td->elements_count = asn_DEF_OCTET_STRING.elements_count; - td->specifics = asn_DEF_OCTET_STRING.specifics; -} - -void -Ipv4Address_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - Ipv4Address_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -Ipv4Address_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - Ipv4Address_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -Ipv4Address_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - Ipv4Address_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -Ipv4Address_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - Ipv4Address_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -Ipv4Address_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - Ipv4Address_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -Ipv4Address_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - Ipv4Address_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -Ipv4Address_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - Ipv4Address_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -Ipv4Address_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - Ipv4Address_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -Ipv4Address_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - Ipv4Address_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -Ipv4Address_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - Ipv4Address_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_Ipv4Address_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 4l, 4l } /* (SIZE(4..4)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_Ipv4Address_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Ipv4Address = { - "Ipv4Address", - "Ipv4Address", - Ipv4Address_free, - Ipv4Address_print, - Ipv4Address_constraint, - Ipv4Address_decode_ber, - Ipv4Address_encode_der, - Ipv4Address_decode_xer, - Ipv4Address_encode_xer, - Ipv4Address_decode_uper, - Ipv4Address_encode_uper, - Ipv4Address_decode_aper, - Ipv4Address_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_Ipv4Address_tags_1, - sizeof(asn_DEF_Ipv4Address_tags_1) - /sizeof(asn_DEF_Ipv4Address_tags_1[0]), /* 1 */ - asn_DEF_Ipv4Address_tags_1, /* Same as above */ - sizeof(asn_DEF_Ipv4Address_tags_1) - /sizeof(asn_DEF_Ipv4Address_tags_1[0]), /* 1 */ - &asn_PER_type_Ipv4Address_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/Ipv4Address.h b/src/asn1c/Ipv4Address.h deleted file mode 100644 index 49154ed..0000000 --- a/src/asn1c/Ipv4Address.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _Ipv4Address_H_ -#define _Ipv4Address_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Ipv4Address */ -typedef OCTET_STRING_t Ipv4Address_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Ipv4Address; -asn_struct_free_f Ipv4Address_free; -asn_struct_print_f Ipv4Address_print; -asn_constr_check_f Ipv4Address_constraint; -ber_type_decoder_f Ipv4Address_decode_ber; -der_type_encoder_f Ipv4Address_encode_der; -xer_type_decoder_f Ipv4Address_decode_xer; -xer_type_encoder_f Ipv4Address_encode_xer; -per_type_decoder_f Ipv4Address_decode_uper; -per_type_encoder_f Ipv4Address_encode_uper; -per_type_decoder_f Ipv4Address_decode_aper; -per_type_encoder_f Ipv4Address_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Ipv4Address_H_ */ -#include diff --git a/src/asn1c/Ipv6Address.c b/src/asn1c/Ipv6Address.c deleted file mode 100644 index 0a140e4..0000000 --- a/src/asn1c/Ipv6Address.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "Ipv6Address.h" - -int -Ipv6Address_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size == 16l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using OCTET_STRING, - * so here we adjust the DEF accordingly. - */ -static void -Ipv6Address_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_OCTET_STRING.free_struct; - td->print_struct = asn_DEF_OCTET_STRING.print_struct; - td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; - td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; - td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; - td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; - td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; - td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; - td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; - td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; - td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; - td->elements = asn_DEF_OCTET_STRING.elements; - td->elements_count = asn_DEF_OCTET_STRING.elements_count; - td->specifics = asn_DEF_OCTET_STRING.specifics; -} - -void -Ipv6Address_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - Ipv6Address_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -Ipv6Address_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - Ipv6Address_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -Ipv6Address_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - Ipv6Address_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -Ipv6Address_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - Ipv6Address_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -Ipv6Address_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - Ipv6Address_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -Ipv6Address_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - Ipv6Address_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -Ipv6Address_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - Ipv6Address_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -Ipv6Address_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - Ipv6Address_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -Ipv6Address_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - Ipv6Address_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -Ipv6Address_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - Ipv6Address_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_Ipv6Address_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 16l, 16l } /* (SIZE(16..16)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_Ipv6Address_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Ipv6Address = { - "Ipv6Address", - "Ipv6Address", - Ipv6Address_free, - Ipv6Address_print, - Ipv6Address_constraint, - Ipv6Address_decode_ber, - Ipv6Address_encode_der, - Ipv6Address_decode_xer, - Ipv6Address_encode_xer, - Ipv6Address_decode_uper, - Ipv6Address_encode_uper, - Ipv6Address_decode_aper, - Ipv6Address_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_Ipv6Address_tags_1, - sizeof(asn_DEF_Ipv6Address_tags_1) - /sizeof(asn_DEF_Ipv6Address_tags_1[0]), /* 1 */ - asn_DEF_Ipv6Address_tags_1, /* Same as above */ - sizeof(asn_DEF_Ipv6Address_tags_1) - /sizeof(asn_DEF_Ipv6Address_tags_1[0]), /* 1 */ - &asn_PER_type_Ipv6Address_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/Ipv6Address.h b/src/asn1c/Ipv6Address.h deleted file mode 100644 index 5268e4c..0000000 --- a/src/asn1c/Ipv6Address.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _Ipv6Address_H_ -#define _Ipv6Address_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Ipv6Address */ -typedef OCTET_STRING_t Ipv6Address_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Ipv6Address; -asn_struct_free_f Ipv6Address_free; -asn_struct_print_f Ipv6Address_print; -asn_constr_check_f Ipv6Address_constraint; -ber_type_decoder_f Ipv6Address_decode_ber; -der_type_encoder_f Ipv6Address_encode_der; -xer_type_decoder_f Ipv6Address_decode_xer; -xer_type_encoder_f Ipv6Address_encode_xer; -per_type_decoder_f Ipv6Address_decode_uper; -per_type_encoder_f Ipv6Address_encode_uper; -per_type_decoder_f Ipv6Address_decode_aper; -per_type_encoder_f Ipv6Address_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Ipv6Address_H_ */ -#include diff --git a/src/asn1c/Iurh-Signalling-TNL-AddressList.c b/src/asn1c/Iurh-Signalling-TNL-AddressList.c deleted file mode 100644 index cd2830f..0000000 --- a/src/asn1c/Iurh-Signalling-TNL-AddressList.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "Iurh-Signalling-TNL-AddressList.h" - -static asn_per_constraints_t asn_PER_type_Iurh_Signalling_TNL_AddressList_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 2, 2, 1l, 3l } /* (SIZE(1..3)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_Iurh_Signalling_TNL_AddressList_1[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IP_Address, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_Iurh_Signalling_TNL_AddressList_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_Iurh_Signalling_TNL_AddressList_specs_1 = { - sizeof(struct Iurh_Signalling_TNL_AddressList), - offsetof(struct Iurh_Signalling_TNL_AddressList, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_Iurh_Signalling_TNL_AddressList = { - "Iurh-Signalling-TNL-AddressList", - "Iurh-Signalling-TNL-AddressList", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_Iurh_Signalling_TNL_AddressList_tags_1, - sizeof(asn_DEF_Iurh_Signalling_TNL_AddressList_tags_1) - /sizeof(asn_DEF_Iurh_Signalling_TNL_AddressList_tags_1[0]), /* 1 */ - asn_DEF_Iurh_Signalling_TNL_AddressList_tags_1, /* Same as above */ - sizeof(asn_DEF_Iurh_Signalling_TNL_AddressList_tags_1) - /sizeof(asn_DEF_Iurh_Signalling_TNL_AddressList_tags_1[0]), /* 1 */ - &asn_PER_type_Iurh_Signalling_TNL_AddressList_constr_1, - asn_MBR_Iurh_Signalling_TNL_AddressList_1, - 1, /* Single element */ - &asn_SPC_Iurh_Signalling_TNL_AddressList_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/Iurh-Signalling-TNL-AddressList.h b/src/asn1c/Iurh-Signalling-TNL-AddressList.h deleted file mode 100644 index cd86644..0000000 --- a/src/asn1c/Iurh-Signalling-TNL-AddressList.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _Iurh_Signalling_TNL_AddressList_H_ -#define _Iurh_Signalling_TNL_AddressList_H_ - - -#include - -/* Including external dependencies */ -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IP_Address; - -/* Iurh-Signalling-TNL-AddressList */ -typedef struct Iurh_Signalling_TNL_AddressList { - A_SEQUENCE_OF(struct IP_Address) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Iurh_Signalling_TNL_AddressList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Iurh_Signalling_TNL_AddressList; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IP-Address.h" - -#endif /* _Iurh_Signalling_TNL_AddressList_H_ */ -#include diff --git a/src/asn1c/LAC.c b/src/asn1c/LAC.c deleted file mode 100644 index 2ff94dc..0000000 --- a/src/asn1c/LAC.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "LAC.h" - -int -LAC_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size == 2l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using OCTET_STRING, - * so here we adjust the DEF accordingly. - */ -static void -LAC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_OCTET_STRING.free_struct; - td->print_struct = asn_DEF_OCTET_STRING.print_struct; - td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; - td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; - td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; - td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; - td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; - td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; - td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; - td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; - td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; - td->elements = asn_DEF_OCTET_STRING.elements; - td->elements_count = asn_DEF_OCTET_STRING.elements_count; - td->specifics = asn_DEF_OCTET_STRING.specifics; -} - -void -LAC_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - LAC_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -LAC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - LAC_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -LAC_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - LAC_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -LAC_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - LAC_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -LAC_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - LAC_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -LAC_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - LAC_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -LAC_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - LAC_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -LAC_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - LAC_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -LAC_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - LAC_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -LAC_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - LAC_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_LAC_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 2l, 2l } /* (SIZE(2..2)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_LAC_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_LAC = { - "LAC", - "LAC", - LAC_free, - LAC_print, - LAC_constraint, - LAC_decode_ber, - LAC_encode_der, - LAC_decode_xer, - LAC_encode_xer, - LAC_decode_uper, - LAC_encode_uper, - LAC_decode_aper, - LAC_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_LAC_tags_1, - sizeof(asn_DEF_LAC_tags_1) - /sizeof(asn_DEF_LAC_tags_1[0]), /* 1 */ - asn_DEF_LAC_tags_1, /* Same as above */ - sizeof(asn_DEF_LAC_tags_1) - /sizeof(asn_DEF_LAC_tags_1[0]), /* 1 */ - &asn_PER_type_LAC_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/LAC.h b/src/asn1c/LAC.h deleted file mode 100644 index 462fd4c..0000000 --- a/src/asn1c/LAC.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _LAC_H_ -#define _LAC_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* LAC */ -typedef OCTET_STRING_t LAC_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LAC; -asn_struct_free_f LAC_free; -asn_struct_print_f LAC_print; -asn_constr_check_f LAC_constraint; -ber_type_decoder_f LAC_decode_ber; -der_type_encoder_f LAC_encode_der; -xer_type_decoder_f LAC_decode_xer; -xer_type_encoder_f LAC_encode_xer; -per_type_decoder_f LAC_decode_uper; -per_type_encoder_f LAC_encode_uper; -per_type_decoder_f LAC_decode_aper; -per_type_encoder_f LAC_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LAC_H_ */ -#include diff --git a/src/asn1c/LAI.c b/src/asn1c/LAI.c deleted file mode 100644 index 2fddfd2..0000000 --- a/src/asn1c/LAI.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "LAI.h" - -static asn_TYPE_member_t asn_MBR_LAI_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct LAI, pLMNID), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_PLMNidentity, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "pLMNID" - }, - { ATF_NOFLAGS, 0, offsetof(struct LAI, lAC), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_LAC, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "lAC" - }, -}; -static const ber_tlv_tag_t asn_DEF_LAI_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_LAI_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNID */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lAC */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_LAI_specs_1 = { - sizeof(struct LAI), - offsetof(struct LAI, _asn_ctx), - asn_MAP_LAI_tag2el_1, - 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 1, /* Start extensions */ - 3 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_LAI = { - "LAI", - "LAI", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_LAI_tags_1, - sizeof(asn_DEF_LAI_tags_1) - /sizeof(asn_DEF_LAI_tags_1[0]), /* 1 */ - asn_DEF_LAI_tags_1, /* Same as above */ - sizeof(asn_DEF_LAI_tags_1) - /sizeof(asn_DEF_LAI_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_LAI_1, - 2, /* Elements count */ - &asn_SPC_LAI_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/LAI.h b/src/asn1c/LAI.h deleted file mode 100644 index 36c0981..0000000 --- a/src/asn1c/LAI.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _LAI_H_ -#define _LAI_H_ - - -#include - -/* Including external dependencies */ -#include "PLMNidentity.h" -#include "LAC.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* LAI */ -typedef struct LAI { - PLMNidentity_t pLMNID; - LAC_t lAC; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LAI_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LAI; - -#ifdef __cplusplus -} -#endif - -#endif /* _LAI_H_ */ -#include diff --git a/src/asn1c/MacroCellID.c b/src/asn1c/MacroCellID.c deleted file mode 100644 index 416dc1c..0000000 --- a/src/asn1c/MacroCellID.c +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "MacroCellID.h" - -static asn_per_constraints_t asn_PER_type_MacroCellID_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_MacroCellID_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct MacroCellID, choice.uTRANCellID), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_UTRANCellID, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "uTRANCellID" - }, - { ATF_NOFLAGS, 0, offsetof(struct MacroCellID, choice.gERANCellID), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_CGI, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "gERANCellID" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_MacroCellID_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uTRANCellID */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* gERANCellID */ -}; -static asn_CHOICE_specifics_t asn_SPC_MacroCellID_specs_1 = { - sizeof(struct MacroCellID), - offsetof(struct MacroCellID, _asn_ctx), - offsetof(struct MacroCellID, present), - sizeof(((struct MacroCellID *)0)->present), - asn_MAP_MacroCellID_tag2el_1, - 2, /* Count of tags in the map */ - 0, - 2 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_MacroCellID = { - "MacroCellID", - "MacroCellID", - CHOICE_free, - CHOICE_print, - CHOICE_constraint, - CHOICE_decode_ber, - CHOICE_encode_der, - CHOICE_decode_xer, - CHOICE_encode_xer, - CHOICE_decode_uper, - CHOICE_encode_uper, - CHOICE_decode_aper, - CHOICE_encode_aper, - CHOICE_outmost_tag, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - &asn_PER_type_MacroCellID_constr_1, - asn_MBR_MacroCellID_1, - 2, /* Elements count */ - &asn_SPC_MacroCellID_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/MacroCellID.h b/src/asn1c/MacroCellID.h deleted file mode 100644 index f266925..0000000 --- a/src/asn1c/MacroCellID.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _MacroCellID_H_ -#define _MacroCellID_H_ - - -#include - -/* Including external dependencies */ -#include "UTRANCellID.h" -#include "CGI.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum MacroCellID_PR { - MacroCellID_PR_NOTHING, /* No components present */ - MacroCellID_PR_uTRANCellID, - MacroCellID_PR_gERANCellID, - /* Extensions may appear below */ - -} MacroCellID_PR; - -/* MacroCellID */ -typedef struct MacroCellID { - MacroCellID_PR present; - union MacroCellID_u { - UTRANCellID_t uTRANCellID; - CGI_t gERANCellID; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} MacroCellID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_MacroCellID; - -#ifdef __cplusplus -} -#endif - -#endif /* _MacroCellID_H_ */ -#include diff --git a/src/asn1c/MacroCoverageInformation.c b/src/asn1c/MacroCoverageInformation.c deleted file mode 100644 index 18ded6c..0000000 --- a/src/asn1c/MacroCoverageInformation.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "MacroCoverageInformation.h" - -static asn_TYPE_member_t asn_MBR_MacroCoverageInformation_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct MacroCoverageInformation, cellIdentity), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - +1, /* EXPLICIT tag at current level */ - &asn_DEF_MacroCellID, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "cellIdentity" - }, - { ATF_POINTER, 1, offsetof(struct MacroCoverageInformation, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_MacroCoverageInformation_oms_1[] = { 1 }; -static const ber_tlv_tag_t asn_DEF_MacroCoverageInformation_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_MacroCoverageInformation_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellIdentity */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_MacroCoverageInformation_specs_1 = { - sizeof(struct MacroCoverageInformation), - offsetof(struct MacroCoverageInformation, _asn_ctx), - asn_MAP_MacroCoverageInformation_tag2el_1, - 2, /* Count of tags in the map */ - asn_MAP_MacroCoverageInformation_oms_1, /* Optional members */ - 1, 0, /* Root/Additions */ - 1, /* Start extensions */ - 3 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_MacroCoverageInformation = { - "MacroCoverageInformation", - "MacroCoverageInformation", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_MacroCoverageInformation_tags_1, - sizeof(asn_DEF_MacroCoverageInformation_tags_1) - /sizeof(asn_DEF_MacroCoverageInformation_tags_1[0]), /* 1 */ - asn_DEF_MacroCoverageInformation_tags_1, /* Same as above */ - sizeof(asn_DEF_MacroCoverageInformation_tags_1) - /sizeof(asn_DEF_MacroCoverageInformation_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_MacroCoverageInformation_1, - 2, /* Elements count */ - &asn_SPC_MacroCoverageInformation_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/MacroCoverageInformation.h b/src/asn1c/MacroCoverageInformation.h deleted file mode 100644 index 547e03e..0000000 --- a/src/asn1c/MacroCoverageInformation.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _MacroCoverageInformation_H_ -#define _MacroCoverageInformation_H_ - - -#include - -/* Including external dependencies */ -#include "MacroCellID.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE_Extensions; - -/* MacroCoverageInformation */ -typedef struct MacroCoverageInformation { - MacroCellID_t cellIdentity; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} MacroCoverageInformation_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_MacroCoverageInformation; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _MacroCoverageInformation_H_ */ -#include diff --git a/src/asn1c/Makefile.local b/src/asn1c/Makefile.local deleted file mode 100644 index aea7e32..0000000 --- a/src/asn1c/Makefile.local +++ /dev/null @@ -1,262 +0,0 @@ -ASN_MODULE_SOURCES= \ - Criticality.c \ - Presence.c \ - PrivateIE-ID.c \ - ProcedureCode.c \ - ProtocolIE-ID.c \ - TriggeringMessage.c \ - IE-Extensions.c \ - Access-stratum-release-indicator.c \ - AccessResult.c \ - AltitudeAndDirection.c \ - BackoffTimer.c \ - BindingID.c \ - Cause.c \ - CauseRadioNetwork.c \ - CauseTransport.c \ - CauseProtocol.c \ - CauseMisc.c \ - CellIdentity.c \ - CELL-FACHMobilitySupport.c \ - Context-ID.c \ - CriticalityDiagnostics.c \ - CriticalityDiagnostics-IE-List.c \ - CSG-ID.c \ - CSG-Capability.c \ - CSGMembershipStatus.c \ - CGI.c \ - CI.c \ - CN-DomainIndicator.c \ - ESN.c \ - GeographicalLocation.c \ - GeographicalCoordinates.c \ - GTP-TEI.c \ - HNBCapacity.c \ - HNB-Cell-Access-Mode.c \ - HNB-Cell-Identifier.c \ - HNB-GWResponse.c \ - HNB-RNL-Identity.c \ - HNBConfigInfo.c \ - ConfigurationInformation.c \ - HNBConfigurationInformationProvided.c \ - HNBConfigurationInformationMissing.c \ - HNB-Location-Information.c \ - HNB-Identity.c \ - HNB-Identity-Info.c \ - IMEI.c \ - IMSI.c \ - IMSIDS41.c \ - IMSIESN.c \ - IP-Address.c \ - Ipv4Address.c \ - Ipv6Address.c \ - Iurh-Signalling-TNL-AddressList.c \ - LAC.c \ - LAI.c \ - MacroCoverageInformation.c \ - MacroCellID.c \ - MuxPortNumber.c \ - NeighbourCellIdentityList.c \ - NeighbourIdentity.c \ - NeighbourInfoList.c \ - AdditionalNeighbourInfoList.c \ - NeighbourInfoRequestList.c \ - NeighbourInfoRequestItem.c \ - PLMNidentity.c \ - PSC.c \ - PTMSI.c \ - PTMSIRAI.c \ - RAB-ID.c \ - RABList.c \ - RABListItem.c \ - RAC.c \ - RAI.c \ - Registration-Cause.c \ - RNC-ID.c \ - SAC.c \ - S-RNTIPrefix.c \ - TMSILAI.c \ - TMSIDS41.c \ - TransportInfo.c \ - TransportLayerAddress.c \ - Tunnel-Information.c \ - TypeOfError.c \ - UDP-Port-Number.c \ - UE-Capabilities.c \ - UTRANCellID.c \ - UE-Identity.c \ - Update-cause.c \ - URAIdentityList.c \ - URAIdentity.c \ - U-RNTI.c \ - UnknownU-RNTIIndication.c \ - HNBAP-PDU.c \ - InitiatingMessage.c \ - SuccessfulOutcome.c \ - UnsuccessfulOutcome.c \ - HNBRegisterRequest.c \ - HNBRegisterAccept.c \ - HNBRegisterReject.c \ - UERegisterRequest.c \ - UERegisterAccept.c \ - UERegisterReject.c \ - UEDe-Register.c \ - HNBDe-Register.c \ - ErrorIndication.c \ - CSGMembershipUpdate.c \ - TNLUpdateRequest.c \ - TNLUpdateResponse.c \ - TNLUpdateFailure.c \ - HNBConfigTransferRequest.c \ - HNBConfigTransferResponse.c \ - RelocationComplete.c \ - U-RNTIQueryRequest.c \ - U-RNTIQueryResponse.c \ - PrivateMessage.c \ - IE.c - -ASN_MODULE_HEADERS= \ - Criticality.h \ - Presence.h \ - PrivateIE-ID.h \ - ProcedureCode.h \ - ProtocolIE-ID.h \ - TriggeringMessage.h \ - IE-Extensions.h \ - Access-stratum-release-indicator.h \ - AccessResult.h \ - AltitudeAndDirection.h \ - BackoffTimer.h \ - BindingID.h \ - Cause.h \ - CauseRadioNetwork.h \ - CauseTransport.h \ - CauseProtocol.h \ - CauseMisc.h \ - CellIdentity.h \ - CELL-FACHMobilitySupport.h \ - Context-ID.h \ - CriticalityDiagnostics.h \ - CriticalityDiagnostics-IE-List.h \ - CSG-ID.h \ - CSG-Capability.h \ - CSGMembershipStatus.h \ - CGI.h \ - CI.h \ - CN-DomainIndicator.h \ - ESN.h \ - GeographicalLocation.h \ - GeographicalCoordinates.h \ - GTP-TEI.h \ - HNBCapacity.h \ - HNB-Cell-Access-Mode.h \ - HNB-Cell-Identifier.h \ - HNB-GWResponse.h \ - HNB-RNL-Identity.h \ - HNBConfigInfo.h \ - ConfigurationInformation.h \ - HNBConfigurationInformationProvided.h \ - HNBConfigurationInformationMissing.h \ - HNB-Location-Information.h \ - HNB-Identity.h \ - HNB-Identity-Info.h \ - IMEI.h \ - IMSI.h \ - IMSIDS41.h \ - IMSIESN.h \ - IP-Address.h \ - Ipv4Address.h \ - Ipv6Address.h \ - Iurh-Signalling-TNL-AddressList.h \ - LAC.h \ - LAI.h \ - MacroCoverageInformation.h \ - MacroCellID.h \ - MuxPortNumber.h \ - NeighbourCellIdentityList.h \ - NeighbourIdentity.h \ - NeighbourInfoList.h \ - AdditionalNeighbourInfoList.h \ - NeighbourInfoRequestList.h \ - NeighbourInfoRequestItem.h \ - PLMNidentity.h \ - PSC.h \ - PTMSI.h \ - PTMSIRAI.h \ - RAB-ID.h \ - RABList.h \ - RABListItem.h \ - RAC.h \ - RAI.h \ - Registration-Cause.h \ - RNC-ID.h \ - SAC.h \ - S-RNTIPrefix.h \ - TMSILAI.h \ - TMSIDS41.h \ - TransportInfo.h \ - TransportLayerAddress.h \ - Tunnel-Information.h \ - TypeOfError.h \ - UDP-Port-Number.h \ - UE-Capabilities.h \ - UTRANCellID.h \ - UE-Identity.h \ - Update-cause.h \ - URAIdentityList.h \ - URAIdentity.h \ - U-RNTI.h \ - UnknownU-RNTIIndication.h \ - HNBAP-PDU.h \ - InitiatingMessage.h \ - SuccessfulOutcome.h \ - UnsuccessfulOutcome.h \ - HNBRegisterRequest.h \ - HNBRegisterAccept.h \ - HNBRegisterReject.h \ - UERegisterRequest.h \ - UERegisterAccept.h \ - UERegisterReject.h \ - UEDe-Register.h \ - HNBDe-Register.h \ - ErrorIndication.h \ - CSGMembershipUpdate.h \ - TNLUpdateRequest.h \ - TNLUpdateResponse.h \ - TNLUpdateFailure.h \ - HNBConfigTransferRequest.h \ - HNBConfigTransferResponse.h \ - RelocationComplete.h \ - U-RNTIQueryRequest.h \ - U-RNTIQueryResponse.h \ - PrivateMessage.h \ - IE.h - -lib_LTLIBRARIES=libsomething.la -libsomething_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS) - -# This file may be used as an input for make(3) -# Remove the lines below to convert it into a pure .am file -CFLAGS += -I. -OBJS=${ASN_MODULE_SOURCES:.c=.o} - -all: libosmo-asn1-hnbap.a - -libosmo-asn1-hnbap.a: ${OBJS} - $(AR) r $@ $^ - -.SUFFIXES: -.SUFFIXES: .c .o - -.c.o: - $(CC) $(CFLAGS) -o $@ -c $< - -clean: - rm -f libosmo-asn1-hnbap.a - rm -f $(OBJS) - -regen: regenerate-from-asn1-source - -regenerate-from-asn1-source: - asn1c -gen-PER -fnative-types ../../asn1/hnbap/HNBAP-CommonDataTypes.asn ../../asn1/hnbap/HNBAP-Constants.asn ../../asn1/hnbap/HNBAP-IEs.asn ../../asn1/hnbap/HNBAP-PDU.asn - diff --git a/src/asn1c/MuxPortNumber.c b/src/asn1c/MuxPortNumber.c deleted file mode 100644 index eed1c1a..0000000 --- a/src/asn1c/MuxPortNumber.c +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "MuxPortNumber.h" - -int -MuxPortNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 1024l && value <= 65535l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ -static void -MuxPortNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeInteger.free_struct; - td->print_struct = asn_DEF_NativeInteger.print_struct; - td->check_constraints = asn_DEF_NativeInteger.check_constraints; - td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; - td->der_encoder = asn_DEF_NativeInteger.der_encoder; - td->xer_decoder = asn_DEF_NativeInteger.xer_decoder; - td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; - td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; - td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; - td->aper_decoder = asn_DEF_NativeInteger.aper_decoder; - td->aper_encoder = asn_DEF_NativeInteger.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeInteger.per_constraints; - td->elements = asn_DEF_NativeInteger.elements; - td->elements_count = asn_DEF_NativeInteger.elements_count; - td->specifics = asn_DEF_NativeInteger.specifics; -} - -void -MuxPortNumber_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - MuxPortNumber_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -MuxPortNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - MuxPortNumber_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -MuxPortNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - MuxPortNumber_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -MuxPortNumber_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - MuxPortNumber_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -MuxPortNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - MuxPortNumber_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -MuxPortNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - MuxPortNumber_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -MuxPortNumber_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - MuxPortNumber_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -MuxPortNumber_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - MuxPortNumber_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -MuxPortNumber_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - MuxPortNumber_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -MuxPortNumber_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - MuxPortNumber_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_MuxPortNumber_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED, 16, 16, 1024l, 65535l } /* (1024..65535) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_MuxPortNumber_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_MuxPortNumber = { - "MuxPortNumber", - "MuxPortNumber", - MuxPortNumber_free, - MuxPortNumber_print, - MuxPortNumber_constraint, - MuxPortNumber_decode_ber, - MuxPortNumber_encode_der, - MuxPortNumber_decode_xer, - MuxPortNumber_encode_xer, - MuxPortNumber_decode_uper, - MuxPortNumber_encode_uper, - MuxPortNumber_decode_aper, - MuxPortNumber_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_MuxPortNumber_tags_1, - sizeof(asn_DEF_MuxPortNumber_tags_1) - /sizeof(asn_DEF_MuxPortNumber_tags_1[0]), /* 1 */ - asn_DEF_MuxPortNumber_tags_1, /* Same as above */ - sizeof(asn_DEF_MuxPortNumber_tags_1) - /sizeof(asn_DEF_MuxPortNumber_tags_1[0]), /* 1 */ - &asn_PER_type_MuxPortNumber_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/MuxPortNumber.h b/src/asn1c/MuxPortNumber.h deleted file mode 100644 index 2e07f73..0000000 --- a/src/asn1c/MuxPortNumber.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _MuxPortNumber_H_ -#define _MuxPortNumber_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* MuxPortNumber */ -typedef long MuxPortNumber_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_MuxPortNumber; -asn_struct_free_f MuxPortNumber_free; -asn_struct_print_f MuxPortNumber_print; -asn_constr_check_f MuxPortNumber_constraint; -ber_type_decoder_f MuxPortNumber_decode_ber; -der_type_encoder_f MuxPortNumber_encode_der; -xer_type_decoder_f MuxPortNumber_decode_xer; -xer_type_encoder_f MuxPortNumber_encode_xer; -per_type_decoder_f MuxPortNumber_decode_uper; -per_type_encoder_f MuxPortNumber_encode_uper; -per_type_decoder_f MuxPortNumber_decode_aper; -per_type_encoder_f MuxPortNumber_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MuxPortNumber_H_ */ -#include diff --git a/src/asn1c/NeighbourCellIdentityList.c b/src/asn1c/NeighbourCellIdentityList.c deleted file mode 100644 index 432e7f5..0000000 --- a/src/asn1c/NeighbourCellIdentityList.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "NeighbourCellIdentityList.h" - -static asn_per_constraints_t asn_PER_type_NeighbourCellIdentityList_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 8, 8, 0l, 128l } /* (SIZE(0..128)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_NeighbourCellIdentityList_1[] = { - { ATF_POINTER, 0, 0, - -1 /* Ambiguous tag (CHOICE?) */, - 0, - &asn_DEF_NeighbourIdentity, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_NeighbourCellIdentityList_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_NeighbourCellIdentityList_specs_1 = { - sizeof(struct NeighbourCellIdentityList), - offsetof(struct NeighbourCellIdentityList, _asn_ctx), - 2, /* XER encoding is XMLValueList */ -}; -asn_TYPE_descriptor_t asn_DEF_NeighbourCellIdentityList = { - "NeighbourCellIdentityList", - "NeighbourCellIdentityList", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_NeighbourCellIdentityList_tags_1, - sizeof(asn_DEF_NeighbourCellIdentityList_tags_1) - /sizeof(asn_DEF_NeighbourCellIdentityList_tags_1[0]), /* 1 */ - asn_DEF_NeighbourCellIdentityList_tags_1, /* Same as above */ - sizeof(asn_DEF_NeighbourCellIdentityList_tags_1) - /sizeof(asn_DEF_NeighbourCellIdentityList_tags_1[0]), /* 1 */ - &asn_PER_type_NeighbourCellIdentityList_constr_1, - asn_MBR_NeighbourCellIdentityList_1, - 1, /* Single element */ - &asn_SPC_NeighbourCellIdentityList_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/NeighbourCellIdentityList.h b/src/asn1c/NeighbourCellIdentityList.h deleted file mode 100644 index c1eb6ec..0000000 --- a/src/asn1c/NeighbourCellIdentityList.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _NeighbourCellIdentityList_H_ -#define _NeighbourCellIdentityList_H_ - - -#include - -/* Including external dependencies */ -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct NeighbourIdentity; - -/* NeighbourCellIdentityList */ -typedef struct NeighbourCellIdentityList { - A_SEQUENCE_OF(struct NeighbourIdentity) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NeighbourCellIdentityList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NeighbourCellIdentityList; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "NeighbourIdentity.h" - -#endif /* _NeighbourCellIdentityList_H_ */ -#include diff --git a/src/asn1c/NeighbourIdentity.c b/src/asn1c/NeighbourIdentity.c deleted file mode 100644 index 8ddefab..0000000 --- a/src/asn1c/NeighbourIdentity.c +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "NeighbourIdentity.h" - -static asn_per_constraints_t asn_PER_type_NeighbourIdentity_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_NeighbourIdentity_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct NeighbourIdentity, choice.hNB_RNL_Identity), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - +1, /* EXPLICIT tag at current level */ - &asn_DEF_HNB_RNL_Identity, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "hNB-RNL-Identity" - }, - { ATF_NOFLAGS, 0, offsetof(struct NeighbourIdentity, choice.cell_ID), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_CellIdentity, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "cell-ID" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_NeighbourIdentity_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* hNB-RNL-Identity */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cell-ID */ -}; -static asn_CHOICE_specifics_t asn_SPC_NeighbourIdentity_specs_1 = { - sizeof(struct NeighbourIdentity), - offsetof(struct NeighbourIdentity, _asn_ctx), - offsetof(struct NeighbourIdentity, present), - sizeof(((struct NeighbourIdentity *)0)->present), - asn_MAP_NeighbourIdentity_tag2el_1, - 2, /* Count of tags in the map */ - 0, - 2 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_NeighbourIdentity = { - "NeighbourIdentity", - "NeighbourIdentity", - CHOICE_free, - CHOICE_print, - CHOICE_constraint, - CHOICE_decode_ber, - CHOICE_encode_der, - CHOICE_decode_xer, - CHOICE_encode_xer, - CHOICE_decode_uper, - CHOICE_encode_uper, - CHOICE_decode_aper, - CHOICE_encode_aper, - CHOICE_outmost_tag, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - &asn_PER_type_NeighbourIdentity_constr_1, - asn_MBR_NeighbourIdentity_1, - 2, /* Elements count */ - &asn_SPC_NeighbourIdentity_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/NeighbourIdentity.h b/src/asn1c/NeighbourIdentity.h deleted file mode 100644 index 8335e5d..0000000 --- a/src/asn1c/NeighbourIdentity.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _NeighbourIdentity_H_ -#define _NeighbourIdentity_H_ - - -#include - -/* Including external dependencies */ -#include "HNB-RNL-Identity.h" -#include "CellIdentity.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NeighbourIdentity_PR { - NeighbourIdentity_PR_NOTHING, /* No components present */ - NeighbourIdentity_PR_hNB_RNL_Identity, - NeighbourIdentity_PR_cell_ID, - /* Extensions may appear below */ - -} NeighbourIdentity_PR; - -/* NeighbourIdentity */ -typedef struct NeighbourIdentity { - NeighbourIdentity_PR present; - union NeighbourIdentity_u { - HNB_RNL_Identity_t hNB_RNL_Identity; - CellIdentity_t cell_ID; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NeighbourIdentity_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NeighbourIdentity; - -#ifdef __cplusplus -} -#endif - -#endif /* _NeighbourIdentity_H_ */ -#include diff --git a/src/asn1c/NeighbourInfoList.c b/src/asn1c/NeighbourInfoList.c deleted file mode 100644 index 52364b4..0000000 --- a/src/asn1c/NeighbourInfoList.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "NeighbourInfoList.h" - -static asn_per_constraints_t asn_PER_type_NeighbourInfoList_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 5, 5, 1l, 32l } /* (SIZE(1..32)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_NeighbourInfoList_1[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_HNBConfigInfo, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_NeighbourInfoList_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_NeighbourInfoList_specs_1 = { - sizeof(struct NeighbourInfoList), - offsetof(struct NeighbourInfoList, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_NeighbourInfoList = { - "NeighbourInfoList", - "NeighbourInfoList", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_NeighbourInfoList_tags_1, - sizeof(asn_DEF_NeighbourInfoList_tags_1) - /sizeof(asn_DEF_NeighbourInfoList_tags_1[0]), /* 1 */ - asn_DEF_NeighbourInfoList_tags_1, /* Same as above */ - sizeof(asn_DEF_NeighbourInfoList_tags_1) - /sizeof(asn_DEF_NeighbourInfoList_tags_1[0]), /* 1 */ - &asn_PER_type_NeighbourInfoList_constr_1, - asn_MBR_NeighbourInfoList_1, - 1, /* Single element */ - &asn_SPC_NeighbourInfoList_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/NeighbourInfoList.h b/src/asn1c/NeighbourInfoList.h deleted file mode 100644 index cce2734..0000000 --- a/src/asn1c/NeighbourInfoList.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _NeighbourInfoList_H_ -#define _NeighbourInfoList_H_ - - -#include - -/* Including external dependencies */ -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct HNBConfigInfo; - -/* NeighbourInfoList */ -typedef struct NeighbourInfoList { - A_SEQUENCE_OF(struct HNBConfigInfo) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NeighbourInfoList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NeighbourInfoList; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "HNBConfigInfo.h" - -#endif /* _NeighbourInfoList_H_ */ -#include diff --git a/src/asn1c/NeighbourInfoRequestItem.c b/src/asn1c/NeighbourInfoRequestItem.c deleted file mode 100644 index 0e5a2e5..0000000 --- a/src/asn1c/NeighbourInfoRequestItem.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "NeighbourInfoRequestItem.h" - -static asn_TYPE_member_t asn_MBR_NeighbourInfoRequestItem_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct NeighbourInfoRequestItem, hnb_RNL_Identity), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - +1, /* EXPLICIT tag at current level */ - &asn_DEF_HNB_RNL_Identity, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "hnb-RNL-Identity" - }, - { ATF_POINTER, 1, offsetof(struct NeighbourInfoRequestItem, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_NeighbourInfoRequestItem_oms_1[] = { 1 }; -static const ber_tlv_tag_t asn_DEF_NeighbourInfoRequestItem_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_NeighbourInfoRequestItem_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* hnb-RNL-Identity */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_NeighbourInfoRequestItem_specs_1 = { - sizeof(struct NeighbourInfoRequestItem), - offsetof(struct NeighbourInfoRequestItem, _asn_ctx), - asn_MAP_NeighbourInfoRequestItem_tag2el_1, - 2, /* Count of tags in the map */ - asn_MAP_NeighbourInfoRequestItem_oms_1, /* Optional members */ - 1, 0, /* Root/Additions */ - 1, /* Start extensions */ - 3 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_NeighbourInfoRequestItem = { - "NeighbourInfoRequestItem", - "NeighbourInfoRequestItem", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_NeighbourInfoRequestItem_tags_1, - sizeof(asn_DEF_NeighbourInfoRequestItem_tags_1) - /sizeof(asn_DEF_NeighbourInfoRequestItem_tags_1[0]), /* 1 */ - asn_DEF_NeighbourInfoRequestItem_tags_1, /* Same as above */ - sizeof(asn_DEF_NeighbourInfoRequestItem_tags_1) - /sizeof(asn_DEF_NeighbourInfoRequestItem_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_NeighbourInfoRequestItem_1, - 2, /* Elements count */ - &asn_SPC_NeighbourInfoRequestItem_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/NeighbourInfoRequestItem.h b/src/asn1c/NeighbourInfoRequestItem.h deleted file mode 100644 index e3fa668..0000000 --- a/src/asn1c/NeighbourInfoRequestItem.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _NeighbourInfoRequestItem_H_ -#define _NeighbourInfoRequestItem_H_ - - -#include - -/* Including external dependencies */ -#include "HNB-RNL-Identity.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE_Extensions; - -/* NeighbourInfoRequestItem */ -typedef struct NeighbourInfoRequestItem { - HNB_RNL_Identity_t hnb_RNL_Identity; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NeighbourInfoRequestItem_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NeighbourInfoRequestItem; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _NeighbourInfoRequestItem_H_ */ -#include diff --git a/src/asn1c/NeighbourInfoRequestList.c b/src/asn1c/NeighbourInfoRequestList.c deleted file mode 100644 index 03e4c44..0000000 --- a/src/asn1c/NeighbourInfoRequestList.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "NeighbourInfoRequestList.h" - -static asn_per_constraints_t asn_PER_type_NeighbourInfoRequestList_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 5, 5, 1l, 32l } /* (SIZE(1..32)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_NeighbourInfoRequestList_1[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_NeighbourInfoRequestItem, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_NeighbourInfoRequestList_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_NeighbourInfoRequestList_specs_1 = { - sizeof(struct NeighbourInfoRequestList), - offsetof(struct NeighbourInfoRequestList, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_NeighbourInfoRequestList = { - "NeighbourInfoRequestList", - "NeighbourInfoRequestList", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_NeighbourInfoRequestList_tags_1, - sizeof(asn_DEF_NeighbourInfoRequestList_tags_1) - /sizeof(asn_DEF_NeighbourInfoRequestList_tags_1[0]), /* 1 */ - asn_DEF_NeighbourInfoRequestList_tags_1, /* Same as above */ - sizeof(asn_DEF_NeighbourInfoRequestList_tags_1) - /sizeof(asn_DEF_NeighbourInfoRequestList_tags_1[0]), /* 1 */ - &asn_PER_type_NeighbourInfoRequestList_constr_1, - asn_MBR_NeighbourInfoRequestList_1, - 1, /* Single element */ - &asn_SPC_NeighbourInfoRequestList_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/NeighbourInfoRequestList.h b/src/asn1c/NeighbourInfoRequestList.h deleted file mode 100644 index 5546368..0000000 --- a/src/asn1c/NeighbourInfoRequestList.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _NeighbourInfoRequestList_H_ -#define _NeighbourInfoRequestList_H_ - - -#include - -/* Including external dependencies */ -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct NeighbourInfoRequestItem; - -/* NeighbourInfoRequestList */ -typedef struct NeighbourInfoRequestList { - A_SEQUENCE_OF(struct NeighbourInfoRequestItem) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NeighbourInfoRequestList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NeighbourInfoRequestList; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "NeighbourInfoRequestItem.h" - -#endif /* _NeighbourInfoRequestList_H_ */ -#include diff --git a/src/asn1c/PLMNidentity.c b/src/asn1c/PLMNidentity.c deleted file mode 100644 index d69e0bb..0000000 --- a/src/asn1c/PLMNidentity.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "PLMNidentity.h" - -int -PLMNidentity_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size == 3l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using OCTET_STRING, - * so here we adjust the DEF accordingly. - */ -static void -PLMNidentity_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_OCTET_STRING.free_struct; - td->print_struct = asn_DEF_OCTET_STRING.print_struct; - td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; - td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; - td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; - td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; - td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; - td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; - td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; - td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; - td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; - td->elements = asn_DEF_OCTET_STRING.elements; - td->elements_count = asn_DEF_OCTET_STRING.elements_count; - td->specifics = asn_DEF_OCTET_STRING.specifics; -} - -void -PLMNidentity_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - PLMNidentity_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -PLMNidentity_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - PLMNidentity_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -PLMNidentity_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - PLMNidentity_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -PLMNidentity_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - PLMNidentity_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -PLMNidentity_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - PLMNidentity_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -PLMNidentity_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - PLMNidentity_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -PLMNidentity_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - PLMNidentity_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -PLMNidentity_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - PLMNidentity_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -PLMNidentity_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - PLMNidentity_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -PLMNidentity_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - PLMNidentity_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_PLMNidentity_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 3l, 3l } /* (SIZE(3..3)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_PLMNidentity_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_PLMNidentity = { - "PLMNidentity", - "PLMNidentity", - PLMNidentity_free, - PLMNidentity_print, - PLMNidentity_constraint, - PLMNidentity_decode_ber, - PLMNidentity_encode_der, - PLMNidentity_decode_xer, - PLMNidentity_encode_xer, - PLMNidentity_decode_uper, - PLMNidentity_encode_uper, - PLMNidentity_decode_aper, - PLMNidentity_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_PLMNidentity_tags_1, - sizeof(asn_DEF_PLMNidentity_tags_1) - /sizeof(asn_DEF_PLMNidentity_tags_1[0]), /* 1 */ - asn_DEF_PLMNidentity_tags_1, /* Same as above */ - sizeof(asn_DEF_PLMNidentity_tags_1) - /sizeof(asn_DEF_PLMNidentity_tags_1[0]), /* 1 */ - &asn_PER_type_PLMNidentity_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/PLMNidentity.h b/src/asn1c/PLMNidentity.h deleted file mode 100644 index 3abe97a..0000000 --- a/src/asn1c/PLMNidentity.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _PLMNidentity_H_ -#define _PLMNidentity_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* PLMNidentity */ -typedef OCTET_STRING_t PLMNidentity_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PLMNidentity; -asn_struct_free_f PLMNidentity_free; -asn_struct_print_f PLMNidentity_print; -asn_constr_check_f PLMNidentity_constraint; -ber_type_decoder_f PLMNidentity_decode_ber; -der_type_encoder_f PLMNidentity_encode_der; -xer_type_decoder_f PLMNidentity_decode_xer; -xer_type_encoder_f PLMNidentity_encode_xer; -per_type_decoder_f PLMNidentity_decode_uper; -per_type_encoder_f PLMNidentity_encode_uper; -per_type_decoder_f PLMNidentity_decode_aper; -per_type_encoder_f PLMNidentity_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PLMNidentity_H_ */ -#include diff --git a/src/asn1c/PSC.c b/src/asn1c/PSC.c deleted file mode 100644 index f7b9004..0000000 --- a/src/asn1c/PSC.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "PSC.h" - -int -PSC_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(st->size > 0) { - /* Size in bits */ - size = 8 * st->size - (st->bits_unused & 0x07); - } else { - size = 0; - } - - if((size == 9l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using BIT_STRING, - * so here we adjust the DEF accordingly. - */ -static void -PSC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_BIT_STRING.free_struct; - td->print_struct = asn_DEF_BIT_STRING.print_struct; - td->check_constraints = asn_DEF_BIT_STRING.check_constraints; - td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; - td->der_encoder = asn_DEF_BIT_STRING.der_encoder; - td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; - td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; - td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; - td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; - td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; - td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_BIT_STRING.per_constraints; - td->elements = asn_DEF_BIT_STRING.elements; - td->elements_count = asn_DEF_BIT_STRING.elements_count; - td->specifics = asn_DEF_BIT_STRING.specifics; -} - -void -PSC_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - PSC_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -PSC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - PSC_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -PSC_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - PSC_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -PSC_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - PSC_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -PSC_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - PSC_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -PSC_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - PSC_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -PSC_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - PSC_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -PSC_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - PSC_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -PSC_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - PSC_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -PSC_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - PSC_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_PSC_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 9l, 9l } /* (SIZE(9..9)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_PSC_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_PSC = { - "PSC", - "PSC", - PSC_free, - PSC_print, - PSC_constraint, - PSC_decode_ber, - PSC_encode_der, - PSC_decode_xer, - PSC_encode_xer, - PSC_decode_uper, - PSC_encode_uper, - PSC_decode_aper, - PSC_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_PSC_tags_1, - sizeof(asn_DEF_PSC_tags_1) - /sizeof(asn_DEF_PSC_tags_1[0]), /* 1 */ - asn_DEF_PSC_tags_1, /* Same as above */ - sizeof(asn_DEF_PSC_tags_1) - /sizeof(asn_DEF_PSC_tags_1[0]), /* 1 */ - &asn_PER_type_PSC_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/PSC.h b/src/asn1c/PSC.h deleted file mode 100644 index 4fbd4be..0000000 --- a/src/asn1c/PSC.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _PSC_H_ -#define _PSC_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* PSC */ -typedef BIT_STRING_t PSC_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PSC; -asn_struct_free_f PSC_free; -asn_struct_print_f PSC_print; -asn_constr_check_f PSC_constraint; -ber_type_decoder_f PSC_decode_ber; -der_type_encoder_f PSC_encode_der; -xer_type_decoder_f PSC_decode_xer; -xer_type_encoder_f PSC_encode_xer; -per_type_decoder_f PSC_decode_uper; -per_type_encoder_f PSC_encode_uper; -per_type_decoder_f PSC_decode_aper; -per_type_encoder_f PSC_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PSC_H_ */ -#include diff --git a/src/asn1c/PTMSI.c b/src/asn1c/PTMSI.c deleted file mode 100644 index 8c8fb6f..0000000 --- a/src/asn1c/PTMSI.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "PTMSI.h" - -int -PTMSI_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(st->size > 0) { - /* Size in bits */ - size = 8 * st->size - (st->bits_unused & 0x07); - } else { - size = 0; - } - - if((size == 32l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using BIT_STRING, - * so here we adjust the DEF accordingly. - */ -static void -PTMSI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_BIT_STRING.free_struct; - td->print_struct = asn_DEF_BIT_STRING.print_struct; - td->check_constraints = asn_DEF_BIT_STRING.check_constraints; - td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; - td->der_encoder = asn_DEF_BIT_STRING.der_encoder; - td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; - td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; - td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; - td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; - td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; - td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_BIT_STRING.per_constraints; - td->elements = asn_DEF_BIT_STRING.elements; - td->elements_count = asn_DEF_BIT_STRING.elements_count; - td->specifics = asn_DEF_BIT_STRING.specifics; -} - -void -PTMSI_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - PTMSI_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -PTMSI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - PTMSI_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -PTMSI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - PTMSI_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -PTMSI_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - PTMSI_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -PTMSI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - PTMSI_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -PTMSI_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - PTMSI_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -PTMSI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - PTMSI_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -PTMSI_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - PTMSI_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -PTMSI_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - PTMSI_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -PTMSI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - PTMSI_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_PTMSI_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 32l, 32l } /* (SIZE(32..32)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_PTMSI_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_PTMSI = { - "PTMSI", - "PTMSI", - PTMSI_free, - PTMSI_print, - PTMSI_constraint, - PTMSI_decode_ber, - PTMSI_encode_der, - PTMSI_decode_xer, - PTMSI_encode_xer, - PTMSI_decode_uper, - PTMSI_encode_uper, - PTMSI_decode_aper, - PTMSI_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_PTMSI_tags_1, - sizeof(asn_DEF_PTMSI_tags_1) - /sizeof(asn_DEF_PTMSI_tags_1[0]), /* 1 */ - asn_DEF_PTMSI_tags_1, /* Same as above */ - sizeof(asn_DEF_PTMSI_tags_1) - /sizeof(asn_DEF_PTMSI_tags_1[0]), /* 1 */ - &asn_PER_type_PTMSI_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/PTMSI.h b/src/asn1c/PTMSI.h deleted file mode 100644 index 6853624..0000000 --- a/src/asn1c/PTMSI.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _PTMSI_H_ -#define _PTMSI_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* PTMSI */ -typedef BIT_STRING_t PTMSI_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PTMSI; -asn_struct_free_f PTMSI_free; -asn_struct_print_f PTMSI_print; -asn_constr_check_f PTMSI_constraint; -ber_type_decoder_f PTMSI_decode_ber; -der_type_encoder_f PTMSI_encode_der; -xer_type_decoder_f PTMSI_decode_xer; -xer_type_encoder_f PTMSI_encode_xer; -per_type_decoder_f PTMSI_decode_uper; -per_type_encoder_f PTMSI_encode_uper; -per_type_decoder_f PTMSI_decode_aper; -per_type_encoder_f PTMSI_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PTMSI_H_ */ -#include diff --git a/src/asn1c/PTMSIRAI.c b/src/asn1c/PTMSIRAI.c deleted file mode 100644 index 018f59c..0000000 --- a/src/asn1c/PTMSIRAI.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "PTMSIRAI.h" - -static asn_TYPE_member_t asn_MBR_PTMSIRAI_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct PTMSIRAI, pTMSI), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_PTMSI, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "pTMSI" - }, - { ATF_NOFLAGS, 0, offsetof(struct PTMSIRAI, rAI), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_RAI, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "rAI" - }, -}; -static const ber_tlv_tag_t asn_DEF_PTMSIRAI_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_PTMSIRAI_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pTMSI */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* rAI */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_PTMSIRAI_specs_1 = { - sizeof(struct PTMSIRAI), - offsetof(struct PTMSIRAI, _asn_ctx), - asn_MAP_PTMSIRAI_tag2el_1, - 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 1, /* Start extensions */ - 3 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_PTMSIRAI = { - "PTMSIRAI", - "PTMSIRAI", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_PTMSIRAI_tags_1, - sizeof(asn_DEF_PTMSIRAI_tags_1) - /sizeof(asn_DEF_PTMSIRAI_tags_1[0]), /* 1 */ - asn_DEF_PTMSIRAI_tags_1, /* Same as above */ - sizeof(asn_DEF_PTMSIRAI_tags_1) - /sizeof(asn_DEF_PTMSIRAI_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_PTMSIRAI_1, - 2, /* Elements count */ - &asn_SPC_PTMSIRAI_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/PTMSIRAI.h b/src/asn1c/PTMSIRAI.h deleted file mode 100644 index 940a62c..0000000 --- a/src/asn1c/PTMSIRAI.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _PTMSIRAI_H_ -#define _PTMSIRAI_H_ - - -#include - -/* Including external dependencies */ -#include "PTMSI.h" -#include "RAI.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* PTMSIRAI */ -typedef struct PTMSIRAI { - PTMSI_t pTMSI; - RAI_t rAI; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PTMSIRAI_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PTMSIRAI; - -#ifdef __cplusplus -} -#endif - -#endif /* _PTMSIRAI_H_ */ -#include diff --git a/src/asn1c/Presence.c b/src/asn1c/Presence.c deleted file mode 100644 index 087fb95..0000000 --- a/src/asn1c/Presence.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-CommonDataTypes" - * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" - * `asn1c -gen-PER` - */ - -#include "Presence.h" - -int -Presence_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -Presence_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -Presence_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - Presence_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -Presence_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - Presence_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -Presence_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - Presence_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -Presence_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - Presence_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -Presence_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - Presence_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -Presence_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - Presence_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -Presence_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - Presence_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -Presence_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - Presence_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -Presence_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - Presence_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -Presence_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - Presence_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_Presence_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED, 2, 2, 0l, 2l } /* (0..2) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_Presence_value2enum_1[] = { - { 0, 8, "optional" }, - { 1, 11, "conditional" }, - { 2, 9, "mandatory" } -}; -static const unsigned int asn_MAP_Presence_enum2value_1[] = { - 1, /* conditional(1) */ - 2, /* mandatory(2) */ - 0 /* optional(0) */ -}; -static const asn_INTEGER_specifics_t asn_SPC_Presence_specs_1 = { - asn_MAP_Presence_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_Presence_enum2value_1, /* N => "tag"; sorted by N */ - 3, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Presence_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Presence = { - "Presence", - "Presence", - Presence_free, - Presence_print, - Presence_constraint, - Presence_decode_ber, - Presence_encode_der, - Presence_decode_xer, - Presence_encode_xer, - Presence_decode_uper, - Presence_encode_uper, - Presence_decode_aper, - Presence_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_Presence_tags_1, - sizeof(asn_DEF_Presence_tags_1) - /sizeof(asn_DEF_Presence_tags_1[0]), /* 1 */ - asn_DEF_Presence_tags_1, /* Same as above */ - sizeof(asn_DEF_Presence_tags_1) - /sizeof(asn_DEF_Presence_tags_1[0]), /* 1 */ - &asn_PER_type_Presence_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Presence_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/Presence.h b/src/asn1c/Presence.h deleted file mode 100644 index a3773aa..0000000 --- a/src/asn1c/Presence.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-CommonDataTypes" - * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" - * `asn1c -gen-PER` - */ - -#ifndef _Presence_H_ -#define _Presence_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Presence { - Presence_optional = 0, - Presence_conditional = 1, - Presence_mandatory = 2 -} e_Presence; - -/* Presence */ -typedef long Presence_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Presence; -asn_struct_free_f Presence_free; -asn_struct_print_f Presence_print; -asn_constr_check_f Presence_constraint; -ber_type_decoder_f Presence_decode_ber; -der_type_encoder_f Presence_encode_der; -xer_type_decoder_f Presence_decode_xer; -xer_type_encoder_f Presence_encode_xer; -per_type_decoder_f Presence_decode_uper; -per_type_encoder_f Presence_encode_uper; -per_type_decoder_f Presence_decode_aper; -per_type_encoder_f Presence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Presence_H_ */ -#include diff --git a/src/asn1c/PrivateIE-ID.c b/src/asn1c/PrivateIE-ID.c deleted file mode 100644 index d35272a..0000000 --- a/src/asn1c/PrivateIE-ID.c +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-CommonDataTypes" - * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" - * `asn1c -gen-PER` - */ - -#include "PrivateIE-ID.h" - -static int -memb_local_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0l && value <= 65535l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_memb_local_constr_2 GCC_NOTUSED = { - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_type_PrivateIE_ID_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_PrivateIE_ID_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct PrivateIE_ID, choice.local), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_NativeInteger, - memb_local_constraint_1, - &asn_PER_memb_local_constr_2, - 0, - "local" - }, - { ATF_NOFLAGS, 0, offsetof(struct PrivateIE_ID, choice.global), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_OBJECT_IDENTIFIER, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "global" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_PrivateIE_ID_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* local */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* global */ -}; -static asn_CHOICE_specifics_t asn_SPC_PrivateIE_ID_specs_1 = { - sizeof(struct PrivateIE_ID), - offsetof(struct PrivateIE_ID, _asn_ctx), - offsetof(struct PrivateIE_ID, present), - sizeof(((struct PrivateIE_ID *)0)->present), - asn_MAP_PrivateIE_ID_tag2el_1, - 2, /* Count of tags in the map */ - 0, - -1 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_PrivateIE_ID = { - "PrivateIE-ID", - "PrivateIE-ID", - CHOICE_free, - CHOICE_print, - CHOICE_constraint, - CHOICE_decode_ber, - CHOICE_encode_der, - CHOICE_decode_xer, - CHOICE_encode_xer, - CHOICE_decode_uper, - CHOICE_encode_uper, - CHOICE_decode_aper, - CHOICE_encode_aper, - CHOICE_outmost_tag, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - &asn_PER_type_PrivateIE_ID_constr_1, - asn_MBR_PrivateIE_ID_1, - 2, /* Elements count */ - &asn_SPC_PrivateIE_ID_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/PrivateIE-ID.h b/src/asn1c/PrivateIE-ID.h deleted file mode 100644 index 890974e..0000000 --- a/src/asn1c/PrivateIE-ID.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-CommonDataTypes" - * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" - * `asn1c -gen-PER` - */ - -#ifndef _PrivateIE_ID_H_ -#define _PrivateIE_ID_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PrivateIE_ID_PR { - PrivateIE_ID_PR_NOTHING, /* No components present */ - PrivateIE_ID_PR_local, - PrivateIE_ID_PR_global -} PrivateIE_ID_PR; - -/* PrivateIE-ID */ -typedef struct PrivateIE_ID { - PrivateIE_ID_PR present; - union PrivateIE_ID_u { - long local; - OBJECT_IDENTIFIER_t global; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PrivateIE_ID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PrivateIE_ID; - -#ifdef __cplusplus -} -#endif - -#endif /* _PrivateIE_ID_H_ */ -#include diff --git a/src/asn1c/PrivateMessage.c b/src/asn1c/PrivateMessage.c deleted file mode 100644 index f512d69..0000000 --- a/src/asn1c/PrivateMessage.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "PrivateMessage.h" - -static int -memb_privateMessage_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_privateMessage_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_privateMessage_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_privateMessage_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_privateMessage_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_privateMessage_ies_specs_2 = { - sizeof(struct privateMessage_ies), - offsetof(struct privateMessage_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_privateMessage_ies_2 = { - "privateMessage-ies", - "privateMessage-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_privateMessage_ies_tags_2, - sizeof(asn_DEF_privateMessage_ies_tags_2) - /sizeof(asn_DEF_privateMessage_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_privateMessage_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_privateMessage_ies_tags_2) - /sizeof(asn_DEF_privateMessage_ies_tags_2[0]), /* 2 */ - &asn_PER_type_privateMessage_ies_constr_2, - asn_MBR_privateMessage_ies_2, - 1, /* Single element */ - &asn_SPC_privateMessage_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_PrivateMessage_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct PrivateMessage, privateMessage_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_privateMessage_ies_2, - memb_privateMessage_ies_constraint_1, - &asn_PER_memb_privateMessage_ies_constr_2, - 0, - "privateMessage-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_PrivateMessage_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_PrivateMessage_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* privateMessage-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_PrivateMessage_specs_1 = { - sizeof(struct PrivateMessage), - offsetof(struct PrivateMessage, _asn_ctx), - asn_MAP_PrivateMessage_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_PrivateMessage = { - "PrivateMessage", - "PrivateMessage", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_PrivateMessage_tags_1, - sizeof(asn_DEF_PrivateMessage_tags_1) - /sizeof(asn_DEF_PrivateMessage_tags_1[0]), /* 1 */ - asn_DEF_PrivateMessage_tags_1, /* Same as above */ - sizeof(asn_DEF_PrivateMessage_tags_1) - /sizeof(asn_DEF_PrivateMessage_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_PrivateMessage_1, - 1, /* Elements count */ - &asn_SPC_PrivateMessage_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/PrivateMessage.h b/src/asn1c/PrivateMessage.h deleted file mode 100644 index 6d3d15e..0000000 --- a/src/asn1c/PrivateMessage.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _PrivateMessage_H_ -#define _PrivateMessage_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* PrivateMessage */ -typedef struct PrivateMessage { - struct privateMessage_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } privateMessage_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PrivateMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PrivateMessage; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _PrivateMessage_H_ */ -#include diff --git a/src/asn1c/ProcedureCode.c b/src/asn1c/ProcedureCode.c deleted file mode 100644 index ddd920f..0000000 --- a/src/asn1c/ProcedureCode.c +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-CommonDataTypes" - * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" - * `asn1c -gen-PER` - */ - -#include "ProcedureCode.h" - -int -ProcedureCode_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0l && value <= 255l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ -static void -ProcedureCode_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeInteger.free_struct; - td->print_struct = asn_DEF_NativeInteger.print_struct; - td->check_constraints = asn_DEF_NativeInteger.check_constraints; - td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; - td->der_encoder = asn_DEF_NativeInteger.der_encoder; - td->xer_decoder = asn_DEF_NativeInteger.xer_decoder; - td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; - td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; - td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; - td->aper_decoder = asn_DEF_NativeInteger.aper_decoder; - td->aper_encoder = asn_DEF_NativeInteger.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeInteger.per_constraints; - td->elements = asn_DEF_NativeInteger.elements; - td->elements_count = asn_DEF_NativeInteger.elements_count; - td->specifics = asn_DEF_NativeInteger.specifics; -} - -void -ProcedureCode_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - ProcedureCode_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -ProcedureCode_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - ProcedureCode_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -ProcedureCode_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - ProcedureCode_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -ProcedureCode_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - ProcedureCode_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -ProcedureCode_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - ProcedureCode_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -ProcedureCode_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - ProcedureCode_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -ProcedureCode_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - ProcedureCode_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -ProcedureCode_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - ProcedureCode_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -ProcedureCode_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - ProcedureCode_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -ProcedureCode_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - ProcedureCode_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_ProcedureCode_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED, 8, 8, 0l, 255l } /* (0..255) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_ProcedureCode_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_ProcedureCode = { - "ProcedureCode", - "ProcedureCode", - ProcedureCode_free, - ProcedureCode_print, - ProcedureCode_constraint, - ProcedureCode_decode_ber, - ProcedureCode_encode_der, - ProcedureCode_decode_xer, - ProcedureCode_encode_xer, - ProcedureCode_decode_uper, - ProcedureCode_encode_uper, - ProcedureCode_decode_aper, - ProcedureCode_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_ProcedureCode_tags_1, - sizeof(asn_DEF_ProcedureCode_tags_1) - /sizeof(asn_DEF_ProcedureCode_tags_1[0]), /* 1 */ - asn_DEF_ProcedureCode_tags_1, /* Same as above */ - sizeof(asn_DEF_ProcedureCode_tags_1) - /sizeof(asn_DEF_ProcedureCode_tags_1[0]), /* 1 */ - &asn_PER_type_ProcedureCode_constr_1, - 0, 0, /* Defined elsewhere */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/ProcedureCode.h b/src/asn1c/ProcedureCode.h deleted file mode 100644 index a48f453..0000000 --- a/src/asn1c/ProcedureCode.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-CommonDataTypes" - * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" - * `asn1c -gen-PER` - */ - -#ifndef _ProcedureCode_H_ -#define _ProcedureCode_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ProcedureCode { - ProcedureCode_id_HNBRegister = 1, - ProcedureCode_id_HNBDe_Register = 2, - ProcedureCode_id_UERegister = 3, - ProcedureCode_id_UEDe_Register = 4, - ProcedureCode_id_ErrorIndication = 5, - ProcedureCode_id_privateMessage = 6, - ProcedureCode_id_CSGMembershipUpdate = 7, - ProcedureCode_id_TNLUpdate = 9, - ProcedureCode_id_HNBConfigTransfer = 10, - ProcedureCode_id_RelocationComplete = 11, - ProcedureCode_id_U_RNTIQuery = 14 -} e_ProcedureCode; - -/* ProcedureCode */ -typedef long ProcedureCode_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ProcedureCode; -asn_struct_free_f ProcedureCode_free; -asn_struct_print_f ProcedureCode_print; -asn_constr_check_f ProcedureCode_constraint; -ber_type_decoder_f ProcedureCode_decode_ber; -der_type_encoder_f ProcedureCode_encode_der; -xer_type_decoder_f ProcedureCode_decode_xer; -xer_type_encoder_f ProcedureCode_encode_xer; -per_type_decoder_f ProcedureCode_decode_uper; -per_type_encoder_f ProcedureCode_encode_uper; -per_type_decoder_f ProcedureCode_decode_aper; -per_type_encoder_f ProcedureCode_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ProcedureCode_H_ */ -#include diff --git a/src/asn1c/ProtocolIE-ID.c b/src/asn1c/ProtocolIE-ID.c deleted file mode 100644 index 5ac3206..0000000 --- a/src/asn1c/ProtocolIE-ID.c +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-CommonDataTypes" - * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" - * `asn1c -gen-PER` - */ - -#include "ProtocolIE-ID.h" - -int -ProtocolIE_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0l && value <= 65535l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ -static void -ProtocolIE_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeInteger.free_struct; - td->print_struct = asn_DEF_NativeInteger.print_struct; - td->check_constraints = asn_DEF_NativeInteger.check_constraints; - td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; - td->der_encoder = asn_DEF_NativeInteger.der_encoder; - td->xer_decoder = asn_DEF_NativeInteger.xer_decoder; - td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; - td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; - td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; - td->aper_decoder = asn_DEF_NativeInteger.aper_decoder; - td->aper_encoder = asn_DEF_NativeInteger.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeInteger.per_constraints; - td->elements = asn_DEF_NativeInteger.elements; - td->elements_count = asn_DEF_NativeInteger.elements_count; - td->specifics = asn_DEF_NativeInteger.specifics; -} - -void -ProtocolIE_ID_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - ProtocolIE_ID_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -ProtocolIE_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - ProtocolIE_ID_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -ProtocolIE_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - ProtocolIE_ID_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -ProtocolIE_ID_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - ProtocolIE_ID_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -ProtocolIE_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - ProtocolIE_ID_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -ProtocolIE_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - ProtocolIE_ID_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -ProtocolIE_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - ProtocolIE_ID_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -ProtocolIE_ID_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - ProtocolIE_ID_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -ProtocolIE_ID_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - ProtocolIE_ID_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -ProtocolIE_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - ProtocolIE_ID_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_ProtocolIE_ID_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_ProtocolIE_ID_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ID = { - "ProtocolIE-ID", - "ProtocolIE-ID", - ProtocolIE_ID_free, - ProtocolIE_ID_print, - ProtocolIE_ID_constraint, - ProtocolIE_ID_decode_ber, - ProtocolIE_ID_encode_der, - ProtocolIE_ID_decode_xer, - ProtocolIE_ID_encode_xer, - ProtocolIE_ID_decode_uper, - ProtocolIE_ID_encode_uper, - ProtocolIE_ID_decode_aper, - ProtocolIE_ID_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_ProtocolIE_ID_tags_1, - sizeof(asn_DEF_ProtocolIE_ID_tags_1) - /sizeof(asn_DEF_ProtocolIE_ID_tags_1[0]), /* 1 */ - asn_DEF_ProtocolIE_ID_tags_1, /* Same as above */ - sizeof(asn_DEF_ProtocolIE_ID_tags_1) - /sizeof(asn_DEF_ProtocolIE_ID_tags_1[0]), /* 1 */ - &asn_PER_type_ProtocolIE_ID_constr_1, - 0, 0, /* Defined elsewhere */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/ProtocolIE-ID.h b/src/asn1c/ProtocolIE-ID.h deleted file mode 100644 index 3252e97..0000000 --- a/src/asn1c/ProtocolIE-ID.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-CommonDataTypes" - * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" - * `asn1c -gen-PER` - */ - -#ifndef _ProtocolIE_ID_H_ -#define _ProtocolIE_ID_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ProtocolIE_ID { - ProtocolIE_ID_id_Cause = 1, - ProtocolIE_ID_id_CriticalityDiagnostics = 2, - ProtocolIE_ID_id_HNB_Identity = 3, - ProtocolIE_ID_id_Context_ID = 4, - ProtocolIE_ID_id_UE_Identity = 5, - ProtocolIE_ID_id_LAC = 6, - ProtocolIE_ID_id_RAC = 7, - ProtocolIE_ID_id_HNB_Location_Information = 8, - ProtocolIE_ID_id_PLMNidentity = 9, - ProtocolIE_ID_id_SAC = 10, - ProtocolIE_ID_id_CellIdentity = 11, - ProtocolIE_ID_id_Registration_Cause = 12, - ProtocolIE_ID_id_UE_Capabilities = 13, - ProtocolIE_ID_id_RNC_ID = 14, - ProtocolIE_ID_id_CSG_ID = 15, - ProtocolIE_ID_id_BackoffTimer = 16, - ProtocolIE_ID_id_HNB_Internet_Information = 17, - ProtocolIE_ID_id_HNB_Cell_Access_Mode = 18, - ProtocolIE_ID_id_MuxPortNumber = 19, - ProtocolIE_ID_id_Service_Area_For_Broadcast = 20, - ProtocolIE_ID_id_CSGMembershipStatus = 21, - ProtocolIE_ID_id_RABList = 22, - ProtocolIE_ID_id_HNBConfigInfo = 23, - ProtocolIE_ID_id_AccessResult = 25, - ProtocolIE_ID_id_Update_cause = 26, - ProtocolIE_ID_id_NeighbourInfoList = 27, - ProtocolIE_ID_id_NeighbourInfoRequestList = 28, - ProtocolIE_ID_id_Iurh_Signalling_TNL_Address = 29, - ProtocolIE_ID_id_PSC = 30, - ProtocolIE_ID_id_HNB_Cell_Identifier = 31, - ProtocolIE_ID_id_Tunnel_Information = 41, - ProtocolIE_ID_id_CELL_FACHMobilitySupport = 42, - ProtocolIE_ID_id_S_RNTIPrefix = 43, - ProtocolIE_ID_id_URAIdentity = 44, - ProtocolIE_ID_id_NeighbourIdentity = 45, - ProtocolIE_ID_id_HNBCapacity = 46, - ProtocolIE_ID_id_NeighbourCellIdentityList = 47, - ProtocolIE_ID_id_AdditionalNeighbourInfoList = 48, - ProtocolIE_ID_id_U_RNTI = 49, - ProtocolIE_ID_id_UnknownU_RNTIIndication = 50, - ProtocolIE_ID_id_HNB_GWResponse = 51, - ProtocolIE_ID_id_URAIdentityList = 52 -} e_ProtocolIE_ID; - -/* ProtocolIE-ID */ -typedef long ProtocolIE_ID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ID; -asn_struct_free_f ProtocolIE_ID_free; -asn_struct_print_f ProtocolIE_ID_print; -asn_constr_check_f ProtocolIE_ID_constraint; -ber_type_decoder_f ProtocolIE_ID_decode_ber; -der_type_encoder_f ProtocolIE_ID_encode_der; -xer_type_decoder_f ProtocolIE_ID_decode_xer; -xer_type_encoder_f ProtocolIE_ID_encode_xer; -per_type_decoder_f ProtocolIE_ID_decode_uper; -per_type_encoder_f ProtocolIE_ID_encode_uper; -per_type_decoder_f ProtocolIE_ID_decode_aper; -per_type_encoder_f ProtocolIE_ID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ProtocolIE_ID_H_ */ -#include diff --git a/src/asn1c/RAB-ID.c b/src/asn1c/RAB-ID.c deleted file mode 100644 index db9874f..0000000 --- a/src/asn1c/RAB-ID.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "RAB-ID.h" - -int -RAB_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(st->size > 0) { - /* Size in bits */ - size = 8 * st->size - (st->bits_unused & 0x07); - } else { - size = 0; - } - - if((size == 8l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using BIT_STRING, - * so here we adjust the DEF accordingly. - */ -static void -RAB_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_BIT_STRING.free_struct; - td->print_struct = asn_DEF_BIT_STRING.print_struct; - td->check_constraints = asn_DEF_BIT_STRING.check_constraints; - td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; - td->der_encoder = asn_DEF_BIT_STRING.der_encoder; - td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; - td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; - td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; - td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; - td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; - td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_BIT_STRING.per_constraints; - td->elements = asn_DEF_BIT_STRING.elements; - td->elements_count = asn_DEF_BIT_STRING.elements_count; - td->specifics = asn_DEF_BIT_STRING.specifics; -} - -void -RAB_ID_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - RAB_ID_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -RAB_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - RAB_ID_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -RAB_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - RAB_ID_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -RAB_ID_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - RAB_ID_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -RAB_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - RAB_ID_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -RAB_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - RAB_ID_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -RAB_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - RAB_ID_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -RAB_ID_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - RAB_ID_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -RAB_ID_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - RAB_ID_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -RAB_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - RAB_ID_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_RAB_ID_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 8l, 8l } /* (SIZE(8..8)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_RAB_ID_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_RAB_ID = { - "RAB-ID", - "RAB-ID", - RAB_ID_free, - RAB_ID_print, - RAB_ID_constraint, - RAB_ID_decode_ber, - RAB_ID_encode_der, - RAB_ID_decode_xer, - RAB_ID_encode_xer, - RAB_ID_decode_uper, - RAB_ID_encode_uper, - RAB_ID_decode_aper, - RAB_ID_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_RAB_ID_tags_1, - sizeof(asn_DEF_RAB_ID_tags_1) - /sizeof(asn_DEF_RAB_ID_tags_1[0]), /* 1 */ - asn_DEF_RAB_ID_tags_1, /* Same as above */ - sizeof(asn_DEF_RAB_ID_tags_1) - /sizeof(asn_DEF_RAB_ID_tags_1[0]), /* 1 */ - &asn_PER_type_RAB_ID_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/RAB-ID.h b/src/asn1c/RAB-ID.h deleted file mode 100644 index 45cf69e..0000000 --- a/src/asn1c/RAB-ID.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _RAB_ID_H_ -#define _RAB_ID_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* RAB-ID */ -typedef BIT_STRING_t RAB_ID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RAB_ID; -asn_struct_free_f RAB_ID_free; -asn_struct_print_f RAB_ID_print; -asn_constr_check_f RAB_ID_constraint; -ber_type_decoder_f RAB_ID_decode_ber; -der_type_encoder_f RAB_ID_encode_der; -xer_type_decoder_f RAB_ID_decode_xer; -xer_type_encoder_f RAB_ID_encode_xer; -per_type_decoder_f RAB_ID_decode_uper; -per_type_encoder_f RAB_ID_encode_uper; -per_type_decoder_f RAB_ID_decode_aper; -per_type_encoder_f RAB_ID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RAB_ID_H_ */ -#include diff --git a/src/asn1c/RABList.c b/src/asn1c/RABList.c deleted file mode 100644 index c7acd62..0000000 --- a/src/asn1c/RABList.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "RABList.h" - -static asn_per_constraints_t asn_PER_type_RABList_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 8, 8, 1l, 256l } /* (SIZE(1..256)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_RABList_1[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_RABListItem, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_RABList_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_RABList_specs_1 = { - sizeof(struct RABList), - offsetof(struct RABList, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_RABList = { - "RABList", - "RABList", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_RABList_tags_1, - sizeof(asn_DEF_RABList_tags_1) - /sizeof(asn_DEF_RABList_tags_1[0]), /* 1 */ - asn_DEF_RABList_tags_1, /* Same as above */ - sizeof(asn_DEF_RABList_tags_1) - /sizeof(asn_DEF_RABList_tags_1[0]), /* 1 */ - &asn_PER_type_RABList_constr_1, - asn_MBR_RABList_1, - 1, /* Single element */ - &asn_SPC_RABList_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/RABList.h b/src/asn1c/RABList.h deleted file mode 100644 index f4834de..0000000 --- a/src/asn1c/RABList.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _RABList_H_ -#define _RABList_H_ - - -#include - -/* Including external dependencies */ -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RABListItem; - -/* RABList */ -typedef struct RABList { - A_SEQUENCE_OF(struct RABListItem) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RABList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RABList; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RABListItem.h" - -#endif /* _RABList_H_ */ -#include diff --git a/src/asn1c/RABListItem.c b/src/asn1c/RABListItem.c deleted file mode 100644 index 447c0f7..0000000 --- a/src/asn1c/RABListItem.c +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "RABListItem.h" - -static asn_TYPE_member_t asn_MBR_RABListItem_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct RABListItem, rAB_ID), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_RAB_ID, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "rAB-ID" - }, - { ATF_NOFLAGS, 0, offsetof(struct RABListItem, old_transport_Info), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_TransportInfo, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "old-transport-Info" - }, - { ATF_NOFLAGS, 0, offsetof(struct RABListItem, new_transport_Info), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_TransportInfo, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "new-transport-Info" - }, - { ATF_NOFLAGS, 0, offsetof(struct RABListItem, cn_domain_indicator), - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_CN_DomainIndicator, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "cn-domain-indicator" - }, - { ATF_POINTER, 1, offsetof(struct RABListItem, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_RABListItem_oms_1[] = { 4 }; -static const ber_tlv_tag_t asn_DEF_RABListItem_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_RABListItem_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rAB-ID */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* old-transport-Info */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* new-transport-Info */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* cn-domain-indicator */ - { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_RABListItem_specs_1 = { - sizeof(struct RABListItem), - offsetof(struct RABListItem, _asn_ctx), - asn_MAP_RABListItem_tag2el_1, - 5, /* Count of tags in the map */ - asn_MAP_RABListItem_oms_1, /* Optional members */ - 1, 0, /* Root/Additions */ - 4, /* Start extensions */ - 6 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_RABListItem = { - "RABListItem", - "RABListItem", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_RABListItem_tags_1, - sizeof(asn_DEF_RABListItem_tags_1) - /sizeof(asn_DEF_RABListItem_tags_1[0]), /* 1 */ - asn_DEF_RABListItem_tags_1, /* Same as above */ - sizeof(asn_DEF_RABListItem_tags_1) - /sizeof(asn_DEF_RABListItem_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_RABListItem_1, - 5, /* Elements count */ - &asn_SPC_RABListItem_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/RABListItem.h b/src/asn1c/RABListItem.h deleted file mode 100644 index d610453..0000000 --- a/src/asn1c/RABListItem.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _RABListItem_H_ -#define _RABListItem_H_ - - -#include - -/* Including external dependencies */ -#include "RAB-ID.h" -#include "TransportInfo.h" -#include "CN-DomainIndicator.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE_Extensions; - -/* RABListItem */ -typedef struct RABListItem { - RAB_ID_t rAB_ID; - TransportInfo_t old_transport_Info; - TransportInfo_t new_transport_Info; - CN_DomainIndicator_t cn_domain_indicator; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RABListItem_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RABListItem; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _RABListItem_H_ */ -#include diff --git a/src/asn1c/RAC.c b/src/asn1c/RAC.c deleted file mode 100644 index 5f0136c..0000000 --- a/src/asn1c/RAC.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "RAC.h" - -int -RAC_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size == 1l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using OCTET_STRING, - * so here we adjust the DEF accordingly. - */ -static void -RAC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_OCTET_STRING.free_struct; - td->print_struct = asn_DEF_OCTET_STRING.print_struct; - td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; - td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; - td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; - td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; - td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; - td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; - td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; - td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; - td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; - td->elements = asn_DEF_OCTET_STRING.elements; - td->elements_count = asn_DEF_OCTET_STRING.elements_count; - td->specifics = asn_DEF_OCTET_STRING.specifics; -} - -void -RAC_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - RAC_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -RAC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - RAC_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -RAC_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - RAC_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -RAC_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - RAC_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -RAC_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - RAC_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -RAC_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - RAC_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -RAC_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - RAC_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -RAC_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - RAC_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -RAC_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - RAC_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -RAC_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - RAC_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_RAC_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 1l, 1l } /* (SIZE(1..1)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_RAC_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_RAC = { - "RAC", - "RAC", - RAC_free, - RAC_print, - RAC_constraint, - RAC_decode_ber, - RAC_encode_der, - RAC_decode_xer, - RAC_encode_xer, - RAC_decode_uper, - RAC_encode_uper, - RAC_decode_aper, - RAC_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_RAC_tags_1, - sizeof(asn_DEF_RAC_tags_1) - /sizeof(asn_DEF_RAC_tags_1[0]), /* 1 */ - asn_DEF_RAC_tags_1, /* Same as above */ - sizeof(asn_DEF_RAC_tags_1) - /sizeof(asn_DEF_RAC_tags_1[0]), /* 1 */ - &asn_PER_type_RAC_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/RAC.h b/src/asn1c/RAC.h deleted file mode 100644 index bf61f44..0000000 --- a/src/asn1c/RAC.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _RAC_H_ -#define _RAC_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* RAC */ -typedef OCTET_STRING_t RAC_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RAC; -asn_struct_free_f RAC_free; -asn_struct_print_f RAC_print; -asn_constr_check_f RAC_constraint; -ber_type_decoder_f RAC_decode_ber; -der_type_encoder_f RAC_encode_der; -xer_type_decoder_f RAC_decode_xer; -xer_type_encoder_f RAC_encode_xer; -per_type_decoder_f RAC_decode_uper; -per_type_encoder_f RAC_encode_uper; -per_type_decoder_f RAC_decode_aper; -per_type_encoder_f RAC_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RAC_H_ */ -#include diff --git a/src/asn1c/RAI.c b/src/asn1c/RAI.c deleted file mode 100644 index da7308c..0000000 --- a/src/asn1c/RAI.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "RAI.h" - -static asn_TYPE_member_t asn_MBR_RAI_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct RAI, lAI), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_LAI, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "lAI" - }, - { ATF_NOFLAGS, 0, offsetof(struct RAI, rAC), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_RAC, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "rAC" - }, -}; -static const ber_tlv_tag_t asn_DEF_RAI_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_RAI_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lAI */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* rAC */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_RAI_specs_1 = { - sizeof(struct RAI), - offsetof(struct RAI, _asn_ctx), - asn_MAP_RAI_tag2el_1, - 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 1, /* Start extensions */ - 3 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_RAI = { - "RAI", - "RAI", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_RAI_tags_1, - sizeof(asn_DEF_RAI_tags_1) - /sizeof(asn_DEF_RAI_tags_1[0]), /* 1 */ - asn_DEF_RAI_tags_1, /* Same as above */ - sizeof(asn_DEF_RAI_tags_1) - /sizeof(asn_DEF_RAI_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_RAI_1, - 2, /* Elements count */ - &asn_SPC_RAI_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/RAI.h b/src/asn1c/RAI.h deleted file mode 100644 index faa8e3d..0000000 --- a/src/asn1c/RAI.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _RAI_H_ -#define _RAI_H_ - - -#include - -/* Including external dependencies */ -#include "LAI.h" -#include "RAC.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* RAI */ -typedef struct RAI { - LAI_t lAI; - RAC_t rAC; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RAI_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RAI; - -#ifdef __cplusplus -} -#endif - -#endif /* _RAI_H_ */ -#include diff --git a/src/asn1c/RNC-ID.c b/src/asn1c/RNC-ID.c deleted file mode 100644 index f386fd1..0000000 --- a/src/asn1c/RNC-ID.c +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "RNC-ID.h" - -int -RNC_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0l && value <= 65535l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ -static void -RNC_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeInteger.free_struct; - td->print_struct = asn_DEF_NativeInteger.print_struct; - td->check_constraints = asn_DEF_NativeInteger.check_constraints; - td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; - td->der_encoder = asn_DEF_NativeInteger.der_encoder; - td->xer_decoder = asn_DEF_NativeInteger.xer_decoder; - td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; - td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; - td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; - td->aper_decoder = asn_DEF_NativeInteger.aper_decoder; - td->aper_encoder = asn_DEF_NativeInteger.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeInteger.per_constraints; - td->elements = asn_DEF_NativeInteger.elements; - td->elements_count = asn_DEF_NativeInteger.elements_count; - td->specifics = asn_DEF_NativeInteger.specifics; -} - -void -RNC_ID_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - RNC_ID_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -RNC_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - RNC_ID_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -RNC_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - RNC_ID_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -RNC_ID_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - RNC_ID_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -RNC_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - RNC_ID_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -RNC_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - RNC_ID_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -RNC_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - RNC_ID_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -RNC_ID_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - RNC_ID_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -RNC_ID_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - RNC_ID_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -RNC_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - RNC_ID_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_RNC_ID_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_RNC_ID_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_RNC_ID = { - "RNC-ID", - "RNC-ID", - RNC_ID_free, - RNC_ID_print, - RNC_ID_constraint, - RNC_ID_decode_ber, - RNC_ID_encode_der, - RNC_ID_decode_xer, - RNC_ID_encode_xer, - RNC_ID_decode_uper, - RNC_ID_encode_uper, - RNC_ID_decode_aper, - RNC_ID_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_RNC_ID_tags_1, - sizeof(asn_DEF_RNC_ID_tags_1) - /sizeof(asn_DEF_RNC_ID_tags_1[0]), /* 1 */ - asn_DEF_RNC_ID_tags_1, /* Same as above */ - sizeof(asn_DEF_RNC_ID_tags_1) - /sizeof(asn_DEF_RNC_ID_tags_1[0]), /* 1 */ - &asn_PER_type_RNC_ID_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/RNC-ID.h b/src/asn1c/RNC-ID.h deleted file mode 100644 index c42f984..0000000 --- a/src/asn1c/RNC-ID.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _RNC_ID_H_ -#define _RNC_ID_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* RNC-ID */ -typedef long RNC_ID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RNC_ID; -asn_struct_free_f RNC_ID_free; -asn_struct_print_f RNC_ID_print; -asn_constr_check_f RNC_ID_constraint; -ber_type_decoder_f RNC_ID_decode_ber; -der_type_encoder_f RNC_ID_encode_der; -xer_type_decoder_f RNC_ID_decode_xer; -xer_type_encoder_f RNC_ID_encode_xer; -per_type_decoder_f RNC_ID_decode_uper; -per_type_encoder_f RNC_ID_encode_uper; -per_type_decoder_f RNC_ID_decode_aper; -per_type_encoder_f RNC_ID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RNC_ID_H_ */ -#include diff --git a/src/asn1c/Registration-Cause.c b/src/asn1c/Registration-Cause.c deleted file mode 100644 index e04843c..0000000 --- a/src/asn1c/Registration-Cause.c +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "Registration-Cause.h" - -int -Registration_Cause_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -Registration_Cause_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -Registration_Cause_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - Registration_Cause_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -Registration_Cause_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - Registration_Cause_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -Registration_Cause_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - Registration_Cause_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -Registration_Cause_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - Registration_Cause_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -Registration_Cause_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - Registration_Cause_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -Registration_Cause_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - Registration_Cause_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -Registration_Cause_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - Registration_Cause_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -Registration_Cause_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - Registration_Cause_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -Registration_Cause_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - Registration_Cause_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -Registration_Cause_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - Registration_Cause_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_Registration_Cause_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_Registration_Cause_value2enum_1[] = { - { 0, 14, "emergency-call" }, - { 1, 6, "normal" }, - { 2, 13, "ue-relocation" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_Registration_Cause_enum2value_1[] = { - 0, /* emergency-call(0) */ - 1, /* normal(1) */ - 2 /* ue-relocation(2) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_Registration_Cause_specs_1 = { - asn_MAP_Registration_Cause_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_Registration_Cause_enum2value_1, /* N => "tag"; sorted by N */ - 3, /* Number of elements in the maps */ - 3, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Registration_Cause_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Registration_Cause = { - "Registration-Cause", - "Registration-Cause", - Registration_Cause_free, - Registration_Cause_print, - Registration_Cause_constraint, - Registration_Cause_decode_ber, - Registration_Cause_encode_der, - Registration_Cause_decode_xer, - Registration_Cause_encode_xer, - Registration_Cause_decode_uper, - Registration_Cause_encode_uper, - Registration_Cause_decode_aper, - Registration_Cause_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_Registration_Cause_tags_1, - sizeof(asn_DEF_Registration_Cause_tags_1) - /sizeof(asn_DEF_Registration_Cause_tags_1[0]), /* 1 */ - asn_DEF_Registration_Cause_tags_1, /* Same as above */ - sizeof(asn_DEF_Registration_Cause_tags_1) - /sizeof(asn_DEF_Registration_Cause_tags_1[0]), /* 1 */ - &asn_PER_type_Registration_Cause_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Registration_Cause_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/Registration-Cause.h b/src/asn1c/Registration-Cause.h deleted file mode 100644 index c137068..0000000 --- a/src/asn1c/Registration-Cause.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _Registration_Cause_H_ -#define _Registration_Cause_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Registration_Cause { - Registration_Cause_emergency_call = 0, - Registration_Cause_normal = 1, - /* - * Enumeration is extensible - */ - Registration_Cause_ue_relocation = 2 -} e_Registration_Cause; - -/* Registration-Cause */ -typedef long Registration_Cause_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Registration_Cause; -asn_struct_free_f Registration_Cause_free; -asn_struct_print_f Registration_Cause_print; -asn_constr_check_f Registration_Cause_constraint; -ber_type_decoder_f Registration_Cause_decode_ber; -der_type_encoder_f Registration_Cause_encode_der; -xer_type_decoder_f Registration_Cause_decode_xer; -xer_type_encoder_f Registration_Cause_encode_xer; -per_type_decoder_f Registration_Cause_decode_uper; -per_type_encoder_f Registration_Cause_encode_uper; -per_type_decoder_f Registration_Cause_decode_aper; -per_type_encoder_f Registration_Cause_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Registration_Cause_H_ */ -#include diff --git a/src/asn1c/RelocationComplete.c b/src/asn1c/RelocationComplete.c deleted file mode 100644 index f5677b8..0000000 --- a/src/asn1c/RelocationComplete.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "RelocationComplete.h" - -static int -memb_relocationComplete_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_relocationComplete_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_relocationComplete_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_relocationComplete_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_relocationComplete_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_relocationComplete_ies_specs_2 = { - sizeof(struct relocationComplete_ies), - offsetof(struct relocationComplete_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_relocationComplete_ies_2 = { - "relocationComplete-ies", - "relocationComplete-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_relocationComplete_ies_tags_2, - sizeof(asn_DEF_relocationComplete_ies_tags_2) - /sizeof(asn_DEF_relocationComplete_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_relocationComplete_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_relocationComplete_ies_tags_2) - /sizeof(asn_DEF_relocationComplete_ies_tags_2[0]), /* 2 */ - &asn_PER_type_relocationComplete_ies_constr_2, - asn_MBR_relocationComplete_ies_2, - 1, /* Single element */ - &asn_SPC_relocationComplete_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_RelocationComplete_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct RelocationComplete, relocationComplete_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_relocationComplete_ies_2, - memb_relocationComplete_ies_constraint_1, - &asn_PER_memb_relocationComplete_ies_constr_2, - 0, - "relocationComplete-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_RelocationComplete_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_RelocationComplete_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* relocationComplete-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_RelocationComplete_specs_1 = { - sizeof(struct RelocationComplete), - offsetof(struct RelocationComplete, _asn_ctx), - asn_MAP_RelocationComplete_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_RelocationComplete = { - "RelocationComplete", - "RelocationComplete", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_RelocationComplete_tags_1, - sizeof(asn_DEF_RelocationComplete_tags_1) - /sizeof(asn_DEF_RelocationComplete_tags_1[0]), /* 1 */ - asn_DEF_RelocationComplete_tags_1, /* Same as above */ - sizeof(asn_DEF_RelocationComplete_tags_1) - /sizeof(asn_DEF_RelocationComplete_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_RelocationComplete_1, - 1, /* Elements count */ - &asn_SPC_RelocationComplete_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/RelocationComplete.h b/src/asn1c/RelocationComplete.h deleted file mode 100644 index a14ddb7..0000000 --- a/src/asn1c/RelocationComplete.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _RelocationComplete_H_ -#define _RelocationComplete_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* RelocationComplete */ -typedef struct RelocationComplete { - struct relocationComplete_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } relocationComplete_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RelocationComplete_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RelocationComplete; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _RelocationComplete_H_ */ -#include diff --git a/src/asn1c/S-RNTIPrefix.c b/src/asn1c/S-RNTIPrefix.c deleted file mode 100644 index 2ea4857..0000000 --- a/src/asn1c/S-RNTIPrefix.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "S-RNTIPrefix.h" - -int -S_RNTIPrefix_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(st->size > 0) { - /* Size in bits */ - size = 8 * st->size - (st->bits_unused & 0x07); - } else { - size = 0; - } - - if((size >= 1l && size <= 16l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using BIT_STRING, - * so here we adjust the DEF accordingly. - */ -static void -S_RNTIPrefix_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_BIT_STRING.free_struct; - td->print_struct = asn_DEF_BIT_STRING.print_struct; - td->check_constraints = asn_DEF_BIT_STRING.check_constraints; - td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; - td->der_encoder = asn_DEF_BIT_STRING.der_encoder; - td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; - td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; - td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; - td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; - td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; - td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_BIT_STRING.per_constraints; - td->elements = asn_DEF_BIT_STRING.elements; - td->elements_count = asn_DEF_BIT_STRING.elements_count; - td->specifics = asn_DEF_BIT_STRING.specifics; -} - -void -S_RNTIPrefix_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - S_RNTIPrefix_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -S_RNTIPrefix_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - S_RNTIPrefix_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -S_RNTIPrefix_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - S_RNTIPrefix_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -S_RNTIPrefix_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - S_RNTIPrefix_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -S_RNTIPrefix_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - S_RNTIPrefix_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -S_RNTIPrefix_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - S_RNTIPrefix_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -S_RNTIPrefix_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - S_RNTIPrefix_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -S_RNTIPrefix_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - S_RNTIPrefix_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -S_RNTIPrefix_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - S_RNTIPrefix_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -S_RNTIPrefix_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - S_RNTIPrefix_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_S_RNTIPrefix_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1l, 16l } /* (SIZE(1..16,...)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_S_RNTIPrefix_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_S_RNTIPrefix = { - "S-RNTIPrefix", - "S-RNTIPrefix", - S_RNTIPrefix_free, - S_RNTIPrefix_print, - S_RNTIPrefix_constraint, - S_RNTIPrefix_decode_ber, - S_RNTIPrefix_encode_der, - S_RNTIPrefix_decode_xer, - S_RNTIPrefix_encode_xer, - S_RNTIPrefix_decode_uper, - S_RNTIPrefix_encode_uper, - S_RNTIPrefix_decode_aper, - S_RNTIPrefix_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_S_RNTIPrefix_tags_1, - sizeof(asn_DEF_S_RNTIPrefix_tags_1) - /sizeof(asn_DEF_S_RNTIPrefix_tags_1[0]), /* 1 */ - asn_DEF_S_RNTIPrefix_tags_1, /* Same as above */ - sizeof(asn_DEF_S_RNTIPrefix_tags_1) - /sizeof(asn_DEF_S_RNTIPrefix_tags_1[0]), /* 1 */ - &asn_PER_type_S_RNTIPrefix_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/S-RNTIPrefix.h b/src/asn1c/S-RNTIPrefix.h deleted file mode 100644 index 072e305..0000000 --- a/src/asn1c/S-RNTIPrefix.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _S_RNTIPrefix_H_ -#define _S_RNTIPrefix_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* S-RNTIPrefix */ -typedef BIT_STRING_t S_RNTIPrefix_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_S_RNTIPrefix; -asn_struct_free_f S_RNTIPrefix_free; -asn_struct_print_f S_RNTIPrefix_print; -asn_constr_check_f S_RNTIPrefix_constraint; -ber_type_decoder_f S_RNTIPrefix_decode_ber; -der_type_encoder_f S_RNTIPrefix_encode_der; -xer_type_decoder_f S_RNTIPrefix_decode_xer; -xer_type_encoder_f S_RNTIPrefix_encode_xer; -per_type_decoder_f S_RNTIPrefix_decode_uper; -per_type_encoder_f S_RNTIPrefix_encode_uper; -per_type_decoder_f S_RNTIPrefix_decode_aper; -per_type_encoder_f S_RNTIPrefix_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _S_RNTIPrefix_H_ */ -#include diff --git a/src/asn1c/SAC.c b/src/asn1c/SAC.c deleted file mode 100644 index 78f2815..0000000 --- a/src/asn1c/SAC.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "SAC.h" - -int -SAC_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size == 2l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using OCTET_STRING, - * so here we adjust the DEF accordingly. - */ -static void -SAC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_OCTET_STRING.free_struct; - td->print_struct = asn_DEF_OCTET_STRING.print_struct; - td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; - td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; - td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; - td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; - td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; - td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; - td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; - td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; - td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; - td->elements = asn_DEF_OCTET_STRING.elements; - td->elements_count = asn_DEF_OCTET_STRING.elements_count; - td->specifics = asn_DEF_OCTET_STRING.specifics; -} - -void -SAC_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - SAC_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -SAC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - SAC_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -SAC_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - SAC_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -SAC_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - SAC_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -SAC_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - SAC_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -SAC_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - SAC_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -SAC_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - SAC_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -SAC_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - SAC_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -SAC_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - SAC_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -SAC_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - SAC_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_SAC_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 2l, 2l } /* (SIZE(2..2)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_SAC_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_SAC = { - "SAC", - "SAC", - SAC_free, - SAC_print, - SAC_constraint, - SAC_decode_ber, - SAC_encode_der, - SAC_decode_xer, - SAC_encode_xer, - SAC_decode_uper, - SAC_encode_uper, - SAC_decode_aper, - SAC_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_SAC_tags_1, - sizeof(asn_DEF_SAC_tags_1) - /sizeof(asn_DEF_SAC_tags_1[0]), /* 1 */ - asn_DEF_SAC_tags_1, /* Same as above */ - sizeof(asn_DEF_SAC_tags_1) - /sizeof(asn_DEF_SAC_tags_1[0]), /* 1 */ - &asn_PER_type_SAC_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/SAC.h b/src/asn1c/SAC.h deleted file mode 100644 index 5362968..0000000 --- a/src/asn1c/SAC.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _SAC_H_ -#define _SAC_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* SAC */ -typedef OCTET_STRING_t SAC_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SAC; -asn_struct_free_f SAC_free; -asn_struct_print_f SAC_print; -asn_constr_check_f SAC_constraint; -ber_type_decoder_f SAC_decode_ber; -der_type_encoder_f SAC_encode_der; -xer_type_decoder_f SAC_decode_xer; -xer_type_encoder_f SAC_encode_xer; -per_type_decoder_f SAC_decode_uper; -per_type_encoder_f SAC_encode_uper; -per_type_decoder_f SAC_decode_aper; -per_type_encoder_f SAC_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SAC_H_ */ -#include diff --git a/src/asn1c/SuccessfulOutcome.c b/src/asn1c/SuccessfulOutcome.c deleted file mode 100644 index ffdaaa8..0000000 --- a/src/asn1c/SuccessfulOutcome.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "SuccessfulOutcome.h" - -static asn_TYPE_member_t asn_MBR_SuccessfulOutcome_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome, procedureCode), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_ProcedureCode, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "procedureCode" - }, - { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome, criticality), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_Criticality, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "criticality" - }, - { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome, value), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - +1, /* EXPLICIT tag at current level */ - &asn_DEF_ANY, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "value" - }, -}; -static const ber_tlv_tag_t asn_DEF_SuccessfulOutcome_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_SuccessfulOutcome_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_SuccessfulOutcome_specs_1 = { - sizeof(struct SuccessfulOutcome), - offsetof(struct SuccessfulOutcome, _asn_ctx), - asn_MAP_SuccessfulOutcome_tag2el_1, - 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* Start extensions */ - -1 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_SuccessfulOutcome = { - "SuccessfulOutcome", - "SuccessfulOutcome", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_SuccessfulOutcome_tags_1, - sizeof(asn_DEF_SuccessfulOutcome_tags_1) - /sizeof(asn_DEF_SuccessfulOutcome_tags_1[0]), /* 1 */ - asn_DEF_SuccessfulOutcome_tags_1, /* Same as above */ - sizeof(asn_DEF_SuccessfulOutcome_tags_1) - /sizeof(asn_DEF_SuccessfulOutcome_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_SuccessfulOutcome_1, - 3, /* Elements count */ - &asn_SPC_SuccessfulOutcome_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/SuccessfulOutcome.h b/src/asn1c/SuccessfulOutcome.h deleted file mode 100644 index b831b5f..0000000 --- a/src/asn1c/SuccessfulOutcome.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _SuccessfulOutcome_H_ -#define _SuccessfulOutcome_H_ - - -#include - -/* Including external dependencies */ -#include "ProcedureCode.h" -#include "Criticality.h" -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* SuccessfulOutcome */ -typedef struct SuccessfulOutcome { - ProcedureCode_t procedureCode; - Criticality_t criticality; - ANY_t value; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SuccessfulOutcome_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SuccessfulOutcome; - -#ifdef __cplusplus -} -#endif - -#endif /* _SuccessfulOutcome_H_ */ -#include diff --git a/src/asn1c/TMSIDS41.c b/src/asn1c/TMSIDS41.c deleted file mode 100644 index 1aaecfb..0000000 --- a/src/asn1c/TMSIDS41.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "TMSIDS41.h" - -int -TMSIDS41_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size >= 2l && size <= 17l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using OCTET_STRING, - * so here we adjust the DEF accordingly. - */ -static void -TMSIDS41_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_OCTET_STRING.free_struct; - td->print_struct = asn_DEF_OCTET_STRING.print_struct; - td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; - td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; - td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; - td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; - td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; - td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; - td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; - td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; - td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; - td->elements = asn_DEF_OCTET_STRING.elements; - td->elements_count = asn_DEF_OCTET_STRING.elements_count; - td->specifics = asn_DEF_OCTET_STRING.specifics; -} - -void -TMSIDS41_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - TMSIDS41_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -TMSIDS41_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - TMSIDS41_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -TMSIDS41_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - TMSIDS41_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -TMSIDS41_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - TMSIDS41_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -TMSIDS41_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - TMSIDS41_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -TMSIDS41_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - TMSIDS41_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -TMSIDS41_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - TMSIDS41_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -TMSIDS41_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - TMSIDS41_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -TMSIDS41_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - TMSIDS41_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -TMSIDS41_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - TMSIDS41_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_TMSIDS41_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 4, 4, 2l, 17l } /* (SIZE(2..17)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_TMSIDS41_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_TMSIDS41 = { - "TMSIDS41", - "TMSIDS41", - TMSIDS41_free, - TMSIDS41_print, - TMSIDS41_constraint, - TMSIDS41_decode_ber, - TMSIDS41_encode_der, - TMSIDS41_decode_xer, - TMSIDS41_encode_xer, - TMSIDS41_decode_uper, - TMSIDS41_encode_uper, - TMSIDS41_decode_aper, - TMSIDS41_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_TMSIDS41_tags_1, - sizeof(asn_DEF_TMSIDS41_tags_1) - /sizeof(asn_DEF_TMSIDS41_tags_1[0]), /* 1 */ - asn_DEF_TMSIDS41_tags_1, /* Same as above */ - sizeof(asn_DEF_TMSIDS41_tags_1) - /sizeof(asn_DEF_TMSIDS41_tags_1[0]), /* 1 */ - &asn_PER_type_TMSIDS41_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/TMSIDS41.h b/src/asn1c/TMSIDS41.h deleted file mode 100644 index 1cd21a4..0000000 --- a/src/asn1c/TMSIDS41.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _TMSIDS41_H_ -#define _TMSIDS41_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* TMSIDS41 */ -typedef OCTET_STRING_t TMSIDS41_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TMSIDS41; -asn_struct_free_f TMSIDS41_free; -asn_struct_print_f TMSIDS41_print; -asn_constr_check_f TMSIDS41_constraint; -ber_type_decoder_f TMSIDS41_decode_ber; -der_type_encoder_f TMSIDS41_encode_der; -xer_type_decoder_f TMSIDS41_decode_xer; -xer_type_encoder_f TMSIDS41_encode_xer; -per_type_decoder_f TMSIDS41_decode_uper; -per_type_encoder_f TMSIDS41_encode_uper; -per_type_decoder_f TMSIDS41_decode_aper; -per_type_encoder_f TMSIDS41_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TMSIDS41_H_ */ -#include diff --git a/src/asn1c/TMSILAI.c b/src/asn1c/TMSILAI.c deleted file mode 100644 index 2880c58..0000000 --- a/src/asn1c/TMSILAI.c +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "TMSILAI.h" - -static int -memb_tMSI_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(st->size > 0) { - /* Size in bits */ - size = 8 * st->size - (st->bits_unused & 0x07); - } else { - size = 0; - } - - if((size == 32l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_memb_tMSI_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 32l, 32l } /* (SIZE(32..32)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_TMSILAI_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct TMSILAI, tMSI), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_BIT_STRING, - memb_tMSI_constraint_1, - &asn_PER_memb_tMSI_constr_2, - 0, - "tMSI" - }, - { ATF_NOFLAGS, 0, offsetof(struct TMSILAI, lAI), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_LAI, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "lAI" - }, -}; -static const ber_tlv_tag_t asn_DEF_TMSILAI_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_TMSILAI_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tMSI */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lAI */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_TMSILAI_specs_1 = { - sizeof(struct TMSILAI), - offsetof(struct TMSILAI, _asn_ctx), - asn_MAP_TMSILAI_tag2el_1, - 2, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* Start extensions */ - -1 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_TMSILAI = { - "TMSILAI", - "TMSILAI", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_TMSILAI_tags_1, - sizeof(asn_DEF_TMSILAI_tags_1) - /sizeof(asn_DEF_TMSILAI_tags_1[0]), /* 1 */ - asn_DEF_TMSILAI_tags_1, /* Same as above */ - sizeof(asn_DEF_TMSILAI_tags_1) - /sizeof(asn_DEF_TMSILAI_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_TMSILAI_1, - 2, /* Elements count */ - &asn_SPC_TMSILAI_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/TMSILAI.h b/src/asn1c/TMSILAI.h deleted file mode 100644 index ca71008..0000000 --- a/src/asn1c/TMSILAI.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _TMSILAI_H_ -#define _TMSILAI_H_ - - -#include - -/* Including external dependencies */ -#include -#include "LAI.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* TMSILAI */ -typedef struct TMSILAI { - BIT_STRING_t tMSI; - LAI_t lAI; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TMSILAI_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TMSILAI; - -#ifdef __cplusplus -} -#endif - -#endif /* _TMSILAI_H_ */ -#include diff --git a/src/asn1c/TNLUpdateFailure.c b/src/asn1c/TNLUpdateFailure.c deleted file mode 100644 index 829cc13..0000000 --- a/src/asn1c/TNLUpdateFailure.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "TNLUpdateFailure.h" - -static int -memb_tnlUpdateFailure_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_tnlUpdateFailure_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_tnlUpdateFailure_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_tnlUpdateFailure_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_tnlUpdateFailure_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_tnlUpdateFailure_ies_specs_2 = { - sizeof(struct tnlUpdateFailure_ies), - offsetof(struct tnlUpdateFailure_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_tnlUpdateFailure_ies_2 = { - "tnlUpdateFailure-ies", - "tnlUpdateFailure-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_tnlUpdateFailure_ies_tags_2, - sizeof(asn_DEF_tnlUpdateFailure_ies_tags_2) - /sizeof(asn_DEF_tnlUpdateFailure_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_tnlUpdateFailure_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_tnlUpdateFailure_ies_tags_2) - /sizeof(asn_DEF_tnlUpdateFailure_ies_tags_2[0]), /* 2 */ - &asn_PER_type_tnlUpdateFailure_ies_constr_2, - asn_MBR_tnlUpdateFailure_ies_2, - 1, /* Single element */ - &asn_SPC_tnlUpdateFailure_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_TNLUpdateFailure_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct TNLUpdateFailure, tnlUpdateFailure_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_tnlUpdateFailure_ies_2, - memb_tnlUpdateFailure_ies_constraint_1, - &asn_PER_memb_tnlUpdateFailure_ies_constr_2, - 0, - "tnlUpdateFailure-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_TNLUpdateFailure_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_TNLUpdateFailure_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* tnlUpdateFailure-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_TNLUpdateFailure_specs_1 = { - sizeof(struct TNLUpdateFailure), - offsetof(struct TNLUpdateFailure, _asn_ctx), - asn_MAP_TNLUpdateFailure_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_TNLUpdateFailure = { - "TNLUpdateFailure", - "TNLUpdateFailure", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_TNLUpdateFailure_tags_1, - sizeof(asn_DEF_TNLUpdateFailure_tags_1) - /sizeof(asn_DEF_TNLUpdateFailure_tags_1[0]), /* 1 */ - asn_DEF_TNLUpdateFailure_tags_1, /* Same as above */ - sizeof(asn_DEF_TNLUpdateFailure_tags_1) - /sizeof(asn_DEF_TNLUpdateFailure_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_TNLUpdateFailure_1, - 1, /* Elements count */ - &asn_SPC_TNLUpdateFailure_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/TNLUpdateFailure.h b/src/asn1c/TNLUpdateFailure.h deleted file mode 100644 index 5bd0c05..0000000 --- a/src/asn1c/TNLUpdateFailure.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _TNLUpdateFailure_H_ -#define _TNLUpdateFailure_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* TNLUpdateFailure */ -typedef struct TNLUpdateFailure { - struct tnlUpdateFailure_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } tnlUpdateFailure_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TNLUpdateFailure_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TNLUpdateFailure; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _TNLUpdateFailure_H_ */ -#include diff --git a/src/asn1c/TNLUpdateRequest.c b/src/asn1c/TNLUpdateRequest.c deleted file mode 100644 index 1917269..0000000 --- a/src/asn1c/TNLUpdateRequest.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "TNLUpdateRequest.h" - -static int -memb_tnlUpdateRequest_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_tnlUpdateRequest_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_tnlUpdateRequest_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_tnlUpdateRequest_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_tnlUpdateRequest_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_tnlUpdateRequest_ies_specs_2 = { - sizeof(struct tnlUpdateRequest_ies), - offsetof(struct tnlUpdateRequest_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_tnlUpdateRequest_ies_2 = { - "tnlUpdateRequest-ies", - "tnlUpdateRequest-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_tnlUpdateRequest_ies_tags_2, - sizeof(asn_DEF_tnlUpdateRequest_ies_tags_2) - /sizeof(asn_DEF_tnlUpdateRequest_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_tnlUpdateRequest_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_tnlUpdateRequest_ies_tags_2) - /sizeof(asn_DEF_tnlUpdateRequest_ies_tags_2[0]), /* 2 */ - &asn_PER_type_tnlUpdateRequest_ies_constr_2, - asn_MBR_tnlUpdateRequest_ies_2, - 1, /* Single element */ - &asn_SPC_tnlUpdateRequest_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_TNLUpdateRequest_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct TNLUpdateRequest, tnlUpdateRequest_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_tnlUpdateRequest_ies_2, - memb_tnlUpdateRequest_ies_constraint_1, - &asn_PER_memb_tnlUpdateRequest_ies_constr_2, - 0, - "tnlUpdateRequest-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_TNLUpdateRequest_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_TNLUpdateRequest_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* tnlUpdateRequest-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_TNLUpdateRequest_specs_1 = { - sizeof(struct TNLUpdateRequest), - offsetof(struct TNLUpdateRequest, _asn_ctx), - asn_MAP_TNLUpdateRequest_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_TNLUpdateRequest = { - "TNLUpdateRequest", - "TNLUpdateRequest", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_TNLUpdateRequest_tags_1, - sizeof(asn_DEF_TNLUpdateRequest_tags_1) - /sizeof(asn_DEF_TNLUpdateRequest_tags_1[0]), /* 1 */ - asn_DEF_TNLUpdateRequest_tags_1, /* Same as above */ - sizeof(asn_DEF_TNLUpdateRequest_tags_1) - /sizeof(asn_DEF_TNLUpdateRequest_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_TNLUpdateRequest_1, - 1, /* Elements count */ - &asn_SPC_TNLUpdateRequest_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/TNLUpdateRequest.h b/src/asn1c/TNLUpdateRequest.h deleted file mode 100644 index 52a4b38..0000000 --- a/src/asn1c/TNLUpdateRequest.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _TNLUpdateRequest_H_ -#define _TNLUpdateRequest_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* TNLUpdateRequest */ -typedef struct TNLUpdateRequest { - struct tnlUpdateRequest_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } tnlUpdateRequest_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TNLUpdateRequest_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TNLUpdateRequest; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _TNLUpdateRequest_H_ */ -#include diff --git a/src/asn1c/TNLUpdateResponse.c b/src/asn1c/TNLUpdateResponse.c deleted file mode 100644 index a956010..0000000 --- a/src/asn1c/TNLUpdateResponse.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "TNLUpdateResponse.h" - -static int -memb_tnlUpdateResponse_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_tnlUpdateResponse_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_tnlUpdateResponse_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_tnlUpdateResponse_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_tnlUpdateResponse_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_tnlUpdateResponse_ies_specs_2 = { - sizeof(struct tnlUpdateResponse_ies), - offsetof(struct tnlUpdateResponse_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_tnlUpdateResponse_ies_2 = { - "tnlUpdateResponse-ies", - "tnlUpdateResponse-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_tnlUpdateResponse_ies_tags_2, - sizeof(asn_DEF_tnlUpdateResponse_ies_tags_2) - /sizeof(asn_DEF_tnlUpdateResponse_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_tnlUpdateResponse_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_tnlUpdateResponse_ies_tags_2) - /sizeof(asn_DEF_tnlUpdateResponse_ies_tags_2[0]), /* 2 */ - &asn_PER_type_tnlUpdateResponse_ies_constr_2, - asn_MBR_tnlUpdateResponse_ies_2, - 1, /* Single element */ - &asn_SPC_tnlUpdateResponse_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_TNLUpdateResponse_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct TNLUpdateResponse, tnlUpdateResponse_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_tnlUpdateResponse_ies_2, - memb_tnlUpdateResponse_ies_constraint_1, - &asn_PER_memb_tnlUpdateResponse_ies_constr_2, - 0, - "tnlUpdateResponse-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_TNLUpdateResponse_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_TNLUpdateResponse_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* tnlUpdateResponse-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_TNLUpdateResponse_specs_1 = { - sizeof(struct TNLUpdateResponse), - offsetof(struct TNLUpdateResponse, _asn_ctx), - asn_MAP_TNLUpdateResponse_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_TNLUpdateResponse = { - "TNLUpdateResponse", - "TNLUpdateResponse", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_TNLUpdateResponse_tags_1, - sizeof(asn_DEF_TNLUpdateResponse_tags_1) - /sizeof(asn_DEF_TNLUpdateResponse_tags_1[0]), /* 1 */ - asn_DEF_TNLUpdateResponse_tags_1, /* Same as above */ - sizeof(asn_DEF_TNLUpdateResponse_tags_1) - /sizeof(asn_DEF_TNLUpdateResponse_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_TNLUpdateResponse_1, - 1, /* Elements count */ - &asn_SPC_TNLUpdateResponse_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/TNLUpdateResponse.h b/src/asn1c/TNLUpdateResponse.h deleted file mode 100644 index b01cd30..0000000 --- a/src/asn1c/TNLUpdateResponse.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _TNLUpdateResponse_H_ -#define _TNLUpdateResponse_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* TNLUpdateResponse */ -typedef struct TNLUpdateResponse { - struct tnlUpdateResponse_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } tnlUpdateResponse_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TNLUpdateResponse_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TNLUpdateResponse; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _TNLUpdateResponse_H_ */ -#include diff --git a/src/asn1c/TransportInfo.c b/src/asn1c/TransportInfo.c deleted file mode 100644 index d511012..0000000 --- a/src/asn1c/TransportInfo.c +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "TransportInfo.h" - -static asn_per_constraints_t asn_PER_type_transportAssociation_constr_3 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_transportAssociation_3[] = { - { ATF_NOFLAGS, 0, offsetof(struct transportAssociation, choice.gtp_TEI), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_GTP_TEI, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "gtp-TEI" - }, - { ATF_NOFLAGS, 0, offsetof(struct transportAssociation, choice.bindingID), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_BindingID, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "bindingID" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_transportAssociation_tag2el_3[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gtp-TEI */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* bindingID */ -}; -static asn_CHOICE_specifics_t asn_SPC_transportAssociation_specs_3 = { - sizeof(struct transportAssociation), - offsetof(struct transportAssociation, _asn_ctx), - offsetof(struct transportAssociation, present), - sizeof(((struct transportAssociation *)0)->present), - asn_MAP_transportAssociation_tag2el_3, - 2, /* Count of tags in the map */ - 0, - 2 /* Extensions start */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_transportAssociation_3 = { - "transportAssociation", - "transportAssociation", - CHOICE_free, - CHOICE_print, - CHOICE_constraint, - CHOICE_decode_ber, - CHOICE_encode_der, - CHOICE_decode_xer, - CHOICE_encode_xer, - CHOICE_decode_uper, - CHOICE_encode_uper, - CHOICE_decode_aper, - CHOICE_encode_aper, - CHOICE_outmost_tag, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - &asn_PER_type_transportAssociation_constr_3, - asn_MBR_transportAssociation_3, - 2, /* Elements count */ - &asn_SPC_transportAssociation_specs_3 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_TransportInfo_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct TransportInfo, transportLayerAddress), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_TransportLayerAddress, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "transportLayerAddress" - }, - { ATF_NOFLAGS, 0, offsetof(struct TransportInfo, transportAssociation), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - +1, /* EXPLICIT tag at current level */ - &asn_DEF_transportAssociation_3, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "transportAssociation" - }, - { ATF_POINTER, 1, offsetof(struct TransportInfo, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_TransportInfo_oms_1[] = { 2 }; -static const ber_tlv_tag_t asn_DEF_TransportInfo_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_TransportInfo_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* transportLayerAddress */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transportAssociation */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_TransportInfo_specs_1 = { - sizeof(struct TransportInfo), - offsetof(struct TransportInfo, _asn_ctx), - asn_MAP_TransportInfo_tag2el_1, - 3, /* Count of tags in the map */ - asn_MAP_TransportInfo_oms_1, /* Optional members */ - 1, 0, /* Root/Additions */ - 2, /* Start extensions */ - 4 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_TransportInfo = { - "TransportInfo", - "TransportInfo", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_TransportInfo_tags_1, - sizeof(asn_DEF_TransportInfo_tags_1) - /sizeof(asn_DEF_TransportInfo_tags_1[0]), /* 1 */ - asn_DEF_TransportInfo_tags_1, /* Same as above */ - sizeof(asn_DEF_TransportInfo_tags_1) - /sizeof(asn_DEF_TransportInfo_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_TransportInfo_1, - 3, /* Elements count */ - &asn_SPC_TransportInfo_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/TransportInfo.h b/src/asn1c/TransportInfo.h deleted file mode 100644 index 6176761..0000000 --- a/src/asn1c/TransportInfo.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _TransportInfo_H_ -#define _TransportInfo_H_ - - -#include - -/* Including external dependencies */ -#include "TransportLayerAddress.h" -#include "GTP-TEI.h" -#include "BindingID.h" -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum transportAssociation_PR { - transportAssociation_PR_NOTHING, /* No components present */ - transportAssociation_PR_gtp_TEI, - transportAssociation_PR_bindingID, - /* Extensions may appear below */ - -} transportAssociation_PR; - -/* Forward declarations */ -struct IE_Extensions; - -/* TransportInfo */ -typedef struct TransportInfo { - TransportLayerAddress_t transportLayerAddress; - struct transportAssociation { - transportAssociation_PR present; - union TransportInfo__transportAssociation_u { - GTP_TEI_t gtp_TEI; - BindingID_t bindingID; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } transportAssociation; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TransportInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TransportInfo; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _TransportInfo_H_ */ -#include diff --git a/src/asn1c/TransportLayerAddress.c b/src/asn1c/TransportLayerAddress.c deleted file mode 100644 index db4b0da..0000000 --- a/src/asn1c/TransportLayerAddress.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "TransportLayerAddress.h" - -int -TransportLayerAddress_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(st->size > 0) { - /* Size in bits */ - size = 8 * st->size - (st->bits_unused & 0x07); - } else { - size = 0; - } - - if((size >= 1l && size <= 160l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using BIT_STRING, - * so here we adjust the DEF accordingly. - */ -static void -TransportLayerAddress_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_BIT_STRING.free_struct; - td->print_struct = asn_DEF_BIT_STRING.print_struct; - td->check_constraints = asn_DEF_BIT_STRING.check_constraints; - td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; - td->der_encoder = asn_DEF_BIT_STRING.der_encoder; - td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; - td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; - td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; - td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; - td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; - td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_BIT_STRING.per_constraints; - td->elements = asn_DEF_BIT_STRING.elements; - td->elements_count = asn_DEF_BIT_STRING.elements_count; - td->specifics = asn_DEF_BIT_STRING.specifics; -} - -void -TransportLayerAddress_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - TransportLayerAddress_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -TransportLayerAddress_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - TransportLayerAddress_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -TransportLayerAddress_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - TransportLayerAddress_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -TransportLayerAddress_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - TransportLayerAddress_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -TransportLayerAddress_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - TransportLayerAddress_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -TransportLayerAddress_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - TransportLayerAddress_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -TransportLayerAddress_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - TransportLayerAddress_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -TransportLayerAddress_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - TransportLayerAddress_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -TransportLayerAddress_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - TransportLayerAddress_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -TransportLayerAddress_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - TransportLayerAddress_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_TransportLayerAddress_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1l, 160l } /* (SIZE(1..160,...)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_TransportLayerAddress_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_TransportLayerAddress = { - "TransportLayerAddress", - "TransportLayerAddress", - TransportLayerAddress_free, - TransportLayerAddress_print, - TransportLayerAddress_constraint, - TransportLayerAddress_decode_ber, - TransportLayerAddress_encode_der, - TransportLayerAddress_decode_xer, - TransportLayerAddress_encode_xer, - TransportLayerAddress_decode_uper, - TransportLayerAddress_encode_uper, - TransportLayerAddress_decode_aper, - TransportLayerAddress_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_TransportLayerAddress_tags_1, - sizeof(asn_DEF_TransportLayerAddress_tags_1) - /sizeof(asn_DEF_TransportLayerAddress_tags_1[0]), /* 1 */ - asn_DEF_TransportLayerAddress_tags_1, /* Same as above */ - sizeof(asn_DEF_TransportLayerAddress_tags_1) - /sizeof(asn_DEF_TransportLayerAddress_tags_1[0]), /* 1 */ - &asn_PER_type_TransportLayerAddress_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/TransportLayerAddress.h b/src/asn1c/TransportLayerAddress.h deleted file mode 100644 index d320738..0000000 --- a/src/asn1c/TransportLayerAddress.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _TransportLayerAddress_H_ -#define _TransportLayerAddress_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* TransportLayerAddress */ -typedef BIT_STRING_t TransportLayerAddress_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TransportLayerAddress; -asn_struct_free_f TransportLayerAddress_free; -asn_struct_print_f TransportLayerAddress_print; -asn_constr_check_f TransportLayerAddress_constraint; -ber_type_decoder_f TransportLayerAddress_decode_ber; -der_type_encoder_f TransportLayerAddress_encode_der; -xer_type_decoder_f TransportLayerAddress_decode_xer; -xer_type_encoder_f TransportLayerAddress_encode_xer; -per_type_decoder_f TransportLayerAddress_decode_uper; -per_type_encoder_f TransportLayerAddress_encode_uper; -per_type_decoder_f TransportLayerAddress_decode_aper; -per_type_encoder_f TransportLayerAddress_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TransportLayerAddress_H_ */ -#include diff --git a/src/asn1c/TriggeringMessage.c b/src/asn1c/TriggeringMessage.c deleted file mode 100644 index 0f2ab4e..0000000 --- a/src/asn1c/TriggeringMessage.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-CommonDataTypes" - * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" - * `asn1c -gen-PER` - */ - -#include "TriggeringMessage.h" - -int -TriggeringMessage_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -TriggeringMessage_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -TriggeringMessage_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - TriggeringMessage_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -TriggeringMessage_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - TriggeringMessage_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -TriggeringMessage_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - TriggeringMessage_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -TriggeringMessage_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - TriggeringMessage_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -TriggeringMessage_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - TriggeringMessage_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -TriggeringMessage_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - TriggeringMessage_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -TriggeringMessage_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - TriggeringMessage_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -TriggeringMessage_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - TriggeringMessage_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -TriggeringMessage_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - TriggeringMessage_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -TriggeringMessage_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - TriggeringMessage_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_TriggeringMessage_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED, 2, 2, 0l, 2l } /* (0..2) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_TriggeringMessage_value2enum_1[] = { - { 0, 18, "initiating-message" }, - { 1, 18, "successful-outcome" }, - { 2, 20, "unsuccessful-outcome" } -}; -static const unsigned int asn_MAP_TriggeringMessage_enum2value_1[] = { - 0, /* initiating-message(0) */ - 1, /* successful-outcome(1) */ - 2 /* unsuccessful-outcome(2) */ -}; -static const asn_INTEGER_specifics_t asn_SPC_TriggeringMessage_specs_1 = { - asn_MAP_TriggeringMessage_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_TriggeringMessage_enum2value_1, /* N => "tag"; sorted by N */ - 3, /* Number of elements in the maps */ - 0, /* Enumeration is not extensible */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_TriggeringMessage_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_TriggeringMessage = { - "TriggeringMessage", - "TriggeringMessage", - TriggeringMessage_free, - TriggeringMessage_print, - TriggeringMessage_constraint, - TriggeringMessage_decode_ber, - TriggeringMessage_encode_der, - TriggeringMessage_decode_xer, - TriggeringMessage_encode_xer, - TriggeringMessage_decode_uper, - TriggeringMessage_encode_uper, - TriggeringMessage_decode_aper, - TriggeringMessage_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_TriggeringMessage_tags_1, - sizeof(asn_DEF_TriggeringMessage_tags_1) - /sizeof(asn_DEF_TriggeringMessage_tags_1[0]), /* 1 */ - asn_DEF_TriggeringMessage_tags_1, /* Same as above */ - sizeof(asn_DEF_TriggeringMessage_tags_1) - /sizeof(asn_DEF_TriggeringMessage_tags_1[0]), /* 1 */ - &asn_PER_type_TriggeringMessage_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_TriggeringMessage_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/TriggeringMessage.h b/src/asn1c/TriggeringMessage.h deleted file mode 100644 index 3854505..0000000 --- a/src/asn1c/TriggeringMessage.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-CommonDataTypes" - * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" - * `asn1c -gen-PER` - */ - -#ifndef _TriggeringMessage_H_ -#define _TriggeringMessage_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TriggeringMessage { - TriggeringMessage_initiating_message = 0, - TriggeringMessage_successful_outcome = 1, - TriggeringMessage_unsuccessful_outcome = 2 -} e_TriggeringMessage; - -/* TriggeringMessage */ -typedef long TriggeringMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TriggeringMessage; -asn_struct_free_f TriggeringMessage_free; -asn_struct_print_f TriggeringMessage_print; -asn_constr_check_f TriggeringMessage_constraint; -ber_type_decoder_f TriggeringMessage_decode_ber; -der_type_encoder_f TriggeringMessage_encode_der; -xer_type_decoder_f TriggeringMessage_decode_xer; -xer_type_encoder_f TriggeringMessage_encode_xer; -per_type_decoder_f TriggeringMessage_decode_uper; -per_type_encoder_f TriggeringMessage_encode_uper; -per_type_decoder_f TriggeringMessage_decode_aper; -per_type_encoder_f TriggeringMessage_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TriggeringMessage_H_ */ -#include diff --git a/src/asn1c/Tunnel-Information.c b/src/asn1c/Tunnel-Information.c deleted file mode 100644 index dcb0dd7..0000000 --- a/src/asn1c/Tunnel-Information.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "Tunnel-Information.h" - -static asn_TYPE_member_t asn_MBR_Tunnel_Information_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct Tunnel_Information, iP_Address), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IP_Address, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iP-Address" - }, - { ATF_POINTER, 2, offsetof(struct Tunnel_Information, uDP_Port_Number), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_UDP_Port_Number, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "uDP-Port-Number" - }, - { ATF_POINTER, 1, offsetof(struct Tunnel_Information, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_Tunnel_Information_oms_1[] = { 1, 2 }; -static const ber_tlv_tag_t asn_DEF_Tunnel_Information_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_Tunnel_Information_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iP-Address */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uDP-Port-Number */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_Tunnel_Information_specs_1 = { - sizeof(struct Tunnel_Information), - offsetof(struct Tunnel_Information, _asn_ctx), - asn_MAP_Tunnel_Information_tag2el_1, - 3, /* Count of tags in the map */ - asn_MAP_Tunnel_Information_oms_1, /* Optional members */ - 2, 0, /* Root/Additions */ - 2, /* Start extensions */ - 4 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_Tunnel_Information = { - "Tunnel-Information", - "Tunnel-Information", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_Tunnel_Information_tags_1, - sizeof(asn_DEF_Tunnel_Information_tags_1) - /sizeof(asn_DEF_Tunnel_Information_tags_1[0]), /* 1 */ - asn_DEF_Tunnel_Information_tags_1, /* Same as above */ - sizeof(asn_DEF_Tunnel_Information_tags_1) - /sizeof(asn_DEF_Tunnel_Information_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_Tunnel_Information_1, - 3, /* Elements count */ - &asn_SPC_Tunnel_Information_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/Tunnel-Information.h b/src/asn1c/Tunnel-Information.h deleted file mode 100644 index 964b3e9..0000000 --- a/src/asn1c/Tunnel-Information.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _Tunnel_Information_H_ -#define _Tunnel_Information_H_ - - -#include - -/* Including external dependencies */ -#include "IP-Address.h" -#include "UDP-Port-Number.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE_Extensions; - -/* Tunnel-Information */ -typedef struct Tunnel_Information { - IP_Address_t iP_Address; - UDP_Port_Number_t *uDP_Port_Number /* OPTIONAL */; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Tunnel_Information_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Tunnel_Information; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _Tunnel_Information_H_ */ -#include diff --git a/src/asn1c/TypeOfError.c b/src/asn1c/TypeOfError.c deleted file mode 100644 index 97e81f0..0000000 --- a/src/asn1c/TypeOfError.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "TypeOfError.h" - -int -TypeOfError_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -TypeOfError_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -TypeOfError_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - TypeOfError_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -TypeOfError_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - TypeOfError_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -TypeOfError_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - TypeOfError_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -TypeOfError_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - TypeOfError_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -TypeOfError_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - TypeOfError_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -TypeOfError_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - TypeOfError_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -TypeOfError_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - TypeOfError_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -TypeOfError_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - TypeOfError_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -TypeOfError_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - TypeOfError_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -TypeOfError_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - TypeOfError_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_TypeOfError_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_TypeOfError_value2enum_1[] = { - { 0, 14, "not-understood" }, - { 1, 7, "missing" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_TypeOfError_enum2value_1[] = { - 1, /* missing(1) */ - 0 /* not-understood(0) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_TypeOfError_specs_1 = { - asn_MAP_TypeOfError_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_TypeOfError_enum2value_1, /* N => "tag"; sorted by N */ - 2, /* Number of elements in the maps */ - 3, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_TypeOfError_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_TypeOfError = { - "TypeOfError", - "TypeOfError", - TypeOfError_free, - TypeOfError_print, - TypeOfError_constraint, - TypeOfError_decode_ber, - TypeOfError_encode_der, - TypeOfError_decode_xer, - TypeOfError_encode_xer, - TypeOfError_decode_uper, - TypeOfError_encode_uper, - TypeOfError_decode_aper, - TypeOfError_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_TypeOfError_tags_1, - sizeof(asn_DEF_TypeOfError_tags_1) - /sizeof(asn_DEF_TypeOfError_tags_1[0]), /* 1 */ - asn_DEF_TypeOfError_tags_1, /* Same as above */ - sizeof(asn_DEF_TypeOfError_tags_1) - /sizeof(asn_DEF_TypeOfError_tags_1[0]), /* 1 */ - &asn_PER_type_TypeOfError_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_TypeOfError_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/TypeOfError.h b/src/asn1c/TypeOfError.h deleted file mode 100644 index 7e0fcf0..0000000 --- a/src/asn1c/TypeOfError.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _TypeOfError_H_ -#define _TypeOfError_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TypeOfError { - TypeOfError_not_understood = 0, - TypeOfError_missing = 1 - /* - * Enumeration is extensible - */ -} e_TypeOfError; - -/* TypeOfError */ -typedef long TypeOfError_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TypeOfError; -asn_struct_free_f TypeOfError_free; -asn_struct_print_f TypeOfError_print; -asn_constr_check_f TypeOfError_constraint; -ber_type_decoder_f TypeOfError_decode_ber; -der_type_encoder_f TypeOfError_encode_der; -xer_type_decoder_f TypeOfError_decode_xer; -xer_type_encoder_f TypeOfError_encode_xer; -per_type_decoder_f TypeOfError_decode_uper; -per_type_encoder_f TypeOfError_encode_uper; -per_type_decoder_f TypeOfError_decode_aper; -per_type_encoder_f TypeOfError_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TypeOfError_H_ */ -#include diff --git a/src/asn1c/U-RNTI.c b/src/asn1c/U-RNTI.c deleted file mode 100644 index 0e06a13..0000000 --- a/src/asn1c/U-RNTI.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "U-RNTI.h" - -int -U_RNTI_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - if(st->size > 0) { - /* Size in bits */ - size = 8 * st->size - (st->bits_unused & 0x07); - } else { - size = 0; - } - - if((size == 32l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using BIT_STRING, - * so here we adjust the DEF accordingly. - */ -static void -U_RNTI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_BIT_STRING.free_struct; - td->print_struct = asn_DEF_BIT_STRING.print_struct; - td->check_constraints = asn_DEF_BIT_STRING.check_constraints; - td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; - td->der_encoder = asn_DEF_BIT_STRING.der_encoder; - td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; - td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; - td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; - td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; - td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; - td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_BIT_STRING.per_constraints; - td->elements = asn_DEF_BIT_STRING.elements; - td->elements_count = asn_DEF_BIT_STRING.elements_count; - td->specifics = asn_DEF_BIT_STRING.specifics; -} - -void -U_RNTI_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - U_RNTI_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -U_RNTI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - U_RNTI_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -U_RNTI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - U_RNTI_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -U_RNTI_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - U_RNTI_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -U_RNTI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - U_RNTI_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -U_RNTI_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - U_RNTI_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -U_RNTI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - U_RNTI_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -U_RNTI_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - U_RNTI_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -U_RNTI_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - U_RNTI_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -U_RNTI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - U_RNTI_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_U_RNTI_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 32l, 32l } /* (SIZE(32..32)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_U_RNTI_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_U_RNTI = { - "U-RNTI", - "U-RNTI", - U_RNTI_free, - U_RNTI_print, - U_RNTI_constraint, - U_RNTI_decode_ber, - U_RNTI_encode_der, - U_RNTI_decode_xer, - U_RNTI_encode_xer, - U_RNTI_decode_uper, - U_RNTI_encode_uper, - U_RNTI_decode_aper, - U_RNTI_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_U_RNTI_tags_1, - sizeof(asn_DEF_U_RNTI_tags_1) - /sizeof(asn_DEF_U_RNTI_tags_1[0]), /* 1 */ - asn_DEF_U_RNTI_tags_1, /* Same as above */ - sizeof(asn_DEF_U_RNTI_tags_1) - /sizeof(asn_DEF_U_RNTI_tags_1[0]), /* 1 */ - &asn_PER_type_U_RNTI_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/U-RNTI.h b/src/asn1c/U-RNTI.h deleted file mode 100644 index 81ab168..0000000 --- a/src/asn1c/U-RNTI.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _U_RNTI_H_ -#define _U_RNTI_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* U-RNTI */ -typedef BIT_STRING_t U_RNTI_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_U_RNTI; -asn_struct_free_f U_RNTI_free; -asn_struct_print_f U_RNTI_print; -asn_constr_check_f U_RNTI_constraint; -ber_type_decoder_f U_RNTI_decode_ber; -der_type_encoder_f U_RNTI_encode_der; -xer_type_decoder_f U_RNTI_decode_xer; -xer_type_encoder_f U_RNTI_encode_xer; -per_type_decoder_f U_RNTI_decode_uper; -per_type_encoder_f U_RNTI_encode_uper; -per_type_decoder_f U_RNTI_decode_aper; -per_type_encoder_f U_RNTI_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _U_RNTI_H_ */ -#include diff --git a/src/asn1c/U-RNTIQueryRequest.c b/src/asn1c/U-RNTIQueryRequest.c deleted file mode 100644 index 8a64aa5..0000000 --- a/src/asn1c/U-RNTIQueryRequest.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "U-RNTIQueryRequest.h" - -static int -memb_u_RNTIQueryRequest_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_u_RNTIQueryRequest_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_u_RNTIQueryRequest_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_u_RNTIQueryRequest_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_u_RNTIQueryRequest_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_u_RNTIQueryRequest_ies_specs_2 = { - sizeof(struct u_RNTIQueryRequest_ies), - offsetof(struct u_RNTIQueryRequest_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_u_RNTIQueryRequest_ies_2 = { - "u-RNTIQueryRequest-ies", - "u-RNTIQueryRequest-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_u_RNTIQueryRequest_ies_tags_2, - sizeof(asn_DEF_u_RNTIQueryRequest_ies_tags_2) - /sizeof(asn_DEF_u_RNTIQueryRequest_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_u_RNTIQueryRequest_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_u_RNTIQueryRequest_ies_tags_2) - /sizeof(asn_DEF_u_RNTIQueryRequest_ies_tags_2[0]), /* 2 */ - &asn_PER_type_u_RNTIQueryRequest_ies_constr_2, - asn_MBR_u_RNTIQueryRequest_ies_2, - 1, /* Single element */ - &asn_SPC_u_RNTIQueryRequest_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_U_RNTIQueryRequest_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct U_RNTIQueryRequest, u_RNTIQueryRequest_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_u_RNTIQueryRequest_ies_2, - memb_u_RNTIQueryRequest_ies_constraint_1, - &asn_PER_memb_u_RNTIQueryRequest_ies_constr_2, - 0, - "u-RNTIQueryRequest-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_U_RNTIQueryRequest_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_U_RNTIQueryRequest_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* u-RNTIQueryRequest-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_U_RNTIQueryRequest_specs_1 = { - sizeof(struct U_RNTIQueryRequest), - offsetof(struct U_RNTIQueryRequest, _asn_ctx), - asn_MAP_U_RNTIQueryRequest_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_U_RNTIQueryRequest = { - "U-RNTIQueryRequest", - "U-RNTIQueryRequest", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_U_RNTIQueryRequest_tags_1, - sizeof(asn_DEF_U_RNTIQueryRequest_tags_1) - /sizeof(asn_DEF_U_RNTIQueryRequest_tags_1[0]), /* 1 */ - asn_DEF_U_RNTIQueryRequest_tags_1, /* Same as above */ - sizeof(asn_DEF_U_RNTIQueryRequest_tags_1) - /sizeof(asn_DEF_U_RNTIQueryRequest_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_U_RNTIQueryRequest_1, - 1, /* Elements count */ - &asn_SPC_U_RNTIQueryRequest_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/U-RNTIQueryRequest.h b/src/asn1c/U-RNTIQueryRequest.h deleted file mode 100644 index b460dd1..0000000 --- a/src/asn1c/U-RNTIQueryRequest.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _U_RNTIQueryRequest_H_ -#define _U_RNTIQueryRequest_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* U-RNTIQueryRequest */ -typedef struct U_RNTIQueryRequest { - struct u_RNTIQueryRequest_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } u_RNTIQueryRequest_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} U_RNTIQueryRequest_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_U_RNTIQueryRequest; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _U_RNTIQueryRequest_H_ */ -#include diff --git a/src/asn1c/U-RNTIQueryResponse.c b/src/asn1c/U-RNTIQueryResponse.c deleted file mode 100644 index 61222c0..0000000 --- a/src/asn1c/U-RNTIQueryResponse.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "U-RNTIQueryResponse.h" - -static int -memb_u_RNTIQueryResponse_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_u_RNTIQueryResponse_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_u_RNTIQueryResponse_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_u_RNTIQueryResponse_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_u_RNTIQueryResponse_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_u_RNTIQueryResponse_ies_specs_2 = { - sizeof(struct u_RNTIQueryResponse_ies), - offsetof(struct u_RNTIQueryResponse_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_u_RNTIQueryResponse_ies_2 = { - "u-RNTIQueryResponse-ies", - "u-RNTIQueryResponse-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_u_RNTIQueryResponse_ies_tags_2, - sizeof(asn_DEF_u_RNTIQueryResponse_ies_tags_2) - /sizeof(asn_DEF_u_RNTIQueryResponse_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_u_RNTIQueryResponse_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_u_RNTIQueryResponse_ies_tags_2) - /sizeof(asn_DEF_u_RNTIQueryResponse_ies_tags_2[0]), /* 2 */ - &asn_PER_type_u_RNTIQueryResponse_ies_constr_2, - asn_MBR_u_RNTIQueryResponse_ies_2, - 1, /* Single element */ - &asn_SPC_u_RNTIQueryResponse_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_U_RNTIQueryResponse_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct U_RNTIQueryResponse, u_RNTIQueryResponse_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_u_RNTIQueryResponse_ies_2, - memb_u_RNTIQueryResponse_ies_constraint_1, - &asn_PER_memb_u_RNTIQueryResponse_ies_constr_2, - 0, - "u-RNTIQueryResponse-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_U_RNTIQueryResponse_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_U_RNTIQueryResponse_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* u-RNTIQueryResponse-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_U_RNTIQueryResponse_specs_1 = { - sizeof(struct U_RNTIQueryResponse), - offsetof(struct U_RNTIQueryResponse, _asn_ctx), - asn_MAP_U_RNTIQueryResponse_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_U_RNTIQueryResponse = { - "U-RNTIQueryResponse", - "U-RNTIQueryResponse", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_U_RNTIQueryResponse_tags_1, - sizeof(asn_DEF_U_RNTIQueryResponse_tags_1) - /sizeof(asn_DEF_U_RNTIQueryResponse_tags_1[0]), /* 1 */ - asn_DEF_U_RNTIQueryResponse_tags_1, /* Same as above */ - sizeof(asn_DEF_U_RNTIQueryResponse_tags_1) - /sizeof(asn_DEF_U_RNTIQueryResponse_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_U_RNTIQueryResponse_1, - 1, /* Elements count */ - &asn_SPC_U_RNTIQueryResponse_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/U-RNTIQueryResponse.h b/src/asn1c/U-RNTIQueryResponse.h deleted file mode 100644 index 3b27078..0000000 --- a/src/asn1c/U-RNTIQueryResponse.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _U_RNTIQueryResponse_H_ -#define _U_RNTIQueryResponse_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* U-RNTIQueryResponse */ -typedef struct U_RNTIQueryResponse { - struct u_RNTIQueryResponse_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } u_RNTIQueryResponse_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} U_RNTIQueryResponse_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_U_RNTIQueryResponse; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _U_RNTIQueryResponse_H_ */ -#include diff --git a/src/asn1c/UDP-Port-Number.c b/src/asn1c/UDP-Port-Number.c deleted file mode 100644 index 7154553..0000000 --- a/src/asn1c/UDP-Port-Number.c +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "UDP-Port-Number.h" - -int -UDP_Port_Number_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - size = st->size; - - if((size == 2l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using OCTET_STRING, - * so here we adjust the DEF accordingly. - */ -static void -UDP_Port_Number_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_OCTET_STRING.free_struct; - td->print_struct = asn_DEF_OCTET_STRING.print_struct; - td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; - td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; - td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; - td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; - td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; - td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; - td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; - td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; - td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; - td->elements = asn_DEF_OCTET_STRING.elements; - td->elements_count = asn_DEF_OCTET_STRING.elements_count; - td->specifics = asn_DEF_OCTET_STRING.specifics; -} - -void -UDP_Port_Number_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - UDP_Port_Number_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -UDP_Port_Number_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - UDP_Port_Number_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -UDP_Port_Number_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - UDP_Port_Number_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -UDP_Port_Number_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - UDP_Port_Number_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -UDP_Port_Number_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - UDP_Port_Number_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -UDP_Port_Number_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - UDP_Port_Number_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -UDP_Port_Number_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - UDP_Port_Number_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -UDP_Port_Number_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - UDP_Port_Number_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -UDP_Port_Number_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - UDP_Port_Number_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -UDP_Port_Number_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - UDP_Port_Number_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_UDP_Port_Number_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 0, 0, 2l, 2l } /* (SIZE(2..2)) */, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_UDP_Port_Number_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_UDP_Port_Number = { - "UDP-Port-Number", - "UDP-Port-Number", - UDP_Port_Number_free, - UDP_Port_Number_print, - UDP_Port_Number_constraint, - UDP_Port_Number_decode_ber, - UDP_Port_Number_encode_der, - UDP_Port_Number_decode_xer, - UDP_Port_Number_encode_xer, - UDP_Port_Number_decode_uper, - UDP_Port_Number_encode_uper, - UDP_Port_Number_decode_aper, - UDP_Port_Number_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_UDP_Port_Number_tags_1, - sizeof(asn_DEF_UDP_Port_Number_tags_1) - /sizeof(asn_DEF_UDP_Port_Number_tags_1[0]), /* 1 */ - asn_DEF_UDP_Port_Number_tags_1, /* Same as above */ - sizeof(asn_DEF_UDP_Port_Number_tags_1) - /sizeof(asn_DEF_UDP_Port_Number_tags_1[0]), /* 1 */ - &asn_PER_type_UDP_Port_Number_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/UDP-Port-Number.h b/src/asn1c/UDP-Port-Number.h deleted file mode 100644 index 0f350cb..0000000 --- a/src/asn1c/UDP-Port-Number.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _UDP_Port_Number_H_ -#define _UDP_Port_Number_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* UDP-Port-Number */ -typedef OCTET_STRING_t UDP_Port_Number_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_UDP_Port_Number; -asn_struct_free_f UDP_Port_Number_free; -asn_struct_print_f UDP_Port_Number_print; -asn_constr_check_f UDP_Port_Number_constraint; -ber_type_decoder_f UDP_Port_Number_decode_ber; -der_type_encoder_f UDP_Port_Number_encode_der; -xer_type_decoder_f UDP_Port_Number_decode_xer; -xer_type_encoder_f UDP_Port_Number_encode_xer; -per_type_decoder_f UDP_Port_Number_decode_uper; -per_type_encoder_f UDP_Port_Number_encode_uper; -per_type_decoder_f UDP_Port_Number_decode_aper; -per_type_encoder_f UDP_Port_Number_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _UDP_Port_Number_H_ */ -#include diff --git a/src/asn1c/UE-Capabilities.c b/src/asn1c/UE-Capabilities.c deleted file mode 100644 index 9e69fb2..0000000 --- a/src/asn1c/UE-Capabilities.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "UE-Capabilities.h" - -static asn_TYPE_member_t asn_MBR_UE_Capabilities_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct UE_Capabilities, access_stratum_release_indicator), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_Access_stratum_release_indicator, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "access-stratum-release-indicator" - }, - { ATF_NOFLAGS, 0, offsetof(struct UE_Capabilities, csg_capability), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_CSG_Capability, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "csg-capability" - }, - { ATF_POINTER, 1, offsetof(struct UE_Capabilities, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_UE_Capabilities_oms_1[] = { 2 }; -static const ber_tlv_tag_t asn_DEF_UE_Capabilities_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_UE_Capabilities_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* access-stratum-release-indicator */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* csg-capability */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_UE_Capabilities_specs_1 = { - sizeof(struct UE_Capabilities), - offsetof(struct UE_Capabilities, _asn_ctx), - asn_MAP_UE_Capabilities_tag2el_1, - 3, /* Count of tags in the map */ - asn_MAP_UE_Capabilities_oms_1, /* Optional members */ - 1, 0, /* Root/Additions */ - 2, /* Start extensions */ - 4 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_UE_Capabilities = { - "UE-Capabilities", - "UE-Capabilities", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_UE_Capabilities_tags_1, - sizeof(asn_DEF_UE_Capabilities_tags_1) - /sizeof(asn_DEF_UE_Capabilities_tags_1[0]), /* 1 */ - asn_DEF_UE_Capabilities_tags_1, /* Same as above */ - sizeof(asn_DEF_UE_Capabilities_tags_1) - /sizeof(asn_DEF_UE_Capabilities_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_UE_Capabilities_1, - 3, /* Elements count */ - &asn_SPC_UE_Capabilities_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/UE-Capabilities.h b/src/asn1c/UE-Capabilities.h deleted file mode 100644 index 221e434..0000000 --- a/src/asn1c/UE-Capabilities.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _UE_Capabilities_H_ -#define _UE_Capabilities_H_ - - -#include - -/* Including external dependencies */ -#include "Access-stratum-release-indicator.h" -#include "CSG-Capability.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE_Extensions; - -/* UE-Capabilities */ -typedef struct UE_Capabilities { - Access_stratum_release_indicator_t access_stratum_release_indicator; - CSG_Capability_t csg_capability; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} UE_Capabilities_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_UE_Capabilities; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _UE_Capabilities_H_ */ -#include diff --git a/src/asn1c/UE-Identity.c b/src/asn1c/UE-Identity.c deleted file mode 100644 index b6bd6f6..0000000 --- a/src/asn1c/UE-Identity.c +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "UE-Identity.h" - -static asn_per_constraints_t asn_PER_type_UE_Identity_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 7l } /* (0..7,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_UE_Identity_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct UE_Identity, choice.iMSI), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IMSI, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iMSI" - }, - { ATF_NOFLAGS, 0, offsetof(struct UE_Identity, choice.tMSILAI), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_TMSILAI, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "tMSILAI" - }, - { ATF_NOFLAGS, 0, offsetof(struct UE_Identity, choice.pTMSIRAI), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_PTMSIRAI, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "pTMSIRAI" - }, - { ATF_NOFLAGS, 0, offsetof(struct UE_Identity, choice.iMEI), - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IMEI, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iMEI" - }, - { ATF_NOFLAGS, 0, offsetof(struct UE_Identity, choice.eSN), - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_ESN, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "eSN" - }, - { ATF_NOFLAGS, 0, offsetof(struct UE_Identity, choice.iMSIDS41), - (ASN_TAG_CLASS_CONTEXT | (5 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IMSIDS41, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iMSIDS41" - }, - { ATF_NOFLAGS, 0, offsetof(struct UE_Identity, choice.iMSIESN), - (ASN_TAG_CLASS_CONTEXT | (6 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IMSIESN, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iMSIESN" - }, - { ATF_NOFLAGS, 0, offsetof(struct UE_Identity, choice.tMSIDS41), - (ASN_TAG_CLASS_CONTEXT | (7 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_TMSIDS41, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "tMSIDS41" - }, -}; -static const asn_TYPE_tag2member_t asn_MAP_UE_Identity_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iMSI */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tMSILAI */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pTMSIRAI */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* iMEI */ - { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* eSN */ - { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* iMSIDS41 */ - { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* iMSIESN */ - { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* tMSIDS41 */ -}; -static asn_CHOICE_specifics_t asn_SPC_UE_Identity_specs_1 = { - sizeof(struct UE_Identity), - offsetof(struct UE_Identity, _asn_ctx), - offsetof(struct UE_Identity, present), - sizeof(((struct UE_Identity *)0)->present), - asn_MAP_UE_Identity_tag2el_1, - 8, /* Count of tags in the map */ - 0, - 8 /* Extensions start */ -}; -asn_TYPE_descriptor_t asn_DEF_UE_Identity = { - "UE-Identity", - "UE-Identity", - CHOICE_free, - CHOICE_print, - CHOICE_constraint, - CHOICE_decode_ber, - CHOICE_encode_der, - CHOICE_decode_xer, - CHOICE_encode_xer, - CHOICE_decode_uper, - CHOICE_encode_uper, - CHOICE_decode_aper, - CHOICE_encode_aper, - CHOICE_outmost_tag, - 0, /* No effective tags (pointer) */ - 0, /* No effective tags (count) */ - 0, /* No tags (pointer) */ - 0, /* No tags (count) */ - &asn_PER_type_UE_Identity_constr_1, - asn_MBR_UE_Identity_1, - 8, /* Elements count */ - &asn_SPC_UE_Identity_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/UE-Identity.h b/src/asn1c/UE-Identity.h deleted file mode 100644 index 8c6d0d1..0000000 --- a/src/asn1c/UE-Identity.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _UE_Identity_H_ -#define _UE_Identity_H_ - - -#include - -/* Including external dependencies */ -#include "IMSI.h" -#include "TMSILAI.h" -#include "PTMSIRAI.h" -#include "IMEI.h" -#include "ESN.h" -#include "IMSIDS41.h" -#include "IMSIESN.h" -#include "TMSIDS41.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum UE_Identity_PR { - UE_Identity_PR_NOTHING, /* No components present */ - UE_Identity_PR_iMSI, - UE_Identity_PR_tMSILAI, - UE_Identity_PR_pTMSIRAI, - UE_Identity_PR_iMEI, - UE_Identity_PR_eSN, - UE_Identity_PR_iMSIDS41, - UE_Identity_PR_iMSIESN, - UE_Identity_PR_tMSIDS41, - /* Extensions may appear below */ - -} UE_Identity_PR; - -/* UE-Identity */ -typedef struct UE_Identity { - UE_Identity_PR present; - union UE_Identity_u { - IMSI_t iMSI; - TMSILAI_t tMSILAI; - PTMSIRAI_t pTMSIRAI; - IMEI_t iMEI; - ESN_t eSN; - IMSIDS41_t iMSIDS41; - IMSIESN_t iMSIESN; - TMSIDS41_t tMSIDS41; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} UE_Identity_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_UE_Identity; - -#ifdef __cplusplus -} -#endif - -#endif /* _UE_Identity_H_ */ -#include diff --git a/src/asn1c/UEDe-Register.c b/src/asn1c/UEDe-Register.c deleted file mode 100644 index 967aad8..0000000 --- a/src/asn1c/UEDe-Register.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "UEDe-Register.h" - -static int -memb_ueDe_Register_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_ueDe_Register_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_ueDe_Register_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_ueDe_Register_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_ueDe_Register_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_ueDe_Register_ies_specs_2 = { - sizeof(struct ueDe_Register_ies), - offsetof(struct ueDe_Register_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_ueDe_Register_ies_2 = { - "ueDe-Register-ies", - "ueDe-Register-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_ueDe_Register_ies_tags_2, - sizeof(asn_DEF_ueDe_Register_ies_tags_2) - /sizeof(asn_DEF_ueDe_Register_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_ueDe_Register_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_ueDe_Register_ies_tags_2) - /sizeof(asn_DEF_ueDe_Register_ies_tags_2[0]), /* 2 */ - &asn_PER_type_ueDe_Register_ies_constr_2, - asn_MBR_ueDe_Register_ies_2, - 1, /* Single element */ - &asn_SPC_ueDe_Register_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_UEDe_Register_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct UEDe_Register, ueDe_Register_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_ueDe_Register_ies_2, - memb_ueDe_Register_ies_constraint_1, - &asn_PER_memb_ueDe_Register_ies_constr_2, - 0, - "ueDe-Register-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_UEDe_Register_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_UEDe_Register_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueDe-Register-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_UEDe_Register_specs_1 = { - sizeof(struct UEDe_Register), - offsetof(struct UEDe_Register, _asn_ctx), - asn_MAP_UEDe_Register_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_UEDe_Register = { - "UEDe-Register", - "UEDe-Register", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_UEDe_Register_tags_1, - sizeof(asn_DEF_UEDe_Register_tags_1) - /sizeof(asn_DEF_UEDe_Register_tags_1[0]), /* 1 */ - asn_DEF_UEDe_Register_tags_1, /* Same as above */ - sizeof(asn_DEF_UEDe_Register_tags_1) - /sizeof(asn_DEF_UEDe_Register_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_UEDe_Register_1, - 1, /* Elements count */ - &asn_SPC_UEDe_Register_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/UEDe-Register.h b/src/asn1c/UEDe-Register.h deleted file mode 100644 index 85a4e75..0000000 --- a/src/asn1c/UEDe-Register.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _UEDe_Register_H_ -#define _UEDe_Register_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* UEDe-Register */ -typedef struct UEDe_Register { - struct ueDe_Register_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } ueDe_Register_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} UEDe_Register_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_UEDe_Register; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _UEDe_Register_H_ */ -#include diff --git a/src/asn1c/UERegisterAccept.c b/src/asn1c/UERegisterAccept.c deleted file mode 100644 index a9c3589..0000000 --- a/src/asn1c/UERegisterAccept.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "UERegisterAccept.h" - -static int -memb_ueRegisterAccept_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_ueRegisterAccept_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_ueRegisterAccept_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_ueRegisterAccept_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_ueRegisterAccept_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_ueRegisterAccept_ies_specs_2 = { - sizeof(struct ueRegisterAccept_ies), - offsetof(struct ueRegisterAccept_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_ueRegisterAccept_ies_2 = { - "ueRegisterAccept-ies", - "ueRegisterAccept-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_ueRegisterAccept_ies_tags_2, - sizeof(asn_DEF_ueRegisterAccept_ies_tags_2) - /sizeof(asn_DEF_ueRegisterAccept_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_ueRegisterAccept_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_ueRegisterAccept_ies_tags_2) - /sizeof(asn_DEF_ueRegisterAccept_ies_tags_2[0]), /* 2 */ - &asn_PER_type_ueRegisterAccept_ies_constr_2, - asn_MBR_ueRegisterAccept_ies_2, - 1, /* Single element */ - &asn_SPC_ueRegisterAccept_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_UERegisterAccept_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct UERegisterAccept, ueRegisterAccept_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_ueRegisterAccept_ies_2, - memb_ueRegisterAccept_ies_constraint_1, - &asn_PER_memb_ueRegisterAccept_ies_constr_2, - 0, - "ueRegisterAccept-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_UERegisterAccept_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_UERegisterAccept_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueRegisterAccept-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_UERegisterAccept_specs_1 = { - sizeof(struct UERegisterAccept), - offsetof(struct UERegisterAccept, _asn_ctx), - asn_MAP_UERegisterAccept_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_UERegisterAccept = { - "UERegisterAccept", - "UERegisterAccept", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_UERegisterAccept_tags_1, - sizeof(asn_DEF_UERegisterAccept_tags_1) - /sizeof(asn_DEF_UERegisterAccept_tags_1[0]), /* 1 */ - asn_DEF_UERegisterAccept_tags_1, /* Same as above */ - sizeof(asn_DEF_UERegisterAccept_tags_1) - /sizeof(asn_DEF_UERegisterAccept_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_UERegisterAccept_1, - 1, /* Elements count */ - &asn_SPC_UERegisterAccept_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/UERegisterAccept.h b/src/asn1c/UERegisterAccept.h deleted file mode 100644 index 8b9bdae..0000000 --- a/src/asn1c/UERegisterAccept.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _UERegisterAccept_H_ -#define _UERegisterAccept_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* UERegisterAccept */ -typedef struct UERegisterAccept { - struct ueRegisterAccept_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } ueRegisterAccept_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} UERegisterAccept_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_UERegisterAccept; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _UERegisterAccept_H_ */ -#include diff --git a/src/asn1c/UERegisterReject.c b/src/asn1c/UERegisterReject.c deleted file mode 100644 index 49a439e..0000000 --- a/src/asn1c/UERegisterReject.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "UERegisterReject.h" - -static int -memb_ueRegisterReject_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_ueRegisterReject_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_ueRegisterReject_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_ueRegisterReject_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_ueRegisterReject_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_ueRegisterReject_ies_specs_2 = { - sizeof(struct ueRegisterReject_ies), - offsetof(struct ueRegisterReject_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_ueRegisterReject_ies_2 = { - "ueRegisterReject-ies", - "ueRegisterReject-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_ueRegisterReject_ies_tags_2, - sizeof(asn_DEF_ueRegisterReject_ies_tags_2) - /sizeof(asn_DEF_ueRegisterReject_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_ueRegisterReject_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_ueRegisterReject_ies_tags_2) - /sizeof(asn_DEF_ueRegisterReject_ies_tags_2[0]), /* 2 */ - &asn_PER_type_ueRegisterReject_ies_constr_2, - asn_MBR_ueRegisterReject_ies_2, - 1, /* Single element */ - &asn_SPC_ueRegisterReject_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_UERegisterReject_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct UERegisterReject, ueRegisterReject_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_ueRegisterReject_ies_2, - memb_ueRegisterReject_ies_constraint_1, - &asn_PER_memb_ueRegisterReject_ies_constr_2, - 0, - "ueRegisterReject-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_UERegisterReject_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_UERegisterReject_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueRegisterReject-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_UERegisterReject_specs_1 = { - sizeof(struct UERegisterReject), - offsetof(struct UERegisterReject, _asn_ctx), - asn_MAP_UERegisterReject_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_UERegisterReject = { - "UERegisterReject", - "UERegisterReject", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_UERegisterReject_tags_1, - sizeof(asn_DEF_UERegisterReject_tags_1) - /sizeof(asn_DEF_UERegisterReject_tags_1[0]), /* 1 */ - asn_DEF_UERegisterReject_tags_1, /* Same as above */ - sizeof(asn_DEF_UERegisterReject_tags_1) - /sizeof(asn_DEF_UERegisterReject_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_UERegisterReject_1, - 1, /* Elements count */ - &asn_SPC_UERegisterReject_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/UERegisterReject.h b/src/asn1c/UERegisterReject.h deleted file mode 100644 index 4130147..0000000 --- a/src/asn1c/UERegisterReject.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _UERegisterReject_H_ -#define _UERegisterReject_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* UERegisterReject */ -typedef struct UERegisterReject { - struct ueRegisterReject_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } ueRegisterReject_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} UERegisterReject_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_UERegisterReject; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _UERegisterReject_H_ */ -#include diff --git a/src/asn1c/UERegisterRequest.c b/src/asn1c/UERegisterRequest.c deleted file mode 100644 index 052ac69..0000000 --- a/src/asn1c/UERegisterRequest.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "UERegisterRequest.h" - -static int -memb_ueRegisterRequest_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - size_t size; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - /* Determine the number of elements */ - size = _A_CSEQUENCE_FROM_VOID(sptr)->count; - - if((size <= 65535l)) { - /* Perform validation of the inner elements */ - return td->check_constraints(td, sptr, ctfailcb, app_key); - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -static asn_per_constraints_t asn_PER_type_ueRegisterRequest_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_per_constraints_t asn_PER_memb_ueRegisterRequest_ies_constr_2 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_ueRegisterRequest_ies_2[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), - 0, - &asn_DEF_IE, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_ueRegisterRequest_ies_tags_2[] = { - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_ueRegisterRequest_ies_specs_2 = { - sizeof(struct ueRegisterRequest_ies), - offsetof(struct ueRegisterRequest_ies, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -static /* Use -fall-defs-global to expose */ -asn_TYPE_descriptor_t asn_DEF_ueRegisterRequest_ies_2 = { - "ueRegisterRequest-ies", - "ueRegisterRequest-ies", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_ueRegisterRequest_ies_tags_2, - sizeof(asn_DEF_ueRegisterRequest_ies_tags_2) - /sizeof(asn_DEF_ueRegisterRequest_ies_tags_2[0]) - 1, /* 1 */ - asn_DEF_ueRegisterRequest_ies_tags_2, /* Same as above */ - sizeof(asn_DEF_ueRegisterRequest_ies_tags_2) - /sizeof(asn_DEF_ueRegisterRequest_ies_tags_2[0]), /* 2 */ - &asn_PER_type_ueRegisterRequest_ies_constr_2, - asn_MBR_ueRegisterRequest_ies_2, - 1, /* Single element */ - &asn_SPC_ueRegisterRequest_ies_specs_2 /* Additional specs */ -}; - -static asn_TYPE_member_t asn_MBR_UERegisterRequest_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct UERegisterRequest, ueRegisterRequest_ies), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - 0, - &asn_DEF_ueRegisterRequest_ies_2, - memb_ueRegisterRequest_ies_constraint_1, - &asn_PER_memb_ueRegisterRequest_ies_constr_2, - 0, - "ueRegisterRequest-ies" - }, -}; -static const ber_tlv_tag_t asn_DEF_UERegisterRequest_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_UERegisterRequest_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueRegisterRequest-ies */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_UERegisterRequest_specs_1 = { - sizeof(struct UERegisterRequest), - offsetof(struct UERegisterRequest, _asn_ctx), - asn_MAP_UERegisterRequest_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 0, /* Start extensions */ - 2 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_UERegisterRequest = { - "UERegisterRequest", - "UERegisterRequest", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_UERegisterRequest_tags_1, - sizeof(asn_DEF_UERegisterRequest_tags_1) - /sizeof(asn_DEF_UERegisterRequest_tags_1[0]), /* 1 */ - asn_DEF_UERegisterRequest_tags_1, /* Same as above */ - sizeof(asn_DEF_UERegisterRequest_tags_1) - /sizeof(asn_DEF_UERegisterRequest_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_UERegisterRequest_1, - 1, /* Elements count */ - &asn_SPC_UERegisterRequest_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/UERegisterRequest.h b/src/asn1c/UERegisterRequest.h deleted file mode 100644 index c637a1f..0000000 --- a/src/asn1c/UERegisterRequest.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _UERegisterRequest_H_ -#define _UERegisterRequest_H_ - - -#include - -/* Including external dependencies */ -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE; - -/* UERegisterRequest */ -typedef struct UERegisterRequest { - struct ueRegisterRequest_ies { - A_SEQUENCE_OF(struct IE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } ueRegisterRequest_ies; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} UERegisterRequest_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_UERegisterRequest; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE.h" - -#endif /* _UERegisterRequest_H_ */ -#include diff --git a/src/asn1c/URAIdentity.c b/src/asn1c/URAIdentity.c deleted file mode 100644 index 63dfeb5..0000000 --- a/src/asn1c/URAIdentity.c +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "URAIdentity.h" - -int -URAIdentity_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - long value; - - if(!sptr) { - _ASN_CTFAIL(app_key, td, sptr, - "%s: value not given (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } - - value = *(const long *)sptr; - - if((value >= 0l && value <= 65535l)) { - /* Constraint check succeeded */ - return 0; - } else { - _ASN_CTFAIL(app_key, td, sptr, - "%s: constraint failed (%s:%d)", - td->name, __FILE__, __LINE__); - return -1; - } -} - -/* - * This type is implemented using NativeInteger, - * so here we adjust the DEF accordingly. - */ -static void -URAIdentity_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeInteger.free_struct; - td->print_struct = asn_DEF_NativeInteger.print_struct; - td->check_constraints = asn_DEF_NativeInteger.check_constraints; - td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; - td->der_encoder = asn_DEF_NativeInteger.der_encoder; - td->xer_decoder = asn_DEF_NativeInteger.xer_decoder; - td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; - td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; - td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; - td->aper_decoder = asn_DEF_NativeInteger.aper_decoder; - td->aper_encoder = asn_DEF_NativeInteger.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeInteger.per_constraints; - td->elements = asn_DEF_NativeInteger.elements; - td->elements_count = asn_DEF_NativeInteger.elements_count; - td->specifics = asn_DEF_NativeInteger.specifics; -} - -void -URAIdentity_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - URAIdentity_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -URAIdentity_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - URAIdentity_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -URAIdentity_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - URAIdentity_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -URAIdentity_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - URAIdentity_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -URAIdentity_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - URAIdentity_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -URAIdentity_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - URAIdentity_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -URAIdentity_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - URAIdentity_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -URAIdentity_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - URAIdentity_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -URAIdentity_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - URAIdentity_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -URAIdentity_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - URAIdentity_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_URAIdentity_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const ber_tlv_tag_t asn_DEF_URAIdentity_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_URAIdentity = { - "URAIdentity", - "URAIdentity", - URAIdentity_free, - URAIdentity_print, - URAIdentity_constraint, - URAIdentity_decode_ber, - URAIdentity_encode_der, - URAIdentity_decode_xer, - URAIdentity_encode_xer, - URAIdentity_decode_uper, - URAIdentity_encode_uper, - URAIdentity_decode_aper, - URAIdentity_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_URAIdentity_tags_1, - sizeof(asn_DEF_URAIdentity_tags_1) - /sizeof(asn_DEF_URAIdentity_tags_1[0]), /* 1 */ - asn_DEF_URAIdentity_tags_1, /* Same as above */ - sizeof(asn_DEF_URAIdentity_tags_1) - /sizeof(asn_DEF_URAIdentity_tags_1[0]), /* 1 */ - &asn_PER_type_URAIdentity_constr_1, - 0, 0, /* No members */ - 0 /* No specifics */ -}; - diff --git a/src/asn1c/URAIdentity.h b/src/asn1c/URAIdentity.h deleted file mode 100644 index ec2c4bc..0000000 --- a/src/asn1c/URAIdentity.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _URAIdentity_H_ -#define _URAIdentity_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* URAIdentity */ -typedef long URAIdentity_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_URAIdentity; -asn_struct_free_f URAIdentity_free; -asn_struct_print_f URAIdentity_print; -asn_constr_check_f URAIdentity_constraint; -ber_type_decoder_f URAIdentity_decode_ber; -der_type_encoder_f URAIdentity_encode_der; -xer_type_decoder_f URAIdentity_decode_xer; -xer_type_encoder_f URAIdentity_encode_xer; -per_type_decoder_f URAIdentity_decode_uper; -per_type_encoder_f URAIdentity_encode_uper; -per_type_decoder_f URAIdentity_decode_aper; -per_type_encoder_f URAIdentity_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _URAIdentity_H_ */ -#include diff --git a/src/asn1c/URAIdentityList.c b/src/asn1c/URAIdentityList.c deleted file mode 100644 index e539ee2..0000000 --- a/src/asn1c/URAIdentityList.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "URAIdentityList.h" - -static asn_per_constraints_t asn_PER_type_URAIdentityList_constr_1 GCC_NOTUSED = { - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - { APC_CONSTRAINED, 4, 4, 0l, 8l } /* (SIZE(0..8)) */, - 0, 0 /* No PER value map */ -}; -static asn_TYPE_member_t asn_MBR_URAIdentityList_1[] = { - { ATF_POINTER, 0, 0, - (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), - 0, - &asn_DEF_URAIdentity, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "" - }, -}; -static const ber_tlv_tag_t asn_DEF_URAIdentityList_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static asn_SET_OF_specifics_t asn_SPC_URAIdentityList_specs_1 = { - sizeof(struct URAIdentityList), - offsetof(struct URAIdentityList, _asn_ctx), - 0, /* XER encoding is XMLDelimitedItemList */ -}; -asn_TYPE_descriptor_t asn_DEF_URAIdentityList = { - "URAIdentityList", - "URAIdentityList", - SEQUENCE_OF_free, - SEQUENCE_OF_print, - SEQUENCE_OF_constraint, - SEQUENCE_OF_decode_ber, - SEQUENCE_OF_encode_der, - SEQUENCE_OF_decode_xer, - SEQUENCE_OF_encode_xer, - SEQUENCE_OF_decode_uper, - SEQUENCE_OF_encode_uper, - SEQUENCE_OF_decode_aper, - SEQUENCE_OF_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_URAIdentityList_tags_1, - sizeof(asn_DEF_URAIdentityList_tags_1) - /sizeof(asn_DEF_URAIdentityList_tags_1[0]), /* 1 */ - asn_DEF_URAIdentityList_tags_1, /* Same as above */ - sizeof(asn_DEF_URAIdentityList_tags_1) - /sizeof(asn_DEF_URAIdentityList_tags_1[0]), /* 1 */ - &asn_PER_type_URAIdentityList_constr_1, - asn_MBR_URAIdentityList_1, - 1, /* Single element */ - &asn_SPC_URAIdentityList_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/URAIdentityList.h b/src/asn1c/URAIdentityList.h deleted file mode 100644 index 25e436f..0000000 --- a/src/asn1c/URAIdentityList.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _URAIdentityList_H_ -#define _URAIdentityList_H_ - - -#include - -/* Including external dependencies */ -#include "URAIdentity.h" -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* URAIdentityList */ -typedef struct URAIdentityList { - A_SEQUENCE_OF(URAIdentity_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} URAIdentityList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_URAIdentityList; - -#ifdef __cplusplus -} -#endif - -#endif /* _URAIdentityList_H_ */ -#include diff --git a/src/asn1c/UTRANCellID.c b/src/asn1c/UTRANCellID.c deleted file mode 100644 index 928c0d3..0000000 --- a/src/asn1c/UTRANCellID.c +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "UTRANCellID.h" - -static asn_TYPE_member_t asn_MBR_UTRANCellID_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct UTRANCellID, lAC), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_LAC, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "lAC" - }, - { ATF_NOFLAGS, 0, offsetof(struct UTRANCellID, rAC), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_RAC, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "rAC" - }, - { ATF_NOFLAGS, 0, offsetof(struct UTRANCellID, pLMNidentity), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_PLMNidentity, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "pLMNidentity" - }, - { ATF_NOFLAGS, 0, offsetof(struct UTRANCellID, uTRANcellID), - (ASN_TAG_CLASS_CONTEXT | (3 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_CellIdentity, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "uTRANcellID" - }, - { ATF_POINTER, 1, offsetof(struct UTRANCellID, iE_Extensions), - (ASN_TAG_CLASS_CONTEXT | (4 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_IE_Extensions, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "iE-Extensions" - }, -}; -static const int asn_MAP_UTRANCellID_oms_1[] = { 4 }; -static const ber_tlv_tag_t asn_DEF_UTRANCellID_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_UTRANCellID_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lAC */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rAC */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pLMNidentity */ - { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* uTRANcellID */ - { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_UTRANCellID_specs_1 = { - sizeof(struct UTRANCellID), - offsetof(struct UTRANCellID, _asn_ctx), - asn_MAP_UTRANCellID_tag2el_1, - 5, /* Count of tags in the map */ - asn_MAP_UTRANCellID_oms_1, /* Optional members */ - 1, 0, /* Root/Additions */ - -1, /* Start extensions */ - -1 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_UTRANCellID = { - "UTRANCellID", - "UTRANCellID", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_UTRANCellID_tags_1, - sizeof(asn_DEF_UTRANCellID_tags_1) - /sizeof(asn_DEF_UTRANCellID_tags_1[0]), /* 1 */ - asn_DEF_UTRANCellID_tags_1, /* Same as above */ - sizeof(asn_DEF_UTRANCellID_tags_1) - /sizeof(asn_DEF_UTRANCellID_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_UTRANCellID_1, - 5, /* Elements count */ - &asn_SPC_UTRANCellID_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/UTRANCellID.h b/src/asn1c/UTRANCellID.h deleted file mode 100644 index bed91f5..0000000 --- a/src/asn1c/UTRANCellID.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _UTRANCellID_H_ -#define _UTRANCellID_H_ - - -#include - -/* Including external dependencies */ -#include "LAC.h" -#include "RAC.h" -#include "PLMNidentity.h" -#include "CellIdentity.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IE_Extensions; - -/* UTRANCellID */ -typedef struct UTRANCellID { - LAC_t lAC; - RAC_t rAC; - PLMNidentity_t pLMNidentity; - CellIdentity_t uTRANcellID; - struct IE_Extensions *iE_Extensions /* OPTIONAL */; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} UTRANCellID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_UTRANCellID; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IE-Extensions.h" - -#endif /* _UTRANCellID_H_ */ -#include diff --git a/src/asn1c/UnknownU-RNTIIndication.c b/src/asn1c/UnknownU-RNTIIndication.c deleted file mode 100644 index c5b9f77..0000000 --- a/src/asn1c/UnknownU-RNTIIndication.c +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "UnknownU-RNTIIndication.h" - -int -UnknownU_RNTIIndication_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -UnknownU_RNTIIndication_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -UnknownU_RNTIIndication_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -UnknownU_RNTIIndication_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -UnknownU_RNTIIndication_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -UnknownU_RNTIIndication_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -UnknownU_RNTIIndication_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -UnknownU_RNTIIndication_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -UnknownU_RNTIIndication_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -UnknownU_RNTIIndication_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -UnknownU_RNTIIndication_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_UnknownU_RNTIIndication_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_UnknownU_RNTIIndication_value2enum_1[] = { - { 0, 7, "unknown" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_UnknownU_RNTIIndication_enum2value_1[] = { - 0 /* unknown(0) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_UnknownU_RNTIIndication_specs_1 = { - asn_MAP_UnknownU_RNTIIndication_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_UnknownU_RNTIIndication_enum2value_1, /* N => "tag"; sorted by N */ - 1, /* Number of elements in the maps */ - 2, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_UnknownU_RNTIIndication_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_UnknownU_RNTIIndication = { - "UnknownU-RNTIIndication", - "UnknownU-RNTIIndication", - UnknownU_RNTIIndication_free, - UnknownU_RNTIIndication_print, - UnknownU_RNTIIndication_constraint, - UnknownU_RNTIIndication_decode_ber, - UnknownU_RNTIIndication_encode_der, - UnknownU_RNTIIndication_decode_xer, - UnknownU_RNTIIndication_encode_xer, - UnknownU_RNTIIndication_decode_uper, - UnknownU_RNTIIndication_encode_uper, - UnknownU_RNTIIndication_decode_aper, - UnknownU_RNTIIndication_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_UnknownU_RNTIIndication_tags_1, - sizeof(asn_DEF_UnknownU_RNTIIndication_tags_1) - /sizeof(asn_DEF_UnknownU_RNTIIndication_tags_1[0]), /* 1 */ - asn_DEF_UnknownU_RNTIIndication_tags_1, /* Same as above */ - sizeof(asn_DEF_UnknownU_RNTIIndication_tags_1) - /sizeof(asn_DEF_UnknownU_RNTIIndication_tags_1[0]), /* 1 */ - &asn_PER_type_UnknownU_RNTIIndication_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_UnknownU_RNTIIndication_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/UnknownU-RNTIIndication.h b/src/asn1c/UnknownU-RNTIIndication.h deleted file mode 100644 index d0f2a9a..0000000 --- a/src/asn1c/UnknownU-RNTIIndication.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _UnknownU_RNTIIndication_H_ -#define _UnknownU_RNTIIndication_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum UnknownU_RNTIIndication { - UnknownU_RNTIIndication_unknown = 0 - /* - * Enumeration is extensible - */ -} e_UnknownU_RNTIIndication; - -/* UnknownU-RNTIIndication */ -typedef long UnknownU_RNTIIndication_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_UnknownU_RNTIIndication; -asn_struct_free_f UnknownU_RNTIIndication_free; -asn_struct_print_f UnknownU_RNTIIndication_print; -asn_constr_check_f UnknownU_RNTIIndication_constraint; -ber_type_decoder_f UnknownU_RNTIIndication_decode_ber; -der_type_encoder_f UnknownU_RNTIIndication_encode_der; -xer_type_decoder_f UnknownU_RNTIIndication_decode_xer; -xer_type_encoder_f UnknownU_RNTIIndication_encode_xer; -per_type_decoder_f UnknownU_RNTIIndication_decode_uper; -per_type_encoder_f UnknownU_RNTIIndication_encode_uper; -per_type_decoder_f UnknownU_RNTIIndication_decode_aper; -per_type_encoder_f UnknownU_RNTIIndication_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _UnknownU_RNTIIndication_H_ */ -#include diff --git a/src/asn1c/UnsuccessfulOutcome.c b/src/asn1c/UnsuccessfulOutcome.c deleted file mode 100644 index bb5947c..0000000 --- a/src/asn1c/UnsuccessfulOutcome.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#include "UnsuccessfulOutcome.h" - -static asn_TYPE_member_t asn_MBR_UnsuccessfulOutcome_1[] = { - { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome, procedureCode), - (ASN_TAG_CLASS_CONTEXT | (0 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_ProcedureCode, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "procedureCode" - }, - { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome, criticality), - (ASN_TAG_CLASS_CONTEXT | (1 << 2)), - -1, /* IMPLICIT tag at current level */ - &asn_DEF_Criticality, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "criticality" - }, - { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome, value), - (ASN_TAG_CLASS_CONTEXT | (2 << 2)), - +1, /* EXPLICIT tag at current level */ - &asn_DEF_ANY, - 0, /* Defer constraints checking to the member type */ - 0, /* No PER visible constraints */ - 0, - "value" - }, -}; -static const ber_tlv_tag_t asn_DEF_UnsuccessfulOutcome_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) -}; -static const asn_TYPE_tag2member_t asn_MAP_UnsuccessfulOutcome_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */ - { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ - { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ -}; -static asn_SEQUENCE_specifics_t asn_SPC_UnsuccessfulOutcome_specs_1 = { - sizeof(struct UnsuccessfulOutcome), - offsetof(struct UnsuccessfulOutcome, _asn_ctx), - asn_MAP_UnsuccessfulOutcome_tag2el_1, - 3, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - -1, /* Start extensions */ - -1 /* Stop extensions */ -}; -asn_TYPE_descriptor_t asn_DEF_UnsuccessfulOutcome = { - "UnsuccessfulOutcome", - "UnsuccessfulOutcome", - SEQUENCE_free, - SEQUENCE_print, - SEQUENCE_constraint, - SEQUENCE_decode_ber, - SEQUENCE_encode_der, - SEQUENCE_decode_xer, - SEQUENCE_encode_xer, - SEQUENCE_decode_uper, - SEQUENCE_encode_uper, - SEQUENCE_decode_aper, - SEQUENCE_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_UnsuccessfulOutcome_tags_1, - sizeof(asn_DEF_UnsuccessfulOutcome_tags_1) - /sizeof(asn_DEF_UnsuccessfulOutcome_tags_1[0]), /* 1 */ - asn_DEF_UnsuccessfulOutcome_tags_1, /* Same as above */ - sizeof(asn_DEF_UnsuccessfulOutcome_tags_1) - /sizeof(asn_DEF_UnsuccessfulOutcome_tags_1[0]), /* 1 */ - 0, /* No PER visible constraints */ - asn_MBR_UnsuccessfulOutcome_1, - 3, /* Elements count */ - &asn_SPC_UnsuccessfulOutcome_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/UnsuccessfulOutcome.h b/src/asn1c/UnsuccessfulOutcome.h deleted file mode 100644 index 91090d0..0000000 --- a/src/asn1c/UnsuccessfulOutcome.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-PDU" - * found in "../../asn1/hnbap/HNBAP-PDU.asn" - * `asn1c -gen-PER` - */ - -#ifndef _UnsuccessfulOutcome_H_ -#define _UnsuccessfulOutcome_H_ - - -#include - -/* Including external dependencies */ -#include "ProcedureCode.h" -#include "Criticality.h" -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* UnsuccessfulOutcome */ -typedef struct UnsuccessfulOutcome { - ProcedureCode_t procedureCode; - Criticality_t criticality; - ANY_t value; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} UnsuccessfulOutcome_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_UnsuccessfulOutcome; - -#ifdef __cplusplus -} -#endif - -#endif /* _UnsuccessfulOutcome_H_ */ -#include diff --git a/src/asn1c/Update-cause.c b/src/asn1c/Update-cause.c deleted file mode 100644 index f9ba133..0000000 --- a/src/asn1c/Update-cause.c +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#include "Update-cause.h" - -int -Update_cause_constraint(asn_TYPE_descriptor_t *td, const void *sptr, - asn_app_constraint_failed_f *ctfailcb, void *app_key) { - /* Replace with underlying type checker */ - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - return td->check_constraints(td, sptr, ctfailcb, app_key); -} - -/* - * This type is implemented using NativeEnumerated, - * so here we adjust the DEF accordingly. - */ -static void -Update_cause_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { - td->free_struct = asn_DEF_NativeEnumerated.free_struct; - td->print_struct = asn_DEF_NativeEnumerated.print_struct; - td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; - td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; - td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; - td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; - td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; - td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; - td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; - td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; - td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; - if(!td->per_constraints) - td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; - td->elements = asn_DEF_NativeEnumerated.elements; - td->elements_count = asn_DEF_NativeEnumerated.elements_count; - /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ -} - -void -Update_cause_free(asn_TYPE_descriptor_t *td, - void *struct_ptr, int contents_only) { - Update_cause_1_inherit_TYPE_descriptor(td); - td->free_struct(td, struct_ptr, contents_only); -} - -int -Update_cause_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, - int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { - Update_cause_1_inherit_TYPE_descriptor(td); - return td->print_struct(td, struct_ptr, ilevel, cb, app_key); -} - -asn_dec_rval_t -Update_cause_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const void *bufptr, size_t size, int tag_mode) { - Update_cause_1_inherit_TYPE_descriptor(td); - return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); -} - -asn_enc_rval_t -Update_cause_encode_der(asn_TYPE_descriptor_t *td, - void *structure, int tag_mode, ber_tlv_tag_t tag, - asn_app_consume_bytes_f *cb, void *app_key) { - Update_cause_1_inherit_TYPE_descriptor(td); - return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); -} - -asn_dec_rval_t -Update_cause_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - void **structure, const char *opt_mname, const void *bufptr, size_t size) { - Update_cause_1_inherit_TYPE_descriptor(td); - return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); -} - -asn_enc_rval_t -Update_cause_encode_xer(asn_TYPE_descriptor_t *td, void *structure, - int ilevel, enum xer_encoder_flags_e flags, - asn_app_consume_bytes_f *cb, void *app_key) { - Update_cause_1_inherit_TYPE_descriptor(td); - return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); -} - -asn_dec_rval_t -Update_cause_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - Update_cause_1_inherit_TYPE_descriptor(td); - return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -asn_enc_rval_t -Update_cause_encode_uper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - Update_cause_1_inherit_TYPE_descriptor(td); - return td->uper_encoder(td, constraints, structure, per_out); -} - -asn_enc_rval_t -Update_cause_encode_aper(asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, - void *structure, asn_per_outp_t *per_out) { - Update_cause_1_inherit_TYPE_descriptor(td); - return td->aper_encoder(td, constraints, structure, per_out); -} - -asn_dec_rval_t -Update_cause_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, - asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { - Update_cause_1_inherit_TYPE_descriptor(td); - return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); -} - -static asn_per_constraints_t asn_PER_type_Update_cause_constr_1 GCC_NOTUSED = { - { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */, - { APC_UNCONSTRAINED, -1, -1, 0, 0 }, - 0, 0 /* No PER value map */ -}; -static const asn_INTEGER_enum_map_t asn_MAP_Update_cause_value2enum_1[] = { - { 0, 22, "relocation-preparation" } - /* This list is extensible */ -}; -static const unsigned int asn_MAP_Update_cause_enum2value_1[] = { - 0 /* relocation-preparation(0) */ - /* This list is extensible */ -}; -static const asn_INTEGER_specifics_t asn_SPC_Update_cause_specs_1 = { - asn_MAP_Update_cause_value2enum_1, /* "tag" => N; sorted by tag */ - asn_MAP_Update_cause_enum2value_1, /* N => "tag"; sorted by N */ - 1, /* Number of elements in the maps */ - 2, /* Extensions before this member */ - 1, /* Strict enumeration */ - 0, /* Native long size */ - 0 -}; -static const ber_tlv_tag_t asn_DEF_Update_cause_tags_1[] = { - (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) -}; -asn_TYPE_descriptor_t asn_DEF_Update_cause = { - "Update-cause", - "Update-cause", - Update_cause_free, - Update_cause_print, - Update_cause_constraint, - Update_cause_decode_ber, - Update_cause_encode_der, - Update_cause_decode_xer, - Update_cause_encode_xer, - Update_cause_decode_uper, - Update_cause_encode_uper, - Update_cause_decode_aper, - Update_cause_encode_aper, - 0, /* Use generic outmost tag fetcher */ - asn_DEF_Update_cause_tags_1, - sizeof(asn_DEF_Update_cause_tags_1) - /sizeof(asn_DEF_Update_cause_tags_1[0]), /* 1 */ - asn_DEF_Update_cause_tags_1, /* Same as above */ - sizeof(asn_DEF_Update_cause_tags_1) - /sizeof(asn_DEF_Update_cause_tags_1[0]), /* 1 */ - &asn_PER_type_Update_cause_constr_1, - 0, 0, /* Defined elsewhere */ - &asn_SPC_Update_cause_specs_1 /* Additional specs */ -}; - diff --git a/src/asn1c/Update-cause.h b/src/asn1c/Update-cause.h deleted file mode 100644 index cff96e1..0000000 --- a/src/asn1c/Update-cause.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) - * From ASN.1 module "HNBAP-IEs" - * found in "../../asn1/hnbap/HNBAP-IEs.asn" - * `asn1c -gen-PER` - */ - -#ifndef _Update_cause_H_ -#define _Update_cause_H_ - - -#include - -/* Including external dependencies */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Update_cause { - Update_cause_relocation_preparation = 0 - /* - * Enumeration is extensible - */ -} e_Update_cause; - -/* Update-cause */ -typedef long Update_cause_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Update_cause; -asn_struct_free_f Update_cause_free; -asn_struct_print_f Update_cause_print; -asn_constr_check_f Update_cause_constraint; -ber_type_decoder_f Update_cause_decode_ber; -der_type_encoder_f Update_cause_encode_der; -xer_type_decoder_f Update_cause_decode_xer; -xer_type_encoder_f Update_cause_encode_xer; -per_type_decoder_f Update_cause_decode_uper; -per_type_encoder_f Update_cause_encode_uper; -per_type_decoder_f Update_cause_decode_aper; -per_type_encoder_f Update_cause_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Update_cause_H_ */ -#include diff --git a/src/hnbap/.gitignore b/src/hnbap/.gitignore new file mode 100644 index 0000000..3698ce1 --- /dev/null +++ b/src/hnbap/.gitignore @@ -0,0 +1,60 @@ +ANY.c +ANY.h +BIT_STRING.c +BIT_STRING.h +INTEGER.c +INTEGER.h +Makefile.am.sample +NativeEnumerated.c +NativeEnumerated.h +NativeInteger.c +NativeInteger.h +OBJECT_IDENTIFIER.c +OBJECT_IDENTIFIER.h +OCTET_STRING.c +OCTET_STRING.h +asn_SEQUENCE_OF.c +asn_SEQUENCE_OF.h +asn_SET_OF.c +asn_SET_OF.h +asn_application.h +asn_codecs.h +asn_codecs_prim.c +asn_codecs_prim.h +asn_internal.h +asn_system.h +ber_decoder.c +ber_decoder.h +ber_tlv_length.c +ber_tlv_length.h +ber_tlv_tag.c +ber_tlv_tag.h +constr_CHOICE.c +constr_CHOICE.h +constr_SEQUENCE.c +constr_SEQUENCE.h +constr_SEQUENCE_OF.c +constr_SEQUENCE_OF.h +constr_SET_OF.c +constr_SET_OF.h +constr_TYPE.c +constr_TYPE.h +constraints.c +constraints.h +converter-sample.c +der_encoder.c +der_encoder.h +per_decoder.c +per_decoder.h +per_encoder.c +per_encoder.h +per_opentype.c +per_opentype.h +per_support.c +per_support.h +xer_decoder.c +xer_decoder.h +xer_encoder.c +xer_encoder.h +xer_support.c +xer_support.h diff --git a/src/hnbap/Access-stratum-release-indicator.c b/src/hnbap/Access-stratum-release-indicator.c new file mode 100644 index 0000000..1b13cd9 --- /dev/null +++ b/src/hnbap/Access-stratum-release-indicator.c @@ -0,0 +1,176 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "Access-stratum-release-indicator.h" + +int +Access_stratum_release_indicator_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +Access_stratum_release_indicator_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +Access_stratum_release_indicator_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +Access_stratum_release_indicator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +Access_stratum_release_indicator_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +Access_stratum_release_indicator_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +Access_stratum_release_indicator_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +Access_stratum_release_indicator_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +Access_stratum_release_indicator_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +Access_stratum_release_indicator_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +Access_stratum_release_indicator_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +Access_stratum_release_indicator_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + Access_stratum_release_indicator_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_Access_stratum_release_indicator_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 5l } /* (0..5,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_Access_stratum_release_indicator_value2enum_1[] = { + { 0, 3, "r99" }, + { 1, 5, "rel-4" }, + { 2, 5, "rel-5" }, + { 3, 5, "rel-6" }, + { 4, 5, "rel-7" }, + { 5, 16, "rel-8-and-beyond" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Access_stratum_release_indicator_enum2value_1[] = { + 0, /* r99(0) */ + 1, /* rel-4(1) */ + 2, /* rel-5(2) */ + 3, /* rel-6(3) */ + 4, /* rel-7(4) */ + 5 /* rel-8-and-beyond(5) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_Access_stratum_release_indicator_specs_1 = { + asn_MAP_Access_stratum_release_indicator_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Access_stratum_release_indicator_enum2value_1, /* N => "tag"; sorted by N */ + 6, /* Number of elements in the maps */ + 7, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Access_stratum_release_indicator_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Access_stratum_release_indicator = { + "Access-stratum-release-indicator", + "Access-stratum-release-indicator", + Access_stratum_release_indicator_free, + Access_stratum_release_indicator_print, + Access_stratum_release_indicator_constraint, + Access_stratum_release_indicator_decode_ber, + Access_stratum_release_indicator_encode_der, + Access_stratum_release_indicator_decode_xer, + Access_stratum_release_indicator_encode_xer, + Access_stratum_release_indicator_decode_uper, + Access_stratum_release_indicator_encode_uper, + Access_stratum_release_indicator_decode_aper, + Access_stratum_release_indicator_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_Access_stratum_release_indicator_tags_1, + sizeof(asn_DEF_Access_stratum_release_indicator_tags_1) + /sizeof(asn_DEF_Access_stratum_release_indicator_tags_1[0]), /* 1 */ + asn_DEF_Access_stratum_release_indicator_tags_1, /* Same as above */ + sizeof(asn_DEF_Access_stratum_release_indicator_tags_1) + /sizeof(asn_DEF_Access_stratum_release_indicator_tags_1[0]), /* 1 */ + &asn_PER_type_Access_stratum_release_indicator_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Access_stratum_release_indicator_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/Access-stratum-release-indicator.h b/src/hnbap/Access-stratum-release-indicator.h new file mode 100644 index 0000000..1e1f7e1 --- /dev/null +++ b/src/hnbap/Access-stratum-release-indicator.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _Access_stratum_release_indicator_H_ +#define _Access_stratum_release_indicator_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Access_stratum_release_indicator { + Access_stratum_release_indicator_r99 = 0, + Access_stratum_release_indicator_rel_4 = 1, + Access_stratum_release_indicator_rel_5 = 2, + Access_stratum_release_indicator_rel_6 = 3, + Access_stratum_release_indicator_rel_7 = 4, + Access_stratum_release_indicator_rel_8_and_beyond = 5 + /* + * Enumeration is extensible + */ +} e_Access_stratum_release_indicator; + +/* Access-stratum-release-indicator */ +typedef long Access_stratum_release_indicator_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Access_stratum_release_indicator; +asn_struct_free_f Access_stratum_release_indicator_free; +asn_struct_print_f Access_stratum_release_indicator_print; +asn_constr_check_f Access_stratum_release_indicator_constraint; +ber_type_decoder_f Access_stratum_release_indicator_decode_ber; +der_type_encoder_f Access_stratum_release_indicator_encode_der; +xer_type_decoder_f Access_stratum_release_indicator_decode_xer; +xer_type_encoder_f Access_stratum_release_indicator_encode_xer; +per_type_decoder_f Access_stratum_release_indicator_decode_uper; +per_type_encoder_f Access_stratum_release_indicator_encode_uper; +per_type_decoder_f Access_stratum_release_indicator_decode_aper; +per_type_encoder_f Access_stratum_release_indicator_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Access_stratum_release_indicator_H_ */ +#include diff --git a/src/hnbap/AccessResult.c b/src/hnbap/AccessResult.c new file mode 100644 index 0000000..0e6cda0 --- /dev/null +++ b/src/hnbap/AccessResult.c @@ -0,0 +1,168 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "AccessResult.h" + +int +AccessResult_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +AccessResult_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +AccessResult_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + AccessResult_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +AccessResult_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + AccessResult_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +AccessResult_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + AccessResult_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +AccessResult_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + AccessResult_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +AccessResult_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + AccessResult_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +AccessResult_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + AccessResult_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +AccessResult_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + AccessResult_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +AccessResult_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + AccessResult_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +AccessResult_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + AccessResult_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +AccessResult_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + AccessResult_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_AccessResult_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_AccessResult_value2enum_1[] = { + { 0, 7, "allowed" }, + { 1, 10, "notAllowed" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_AccessResult_enum2value_1[] = { + 0, /* allowed(0) */ + 1 /* notAllowed(1) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_AccessResult_specs_1 = { + asn_MAP_AccessResult_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_AccessResult_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_AccessResult_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AccessResult = { + "AccessResult", + "AccessResult", + AccessResult_free, + AccessResult_print, + AccessResult_constraint, + AccessResult_decode_ber, + AccessResult_encode_der, + AccessResult_decode_xer, + AccessResult_encode_xer, + AccessResult_decode_uper, + AccessResult_encode_uper, + AccessResult_decode_aper, + AccessResult_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_AccessResult_tags_1, + sizeof(asn_DEF_AccessResult_tags_1) + /sizeof(asn_DEF_AccessResult_tags_1[0]), /* 1 */ + asn_DEF_AccessResult_tags_1, /* Same as above */ + sizeof(asn_DEF_AccessResult_tags_1) + /sizeof(asn_DEF_AccessResult_tags_1[0]), /* 1 */ + &asn_PER_type_AccessResult_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_AccessResult_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/AccessResult.h b/src/hnbap/AccessResult.h new file mode 100644 index 0000000..e9f8087 --- /dev/null +++ b/src/hnbap/AccessResult.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _AccessResult_H_ +#define _AccessResult_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum AccessResult { + AccessResult_allowed = 0, + AccessResult_notAllowed = 1 + /* + * Enumeration is extensible + */ +} e_AccessResult; + +/* AccessResult */ +typedef long AccessResult_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_AccessResult; +asn_struct_free_f AccessResult_free; +asn_struct_print_f AccessResult_print; +asn_constr_check_f AccessResult_constraint; +ber_type_decoder_f AccessResult_decode_ber; +der_type_encoder_f AccessResult_encode_der; +xer_type_decoder_f AccessResult_decode_xer; +xer_type_encoder_f AccessResult_encode_xer; +per_type_decoder_f AccessResult_decode_uper; +per_type_encoder_f AccessResult_encode_uper; +per_type_decoder_f AccessResult_decode_aper; +per_type_encoder_f AccessResult_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _AccessResult_H_ */ +#include diff --git a/src/hnbap/AdditionalNeighbourInfoList.c b/src/hnbap/AdditionalNeighbourInfoList.c new file mode 100644 index 0000000..e592c7f --- /dev/null +++ b/src/hnbap/AdditionalNeighbourInfoList.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "AdditionalNeighbourInfoList.h" + +static asn_per_constraints_t asn_PER_type_AdditionalNeighbourInfoList_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 7, 7, 1l, 128l } /* (SIZE(1..128)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_AdditionalNeighbourInfoList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_HNBConfigInfo, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_AdditionalNeighbourInfoList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_AdditionalNeighbourInfoList_specs_1 = { + sizeof(struct AdditionalNeighbourInfoList), + offsetof(struct AdditionalNeighbourInfoList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_AdditionalNeighbourInfoList = { + "AdditionalNeighbourInfoList", + "AdditionalNeighbourInfoList", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_AdditionalNeighbourInfoList_tags_1, + sizeof(asn_DEF_AdditionalNeighbourInfoList_tags_1) + /sizeof(asn_DEF_AdditionalNeighbourInfoList_tags_1[0]), /* 1 */ + asn_DEF_AdditionalNeighbourInfoList_tags_1, /* Same as above */ + sizeof(asn_DEF_AdditionalNeighbourInfoList_tags_1) + /sizeof(asn_DEF_AdditionalNeighbourInfoList_tags_1[0]), /* 1 */ + &asn_PER_type_AdditionalNeighbourInfoList_constr_1, + asn_MBR_AdditionalNeighbourInfoList_1, + 1, /* Single element */ + &asn_SPC_AdditionalNeighbourInfoList_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/AdditionalNeighbourInfoList.h b/src/hnbap/AdditionalNeighbourInfoList.h new file mode 100644 index 0000000..7e15f4b --- /dev/null +++ b/src/hnbap/AdditionalNeighbourInfoList.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _AdditionalNeighbourInfoList_H_ +#define _AdditionalNeighbourInfoList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct HNBConfigInfo; + +/* AdditionalNeighbourInfoList */ +typedef struct AdditionalNeighbourInfoList { + A_SEQUENCE_OF(struct HNBConfigInfo) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} AdditionalNeighbourInfoList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_AdditionalNeighbourInfoList; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "HNBConfigInfo.h" + +#endif /* _AdditionalNeighbourInfoList_H_ */ +#include diff --git a/src/hnbap/AltitudeAndDirection.c b/src/hnbap/AltitudeAndDirection.c new file mode 100644 index 0000000..a747406 --- /dev/null +++ b/src/hnbap/AltitudeAndDirection.c @@ -0,0 +1,261 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "AltitudeAndDirection.h" + +static int +directionOfAltitude_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +directionOfAltitude_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +static void +directionOfAltitude_2_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + directionOfAltitude_2_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +static int +directionOfAltitude_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + directionOfAltitude_2_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +static asn_dec_rval_t +directionOfAltitude_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + directionOfAltitude_2_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +static asn_enc_rval_t +directionOfAltitude_2_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + directionOfAltitude_2_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +static asn_dec_rval_t +directionOfAltitude_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + directionOfAltitude_2_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +static asn_enc_rval_t +directionOfAltitude_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + directionOfAltitude_2_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +static asn_dec_rval_t +directionOfAltitude_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + directionOfAltitude_2_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_enc_rval_t +directionOfAltitude_2_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + directionOfAltitude_2_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +static asn_enc_rval_t +directionOfAltitude_2_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + directionOfAltitude_2_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +static asn_dec_rval_t +directionOfAltitude_2_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + directionOfAltitude_2_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static int +memb_altitude_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0l && value <= 32767l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_directionOfAltitude_constr_2 GCC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_altitude_constr_5 GCC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0l, 32767l } /* (0..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_directionOfAltitude_value2enum_2[] = { + { 0, 6, "height" }, + { 1, 5, "depth" } +}; +static const unsigned int asn_MAP_directionOfAltitude_enum2value_2[] = { + 1, /* depth(1) */ + 0 /* height(0) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_directionOfAltitude_specs_2 = { + asn_MAP_directionOfAltitude_value2enum_2, /* "tag" => N; sorted by tag */ + asn_MAP_directionOfAltitude_enum2value_2, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_directionOfAltitude_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_directionOfAltitude_2 = { + "directionOfAltitude", + "directionOfAltitude", + directionOfAltitude_2_free, + directionOfAltitude_2_print, + directionOfAltitude_2_constraint, + directionOfAltitude_2_decode_ber, + directionOfAltitude_2_encode_der, + directionOfAltitude_2_decode_xer, + directionOfAltitude_2_encode_xer, + directionOfAltitude_2_decode_uper, + directionOfAltitude_2_encode_uper, + directionOfAltitude_2_decode_aper, + directionOfAltitude_2_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_directionOfAltitude_tags_2, + sizeof(asn_DEF_directionOfAltitude_tags_2) + /sizeof(asn_DEF_directionOfAltitude_tags_2[0]) - 1, /* 1 */ + asn_DEF_directionOfAltitude_tags_2, /* Same as above */ + sizeof(asn_DEF_directionOfAltitude_tags_2) + /sizeof(asn_DEF_directionOfAltitude_tags_2[0]), /* 2 */ + &asn_PER_type_directionOfAltitude_constr_2, + 0, 0, /* Defined elsewhere */ + &asn_SPC_directionOfAltitude_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_AltitudeAndDirection_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AltitudeAndDirection, directionOfAltitude), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_directionOfAltitude_2, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "directionOfAltitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct AltitudeAndDirection, altitude), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + memb_altitude_constraint_1, + &asn_PER_memb_altitude_constr_5, + 0, + "altitude" + }, +}; +static const ber_tlv_tag_t asn_DEF_AltitudeAndDirection_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AltitudeAndDirection_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* directionOfAltitude */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* altitude */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_AltitudeAndDirection_specs_1 = { + sizeof(struct AltitudeAndDirection), + offsetof(struct AltitudeAndDirection, _asn_ctx), + asn_MAP_AltitudeAndDirection_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* Start extensions */ + 3 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_AltitudeAndDirection = { + "AltitudeAndDirection", + "AltitudeAndDirection", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_AltitudeAndDirection_tags_1, + sizeof(asn_DEF_AltitudeAndDirection_tags_1) + /sizeof(asn_DEF_AltitudeAndDirection_tags_1[0]), /* 1 */ + asn_DEF_AltitudeAndDirection_tags_1, /* Same as above */ + sizeof(asn_DEF_AltitudeAndDirection_tags_1) + /sizeof(asn_DEF_AltitudeAndDirection_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_AltitudeAndDirection_1, + 2, /* Elements count */ + &asn_SPC_AltitudeAndDirection_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/AltitudeAndDirection.h b/src/hnbap/AltitudeAndDirection.h new file mode 100644 index 0000000..7ea3dfd --- /dev/null +++ b/src/hnbap/AltitudeAndDirection.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _AltitudeAndDirection_H_ +#define _AltitudeAndDirection_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum directionOfAltitude { + directionOfAltitude_height = 0, + directionOfAltitude_depth = 1 +} e_directionOfAltitude; + +/* AltitudeAndDirection */ +typedef struct AltitudeAndDirection { + long directionOfAltitude; + long altitude; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} AltitudeAndDirection_t; + +/* Implementation */ +/* extern asn_TYPE_descriptor_t asn_DEF_directionOfAltitude_2; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_AltitudeAndDirection; + +#ifdef __cplusplus +} +#endif + +#endif /* _AltitudeAndDirection_H_ */ +#include diff --git a/src/hnbap/BackoffTimer.c b/src/hnbap/BackoffTimer.c new file mode 100644 index 0000000..7dee227 --- /dev/null +++ b/src/hnbap/BackoffTimer.c @@ -0,0 +1,166 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "BackoffTimer.h" + +int +BackoffTimer_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0l && value <= 3600l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static void +BackoffTimer_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeInteger.free_struct; + td->print_struct = asn_DEF_NativeInteger.print_struct; + td->check_constraints = asn_DEF_NativeInteger.check_constraints; + td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; + td->der_encoder = asn_DEF_NativeInteger.der_encoder; + td->xer_decoder = asn_DEF_NativeInteger.xer_decoder; + td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; + td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; + td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; + td->aper_decoder = asn_DEF_NativeInteger.aper_decoder; + td->aper_encoder = asn_DEF_NativeInteger.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeInteger.per_constraints; + td->elements = asn_DEF_NativeInteger.elements; + td->elements_count = asn_DEF_NativeInteger.elements_count; + td->specifics = asn_DEF_NativeInteger.specifics; +} + +void +BackoffTimer_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + BackoffTimer_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +BackoffTimer_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + BackoffTimer_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +BackoffTimer_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + BackoffTimer_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +BackoffTimer_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + BackoffTimer_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +BackoffTimer_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + BackoffTimer_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +BackoffTimer_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + BackoffTimer_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +BackoffTimer_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + BackoffTimer_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +BackoffTimer_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + BackoffTimer_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +BackoffTimer_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + BackoffTimer_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +BackoffTimer_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + BackoffTimer_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_BackoffTimer_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0l, 3600l } /* (0..3600) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_BackoffTimer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BackoffTimer = { + "BackoffTimer", + "BackoffTimer", + BackoffTimer_free, + BackoffTimer_print, + BackoffTimer_constraint, + BackoffTimer_decode_ber, + BackoffTimer_encode_der, + BackoffTimer_decode_xer, + BackoffTimer_encode_xer, + BackoffTimer_decode_uper, + BackoffTimer_encode_uper, + BackoffTimer_decode_aper, + BackoffTimer_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_BackoffTimer_tags_1, + sizeof(asn_DEF_BackoffTimer_tags_1) + /sizeof(asn_DEF_BackoffTimer_tags_1[0]), /* 1 */ + asn_DEF_BackoffTimer_tags_1, /* Same as above */ + sizeof(asn_DEF_BackoffTimer_tags_1) + /sizeof(asn_DEF_BackoffTimer_tags_1[0]), /* 1 */ + &asn_PER_type_BackoffTimer_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/BackoffTimer.h b/src/hnbap/BackoffTimer.h new file mode 100644 index 0000000..9b6b01f --- /dev/null +++ b/src/hnbap/BackoffTimer.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _BackoffTimer_H_ +#define _BackoffTimer_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* BackoffTimer */ +typedef long BackoffTimer_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_BackoffTimer; +asn_struct_free_f BackoffTimer_free; +asn_struct_print_f BackoffTimer_print; +asn_constr_check_f BackoffTimer_constraint; +ber_type_decoder_f BackoffTimer_decode_ber; +der_type_encoder_f BackoffTimer_encode_der; +xer_type_decoder_f BackoffTimer_decode_xer; +xer_type_encoder_f BackoffTimer_encode_xer; +per_type_decoder_f BackoffTimer_decode_uper; +per_type_encoder_f BackoffTimer_encode_uper; +per_type_decoder_f BackoffTimer_decode_aper; +per_type_encoder_f BackoffTimer_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _BackoffTimer_H_ */ +#include diff --git a/src/hnbap/BindingID.c b/src/hnbap/BindingID.c new file mode 100644 index 0000000..7021128 --- /dev/null +++ b/src/hnbap/BindingID.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "BindingID.h" + +int +BindingID_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1l && size <= 4l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static void +BindingID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_OCTET_STRING.free_struct; + td->print_struct = asn_DEF_OCTET_STRING.print_struct; + td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; + td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; + td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; + td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; + td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; + td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; + td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; + td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; + td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; + td->elements = asn_DEF_OCTET_STRING.elements; + td->elements_count = asn_DEF_OCTET_STRING.elements_count; + td->specifics = asn_DEF_OCTET_STRING.specifics; +} + +void +BindingID_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + BindingID_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +BindingID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + BindingID_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +BindingID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + BindingID_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +BindingID_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + BindingID_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +BindingID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + BindingID_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +BindingID_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + BindingID_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +BindingID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + BindingID_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +BindingID_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + BindingID_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +BindingID_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + BindingID_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +BindingID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + BindingID_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_BindingID_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 1l, 4l } /* (SIZE(1..4,...)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_BindingID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BindingID = { + "BindingID", + "BindingID", + BindingID_free, + BindingID_print, + BindingID_constraint, + BindingID_decode_ber, + BindingID_encode_der, + BindingID_decode_xer, + BindingID_encode_xer, + BindingID_decode_uper, + BindingID_encode_uper, + BindingID_decode_aper, + BindingID_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_BindingID_tags_1, + sizeof(asn_DEF_BindingID_tags_1) + /sizeof(asn_DEF_BindingID_tags_1[0]), /* 1 */ + asn_DEF_BindingID_tags_1, /* Same as above */ + sizeof(asn_DEF_BindingID_tags_1) + /sizeof(asn_DEF_BindingID_tags_1[0]), /* 1 */ + &asn_PER_type_BindingID_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/BindingID.h b/src/hnbap/BindingID.h new file mode 100644 index 0000000..ad1a142 --- /dev/null +++ b/src/hnbap/BindingID.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _BindingID_H_ +#define _BindingID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* BindingID */ +typedef OCTET_STRING_t BindingID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_BindingID; +asn_struct_free_f BindingID_free; +asn_struct_print_f BindingID_print; +asn_constr_check_f BindingID_constraint; +ber_type_decoder_f BindingID_decode_ber; +der_type_encoder_f BindingID_encode_der; +xer_type_decoder_f BindingID_decode_xer; +xer_type_encoder_f BindingID_encode_xer; +per_type_decoder_f BindingID_decode_uper; +per_type_encoder_f BindingID_encode_uper; +per_type_decoder_f BindingID_decode_aper; +per_type_encoder_f BindingID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _BindingID_H_ */ +#include diff --git a/src/hnbap/CELL-FACHMobilitySupport.c b/src/hnbap/CELL-FACHMobilitySupport.c new file mode 100644 index 0000000..e2bc3cb --- /dev/null +++ b/src/hnbap/CELL-FACHMobilitySupport.c @@ -0,0 +1,166 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "CELL-FACHMobilitySupport.h" + +int +CELL_FACHMobilitySupport_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +CELL_FACHMobilitySupport_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +CELL_FACHMobilitySupport_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +CELL_FACHMobilitySupport_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +CELL_FACHMobilitySupport_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +CELL_FACHMobilitySupport_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +CELL_FACHMobilitySupport_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +CELL_FACHMobilitySupport_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +CELL_FACHMobilitySupport_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +CELL_FACHMobilitySupport_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +CELL_FACHMobilitySupport_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CELL_FACHMobilitySupport_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_CELL_FACHMobilitySupport_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_CELL_FACHMobilitySupport_value2enum_1[] = { + { 0, 9, "supported" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_CELL_FACHMobilitySupport_enum2value_1[] = { + 0 /* supported(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_CELL_FACHMobilitySupport_specs_1 = { + asn_MAP_CELL_FACHMobilitySupport_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CELL_FACHMobilitySupport_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CELL_FACHMobilitySupport_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CELL_FACHMobilitySupport = { + "CELL-FACHMobilitySupport", + "CELL-FACHMobilitySupport", + CELL_FACHMobilitySupport_free, + CELL_FACHMobilitySupport_print, + CELL_FACHMobilitySupport_constraint, + CELL_FACHMobilitySupport_decode_ber, + CELL_FACHMobilitySupport_encode_der, + CELL_FACHMobilitySupport_decode_xer, + CELL_FACHMobilitySupport_encode_xer, + CELL_FACHMobilitySupport_decode_uper, + CELL_FACHMobilitySupport_encode_uper, + CELL_FACHMobilitySupport_decode_aper, + CELL_FACHMobilitySupport_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_CELL_FACHMobilitySupport_tags_1, + sizeof(asn_DEF_CELL_FACHMobilitySupport_tags_1) + /sizeof(asn_DEF_CELL_FACHMobilitySupport_tags_1[0]), /* 1 */ + asn_DEF_CELL_FACHMobilitySupport_tags_1, /* Same as above */ + sizeof(asn_DEF_CELL_FACHMobilitySupport_tags_1) + /sizeof(asn_DEF_CELL_FACHMobilitySupport_tags_1[0]), /* 1 */ + &asn_PER_type_CELL_FACHMobilitySupport_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CELL_FACHMobilitySupport_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/CELL-FACHMobilitySupport.h b/src/hnbap/CELL-FACHMobilitySupport.h new file mode 100644 index 0000000..3d6b588 --- /dev/null +++ b/src/hnbap/CELL-FACHMobilitySupport.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _CELL_FACHMobilitySupport_H_ +#define _CELL_FACHMobilitySupport_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CELL_FACHMobilitySupport { + CELL_FACHMobilitySupport_supported = 0 + /* + * Enumeration is extensible + */ +} e_CELL_FACHMobilitySupport; + +/* CELL-FACHMobilitySupport */ +typedef long CELL_FACHMobilitySupport_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CELL_FACHMobilitySupport; +asn_struct_free_f CELL_FACHMobilitySupport_free; +asn_struct_print_f CELL_FACHMobilitySupport_print; +asn_constr_check_f CELL_FACHMobilitySupport_constraint; +ber_type_decoder_f CELL_FACHMobilitySupport_decode_ber; +der_type_encoder_f CELL_FACHMobilitySupport_encode_der; +xer_type_decoder_f CELL_FACHMobilitySupport_decode_xer; +xer_type_encoder_f CELL_FACHMobilitySupport_encode_xer; +per_type_decoder_f CELL_FACHMobilitySupport_decode_uper; +per_type_encoder_f CELL_FACHMobilitySupport_encode_uper; +per_type_decoder_f CELL_FACHMobilitySupport_decode_aper; +per_type_encoder_f CELL_FACHMobilitySupport_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CELL_FACHMobilitySupport_H_ */ +#include diff --git a/src/hnbap/CGI.c b/src/hnbap/CGI.c new file mode 100644 index 0000000..07ee72a --- /dev/null +++ b/src/hnbap/CGI.c @@ -0,0 +1,94 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "CGI.h" + +static asn_TYPE_member_t asn_MBR_CGI_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CGI, pLMNidentity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PLMNidentity, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "pLMNidentity" + }, + { ATF_NOFLAGS, 0, offsetof(struct CGI, lAC), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LAC, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "lAC" + }, + { ATF_NOFLAGS, 0, offsetof(struct CGI, cI), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CI, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "cI" + }, + { ATF_POINTER, 1, offsetof(struct CGI, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_CGI_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_CGI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CGI_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNidentity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lAC */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* cI */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_CGI_specs_1 = { + sizeof(struct CGI), + offsetof(struct CGI, _asn_ctx), + asn_MAP_CGI_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_CGI_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* Start extensions */ + -1 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_CGI = { + "CGI", + "CGI", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_CGI_tags_1, + sizeof(asn_DEF_CGI_tags_1) + /sizeof(asn_DEF_CGI_tags_1[0]), /* 1 */ + asn_DEF_CGI_tags_1, /* Same as above */ + sizeof(asn_DEF_CGI_tags_1) + /sizeof(asn_DEF_CGI_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_CGI_1, + 4, /* Elements count */ + &asn_SPC_CGI_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/CGI.h b/src/hnbap/CGI.h new file mode 100644 index 0000000..802fc9a --- /dev/null +++ b/src/hnbap/CGI.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _CGI_H_ +#define _CGI_H_ + + +#include + +/* Including external dependencies */ +#include "PLMNidentity.h" +#include "LAC.h" +#include "CI.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE_Extensions; + +/* CGI */ +typedef struct CGI { + PLMNidentity_t pLMNidentity; + LAC_t lAC; + CI_t cI; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CGI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CGI; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _CGI_H_ */ +#include diff --git a/src/hnbap/CI.c b/src/hnbap/CI.c new file mode 100644 index 0000000..0f96301 --- /dev/null +++ b/src/hnbap/CI.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "CI.h" + +int +CI_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static void +CI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_OCTET_STRING.free_struct; + td->print_struct = asn_DEF_OCTET_STRING.print_struct; + td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; + td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; + td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; + td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; + td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; + td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; + td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; + td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; + td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; + td->elements = asn_DEF_OCTET_STRING.elements; + td->elements_count = asn_DEF_OCTET_STRING.elements_count; + td->specifics = asn_DEF_OCTET_STRING.specifics; +} + +void +CI_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + CI_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +CI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + CI_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +CI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + CI_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +CI_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + CI_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +CI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + CI_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +CI_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + CI_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +CI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CI_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +CI_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CI_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +CI_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CI_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +CI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CI_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_CI_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2l, 2l } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_CI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CI = { + "CI", + "CI", + CI_free, + CI_print, + CI_constraint, + CI_decode_ber, + CI_encode_der, + CI_decode_xer, + CI_encode_xer, + CI_decode_uper, + CI_encode_uper, + CI_decode_aper, + CI_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_CI_tags_1, + sizeof(asn_DEF_CI_tags_1) + /sizeof(asn_DEF_CI_tags_1[0]), /* 1 */ + asn_DEF_CI_tags_1, /* Same as above */ + sizeof(asn_DEF_CI_tags_1) + /sizeof(asn_DEF_CI_tags_1[0]), /* 1 */ + &asn_PER_type_CI_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/CI.h b/src/hnbap/CI.h new file mode 100644 index 0000000..8efd030 --- /dev/null +++ b/src/hnbap/CI.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _CI_H_ +#define _CI_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* CI */ +typedef OCTET_STRING_t CI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CI; +asn_struct_free_f CI_free; +asn_struct_print_f CI_print; +asn_constr_check_f CI_constraint; +ber_type_decoder_f CI_decode_ber; +der_type_encoder_f CI_encode_der; +xer_type_decoder_f CI_decode_xer; +xer_type_encoder_f CI_encode_xer; +per_type_decoder_f CI_decode_uper; +per_type_encoder_f CI_encode_uper; +per_type_decoder_f CI_decode_aper; +per_type_encoder_f CI_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CI_H_ */ +#include diff --git a/src/hnbap/CN-DomainIndicator.c b/src/hnbap/CN-DomainIndicator.c new file mode 100644 index 0000000..75fbca7 --- /dev/null +++ b/src/hnbap/CN-DomainIndicator.c @@ -0,0 +1,166 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "CN-DomainIndicator.h" + +int +CN_DomainIndicator_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +CN_DomainIndicator_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +CN_DomainIndicator_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + CN_DomainIndicator_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +CN_DomainIndicator_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + CN_DomainIndicator_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +CN_DomainIndicator_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + CN_DomainIndicator_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +CN_DomainIndicator_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + CN_DomainIndicator_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +CN_DomainIndicator_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + CN_DomainIndicator_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +CN_DomainIndicator_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + CN_DomainIndicator_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +CN_DomainIndicator_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CN_DomainIndicator_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +CN_DomainIndicator_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CN_DomainIndicator_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +CN_DomainIndicator_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CN_DomainIndicator_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +CN_DomainIndicator_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CN_DomainIndicator_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_CN_DomainIndicator_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_CN_DomainIndicator_value2enum_1[] = { + { 0, 9, "cs-domain" }, + { 1, 9, "ps-domain" } +}; +static const unsigned int asn_MAP_CN_DomainIndicator_enum2value_1[] = { + 0, /* cs-domain(0) */ + 1 /* ps-domain(1) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_CN_DomainIndicator_specs_1 = { + asn_MAP_CN_DomainIndicator_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CN_DomainIndicator_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CN_DomainIndicator_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CN_DomainIndicator = { + "CN-DomainIndicator", + "CN-DomainIndicator", + CN_DomainIndicator_free, + CN_DomainIndicator_print, + CN_DomainIndicator_constraint, + CN_DomainIndicator_decode_ber, + CN_DomainIndicator_encode_der, + CN_DomainIndicator_decode_xer, + CN_DomainIndicator_encode_xer, + CN_DomainIndicator_decode_uper, + CN_DomainIndicator_encode_uper, + CN_DomainIndicator_decode_aper, + CN_DomainIndicator_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_CN_DomainIndicator_tags_1, + sizeof(asn_DEF_CN_DomainIndicator_tags_1) + /sizeof(asn_DEF_CN_DomainIndicator_tags_1[0]), /* 1 */ + asn_DEF_CN_DomainIndicator_tags_1, /* Same as above */ + sizeof(asn_DEF_CN_DomainIndicator_tags_1) + /sizeof(asn_DEF_CN_DomainIndicator_tags_1[0]), /* 1 */ + &asn_PER_type_CN_DomainIndicator_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CN_DomainIndicator_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/CN-DomainIndicator.h b/src/hnbap/CN-DomainIndicator.h new file mode 100644 index 0000000..854f375 --- /dev/null +++ b/src/hnbap/CN-DomainIndicator.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _CN_DomainIndicator_H_ +#define _CN_DomainIndicator_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CN_DomainIndicator { + CN_DomainIndicator_cs_domain = 0, + CN_DomainIndicator_ps_domain = 1 +} e_CN_DomainIndicator; + +/* CN-DomainIndicator */ +typedef long CN_DomainIndicator_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CN_DomainIndicator; +asn_struct_free_f CN_DomainIndicator_free; +asn_struct_print_f CN_DomainIndicator_print; +asn_constr_check_f CN_DomainIndicator_constraint; +ber_type_decoder_f CN_DomainIndicator_decode_ber; +der_type_encoder_f CN_DomainIndicator_encode_der; +xer_type_decoder_f CN_DomainIndicator_decode_xer; +xer_type_encoder_f CN_DomainIndicator_encode_xer; +per_type_decoder_f CN_DomainIndicator_decode_uper; +per_type_encoder_f CN_DomainIndicator_encode_uper; +per_type_decoder_f CN_DomainIndicator_decode_aper; +per_type_encoder_f CN_DomainIndicator_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CN_DomainIndicator_H_ */ +#include diff --git a/src/hnbap/CSG-Capability.c b/src/hnbap/CSG-Capability.c new file mode 100644 index 0000000..b07caeb --- /dev/null +++ b/src/hnbap/CSG-Capability.c @@ -0,0 +1,168 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "CSG-Capability.h" + +int +CSG_Capability_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +CSG_Capability_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +CSG_Capability_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + CSG_Capability_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +CSG_Capability_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + CSG_Capability_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +CSG_Capability_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + CSG_Capability_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +CSG_Capability_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + CSG_Capability_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +CSG_Capability_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + CSG_Capability_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +CSG_Capability_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + CSG_Capability_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +CSG_Capability_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CSG_Capability_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +CSG_Capability_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CSG_Capability_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +CSG_Capability_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CSG_Capability_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +CSG_Capability_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CSG_Capability_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_CSG_Capability_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_CSG_Capability_value2enum_1[] = { + { 0, 11, "csg-capable" }, + { 1, 15, "not-csg-capable" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_CSG_Capability_enum2value_1[] = { + 0, /* csg-capable(0) */ + 1 /* not-csg-capable(1) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_CSG_Capability_specs_1 = { + asn_MAP_CSG_Capability_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CSG_Capability_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CSG_Capability_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CSG_Capability = { + "CSG-Capability", + "CSG-Capability", + CSG_Capability_free, + CSG_Capability_print, + CSG_Capability_constraint, + CSG_Capability_decode_ber, + CSG_Capability_encode_der, + CSG_Capability_decode_xer, + CSG_Capability_encode_xer, + CSG_Capability_decode_uper, + CSG_Capability_encode_uper, + CSG_Capability_decode_aper, + CSG_Capability_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_CSG_Capability_tags_1, + sizeof(asn_DEF_CSG_Capability_tags_1) + /sizeof(asn_DEF_CSG_Capability_tags_1[0]), /* 1 */ + asn_DEF_CSG_Capability_tags_1, /* Same as above */ + sizeof(asn_DEF_CSG_Capability_tags_1) + /sizeof(asn_DEF_CSG_Capability_tags_1[0]), /* 1 */ + &asn_PER_type_CSG_Capability_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CSG_Capability_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/CSG-Capability.h b/src/hnbap/CSG-Capability.h new file mode 100644 index 0000000..f6df34d --- /dev/null +++ b/src/hnbap/CSG-Capability.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _CSG_Capability_H_ +#define _CSG_Capability_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CSG_Capability { + CSG_Capability_csg_capable = 0, + CSG_Capability_not_csg_capable = 1 + /* + * Enumeration is extensible + */ +} e_CSG_Capability; + +/* CSG-Capability */ +typedef long CSG_Capability_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CSG_Capability; +asn_struct_free_f CSG_Capability_free; +asn_struct_print_f CSG_Capability_print; +asn_constr_check_f CSG_Capability_constraint; +ber_type_decoder_f CSG_Capability_decode_ber; +der_type_encoder_f CSG_Capability_encode_der; +xer_type_decoder_f CSG_Capability_decode_xer; +xer_type_encoder_f CSG_Capability_encode_xer; +per_type_decoder_f CSG_Capability_decode_uper; +per_type_encoder_f CSG_Capability_encode_uper; +per_type_decoder_f CSG_Capability_decode_aper; +per_type_encoder_f CSG_Capability_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CSG_Capability_H_ */ +#include diff --git a/src/hnbap/CSG-ID.c b/src/hnbap/CSG-ID.c new file mode 100644 index 0000000..e7c2653 --- /dev/null +++ b/src/hnbap/CSG-ID.c @@ -0,0 +1,172 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "CSG-ID.h" + +int +CSG_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 27l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static void +CSG_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_BIT_STRING.free_struct; + td->print_struct = asn_DEF_BIT_STRING.print_struct; + td->check_constraints = asn_DEF_BIT_STRING.check_constraints; + td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; + td->der_encoder = asn_DEF_BIT_STRING.der_encoder; + td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; + td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; + td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; + td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; + td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; + td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_BIT_STRING.per_constraints; + td->elements = asn_DEF_BIT_STRING.elements; + td->elements_count = asn_DEF_BIT_STRING.elements_count; + td->specifics = asn_DEF_BIT_STRING.specifics; +} + +void +CSG_ID_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + CSG_ID_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +CSG_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + CSG_ID_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +CSG_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + CSG_ID_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +CSG_ID_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + CSG_ID_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +CSG_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + CSG_ID_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +CSG_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + CSG_ID_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +CSG_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CSG_ID_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +CSG_ID_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CSG_ID_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +CSG_ID_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CSG_ID_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +CSG_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CSG_ID_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_CSG_ID_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 27l, 27l } /* (SIZE(27..27)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_CSG_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CSG_ID = { + "CSG-ID", + "CSG-ID", + CSG_ID_free, + CSG_ID_print, + CSG_ID_constraint, + CSG_ID_decode_ber, + CSG_ID_encode_der, + CSG_ID_decode_xer, + CSG_ID_encode_xer, + CSG_ID_decode_uper, + CSG_ID_encode_uper, + CSG_ID_decode_aper, + CSG_ID_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_CSG_ID_tags_1, + sizeof(asn_DEF_CSG_ID_tags_1) + /sizeof(asn_DEF_CSG_ID_tags_1[0]), /* 1 */ + asn_DEF_CSG_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_CSG_ID_tags_1) + /sizeof(asn_DEF_CSG_ID_tags_1[0]), /* 1 */ + &asn_PER_type_CSG_ID_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/CSG-ID.h b/src/hnbap/CSG-ID.h new file mode 100644 index 0000000..dfffa81 --- /dev/null +++ b/src/hnbap/CSG-ID.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _CSG_ID_H_ +#define _CSG_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* CSG-ID */ +typedef BIT_STRING_t CSG_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CSG_ID; +asn_struct_free_f CSG_ID_free; +asn_struct_print_f CSG_ID_print; +asn_constr_check_f CSG_ID_constraint; +ber_type_decoder_f CSG_ID_decode_ber; +der_type_encoder_f CSG_ID_encode_der; +xer_type_decoder_f CSG_ID_decode_xer; +xer_type_encoder_f CSG_ID_encode_xer; +per_type_decoder_f CSG_ID_decode_uper; +per_type_encoder_f CSG_ID_encode_uper; +per_type_decoder_f CSG_ID_decode_aper; +per_type_encoder_f CSG_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CSG_ID_H_ */ +#include diff --git a/src/hnbap/CSGMembershipStatus.c b/src/hnbap/CSGMembershipStatus.c new file mode 100644 index 0000000..32abdca --- /dev/null +++ b/src/hnbap/CSGMembershipStatus.c @@ -0,0 +1,168 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "CSGMembershipStatus.h" + +int +CSGMembershipStatus_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +CSGMembershipStatus_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +CSGMembershipStatus_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + CSGMembershipStatus_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +CSGMembershipStatus_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + CSGMembershipStatus_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +CSGMembershipStatus_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + CSGMembershipStatus_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +CSGMembershipStatus_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + CSGMembershipStatus_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +CSGMembershipStatus_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + CSGMembershipStatus_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +CSGMembershipStatus_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + CSGMembershipStatus_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +CSGMembershipStatus_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CSGMembershipStatus_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +CSGMembershipStatus_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CSGMembershipStatus_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +CSGMembershipStatus_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CSGMembershipStatus_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +CSGMembershipStatus_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CSGMembershipStatus_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_CSGMembershipStatus_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_CSGMembershipStatus_value2enum_1[] = { + { 0, 6, "member" }, + { 1, 10, "non-member" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_CSGMembershipStatus_enum2value_1[] = { + 0, /* member(0) */ + 1 /* non-member(1) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_CSGMembershipStatus_specs_1 = { + asn_MAP_CSGMembershipStatus_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CSGMembershipStatus_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CSGMembershipStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CSGMembershipStatus = { + "CSGMembershipStatus", + "CSGMembershipStatus", + CSGMembershipStatus_free, + CSGMembershipStatus_print, + CSGMembershipStatus_constraint, + CSGMembershipStatus_decode_ber, + CSGMembershipStatus_encode_der, + CSGMembershipStatus_decode_xer, + CSGMembershipStatus_encode_xer, + CSGMembershipStatus_decode_uper, + CSGMembershipStatus_encode_uper, + CSGMembershipStatus_decode_aper, + CSGMembershipStatus_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_CSGMembershipStatus_tags_1, + sizeof(asn_DEF_CSGMembershipStatus_tags_1) + /sizeof(asn_DEF_CSGMembershipStatus_tags_1[0]), /* 1 */ + asn_DEF_CSGMembershipStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_CSGMembershipStatus_tags_1) + /sizeof(asn_DEF_CSGMembershipStatus_tags_1[0]), /* 1 */ + &asn_PER_type_CSGMembershipStatus_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CSGMembershipStatus_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/CSGMembershipStatus.h b/src/hnbap/CSGMembershipStatus.h new file mode 100644 index 0000000..5f7e88c --- /dev/null +++ b/src/hnbap/CSGMembershipStatus.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _CSGMembershipStatus_H_ +#define _CSGMembershipStatus_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CSGMembershipStatus { + CSGMembershipStatus_member = 0, + CSGMembershipStatus_non_member = 1 + /* + * Enumeration is extensible + */ +} e_CSGMembershipStatus; + +/* CSGMembershipStatus */ +typedef long CSGMembershipStatus_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CSGMembershipStatus; +asn_struct_free_f CSGMembershipStatus_free; +asn_struct_print_f CSGMembershipStatus_print; +asn_constr_check_f CSGMembershipStatus_constraint; +ber_type_decoder_f CSGMembershipStatus_decode_ber; +der_type_encoder_f CSGMembershipStatus_encode_der; +xer_type_decoder_f CSGMembershipStatus_decode_xer; +xer_type_encoder_f CSGMembershipStatus_encode_xer; +per_type_decoder_f CSGMembershipStatus_decode_uper; +per_type_encoder_f CSGMembershipStatus_encode_uper; +per_type_decoder_f CSGMembershipStatus_decode_aper; +per_type_encoder_f CSGMembershipStatus_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CSGMembershipStatus_H_ */ +#include diff --git a/src/hnbap/CSGMembershipUpdate.c b/src/hnbap/CSGMembershipUpdate.c new file mode 100644 index 0000000..bb5f940 --- /dev/null +++ b/src/hnbap/CSGMembershipUpdate.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "CSGMembershipUpdate.h" + +static int +memb_csgMembershipUpdate_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_csgMembershipUpdate_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_csgMembershipUpdate_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_csgMembershipUpdate_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_csgMembershipUpdate_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_csgMembershipUpdate_ies_specs_2 = { + sizeof(struct csgMembershipUpdate_ies), + offsetof(struct csgMembershipUpdate_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_csgMembershipUpdate_ies_2 = { + "csgMembershipUpdate-ies", + "csgMembershipUpdate-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_csgMembershipUpdate_ies_tags_2, + sizeof(asn_DEF_csgMembershipUpdate_ies_tags_2) + /sizeof(asn_DEF_csgMembershipUpdate_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_csgMembershipUpdate_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_csgMembershipUpdate_ies_tags_2) + /sizeof(asn_DEF_csgMembershipUpdate_ies_tags_2[0]), /* 2 */ + &asn_PER_type_csgMembershipUpdate_ies_constr_2, + asn_MBR_csgMembershipUpdate_ies_2, + 1, /* Single element */ + &asn_SPC_csgMembershipUpdate_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_CSGMembershipUpdate_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CSGMembershipUpdate, csgMembershipUpdate_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_csgMembershipUpdate_ies_2, + memb_csgMembershipUpdate_ies_constraint_1, + &asn_PER_memb_csgMembershipUpdate_ies_constr_2, + 0, + "csgMembershipUpdate-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_CSGMembershipUpdate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CSGMembershipUpdate_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* csgMembershipUpdate-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_CSGMembershipUpdate_specs_1 = { + sizeof(struct CSGMembershipUpdate), + offsetof(struct CSGMembershipUpdate, _asn_ctx), + asn_MAP_CSGMembershipUpdate_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_CSGMembershipUpdate = { + "CSGMembershipUpdate", + "CSGMembershipUpdate", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_CSGMembershipUpdate_tags_1, + sizeof(asn_DEF_CSGMembershipUpdate_tags_1) + /sizeof(asn_DEF_CSGMembershipUpdate_tags_1[0]), /* 1 */ + asn_DEF_CSGMembershipUpdate_tags_1, /* Same as above */ + sizeof(asn_DEF_CSGMembershipUpdate_tags_1) + /sizeof(asn_DEF_CSGMembershipUpdate_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_CSGMembershipUpdate_1, + 1, /* Elements count */ + &asn_SPC_CSGMembershipUpdate_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/CSGMembershipUpdate.h b/src/hnbap/CSGMembershipUpdate.h new file mode 100644 index 0000000..30fd770 --- /dev/null +++ b/src/hnbap/CSGMembershipUpdate.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _CSGMembershipUpdate_H_ +#define _CSGMembershipUpdate_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* CSGMembershipUpdate */ +typedef struct CSGMembershipUpdate { + struct csgMembershipUpdate_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } csgMembershipUpdate_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CSGMembershipUpdate_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CSGMembershipUpdate; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _CSGMembershipUpdate_H_ */ +#include diff --git a/src/hnbap/Cause.c b/src/hnbap/Cause.c new file mode 100644 index 0000000..0dd34e3 --- /dev/null +++ b/src/hnbap/Cause.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "Cause.h" + +static asn_per_constraints_t asn_PER_type_Cause_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 3l } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_Cause_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Cause, choice.radioNetwork), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CauseRadioNetwork, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "radioNetwork" + }, + { ATF_NOFLAGS, 0, offsetof(struct Cause, choice.transport), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CauseTransport, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "transport" + }, + { ATF_NOFLAGS, 0, offsetof(struct Cause, choice.protocol), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CauseProtocol, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "protocol" + }, + { ATF_NOFLAGS, 0, offsetof(struct Cause, choice.misc), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CauseMisc, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "misc" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Cause_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* radioNetwork */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transport */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* protocol */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* misc */ +}; +static asn_CHOICE_specifics_t asn_SPC_Cause_specs_1 = { + sizeof(struct Cause), + offsetof(struct Cause, _asn_ctx), + offsetof(struct Cause, present), + sizeof(((struct Cause *)0)->present), + asn_MAP_Cause_tag2el_1, + 4, /* Count of tags in the map */ + 0, + 4 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Cause = { + "Cause", + "Cause", + CHOICE_free, + CHOICE_print, + CHOICE_constraint, + CHOICE_decode_ber, + CHOICE_encode_der, + CHOICE_decode_xer, + CHOICE_encode_xer, + CHOICE_decode_uper, + CHOICE_encode_uper, + CHOICE_decode_aper, + CHOICE_encode_aper, + CHOICE_outmost_tag, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + &asn_PER_type_Cause_constr_1, + asn_MBR_Cause_1, + 4, /* Elements count */ + &asn_SPC_Cause_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/Cause.h b/src/hnbap/Cause.h new file mode 100644 index 0000000..9802bf6 --- /dev/null +++ b/src/hnbap/Cause.h @@ -0,0 +1,62 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _Cause_H_ +#define _Cause_H_ + + +#include + +/* Including external dependencies */ +#include "CauseRadioNetwork.h" +#include "CauseTransport.h" +#include "CauseProtocol.h" +#include "CauseMisc.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Cause_PR { + Cause_PR_NOTHING, /* No components present */ + Cause_PR_radioNetwork, + Cause_PR_transport, + Cause_PR_protocol, + Cause_PR_misc, + /* Extensions may appear below */ + +} Cause_PR; + +/* Cause */ +typedef struct Cause { + Cause_PR present; + union Cause_u { + CauseRadioNetwork_t radioNetwork; + CauseTransport_t transport; + CauseProtocol_t protocol; + CauseMisc_t misc; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Cause_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Cause; + +#ifdef __cplusplus +} +#endif + +#endif /* _Cause_H_ */ +#include diff --git a/src/hnbap/CauseMisc.c b/src/hnbap/CauseMisc.c new file mode 100644 index 0000000..47b1a6f --- /dev/null +++ b/src/hnbap/CauseMisc.c @@ -0,0 +1,172 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "CauseMisc.h" + +int +CauseMisc_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +CauseMisc_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +CauseMisc_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + CauseMisc_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +CauseMisc_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + CauseMisc_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +CauseMisc_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + CauseMisc_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +CauseMisc_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + CauseMisc_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +CauseMisc_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + CauseMisc_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +CauseMisc_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + CauseMisc_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +CauseMisc_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CauseMisc_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +CauseMisc_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CauseMisc_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +CauseMisc_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CauseMisc_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +CauseMisc_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CauseMisc_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_CauseMisc_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 3l } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_CauseMisc_value2enum_1[] = { + { 0, 19, "processing-overload" }, + { 1, 16, "hardware-failure" }, + { 2, 20, "o-and-m-intervention" }, + { 3, 11, "unspecified" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_CauseMisc_enum2value_1[] = { + 1, /* hardware-failure(1) */ + 2, /* o-and-m-intervention(2) */ + 0, /* processing-overload(0) */ + 3 /* unspecified(3) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_CauseMisc_specs_1 = { + asn_MAP_CauseMisc_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CauseMisc_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CauseMisc_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CauseMisc = { + "CauseMisc", + "CauseMisc", + CauseMisc_free, + CauseMisc_print, + CauseMisc_constraint, + CauseMisc_decode_ber, + CauseMisc_encode_der, + CauseMisc_decode_xer, + CauseMisc_encode_xer, + CauseMisc_decode_uper, + CauseMisc_encode_uper, + CauseMisc_decode_aper, + CauseMisc_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_CauseMisc_tags_1, + sizeof(asn_DEF_CauseMisc_tags_1) + /sizeof(asn_DEF_CauseMisc_tags_1[0]), /* 1 */ + asn_DEF_CauseMisc_tags_1, /* Same as above */ + sizeof(asn_DEF_CauseMisc_tags_1) + /sizeof(asn_DEF_CauseMisc_tags_1[0]), /* 1 */ + &asn_PER_type_CauseMisc_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CauseMisc_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/CauseMisc.h b/src/hnbap/CauseMisc.h new file mode 100644 index 0000000..7863364 --- /dev/null +++ b/src/hnbap/CauseMisc.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _CauseMisc_H_ +#define _CauseMisc_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CauseMisc { + CauseMisc_processing_overload = 0, + CauseMisc_hardware_failure = 1, + CauseMisc_o_and_m_intervention = 2, + CauseMisc_unspecified = 3 + /* + * Enumeration is extensible + */ +} e_CauseMisc; + +/* CauseMisc */ +typedef long CauseMisc_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CauseMisc; +asn_struct_free_f CauseMisc_free; +asn_struct_print_f CauseMisc_print; +asn_constr_check_f CauseMisc_constraint; +ber_type_decoder_f CauseMisc_decode_ber; +der_type_encoder_f CauseMisc_encode_der; +xer_type_decoder_f CauseMisc_decode_xer; +xer_type_encoder_f CauseMisc_encode_xer; +per_type_decoder_f CauseMisc_decode_uper; +per_type_encoder_f CauseMisc_encode_uper; +per_type_decoder_f CauseMisc_decode_aper; +per_type_encoder_f CauseMisc_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CauseMisc_H_ */ +#include diff --git a/src/hnbap/CauseProtocol.c b/src/hnbap/CauseProtocol.c new file mode 100644 index 0000000..dee71e1 --- /dev/null +++ b/src/hnbap/CauseProtocol.c @@ -0,0 +1,178 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "CauseProtocol.h" + +int +CauseProtocol_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +CauseProtocol_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +CauseProtocol_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + CauseProtocol_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +CauseProtocol_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + CauseProtocol_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +CauseProtocol_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + CauseProtocol_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +CauseProtocol_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + CauseProtocol_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +CauseProtocol_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + CauseProtocol_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +CauseProtocol_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + CauseProtocol_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +CauseProtocol_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CauseProtocol_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +CauseProtocol_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CauseProtocol_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +CauseProtocol_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CauseProtocol_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +CauseProtocol_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CauseProtocol_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_CauseProtocol_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 6l } /* (0..6,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_CauseProtocol_value2enum_1[] = { + { 0, 21, "transfer-syntax-error" }, + { 1, 28, "abstract-syntax-error-reject" }, + { 2, 39, "abstract-syntax-error-ignore-and-notify" }, + { 3, 42, "message-not-compatible-with-receiver-state" }, + { 4, 14, "semantic-error" }, + { 5, 11, "unspecified" }, + { 6, 49, "abstract-syntax-error-falsely-constructed-message" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_CauseProtocol_enum2value_1[] = { + 6, /* abstract-syntax-error-falsely-constructed-message(6) */ + 2, /* abstract-syntax-error-ignore-and-notify(2) */ + 1, /* abstract-syntax-error-reject(1) */ + 3, /* message-not-compatible-with-receiver-state(3) */ + 4, /* semantic-error(4) */ + 0, /* transfer-syntax-error(0) */ + 5 /* unspecified(5) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_CauseProtocol_specs_1 = { + asn_MAP_CauseProtocol_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CauseProtocol_enum2value_1, /* N => "tag"; sorted by N */ + 7, /* Number of elements in the maps */ + 8, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CauseProtocol_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CauseProtocol = { + "CauseProtocol", + "CauseProtocol", + CauseProtocol_free, + CauseProtocol_print, + CauseProtocol_constraint, + CauseProtocol_decode_ber, + CauseProtocol_encode_der, + CauseProtocol_decode_xer, + CauseProtocol_encode_xer, + CauseProtocol_decode_uper, + CauseProtocol_encode_uper, + CauseProtocol_decode_aper, + CauseProtocol_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_CauseProtocol_tags_1, + sizeof(asn_DEF_CauseProtocol_tags_1) + /sizeof(asn_DEF_CauseProtocol_tags_1[0]), /* 1 */ + asn_DEF_CauseProtocol_tags_1, /* Same as above */ + sizeof(asn_DEF_CauseProtocol_tags_1) + /sizeof(asn_DEF_CauseProtocol_tags_1[0]), /* 1 */ + &asn_PER_type_CauseProtocol_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CauseProtocol_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/CauseProtocol.h b/src/hnbap/CauseProtocol.h new file mode 100644 index 0000000..1dc187c --- /dev/null +++ b/src/hnbap/CauseProtocol.h @@ -0,0 +1,57 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _CauseProtocol_H_ +#define _CauseProtocol_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CauseProtocol { + CauseProtocol_transfer_syntax_error = 0, + CauseProtocol_abstract_syntax_error_reject = 1, + CauseProtocol_abstract_syntax_error_ignore_and_notify = 2, + CauseProtocol_message_not_compatible_with_receiver_state = 3, + CauseProtocol_semantic_error = 4, + CauseProtocol_unspecified = 5, + CauseProtocol_abstract_syntax_error_falsely_constructed_message = 6 + /* + * Enumeration is extensible + */ +} e_CauseProtocol; + +/* CauseProtocol */ +typedef long CauseProtocol_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CauseProtocol; +asn_struct_free_f CauseProtocol_free; +asn_struct_print_f CauseProtocol_print; +asn_constr_check_f CauseProtocol_constraint; +ber_type_decoder_f CauseProtocol_decode_ber; +der_type_encoder_f CauseProtocol_encode_der; +xer_type_decoder_f CauseProtocol_decode_xer; +xer_type_encoder_f CauseProtocol_encode_xer; +per_type_decoder_f CauseProtocol_decode_uper; +per_type_encoder_f CauseProtocol_encode_uper; +per_type_decoder_f CauseProtocol_decode_aper; +per_type_encoder_f CauseProtocol_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CauseProtocol_H_ */ +#include diff --git a/src/hnbap/CauseRadioNetwork.c b/src/hnbap/CauseRadioNetwork.c new file mode 100644 index 0000000..54a6dbf --- /dev/null +++ b/src/hnbap/CauseRadioNetwork.c @@ -0,0 +1,196 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "CauseRadioNetwork.h" + +int +CauseRadioNetwork_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +CauseRadioNetwork_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +CauseRadioNetwork_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + CauseRadioNetwork_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +CauseRadioNetwork_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + CauseRadioNetwork_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +CauseRadioNetwork_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + CauseRadioNetwork_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +CauseRadioNetwork_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + CauseRadioNetwork_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +CauseRadioNetwork_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + CauseRadioNetwork_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +CauseRadioNetwork_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + CauseRadioNetwork_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +CauseRadioNetwork_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CauseRadioNetwork_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +CauseRadioNetwork_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CauseRadioNetwork_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +CauseRadioNetwork_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CauseRadioNetwork_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +CauseRadioNetwork_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CauseRadioNetwork_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_CauseRadioNetwork_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0l, 13l } /* (0..13,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_CauseRadioNetwork_value2enum_1[] = { + { 0, 8, "overload" }, + { 1, 21, "unauthorised-Location" }, + { 2, 16, "unauthorised-HNB" }, + { 3, 22, "hNB-parameter-mismatch" }, + { 4, 19, "invalid-UE-identity" }, + { 5, 26, "uE-not-allowed-on-this-HNB" }, + { 6, 15, "uE-unauthorised" }, + { 7, 23, "connection-with-UE-lost" }, + { 8, 14, "ue-RRC-release" }, + { 9, 18, "hNB-not-registered" }, + { 10, 11, "unspecified" }, + { 11, 6, "normal" }, + { 12, 12, "uE-relocated" }, + { 13, 28, "ue-registered-in-another-HNB" }, + { 14, 34, "no-neighbour-information-available" }, + { 15, 45, "iurh-connection-to-that-neighbour-not-Allowed" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_CauseRadioNetwork_enum2value_1[] = { + 7, /* connection-with-UE-lost(7) */ + 9, /* hNB-not-registered(9) */ + 3, /* hNB-parameter-mismatch(3) */ + 4, /* invalid-UE-identity(4) */ + 15, /* iurh-connection-to-that-neighbour-not-Allowed(15) */ + 14, /* no-neighbour-information-available(14) */ + 11, /* normal(11) */ + 0, /* overload(0) */ + 5, /* uE-not-allowed-on-this-HNB(5) */ + 12, /* uE-relocated(12) */ + 6, /* uE-unauthorised(6) */ + 8, /* ue-RRC-release(8) */ + 13, /* ue-registered-in-another-HNB(13) */ + 2, /* unauthorised-HNB(2) */ + 1, /* unauthorised-Location(1) */ + 10 /* unspecified(10) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_CauseRadioNetwork_specs_1 = { + asn_MAP_CauseRadioNetwork_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CauseRadioNetwork_enum2value_1, /* N => "tag"; sorted by N */ + 16, /* Number of elements in the maps */ + 15, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CauseRadioNetwork_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CauseRadioNetwork = { + "CauseRadioNetwork", + "CauseRadioNetwork", + CauseRadioNetwork_free, + CauseRadioNetwork_print, + CauseRadioNetwork_constraint, + CauseRadioNetwork_decode_ber, + CauseRadioNetwork_encode_der, + CauseRadioNetwork_decode_xer, + CauseRadioNetwork_encode_xer, + CauseRadioNetwork_decode_uper, + CauseRadioNetwork_encode_uper, + CauseRadioNetwork_decode_aper, + CauseRadioNetwork_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_CauseRadioNetwork_tags_1, + sizeof(asn_DEF_CauseRadioNetwork_tags_1) + /sizeof(asn_DEF_CauseRadioNetwork_tags_1[0]), /* 1 */ + asn_DEF_CauseRadioNetwork_tags_1, /* Same as above */ + sizeof(asn_DEF_CauseRadioNetwork_tags_1) + /sizeof(asn_DEF_CauseRadioNetwork_tags_1[0]), /* 1 */ + &asn_PER_type_CauseRadioNetwork_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CauseRadioNetwork_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/CauseRadioNetwork.h b/src/hnbap/CauseRadioNetwork.h new file mode 100644 index 0000000..54d8b50 --- /dev/null +++ b/src/hnbap/CauseRadioNetwork.h @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _CauseRadioNetwork_H_ +#define _CauseRadioNetwork_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CauseRadioNetwork { + CauseRadioNetwork_overload = 0, + CauseRadioNetwork_unauthorised_Location = 1, + CauseRadioNetwork_unauthorised_HNB = 2, + CauseRadioNetwork_hNB_parameter_mismatch = 3, + CauseRadioNetwork_invalid_UE_identity = 4, + CauseRadioNetwork_uE_not_allowed_on_this_HNB = 5, + CauseRadioNetwork_uE_unauthorised = 6, + CauseRadioNetwork_connection_with_UE_lost = 7, + CauseRadioNetwork_ue_RRC_release = 8, + CauseRadioNetwork_hNB_not_registered = 9, + CauseRadioNetwork_unspecified = 10, + CauseRadioNetwork_normal = 11, + CauseRadioNetwork_uE_relocated = 12, + CauseRadioNetwork_ue_registered_in_another_HNB = 13, + /* + * Enumeration is extensible + */ + CauseRadioNetwork_no_neighbour_information_available = 14, + CauseRadioNetwork_iurh_connection_to_that_neighbour_not_Allowed = 15 +} e_CauseRadioNetwork; + +/* CauseRadioNetwork */ +typedef long CauseRadioNetwork_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CauseRadioNetwork; +asn_struct_free_f CauseRadioNetwork_free; +asn_struct_print_f CauseRadioNetwork_print; +asn_constr_check_f CauseRadioNetwork_constraint; +ber_type_decoder_f CauseRadioNetwork_decode_ber; +der_type_encoder_f CauseRadioNetwork_encode_der; +xer_type_decoder_f CauseRadioNetwork_decode_xer; +xer_type_encoder_f CauseRadioNetwork_encode_xer; +per_type_decoder_f CauseRadioNetwork_decode_uper; +per_type_encoder_f CauseRadioNetwork_encode_uper; +per_type_decoder_f CauseRadioNetwork_decode_aper; +per_type_encoder_f CauseRadioNetwork_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CauseRadioNetwork_H_ */ +#include diff --git a/src/hnbap/CauseTransport.c b/src/hnbap/CauseTransport.c new file mode 100644 index 0000000..835b182 --- /dev/null +++ b/src/hnbap/CauseTransport.c @@ -0,0 +1,168 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "CauseTransport.h" + +int +CauseTransport_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +CauseTransport_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +CauseTransport_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + CauseTransport_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +CauseTransport_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + CauseTransport_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +CauseTransport_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + CauseTransport_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +CauseTransport_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + CauseTransport_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +CauseTransport_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + CauseTransport_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +CauseTransport_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + CauseTransport_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +CauseTransport_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CauseTransport_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +CauseTransport_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CauseTransport_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +CauseTransport_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CauseTransport_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +CauseTransport_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CauseTransport_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_CauseTransport_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_CauseTransport_value2enum_1[] = { + { 0, 30, "transport-resource-unavailable" }, + { 1, 11, "unspecified" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_CauseTransport_enum2value_1[] = { + 0, /* transport-resource-unavailable(0) */ + 1 /* unspecified(1) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_CauseTransport_specs_1 = { + asn_MAP_CauseTransport_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CauseTransport_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CauseTransport_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CauseTransport = { + "CauseTransport", + "CauseTransport", + CauseTransport_free, + CauseTransport_print, + CauseTransport_constraint, + CauseTransport_decode_ber, + CauseTransport_encode_der, + CauseTransport_decode_xer, + CauseTransport_encode_xer, + CauseTransport_decode_uper, + CauseTransport_encode_uper, + CauseTransport_decode_aper, + CauseTransport_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_CauseTransport_tags_1, + sizeof(asn_DEF_CauseTransport_tags_1) + /sizeof(asn_DEF_CauseTransport_tags_1[0]), /* 1 */ + asn_DEF_CauseTransport_tags_1, /* Same as above */ + sizeof(asn_DEF_CauseTransport_tags_1) + /sizeof(asn_DEF_CauseTransport_tags_1[0]), /* 1 */ + &asn_PER_type_CauseTransport_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CauseTransport_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/CauseTransport.h b/src/hnbap/CauseTransport.h new file mode 100644 index 0000000..ea445e9 --- /dev/null +++ b/src/hnbap/CauseTransport.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _CauseTransport_H_ +#define _CauseTransport_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum CauseTransport { + CauseTransport_transport_resource_unavailable = 0, + CauseTransport_unspecified = 1 + /* + * Enumeration is extensible + */ +} e_CauseTransport; + +/* CauseTransport */ +typedef long CauseTransport_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CauseTransport; +asn_struct_free_f CauseTransport_free; +asn_struct_print_f CauseTransport_print; +asn_constr_check_f CauseTransport_constraint; +ber_type_decoder_f CauseTransport_decode_ber; +der_type_encoder_f CauseTransport_encode_der; +xer_type_decoder_f CauseTransport_decode_xer; +xer_type_encoder_f CauseTransport_encode_xer; +per_type_decoder_f CauseTransport_decode_uper; +per_type_encoder_f CauseTransport_encode_uper; +per_type_decoder_f CauseTransport_decode_aper; +per_type_encoder_f CauseTransport_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CauseTransport_H_ */ +#include diff --git a/src/hnbap/CellIdentity.c b/src/hnbap/CellIdentity.c new file mode 100644 index 0000000..8357943 --- /dev/null +++ b/src/hnbap/CellIdentity.c @@ -0,0 +1,172 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "CellIdentity.h" + +int +CellIdentity_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 28l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static void +CellIdentity_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_BIT_STRING.free_struct; + td->print_struct = asn_DEF_BIT_STRING.print_struct; + td->check_constraints = asn_DEF_BIT_STRING.check_constraints; + td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; + td->der_encoder = asn_DEF_BIT_STRING.der_encoder; + td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; + td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; + td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; + td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; + td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; + td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_BIT_STRING.per_constraints; + td->elements = asn_DEF_BIT_STRING.elements; + td->elements_count = asn_DEF_BIT_STRING.elements_count; + td->specifics = asn_DEF_BIT_STRING.specifics; +} + +void +CellIdentity_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + CellIdentity_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +CellIdentity_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + CellIdentity_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +CellIdentity_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + CellIdentity_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +CellIdentity_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + CellIdentity_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +CellIdentity_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + CellIdentity_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +CellIdentity_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + CellIdentity_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +CellIdentity_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CellIdentity_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +CellIdentity_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CellIdentity_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +CellIdentity_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + CellIdentity_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +CellIdentity_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + CellIdentity_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_CellIdentity_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 28l, 28l } /* (SIZE(28..28)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_CellIdentity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CellIdentity = { + "CellIdentity", + "CellIdentity", + CellIdentity_free, + CellIdentity_print, + CellIdentity_constraint, + CellIdentity_decode_ber, + CellIdentity_encode_der, + CellIdentity_decode_xer, + CellIdentity_encode_xer, + CellIdentity_decode_uper, + CellIdentity_encode_uper, + CellIdentity_decode_aper, + CellIdentity_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_CellIdentity_tags_1, + sizeof(asn_DEF_CellIdentity_tags_1) + /sizeof(asn_DEF_CellIdentity_tags_1[0]), /* 1 */ + asn_DEF_CellIdentity_tags_1, /* Same as above */ + sizeof(asn_DEF_CellIdentity_tags_1) + /sizeof(asn_DEF_CellIdentity_tags_1[0]), /* 1 */ + &asn_PER_type_CellIdentity_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/CellIdentity.h b/src/hnbap/CellIdentity.h new file mode 100644 index 0000000..69b1688 --- /dev/null +++ b/src/hnbap/CellIdentity.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _CellIdentity_H_ +#define _CellIdentity_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* CellIdentity */ +typedef BIT_STRING_t CellIdentity_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CellIdentity; +asn_struct_free_f CellIdentity_free; +asn_struct_print_f CellIdentity_print; +asn_constr_check_f CellIdentity_constraint; +ber_type_decoder_f CellIdentity_decode_ber; +der_type_encoder_f CellIdentity_encode_der; +xer_type_decoder_f CellIdentity_decode_xer; +xer_type_encoder_f CellIdentity_encode_xer; +per_type_decoder_f CellIdentity_decode_uper; +per_type_encoder_f CellIdentity_encode_uper; +per_type_decoder_f CellIdentity_decode_aper; +per_type_encoder_f CellIdentity_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _CellIdentity_H_ */ +#include diff --git a/src/hnbap/ConfigurationInformation.c b/src/hnbap/ConfigurationInformation.c new file mode 100644 index 0000000..f04f125 --- /dev/null +++ b/src/hnbap/ConfigurationInformation.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "ConfigurationInformation.h" + +static asn_per_constraints_t asn_PER_type_ConfigurationInformation_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ConfigurationInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ConfigurationInformation, choice.provided), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HNBConfigurationInformationProvided, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "provided" + }, + { ATF_NOFLAGS, 0, offsetof(struct ConfigurationInformation, choice.missing), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HNBConfigurationInformationMissing, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "missing" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ConfigurationInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* provided */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* missing */ +}; +static asn_CHOICE_specifics_t asn_SPC_ConfigurationInformation_specs_1 = { + sizeof(struct ConfigurationInformation), + offsetof(struct ConfigurationInformation, _asn_ctx), + offsetof(struct ConfigurationInformation, present), + sizeof(((struct ConfigurationInformation *)0)->present), + asn_MAP_ConfigurationInformation_tag2el_1, + 2, /* Count of tags in the map */ + 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ConfigurationInformation = { + "ConfigurationInformation", + "ConfigurationInformation", + CHOICE_free, + CHOICE_print, + CHOICE_constraint, + CHOICE_decode_ber, + CHOICE_encode_der, + CHOICE_decode_xer, + CHOICE_encode_xer, + CHOICE_decode_uper, + CHOICE_encode_uper, + CHOICE_decode_aper, + CHOICE_encode_aper, + CHOICE_outmost_tag, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + &asn_PER_type_ConfigurationInformation_constr_1, + asn_MBR_ConfigurationInformation_1, + 2, /* Elements count */ + &asn_SPC_ConfigurationInformation_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/ConfigurationInformation.h b/src/hnbap/ConfigurationInformation.h new file mode 100644 index 0000000..347f5d2 --- /dev/null +++ b/src/hnbap/ConfigurationInformation.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _ConfigurationInformation_H_ +#define _ConfigurationInformation_H_ + + +#include + +/* Including external dependencies */ +#include "HNBConfigurationInformationProvided.h" +#include "HNBConfigurationInformationMissing.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ConfigurationInformation_PR { + ConfigurationInformation_PR_NOTHING, /* No components present */ + ConfigurationInformation_PR_provided, + ConfigurationInformation_PR_missing, + /* Extensions may appear below */ + +} ConfigurationInformation_PR; + +/* ConfigurationInformation */ +typedef struct ConfigurationInformation { + ConfigurationInformation_PR present; + union ConfigurationInformation_u { + HNBConfigurationInformationProvided_t provided; + HNBConfigurationInformationMissing_t missing; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ConfigurationInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ConfigurationInformation; + +#ifdef __cplusplus +} +#endif + +#endif /* _ConfigurationInformation_H_ */ +#include diff --git a/src/hnbap/Context-ID.c b/src/hnbap/Context-ID.c new file mode 100644 index 0000000..62820ae --- /dev/null +++ b/src/hnbap/Context-ID.c @@ -0,0 +1,172 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "Context-ID.h" + +int +Context_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 24l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static void +Context_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_BIT_STRING.free_struct; + td->print_struct = asn_DEF_BIT_STRING.print_struct; + td->check_constraints = asn_DEF_BIT_STRING.check_constraints; + td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; + td->der_encoder = asn_DEF_BIT_STRING.der_encoder; + td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; + td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; + td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; + td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; + td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; + td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_BIT_STRING.per_constraints; + td->elements = asn_DEF_BIT_STRING.elements; + td->elements_count = asn_DEF_BIT_STRING.elements_count; + td->specifics = asn_DEF_BIT_STRING.specifics; +} + +void +Context_ID_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + Context_ID_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +Context_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + Context_ID_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +Context_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + Context_ID_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +Context_ID_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + Context_ID_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +Context_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + Context_ID_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +Context_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + Context_ID_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +Context_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + Context_ID_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +Context_ID_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + Context_ID_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +Context_ID_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + Context_ID_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +Context_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + Context_ID_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_Context_ID_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 24l, 24l } /* (SIZE(24..24)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_Context_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Context_ID = { + "Context-ID", + "Context-ID", + Context_ID_free, + Context_ID_print, + Context_ID_constraint, + Context_ID_decode_ber, + Context_ID_encode_der, + Context_ID_decode_xer, + Context_ID_encode_xer, + Context_ID_decode_uper, + Context_ID_encode_uper, + Context_ID_decode_aper, + Context_ID_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_Context_ID_tags_1, + sizeof(asn_DEF_Context_ID_tags_1) + /sizeof(asn_DEF_Context_ID_tags_1[0]), /* 1 */ + asn_DEF_Context_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_Context_ID_tags_1) + /sizeof(asn_DEF_Context_ID_tags_1[0]), /* 1 */ + &asn_PER_type_Context_ID_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/Context-ID.h b/src/hnbap/Context-ID.h new file mode 100644 index 0000000..89ba4e6 --- /dev/null +++ b/src/hnbap/Context-ID.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _Context_ID_H_ +#define _Context_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Context-ID */ +typedef BIT_STRING_t Context_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Context_ID; +asn_struct_free_f Context_ID_free; +asn_struct_print_f Context_ID_print; +asn_constr_check_f Context_ID_constraint; +ber_type_decoder_f Context_ID_decode_ber; +der_type_encoder_f Context_ID_encode_der; +xer_type_decoder_f Context_ID_decode_xer; +xer_type_encoder_f Context_ID_encode_xer; +per_type_decoder_f Context_ID_decode_uper; +per_type_encoder_f Context_ID_encode_uper; +per_type_decoder_f Context_ID_decode_aper; +per_type_encoder_f Context_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Context_ID_H_ */ +#include diff --git a/src/hnbap/Criticality.c b/src/hnbap/Criticality.c new file mode 100644 index 0000000..56f5640 --- /dev/null +++ b/src/hnbap/Criticality.c @@ -0,0 +1,168 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-CommonDataTypes" + * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" + * `asn1c -gen-PER` + */ + +#include "Criticality.h" + +int +Criticality_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +Criticality_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +Criticality_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + Criticality_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +Criticality_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + Criticality_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +Criticality_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + Criticality_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +Criticality_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + Criticality_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +Criticality_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + Criticality_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +Criticality_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + Criticality_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +Criticality_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + Criticality_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +Criticality_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + Criticality_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +Criticality_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + Criticality_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +Criticality_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + Criticality_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_Criticality_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0l, 2l } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_Criticality_value2enum_1[] = { + { 0, 6, "reject" }, + { 1, 6, "ignore" }, + { 2, 6, "notify" } +}; +static const unsigned int asn_MAP_Criticality_enum2value_1[] = { + 1, /* ignore(1) */ + 2, /* notify(2) */ + 0 /* reject(0) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_Criticality_specs_1 = { + asn_MAP_Criticality_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Criticality_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Criticality_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Criticality = { + "Criticality", + "Criticality", + Criticality_free, + Criticality_print, + Criticality_constraint, + Criticality_decode_ber, + Criticality_encode_der, + Criticality_decode_xer, + Criticality_encode_xer, + Criticality_decode_uper, + Criticality_encode_uper, + Criticality_decode_aper, + Criticality_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_Criticality_tags_1, + sizeof(asn_DEF_Criticality_tags_1) + /sizeof(asn_DEF_Criticality_tags_1[0]), /* 1 */ + asn_DEF_Criticality_tags_1, /* Same as above */ + sizeof(asn_DEF_Criticality_tags_1) + /sizeof(asn_DEF_Criticality_tags_1[0]), /* 1 */ + &asn_PER_type_Criticality_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Criticality_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/Criticality.h b/src/hnbap/Criticality.h new file mode 100644 index 0000000..c110ab9 --- /dev/null +++ b/src/hnbap/Criticality.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-CommonDataTypes" + * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" + * `asn1c -gen-PER` + */ + +#ifndef _Criticality_H_ +#define _Criticality_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Criticality { + Criticality_reject = 0, + Criticality_ignore = 1, + Criticality_notify = 2 +} e_Criticality; + +/* Criticality */ +typedef long Criticality_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Criticality; +asn_struct_free_f Criticality_free; +asn_struct_print_f Criticality_print; +asn_constr_check_f Criticality_constraint; +ber_type_decoder_f Criticality_decode_ber; +der_type_encoder_f Criticality_encode_der; +xer_type_decoder_f Criticality_decode_xer; +xer_type_encoder_f Criticality_encode_xer; +per_type_decoder_f Criticality_decode_uper; +per_type_encoder_f Criticality_encode_uper; +per_type_decoder_f Criticality_decode_aper; +per_type_encoder_f Criticality_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Criticality_H_ */ +#include diff --git a/src/hnbap/CriticalityDiagnostics-IE-List.c b/src/hnbap/CriticalityDiagnostics-IE-List.c new file mode 100644 index 0000000..4d58426 --- /dev/null +++ b/src/hnbap/CriticalityDiagnostics-IE-List.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "CriticalityDiagnostics-IE-List.h" + +static asn_per_constraints_t asn_PER_type_CriticalityDiagnostics_IE_List_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1l, 256l } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct Member, iECriticality), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iECriticality" + }, + { ATF_NOFLAGS, 0, offsetof(struct Member, iE_ID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct Member, typeOfError), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TypeOfError, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "typeOfError" + }, + { ATF_POINTER, 1, offsetof(struct Member, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_Member_oms_2[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iECriticality */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* iE-ID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* typeOfError */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct Member), + offsetof(struct Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 4, /* Count of tags in the map */ + asn_MAP_Member_oms_2, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* Start extensions */ + 5 /* Stop extensions */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_Member_2, + 4, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_IE_List_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_CriticalityDiagnostics_IE_List_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_CriticalityDiagnostics_IE_List_specs_1 = { + sizeof(struct CriticalityDiagnostics_IE_List), + offsetof(struct CriticalityDiagnostics_IE_List, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics_IE_List = { + "CriticalityDiagnostics-IE-List", + "CriticalityDiagnostics-IE-List", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_CriticalityDiagnostics_IE_List_tags_1, + sizeof(asn_DEF_CriticalityDiagnostics_IE_List_tags_1) + /sizeof(asn_DEF_CriticalityDiagnostics_IE_List_tags_1[0]), /* 1 */ + asn_DEF_CriticalityDiagnostics_IE_List_tags_1, /* Same as above */ + sizeof(asn_DEF_CriticalityDiagnostics_IE_List_tags_1) + /sizeof(asn_DEF_CriticalityDiagnostics_IE_List_tags_1[0]), /* 1 */ + &asn_PER_type_CriticalityDiagnostics_IE_List_constr_1, + asn_MBR_CriticalityDiagnostics_IE_List_1, + 1, /* Single element */ + &asn_SPC_CriticalityDiagnostics_IE_List_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/CriticalityDiagnostics-IE-List.h b/src/hnbap/CriticalityDiagnostics-IE-List.h new file mode 100644 index 0000000..05eec0a --- /dev/null +++ b/src/hnbap/CriticalityDiagnostics-IE-List.h @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _CriticalityDiagnostics_IE_List_H_ +#define _CriticalityDiagnostics_IE_List_H_ + + +#include + +/* Including external dependencies */ +#include +#include "Criticality.h" +#include "ProtocolIE-ID.h" +#include "TypeOfError.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE_Extensions; + +/* CriticalityDiagnostics-IE-List */ +typedef struct CriticalityDiagnostics_IE_List { + A_SEQUENCE_OF(struct Member { + Criticality_t iECriticality; + ProtocolIE_ID_t iE_ID; + TypeOfError_t typeOfError; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } ) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CriticalityDiagnostics_IE_List_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics_IE_List; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _CriticalityDiagnostics_IE_List_H_ */ +#include diff --git a/src/hnbap/CriticalityDiagnostics.c b/src/hnbap/CriticalityDiagnostics.c new file mode 100644 index 0000000..56d460f --- /dev/null +++ b/src/hnbap/CriticalityDiagnostics.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "CriticalityDiagnostics.h" + +static asn_TYPE_member_t asn_MBR_CriticalityDiagnostics_1[] = { + { ATF_POINTER, 5, offsetof(struct CriticalityDiagnostics, procedureCode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProcedureCode, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "procedureCode" + }, + { ATF_POINTER, 4, offsetof(struct CriticalityDiagnostics, triggeringMessage), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TriggeringMessage, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "triggeringMessage" + }, + { ATF_POINTER, 3, offsetof(struct CriticalityDiagnostics, procedureCriticality), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "procedureCriticality" + }, + { ATF_POINTER, 2, offsetof(struct CriticalityDiagnostics, iEsCriticalityDiagnostics), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CriticalityDiagnostics_IE_List, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iEsCriticalityDiagnostics" + }, + { ATF_POINTER, 1, offsetof(struct CriticalityDiagnostics, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_CriticalityDiagnostics_oms_1[] = { 0, 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_CriticalityDiagnostics_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CriticalityDiagnostics_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* triggeringMessage */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* procedureCriticality */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* iEsCriticalityDiagnostics */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_CriticalityDiagnostics_specs_1 = { + sizeof(struct CriticalityDiagnostics), + offsetof(struct CriticalityDiagnostics, _asn_ctx), + asn_MAP_CriticalityDiagnostics_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_CriticalityDiagnostics_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 4, /* Start extensions */ + 6 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics = { + "CriticalityDiagnostics", + "CriticalityDiagnostics", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_CriticalityDiagnostics_tags_1, + sizeof(asn_DEF_CriticalityDiagnostics_tags_1) + /sizeof(asn_DEF_CriticalityDiagnostics_tags_1[0]), /* 1 */ + asn_DEF_CriticalityDiagnostics_tags_1, /* Same as above */ + sizeof(asn_DEF_CriticalityDiagnostics_tags_1) + /sizeof(asn_DEF_CriticalityDiagnostics_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_CriticalityDiagnostics_1, + 5, /* Elements count */ + &asn_SPC_CriticalityDiagnostics_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/CriticalityDiagnostics.h b/src/hnbap/CriticalityDiagnostics.h new file mode 100644 index 0000000..97936ed --- /dev/null +++ b/src/hnbap/CriticalityDiagnostics.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _CriticalityDiagnostics_H_ +#define _CriticalityDiagnostics_H_ + + +#include + +/* Including external dependencies */ +#include "ProcedureCode.h" +#include "TriggeringMessage.h" +#include "Criticality.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct CriticalityDiagnostics_IE_List; +struct IE_Extensions; + +/* CriticalityDiagnostics */ +typedef struct CriticalityDiagnostics { + ProcedureCode_t *procedureCode /* OPTIONAL */; + TriggeringMessage_t *triggeringMessage /* OPTIONAL */; + Criticality_t *procedureCriticality /* OPTIONAL */; + struct CriticalityDiagnostics_IE_List *iEsCriticalityDiagnostics /* OPTIONAL */; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} CriticalityDiagnostics_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_CriticalityDiagnostics; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "CriticalityDiagnostics-IE-List.h" +#include "IE-Extensions.h" + +#endif /* _CriticalityDiagnostics_H_ */ +#include diff --git a/src/hnbap/ESN.c b/src/hnbap/ESN.c new file mode 100644 index 0000000..1acc9f8 --- /dev/null +++ b/src/hnbap/ESN.c @@ -0,0 +1,172 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "ESN.h" + +int +ESN_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 32l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static void +ESN_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_BIT_STRING.free_struct; + td->print_struct = asn_DEF_BIT_STRING.print_struct; + td->check_constraints = asn_DEF_BIT_STRING.check_constraints; + td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; + td->der_encoder = asn_DEF_BIT_STRING.der_encoder; + td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; + td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; + td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; + td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; + td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; + td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_BIT_STRING.per_constraints; + td->elements = asn_DEF_BIT_STRING.elements; + td->elements_count = asn_DEF_BIT_STRING.elements_count; + td->specifics = asn_DEF_BIT_STRING.specifics; +} + +void +ESN_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + ESN_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +ESN_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + ESN_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +ESN_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + ESN_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +ESN_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + ESN_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +ESN_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + ESN_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +ESN_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + ESN_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +ESN_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + ESN_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +ESN_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + ESN_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +ESN_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + ESN_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +ESN_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + ESN_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_ESN_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 32l, 32l } /* (SIZE(32..32)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_ESN_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ESN = { + "ESN", + "ESN", + ESN_free, + ESN_print, + ESN_constraint, + ESN_decode_ber, + ESN_encode_der, + ESN_decode_xer, + ESN_encode_xer, + ESN_decode_uper, + ESN_encode_uper, + ESN_decode_aper, + ESN_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_ESN_tags_1, + sizeof(asn_DEF_ESN_tags_1) + /sizeof(asn_DEF_ESN_tags_1[0]), /* 1 */ + asn_DEF_ESN_tags_1, /* Same as above */ + sizeof(asn_DEF_ESN_tags_1) + /sizeof(asn_DEF_ESN_tags_1[0]), /* 1 */ + &asn_PER_type_ESN_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/ESN.h b/src/hnbap/ESN.h new file mode 100644 index 0000000..36ee2ca --- /dev/null +++ b/src/hnbap/ESN.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _ESN_H_ +#define _ESN_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ESN */ +typedef BIT_STRING_t ESN_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ESN; +asn_struct_free_f ESN_free; +asn_struct_print_f ESN_print; +asn_constr_check_f ESN_constraint; +ber_type_decoder_f ESN_decode_ber; +der_type_encoder_f ESN_encode_der; +xer_type_decoder_f ESN_decode_xer; +xer_type_encoder_f ESN_encode_xer; +per_type_decoder_f ESN_decode_uper; +per_type_encoder_f ESN_encode_uper; +per_type_decoder_f ESN_decode_aper; +per_type_encoder_f ESN_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ESN_H_ */ +#include diff --git a/src/hnbap/ErrorIndication.c b/src/hnbap/ErrorIndication.c new file mode 100644 index 0000000..7d25f8e --- /dev/null +++ b/src/hnbap/ErrorIndication.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "ErrorIndication.h" + +static int +memb_errorIndication_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_errorIndication_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_errorIndication_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_errorIndication_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_errorIndication_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_errorIndication_ies_specs_2 = { + sizeof(struct errorIndication_ies), + offsetof(struct errorIndication_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_errorIndication_ies_2 = { + "errorIndication-ies", + "errorIndication-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_errorIndication_ies_tags_2, + sizeof(asn_DEF_errorIndication_ies_tags_2) + /sizeof(asn_DEF_errorIndication_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_errorIndication_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_errorIndication_ies_tags_2) + /sizeof(asn_DEF_errorIndication_ies_tags_2[0]), /* 2 */ + &asn_PER_type_errorIndication_ies_constr_2, + asn_MBR_errorIndication_ies_2, + 1, /* Single element */ + &asn_SPC_errorIndication_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_ErrorIndication_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ErrorIndication, errorIndication_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_errorIndication_ies_2, + memb_errorIndication_ies_constraint_1, + &asn_PER_memb_errorIndication_ies_constr_2, + 0, + "errorIndication-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_ErrorIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ErrorIndication_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* errorIndication-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ErrorIndication_specs_1 = { + sizeof(struct ErrorIndication), + offsetof(struct ErrorIndication, _asn_ctx), + asn_MAP_ErrorIndication_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_ErrorIndication = { + "ErrorIndication", + "ErrorIndication", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_ErrorIndication_tags_1, + sizeof(asn_DEF_ErrorIndication_tags_1) + /sizeof(asn_DEF_ErrorIndication_tags_1[0]), /* 1 */ + asn_DEF_ErrorIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_ErrorIndication_tags_1) + /sizeof(asn_DEF_ErrorIndication_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_ErrorIndication_1, + 1, /* Elements count */ + &asn_SPC_ErrorIndication_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/ErrorIndication.h b/src/hnbap/ErrorIndication.h new file mode 100644 index 0000000..b68ec1b --- /dev/null +++ b/src/hnbap/ErrorIndication.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _ErrorIndication_H_ +#define _ErrorIndication_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* ErrorIndication */ +typedef struct ErrorIndication { + struct errorIndication_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } errorIndication_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ErrorIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ErrorIndication; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _ErrorIndication_H_ */ +#include diff --git a/src/hnbap/GTP-TEI.c b/src/hnbap/GTP-TEI.c new file mode 100644 index 0000000..3faf842 --- /dev/null +++ b/src/hnbap/GTP-TEI.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "GTP-TEI.h" + +int +GTP_TEI_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 4l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static void +GTP_TEI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_OCTET_STRING.free_struct; + td->print_struct = asn_DEF_OCTET_STRING.print_struct; + td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; + td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; + td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; + td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; + td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; + td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; + td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; + td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; + td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; + td->elements = asn_DEF_OCTET_STRING.elements; + td->elements_count = asn_DEF_OCTET_STRING.elements_count; + td->specifics = asn_DEF_OCTET_STRING.specifics; +} + +void +GTP_TEI_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + GTP_TEI_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +GTP_TEI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + GTP_TEI_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +GTP_TEI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + GTP_TEI_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +GTP_TEI_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + GTP_TEI_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +GTP_TEI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + GTP_TEI_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +GTP_TEI_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + GTP_TEI_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +GTP_TEI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + GTP_TEI_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +GTP_TEI_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + GTP_TEI_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +GTP_TEI_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + GTP_TEI_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +GTP_TEI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + GTP_TEI_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_GTP_TEI_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 4l, 4l } /* (SIZE(4..4)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_GTP_TEI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_GTP_TEI = { + "GTP-TEI", + "GTP-TEI", + GTP_TEI_free, + GTP_TEI_print, + GTP_TEI_constraint, + GTP_TEI_decode_ber, + GTP_TEI_encode_der, + GTP_TEI_decode_xer, + GTP_TEI_encode_xer, + GTP_TEI_decode_uper, + GTP_TEI_encode_uper, + GTP_TEI_decode_aper, + GTP_TEI_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_GTP_TEI_tags_1, + sizeof(asn_DEF_GTP_TEI_tags_1) + /sizeof(asn_DEF_GTP_TEI_tags_1[0]), /* 1 */ + asn_DEF_GTP_TEI_tags_1, /* Same as above */ + sizeof(asn_DEF_GTP_TEI_tags_1) + /sizeof(asn_DEF_GTP_TEI_tags_1[0]), /* 1 */ + &asn_PER_type_GTP_TEI_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/GTP-TEI.h b/src/hnbap/GTP-TEI.h new file mode 100644 index 0000000..863c612 --- /dev/null +++ b/src/hnbap/GTP-TEI.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _GTP_TEI_H_ +#define _GTP_TEI_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* GTP-TEI */ +typedef OCTET_STRING_t GTP_TEI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_GTP_TEI; +asn_struct_free_f GTP_TEI_free; +asn_struct_print_f GTP_TEI_print; +asn_constr_check_f GTP_TEI_constraint; +ber_type_decoder_f GTP_TEI_decode_ber; +der_type_encoder_f GTP_TEI_encode_der; +xer_type_decoder_f GTP_TEI_decode_xer; +xer_type_encoder_f GTP_TEI_encode_xer; +per_type_decoder_f GTP_TEI_decode_uper; +per_type_encoder_f GTP_TEI_encode_uper; +per_type_decoder_f GTP_TEI_decode_aper; +per_type_encoder_f GTP_TEI_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _GTP_TEI_H_ */ +#include diff --git a/src/hnbap/GeographicalCoordinates.c b/src/hnbap/GeographicalCoordinates.c new file mode 100644 index 0000000..8ff5810 --- /dev/null +++ b/src/hnbap/GeographicalCoordinates.c @@ -0,0 +1,313 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "GeographicalCoordinates.h" + +static int +latitudeSign_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +latitudeSign_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +static void +latitudeSign_2_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + latitudeSign_2_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +static int +latitudeSign_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + latitudeSign_2_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +static asn_dec_rval_t +latitudeSign_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + latitudeSign_2_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +static asn_enc_rval_t +latitudeSign_2_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + latitudeSign_2_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +static asn_dec_rval_t +latitudeSign_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + latitudeSign_2_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +static asn_enc_rval_t +latitudeSign_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + latitudeSign_2_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +static asn_dec_rval_t +latitudeSign_2_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + latitudeSign_2_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_enc_rval_t +latitudeSign_2_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + latitudeSign_2_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +static asn_enc_rval_t +latitudeSign_2_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + latitudeSign_2_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +static asn_dec_rval_t +latitudeSign_2_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + latitudeSign_2_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static int +memb_latitude_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0l && value <= 8388607l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_longitude_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -8388608ull && value <= 8388607l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_latitudeSign_constr_2 GCC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_latitude_constr_5 GCC_NOTUSED = { + { APC_CONSTRAINED, 23, -1, 0l, 8388607l } /* (0..8388607) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_longitude_constr_6 GCC_NOTUSED = { + { APC_CONSTRAINED, 24, -1, -8388608ull, 8388607l } /* (-8388608..8388607) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_latitudeSign_value2enum_2[] = { + { 0, 5, "north" }, + { 1, 5, "south" } +}; +static const unsigned int asn_MAP_latitudeSign_enum2value_2[] = { + 0, /* north(0) */ + 1 /* south(1) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_latitudeSign_specs_2 = { + asn_MAP_latitudeSign_value2enum_2, /* "tag" => N; sorted by tag */ + asn_MAP_latitudeSign_enum2value_2, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_latitudeSign_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_latitudeSign_2 = { + "latitudeSign", + "latitudeSign", + latitudeSign_2_free, + latitudeSign_2_print, + latitudeSign_2_constraint, + latitudeSign_2_decode_ber, + latitudeSign_2_encode_der, + latitudeSign_2_decode_xer, + latitudeSign_2_encode_xer, + latitudeSign_2_decode_uper, + latitudeSign_2_encode_uper, + latitudeSign_2_decode_aper, + latitudeSign_2_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_latitudeSign_tags_2, + sizeof(asn_DEF_latitudeSign_tags_2) + /sizeof(asn_DEF_latitudeSign_tags_2[0]) - 1, /* 1 */ + asn_DEF_latitudeSign_tags_2, /* Same as above */ + sizeof(asn_DEF_latitudeSign_tags_2) + /sizeof(asn_DEF_latitudeSign_tags_2[0]), /* 2 */ + &asn_PER_type_latitudeSign_constr_2, + 0, 0, /* Defined elsewhere */ + &asn_SPC_latitudeSign_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_GeographicalCoordinates_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct GeographicalCoordinates, latitudeSign), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_latitudeSign_2, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "latitudeSign" + }, + { ATF_NOFLAGS, 0, offsetof(struct GeographicalCoordinates, latitude), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + memb_latitude_constraint_1, + &asn_PER_memb_latitude_constr_5, + 0, + "latitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct GeographicalCoordinates, longitude), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + memb_longitude_constraint_1, + &asn_PER_memb_longitude_constr_6, + 0, + "longitude" + }, + { ATF_POINTER, 1, offsetof(struct GeographicalCoordinates, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_GeographicalCoordinates_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_GeographicalCoordinates_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_GeographicalCoordinates_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* latitudeSign */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* latitude */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* longitude */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_GeographicalCoordinates_specs_1 = { + sizeof(struct GeographicalCoordinates), + offsetof(struct GeographicalCoordinates, _asn_ctx), + asn_MAP_GeographicalCoordinates_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_GeographicalCoordinates_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* Start extensions */ + 5 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_GeographicalCoordinates = { + "GeographicalCoordinates", + "GeographicalCoordinates", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_GeographicalCoordinates_tags_1, + sizeof(asn_DEF_GeographicalCoordinates_tags_1) + /sizeof(asn_DEF_GeographicalCoordinates_tags_1[0]), /* 1 */ + asn_DEF_GeographicalCoordinates_tags_1, /* Same as above */ + sizeof(asn_DEF_GeographicalCoordinates_tags_1) + /sizeof(asn_DEF_GeographicalCoordinates_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_GeographicalCoordinates_1, + 4, /* Elements count */ + &asn_SPC_GeographicalCoordinates_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/GeographicalCoordinates.h b/src/hnbap/GeographicalCoordinates.h new file mode 100644 index 0000000..469a5cf --- /dev/null +++ b/src/hnbap/GeographicalCoordinates.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _GeographicalCoordinates_H_ +#define _GeographicalCoordinates_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum latitudeSign { + latitudeSign_north = 0, + latitudeSign_south = 1 +} e_latitudeSign; + +/* Forward declarations */ +struct IE_Extensions; + +/* GeographicalCoordinates */ +typedef struct GeographicalCoordinates { + long latitudeSign; + long latitude; + long longitude; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GeographicalCoordinates_t; + +/* Implementation */ +/* extern asn_TYPE_descriptor_t asn_DEF_latitudeSign_2; // (Use -fall-defs-global to expose) */ +extern asn_TYPE_descriptor_t asn_DEF_GeographicalCoordinates; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _GeographicalCoordinates_H_ */ +#include diff --git a/src/hnbap/GeographicalLocation.c b/src/hnbap/GeographicalLocation.c new file mode 100644 index 0000000..c76978d --- /dev/null +++ b/src/hnbap/GeographicalLocation.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "GeographicalLocation.h" + +static asn_TYPE_member_t asn_MBR_GeographicalLocation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct GeographicalLocation, geographicalCoordinates), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GeographicalCoordinates, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "geographicalCoordinates" + }, + { ATF_NOFLAGS, 0, offsetof(struct GeographicalLocation, altitudeAndDirection), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AltitudeAndDirection, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "altitudeAndDirection" + }, + { ATF_POINTER, 1, offsetof(struct GeographicalLocation, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_GeographicalLocation_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_GeographicalLocation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_GeographicalLocation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* geographicalCoordinates */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* altitudeAndDirection */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_GeographicalLocation_specs_1 = { + sizeof(struct GeographicalLocation), + offsetof(struct GeographicalLocation, _asn_ctx), + asn_MAP_GeographicalLocation_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_GeographicalLocation_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* Start extensions */ + 4 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_GeographicalLocation = { + "GeographicalLocation", + "GeographicalLocation", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_GeographicalLocation_tags_1, + sizeof(asn_DEF_GeographicalLocation_tags_1) + /sizeof(asn_DEF_GeographicalLocation_tags_1[0]), /* 1 */ + asn_DEF_GeographicalLocation_tags_1, /* Same as above */ + sizeof(asn_DEF_GeographicalLocation_tags_1) + /sizeof(asn_DEF_GeographicalLocation_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_GeographicalLocation_1, + 3, /* Elements count */ + &asn_SPC_GeographicalLocation_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/GeographicalLocation.h b/src/hnbap/GeographicalLocation.h new file mode 100644 index 0000000..4b2688d --- /dev/null +++ b/src/hnbap/GeographicalLocation.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _GeographicalLocation_H_ +#define _GeographicalLocation_H_ + + +#include + +/* Including external dependencies */ +#include "GeographicalCoordinates.h" +#include "AltitudeAndDirection.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE_Extensions; + +/* GeographicalLocation */ +typedef struct GeographicalLocation { + GeographicalCoordinates_t geographicalCoordinates; + AltitudeAndDirection_t altitudeAndDirection; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} GeographicalLocation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_GeographicalLocation; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _GeographicalLocation_H_ */ +#include diff --git a/src/hnbap/HNB-Cell-Access-Mode.c b/src/hnbap/HNB-Cell-Access-Mode.c new file mode 100644 index 0000000..322c49a --- /dev/null +++ b/src/hnbap/HNB-Cell-Access-Mode.c @@ -0,0 +1,170 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "HNB-Cell-Access-Mode.h" + +int +HNB_Cell_Access_Mode_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +HNB_Cell_Access_Mode_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +HNB_Cell_Access_Mode_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +HNB_Cell_Access_Mode_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +HNB_Cell_Access_Mode_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +HNB_Cell_Access_Mode_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +HNB_Cell_Access_Mode_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +HNB_Cell_Access_Mode_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +HNB_Cell_Access_Mode_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +HNB_Cell_Access_Mode_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +HNB_Cell_Access_Mode_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + HNB_Cell_Access_Mode_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_HNB_Cell_Access_Mode_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_HNB_Cell_Access_Mode_value2enum_1[] = { + { 0, 6, "closed" }, + { 1, 6, "hybrid" }, + { 2, 4, "open" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_HNB_Cell_Access_Mode_enum2value_1[] = { + 0, /* closed(0) */ + 1, /* hybrid(1) */ + 2 /* open(2) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_HNB_Cell_Access_Mode_specs_1 = { + asn_MAP_HNB_Cell_Access_Mode_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_HNB_Cell_Access_Mode_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_HNB_Cell_Access_Mode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_HNB_Cell_Access_Mode = { + "HNB-Cell-Access-Mode", + "HNB-Cell-Access-Mode", + HNB_Cell_Access_Mode_free, + HNB_Cell_Access_Mode_print, + HNB_Cell_Access_Mode_constraint, + HNB_Cell_Access_Mode_decode_ber, + HNB_Cell_Access_Mode_encode_der, + HNB_Cell_Access_Mode_decode_xer, + HNB_Cell_Access_Mode_encode_xer, + HNB_Cell_Access_Mode_decode_uper, + HNB_Cell_Access_Mode_encode_uper, + HNB_Cell_Access_Mode_decode_aper, + HNB_Cell_Access_Mode_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_HNB_Cell_Access_Mode_tags_1, + sizeof(asn_DEF_HNB_Cell_Access_Mode_tags_1) + /sizeof(asn_DEF_HNB_Cell_Access_Mode_tags_1[0]), /* 1 */ + asn_DEF_HNB_Cell_Access_Mode_tags_1, /* Same as above */ + sizeof(asn_DEF_HNB_Cell_Access_Mode_tags_1) + /sizeof(asn_DEF_HNB_Cell_Access_Mode_tags_1[0]), /* 1 */ + &asn_PER_type_HNB_Cell_Access_Mode_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_HNB_Cell_Access_Mode_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/HNB-Cell-Access-Mode.h b/src/hnbap/HNB-Cell-Access-Mode.h new file mode 100644 index 0000000..76778e4 --- /dev/null +++ b/src/hnbap/HNB-Cell-Access-Mode.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNB_Cell_Access_Mode_H_ +#define _HNB_Cell_Access_Mode_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum HNB_Cell_Access_Mode { + HNB_Cell_Access_Mode_closed = 0, + HNB_Cell_Access_Mode_hybrid = 1, + HNB_Cell_Access_Mode_open = 2 + /* + * Enumeration is extensible + */ +} e_HNB_Cell_Access_Mode; + +/* HNB-Cell-Access-Mode */ +typedef long HNB_Cell_Access_Mode_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNB_Cell_Access_Mode; +asn_struct_free_f HNB_Cell_Access_Mode_free; +asn_struct_print_f HNB_Cell_Access_Mode_print; +asn_constr_check_f HNB_Cell_Access_Mode_constraint; +ber_type_decoder_f HNB_Cell_Access_Mode_decode_ber; +der_type_encoder_f HNB_Cell_Access_Mode_encode_der; +xer_type_decoder_f HNB_Cell_Access_Mode_decode_xer; +xer_type_encoder_f HNB_Cell_Access_Mode_encode_xer; +per_type_decoder_f HNB_Cell_Access_Mode_decode_uper; +per_type_encoder_f HNB_Cell_Access_Mode_encode_uper; +per_type_decoder_f HNB_Cell_Access_Mode_decode_aper; +per_type_encoder_f HNB_Cell_Access_Mode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _HNB_Cell_Access_Mode_H_ */ +#include diff --git a/src/hnbap/HNB-Cell-Identifier.c b/src/hnbap/HNB-Cell-Identifier.c new file mode 100644 index 0000000..d72a3d6 --- /dev/null +++ b/src/hnbap/HNB-Cell-Identifier.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "HNB-Cell-Identifier.h" + +static asn_TYPE_member_t asn_MBR_HNB_Cell_Identifier_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HNB_Cell_Identifier, pLMNidentity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PLMNidentity, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "pLMNidentity" + }, + { ATF_NOFLAGS, 0, offsetof(struct HNB_Cell_Identifier, cellIdentity), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CellIdentity, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "cellIdentity" + }, + { ATF_POINTER, 1, offsetof(struct HNB_Cell_Identifier, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_HNB_Cell_Identifier_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_HNB_Cell_Identifier_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HNB_Cell_Identifier_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNidentity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cellIdentity */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_HNB_Cell_Identifier_specs_1 = { + sizeof(struct HNB_Cell_Identifier), + offsetof(struct HNB_Cell_Identifier, _asn_ctx), + asn_MAP_HNB_Cell_Identifier_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_HNB_Cell_Identifier_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* Start extensions */ + 4 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_HNB_Cell_Identifier = { + "HNB-Cell-Identifier", + "HNB-Cell-Identifier", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_HNB_Cell_Identifier_tags_1, + sizeof(asn_DEF_HNB_Cell_Identifier_tags_1) + /sizeof(asn_DEF_HNB_Cell_Identifier_tags_1[0]), /* 1 */ + asn_DEF_HNB_Cell_Identifier_tags_1, /* Same as above */ + sizeof(asn_DEF_HNB_Cell_Identifier_tags_1) + /sizeof(asn_DEF_HNB_Cell_Identifier_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_HNB_Cell_Identifier_1, + 3, /* Elements count */ + &asn_SPC_HNB_Cell_Identifier_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/HNB-Cell-Identifier.h b/src/hnbap/HNB-Cell-Identifier.h new file mode 100644 index 0000000..a887096 --- /dev/null +++ b/src/hnbap/HNB-Cell-Identifier.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNB_Cell_Identifier_H_ +#define _HNB_Cell_Identifier_H_ + + +#include + +/* Including external dependencies */ +#include "PLMNidentity.h" +#include "CellIdentity.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE_Extensions; + +/* HNB-Cell-Identifier */ +typedef struct HNB_Cell_Identifier { + PLMNidentity_t pLMNidentity; + CellIdentity_t cellIdentity; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HNB_Cell_Identifier_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNB_Cell_Identifier; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _HNB_Cell_Identifier_H_ */ +#include diff --git a/src/hnbap/HNB-GWResponse.c b/src/hnbap/HNB-GWResponse.c new file mode 100644 index 0000000..2d782c2 --- /dev/null +++ b/src/hnbap/HNB-GWResponse.c @@ -0,0 +1,83 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "HNB-GWResponse.h" + +static asn_per_constraints_t asn_PER_type_HNB_GWResponse_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_HNB_GWResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HNB_GWResponse, choice.hNB), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HNBConfigInfo, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "hNB" + }, + { ATF_NOFLAGS, 0, offsetof(struct HNB_GWResponse, choice.macroRNC), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RNC_ID, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "macroRNC" + }, + { ATF_NOFLAGS, 0, offsetof(struct HNB_GWResponse, choice.unknownU_RNTIIndication), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UnknownU_RNTIIndication, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "unknownU-RNTIIndication" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_HNB_GWResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* hNB */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* macroRNC */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* unknownU-RNTIIndication */ +}; +static asn_CHOICE_specifics_t asn_SPC_HNB_GWResponse_specs_1 = { + sizeof(struct HNB_GWResponse), + offsetof(struct HNB_GWResponse, _asn_ctx), + offsetof(struct HNB_GWResponse, present), + sizeof(((struct HNB_GWResponse *)0)->present), + asn_MAP_HNB_GWResponse_tag2el_1, + 3, /* Count of tags in the map */ + 0, + 3 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_HNB_GWResponse = { + "HNB-GWResponse", + "HNB-GWResponse", + CHOICE_free, + CHOICE_print, + CHOICE_constraint, + CHOICE_decode_ber, + CHOICE_encode_der, + CHOICE_decode_xer, + CHOICE_encode_xer, + CHOICE_decode_uper, + CHOICE_encode_uper, + CHOICE_decode_aper, + CHOICE_encode_aper, + CHOICE_outmost_tag, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + &asn_PER_type_HNB_GWResponse_constr_1, + asn_MBR_HNB_GWResponse_1, + 3, /* Elements count */ + &asn_SPC_HNB_GWResponse_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/HNB-GWResponse.h b/src/hnbap/HNB-GWResponse.h new file mode 100644 index 0000000..cd75a71 --- /dev/null +++ b/src/hnbap/HNB-GWResponse.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNB_GWResponse_H_ +#define _HNB_GWResponse_H_ + + +#include + +/* Including external dependencies */ +#include "HNBConfigInfo.h" +#include "RNC-ID.h" +#include "UnknownU-RNTIIndication.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum HNB_GWResponse_PR { + HNB_GWResponse_PR_NOTHING, /* No components present */ + HNB_GWResponse_PR_hNB, + HNB_GWResponse_PR_macroRNC, + HNB_GWResponse_PR_unknownU_RNTIIndication, + /* Extensions may appear below */ + +} HNB_GWResponse_PR; + +/* HNB-GWResponse */ +typedef struct HNB_GWResponse { + HNB_GWResponse_PR present; + union HNB_GWResponse_u { + HNBConfigInfo_t hNB; + RNC_ID_t macroRNC; + UnknownU_RNTIIndication_t unknownU_RNTIIndication; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HNB_GWResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNB_GWResponse; + +#ifdef __cplusplus +} +#endif + +#endif /* _HNB_GWResponse_H_ */ +#include diff --git a/src/hnbap/HNB-Identity-Info.c b/src/hnbap/HNB-Identity-Info.c new file mode 100644 index 0000000..3296058 --- /dev/null +++ b/src/hnbap/HNB-Identity-Info.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "HNB-Identity-Info.h" + +int +HNB_Identity_Info_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1l && size <= 255l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static void +HNB_Identity_Info_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_OCTET_STRING.free_struct; + td->print_struct = asn_DEF_OCTET_STRING.print_struct; + td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; + td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; + td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; + td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; + td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; + td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; + td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; + td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; + td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; + td->elements = asn_DEF_OCTET_STRING.elements; + td->elements_count = asn_DEF_OCTET_STRING.elements_count; + td->specifics = asn_DEF_OCTET_STRING.specifics; +} + +void +HNB_Identity_Info_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + HNB_Identity_Info_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +HNB_Identity_Info_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + HNB_Identity_Info_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +HNB_Identity_Info_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + HNB_Identity_Info_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +HNB_Identity_Info_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + HNB_Identity_Info_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +HNB_Identity_Info_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + HNB_Identity_Info_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +HNB_Identity_Info_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + HNB_Identity_Info_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +HNB_Identity_Info_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + HNB_Identity_Info_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +HNB_Identity_Info_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + HNB_Identity_Info_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +HNB_Identity_Info_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + HNB_Identity_Info_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +HNB_Identity_Info_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + HNB_Identity_Info_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_HNB_Identity_Info_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1l, 255l } /* (SIZE(1..255)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_HNB_Identity_Info_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_HNB_Identity_Info = { + "HNB-Identity-Info", + "HNB-Identity-Info", + HNB_Identity_Info_free, + HNB_Identity_Info_print, + HNB_Identity_Info_constraint, + HNB_Identity_Info_decode_ber, + HNB_Identity_Info_encode_der, + HNB_Identity_Info_decode_xer, + HNB_Identity_Info_encode_xer, + HNB_Identity_Info_decode_uper, + HNB_Identity_Info_encode_uper, + HNB_Identity_Info_decode_aper, + HNB_Identity_Info_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_HNB_Identity_Info_tags_1, + sizeof(asn_DEF_HNB_Identity_Info_tags_1) + /sizeof(asn_DEF_HNB_Identity_Info_tags_1[0]), /* 1 */ + asn_DEF_HNB_Identity_Info_tags_1, /* Same as above */ + sizeof(asn_DEF_HNB_Identity_Info_tags_1) + /sizeof(asn_DEF_HNB_Identity_Info_tags_1[0]), /* 1 */ + &asn_PER_type_HNB_Identity_Info_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/HNB-Identity-Info.h b/src/hnbap/HNB-Identity-Info.h new file mode 100644 index 0000000..f36ac89 --- /dev/null +++ b/src/hnbap/HNB-Identity-Info.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNB_Identity_Info_H_ +#define _HNB_Identity_Info_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* HNB-Identity-Info */ +typedef OCTET_STRING_t HNB_Identity_Info_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNB_Identity_Info; +asn_struct_free_f HNB_Identity_Info_free; +asn_struct_print_f HNB_Identity_Info_print; +asn_constr_check_f HNB_Identity_Info_constraint; +ber_type_decoder_f HNB_Identity_Info_decode_ber; +der_type_encoder_f HNB_Identity_Info_encode_der; +xer_type_decoder_f HNB_Identity_Info_decode_xer; +xer_type_encoder_f HNB_Identity_Info_encode_xer; +per_type_decoder_f HNB_Identity_Info_decode_uper; +per_type_encoder_f HNB_Identity_Info_encode_uper; +per_type_decoder_f HNB_Identity_Info_decode_aper; +per_type_encoder_f HNB_Identity_Info_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _HNB_Identity_Info_H_ */ +#include diff --git a/src/hnbap/HNB-Identity.c b/src/hnbap/HNB-Identity.c new file mode 100644 index 0000000..3c1cbeb --- /dev/null +++ b/src/hnbap/HNB-Identity.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "HNB-Identity.h" + +static asn_TYPE_member_t asn_MBR_HNB_Identity_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HNB_Identity, hNB_Identity_Info), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HNB_Identity_Info, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "hNB-Identity-Info" + }, + { ATF_POINTER, 1, offsetof(struct HNB_Identity, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_HNB_Identity_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_HNB_Identity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HNB_Identity_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* hNB-Identity-Info */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_HNB_Identity_specs_1 = { + sizeof(struct HNB_Identity), + offsetof(struct HNB_Identity, _asn_ctx), + asn_MAP_HNB_Identity_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_HNB_Identity_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* Start extensions */ + 3 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_HNB_Identity = { + "HNB-Identity", + "HNB-Identity", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_HNB_Identity_tags_1, + sizeof(asn_DEF_HNB_Identity_tags_1) + /sizeof(asn_DEF_HNB_Identity_tags_1[0]), /* 1 */ + asn_DEF_HNB_Identity_tags_1, /* Same as above */ + sizeof(asn_DEF_HNB_Identity_tags_1) + /sizeof(asn_DEF_HNB_Identity_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_HNB_Identity_1, + 2, /* Elements count */ + &asn_SPC_HNB_Identity_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/HNB-Identity.h b/src/hnbap/HNB-Identity.h new file mode 100644 index 0000000..af0a7b2 --- /dev/null +++ b/src/hnbap/HNB-Identity.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNB_Identity_H_ +#define _HNB_Identity_H_ + + +#include + +/* Including external dependencies */ +#include "HNB-Identity-Info.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE_Extensions; + +/* HNB-Identity */ +typedef struct HNB_Identity { + HNB_Identity_Info_t hNB_Identity_Info; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HNB_Identity_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNB_Identity; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _HNB_Identity_H_ */ +#include diff --git a/src/hnbap/HNB-Location-Information.c b/src/hnbap/HNB-Location-Information.c new file mode 100644 index 0000000..6d1150b --- /dev/null +++ b/src/hnbap/HNB-Location-Information.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "HNB-Location-Information.h" + +static asn_TYPE_member_t asn_MBR_HNB_Location_Information_1[] = { + { ATF_POINTER, 3, offsetof(struct HNB_Location_Information, macroCoverageInfo), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MacroCoverageInformation, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "macroCoverageInfo" + }, + { ATF_POINTER, 2, offsetof(struct HNB_Location_Information, geographicalCoordinates), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GeographicalLocation, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "geographicalCoordinates" + }, + { ATF_POINTER, 1, offsetof(struct HNB_Location_Information, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_HNB_Location_Information_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_HNB_Location_Information_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HNB_Location_Information_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* macroCoverageInfo */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* geographicalCoordinates */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_HNB_Location_Information_specs_1 = { + sizeof(struct HNB_Location_Information), + offsetof(struct HNB_Location_Information, _asn_ctx), + asn_MAP_HNB_Location_Information_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_HNB_Location_Information_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 2, /* Start extensions */ + 4 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_HNB_Location_Information = { + "HNB-Location-Information", + "HNB-Location-Information", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_HNB_Location_Information_tags_1, + sizeof(asn_DEF_HNB_Location_Information_tags_1) + /sizeof(asn_DEF_HNB_Location_Information_tags_1[0]), /* 1 */ + asn_DEF_HNB_Location_Information_tags_1, /* Same as above */ + sizeof(asn_DEF_HNB_Location_Information_tags_1) + /sizeof(asn_DEF_HNB_Location_Information_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_HNB_Location_Information_1, + 3, /* Elements count */ + &asn_SPC_HNB_Location_Information_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/HNB-Location-Information.h b/src/hnbap/HNB-Location-Information.h new file mode 100644 index 0000000..2450351 --- /dev/null +++ b/src/hnbap/HNB-Location-Information.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNB_Location_Information_H_ +#define _HNB_Location_Information_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct MacroCoverageInformation; +struct GeographicalLocation; +struct IE_Extensions; + +/* HNB-Location-Information */ +typedef struct HNB_Location_Information { + struct MacroCoverageInformation *macroCoverageInfo /* OPTIONAL */; + struct GeographicalLocation *geographicalCoordinates /* OPTIONAL */; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HNB_Location_Information_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNB_Location_Information; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "MacroCoverageInformation.h" +#include "GeographicalLocation.h" +#include "IE-Extensions.h" + +#endif /* _HNB_Location_Information_H_ */ +#include diff --git a/src/hnbap/HNB-RNL-Identity.c b/src/hnbap/HNB-RNL-Identity.c new file mode 100644 index 0000000..65769f2 --- /dev/null +++ b/src/hnbap/HNB-RNL-Identity.c @@ -0,0 +1,63 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "HNB-RNL-Identity.h" + +static asn_per_constraints_t asn_PER_type_HNB_RNL_Identity_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_HNB_RNL_Identity_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HNB_RNL_Identity, choice.hNB_Identity_as_Cell_Identifier), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HNB_Cell_Identifier, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "hNB-Identity-as-Cell-Identifier" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_HNB_RNL_Identity_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* hNB-Identity-as-Cell-Identifier */ +}; +static asn_CHOICE_specifics_t asn_SPC_HNB_RNL_Identity_specs_1 = { + sizeof(struct HNB_RNL_Identity), + offsetof(struct HNB_RNL_Identity, _asn_ctx), + offsetof(struct HNB_RNL_Identity, present), + sizeof(((struct HNB_RNL_Identity *)0)->present), + asn_MAP_HNB_RNL_Identity_tag2el_1, + 1, /* Count of tags in the map */ + 0, + 1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_HNB_RNL_Identity = { + "HNB-RNL-Identity", + "HNB-RNL-Identity", + CHOICE_free, + CHOICE_print, + CHOICE_constraint, + CHOICE_decode_ber, + CHOICE_encode_der, + CHOICE_decode_xer, + CHOICE_encode_xer, + CHOICE_decode_uper, + CHOICE_encode_uper, + CHOICE_decode_aper, + CHOICE_encode_aper, + CHOICE_outmost_tag, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + &asn_PER_type_HNB_RNL_Identity_constr_1, + asn_MBR_HNB_RNL_Identity_1, + 1, /* Elements count */ + &asn_SPC_HNB_RNL_Identity_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/HNB-RNL-Identity.h b/src/hnbap/HNB-RNL-Identity.h new file mode 100644 index 0000000..75f29b0 --- /dev/null +++ b/src/hnbap/HNB-RNL-Identity.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNB_RNL_Identity_H_ +#define _HNB_RNL_Identity_H_ + + +#include + +/* Including external dependencies */ +#include "HNB-Cell-Identifier.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum HNB_RNL_Identity_PR { + HNB_RNL_Identity_PR_NOTHING, /* No components present */ + HNB_RNL_Identity_PR_hNB_Identity_as_Cell_Identifier, + /* Extensions may appear below */ + +} HNB_RNL_Identity_PR; + +/* HNB-RNL-Identity */ +typedef struct HNB_RNL_Identity { + HNB_RNL_Identity_PR present; + union HNB_RNL_Identity_u { + HNB_Cell_Identifier_t hNB_Identity_as_Cell_Identifier; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HNB_RNL_Identity_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNB_RNL_Identity; + +#ifdef __cplusplus +} +#endif + +#endif /* _HNB_RNL_Identity_H_ */ +#include diff --git a/src/hnbap/HNBAP-PDU.c b/src/hnbap/HNBAP-PDU.c new file mode 100644 index 0000000..a430881 --- /dev/null +++ b/src/hnbap/HNBAP-PDU.c @@ -0,0 +1,83 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "HNBAP-PDU.h" + +static asn_per_constraints_t asn_PER_type_HNBAP_PDU_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0l, 2l } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_HNBAP_PDU_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HNBAP_PDU, choice.initiatingMessage), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_InitiatingMessage, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "initiatingMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct HNBAP_PDU, choice.successfulOutcome), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SuccessfulOutcome, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "successfulOutcome" + }, + { ATF_NOFLAGS, 0, offsetof(struct HNBAP_PDU, choice.unsuccessfulOutcome), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UnsuccessfulOutcome, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "unsuccessfulOutcome" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_HNBAP_PDU_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* initiatingMessage */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* successfulOutcome */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* unsuccessfulOutcome */ +}; +static asn_CHOICE_specifics_t asn_SPC_HNBAP_PDU_specs_1 = { + sizeof(struct HNBAP_PDU), + offsetof(struct HNBAP_PDU, _asn_ctx), + offsetof(struct HNBAP_PDU, present), + sizeof(((struct HNBAP_PDU *)0)->present), + asn_MAP_HNBAP_PDU_tag2el_1, + 3, /* Count of tags in the map */ + 0, + 3 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_HNBAP_PDU = { + "HNBAP-PDU", + "HNBAP-PDU", + CHOICE_free, + CHOICE_print, + CHOICE_constraint, + CHOICE_decode_ber, + CHOICE_encode_der, + CHOICE_decode_xer, + CHOICE_encode_xer, + CHOICE_decode_uper, + CHOICE_encode_uper, + CHOICE_decode_aper, + CHOICE_encode_aper, + CHOICE_outmost_tag, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + &asn_PER_type_HNBAP_PDU_constr_1, + asn_MBR_HNBAP_PDU_1, + 3, /* Elements count */ + &asn_SPC_HNBAP_PDU_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/HNBAP-PDU.h b/src/hnbap/HNBAP-PDU.h new file mode 100644 index 0000000..8417085 --- /dev/null +++ b/src/hnbap/HNBAP-PDU.h @@ -0,0 +1,59 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNBAP_PDU_H_ +#define _HNBAP_PDU_H_ + + +#include + +/* Including external dependencies */ +#include "InitiatingMessage.h" +#include "SuccessfulOutcome.h" +#include "UnsuccessfulOutcome.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum HNBAP_PDU_PR { + HNBAP_PDU_PR_NOTHING, /* No components present */ + HNBAP_PDU_PR_initiatingMessage, + HNBAP_PDU_PR_successfulOutcome, + HNBAP_PDU_PR_unsuccessfulOutcome, + /* Extensions may appear below */ + +} HNBAP_PDU_PR; + +/* HNBAP-PDU */ +typedef struct HNBAP_PDU { + HNBAP_PDU_PR present; + union HNBAP_PDU_u { + InitiatingMessage_t initiatingMessage; + SuccessfulOutcome_t successfulOutcome; + UnsuccessfulOutcome_t unsuccessfulOutcome; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HNBAP_PDU_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNBAP_PDU; + +#ifdef __cplusplus +} +#endif + +#endif /* _HNBAP_PDU_H_ */ +#include diff --git a/src/hnbap/HNBCapacity.c b/src/hnbap/HNBCapacity.c new file mode 100644 index 0000000..0c8acb9 --- /dev/null +++ b/src/hnbap/HNBCapacity.c @@ -0,0 +1,166 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "HNBCapacity.h" + +int +HNBCapacity_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0l && value <= 1000l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static void +HNBCapacity_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeInteger.free_struct; + td->print_struct = asn_DEF_NativeInteger.print_struct; + td->check_constraints = asn_DEF_NativeInteger.check_constraints; + td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; + td->der_encoder = asn_DEF_NativeInteger.der_encoder; + td->xer_decoder = asn_DEF_NativeInteger.xer_decoder; + td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; + td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; + td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; + td->aper_decoder = asn_DEF_NativeInteger.aper_decoder; + td->aper_encoder = asn_DEF_NativeInteger.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeInteger.per_constraints; + td->elements = asn_DEF_NativeInteger.elements; + td->elements_count = asn_DEF_NativeInteger.elements_count; + td->specifics = asn_DEF_NativeInteger.specifics; +} + +void +HNBCapacity_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + HNBCapacity_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +HNBCapacity_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + HNBCapacity_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +HNBCapacity_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + HNBCapacity_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +HNBCapacity_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + HNBCapacity_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +HNBCapacity_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + HNBCapacity_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +HNBCapacity_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + HNBCapacity_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +HNBCapacity_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + HNBCapacity_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +HNBCapacity_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + HNBCapacity_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +HNBCapacity_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + HNBCapacity_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +HNBCapacity_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + HNBCapacity_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_HNBCapacity_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0l, 1000l } /* (0..1000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_HNBCapacity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_HNBCapacity = { + "HNBCapacity", + "HNBCapacity", + HNBCapacity_free, + HNBCapacity_print, + HNBCapacity_constraint, + HNBCapacity_decode_ber, + HNBCapacity_encode_der, + HNBCapacity_decode_xer, + HNBCapacity_encode_xer, + HNBCapacity_decode_uper, + HNBCapacity_encode_uper, + HNBCapacity_decode_aper, + HNBCapacity_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_HNBCapacity_tags_1, + sizeof(asn_DEF_HNBCapacity_tags_1) + /sizeof(asn_DEF_HNBCapacity_tags_1[0]), /* 1 */ + asn_DEF_HNBCapacity_tags_1, /* Same as above */ + sizeof(asn_DEF_HNBCapacity_tags_1) + /sizeof(asn_DEF_HNBCapacity_tags_1[0]), /* 1 */ + &asn_PER_type_HNBCapacity_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/HNBCapacity.h b/src/hnbap/HNBCapacity.h new file mode 100644 index 0000000..2c6eea1 --- /dev/null +++ b/src/hnbap/HNBCapacity.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNBCapacity_H_ +#define _HNBCapacity_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* HNBCapacity */ +typedef long HNBCapacity_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNBCapacity; +asn_struct_free_f HNBCapacity_free; +asn_struct_print_f HNBCapacity_print; +asn_constr_check_f HNBCapacity_constraint; +ber_type_decoder_f HNBCapacity_decode_ber; +der_type_encoder_f HNBCapacity_encode_der; +xer_type_decoder_f HNBCapacity_decode_xer; +xer_type_encoder_f HNBCapacity_encode_xer; +per_type_decoder_f HNBCapacity_decode_uper; +per_type_encoder_f HNBCapacity_encode_uper; +per_type_decoder_f HNBCapacity_decode_aper; +per_type_encoder_f HNBCapacity_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _HNBCapacity_H_ */ +#include diff --git a/src/hnbap/HNBConfigInfo.c b/src/hnbap/HNBConfigInfo.c new file mode 100644 index 0000000..dd1ddda --- /dev/null +++ b/src/hnbap/HNBConfigInfo.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "HNBConfigInfo.h" + +static asn_TYPE_member_t asn_MBR_HNBConfigInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HNBConfigInfo, hnb_RNL_Identity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_HNB_RNL_Identity, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "hnb-RNL-Identity" + }, + { ATF_NOFLAGS, 0, offsetof(struct HNBConfigInfo, configurationInformation), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ConfigurationInformation, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "configurationInformation" + }, + { ATF_POINTER, 1, offsetof(struct HNBConfigInfo, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_HNBConfigInfo_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_HNBConfigInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HNBConfigInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* hnb-RNL-Identity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* configurationInformation */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_HNBConfigInfo_specs_1 = { + sizeof(struct HNBConfigInfo), + offsetof(struct HNBConfigInfo, _asn_ctx), + asn_MAP_HNBConfigInfo_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_HNBConfigInfo_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* Start extensions */ + 4 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_HNBConfigInfo = { + "HNBConfigInfo", + "HNBConfigInfo", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_HNBConfigInfo_tags_1, + sizeof(asn_DEF_HNBConfigInfo_tags_1) + /sizeof(asn_DEF_HNBConfigInfo_tags_1[0]), /* 1 */ + asn_DEF_HNBConfigInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_HNBConfigInfo_tags_1) + /sizeof(asn_DEF_HNBConfigInfo_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_HNBConfigInfo_1, + 3, /* Elements count */ + &asn_SPC_HNBConfigInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/HNBConfigInfo.h b/src/hnbap/HNBConfigInfo.h new file mode 100644 index 0000000..2c45d51 --- /dev/null +++ b/src/hnbap/HNBConfigInfo.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNBConfigInfo_H_ +#define _HNBConfigInfo_H_ + + +#include + +/* Including external dependencies */ +#include "HNB-RNL-Identity.h" +#include "ConfigurationInformation.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE_Extensions; + +/* HNBConfigInfo */ +typedef struct HNBConfigInfo { + HNB_RNL_Identity_t hnb_RNL_Identity; + ConfigurationInformation_t configurationInformation; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HNBConfigInfo_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNBConfigInfo; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _HNBConfigInfo_H_ */ +#include diff --git a/src/hnbap/HNBConfigTransferRequest.c b/src/hnbap/HNBConfigTransferRequest.c new file mode 100644 index 0000000..336bd98 --- /dev/null +++ b/src/hnbap/HNBConfigTransferRequest.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "HNBConfigTransferRequest.h" + +static int +memb_hnbConfigTransferRequest_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_hnbConfigTransferRequest_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_hnbConfigTransferRequest_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_hnbConfigTransferRequest_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_hnbConfigTransferRequest_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_hnbConfigTransferRequest_ies_specs_2 = { + sizeof(struct hnbConfigTransferRequest_ies), + offsetof(struct hnbConfigTransferRequest_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_hnbConfigTransferRequest_ies_2 = { + "hnbConfigTransferRequest-ies", + "hnbConfigTransferRequest-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_hnbConfigTransferRequest_ies_tags_2, + sizeof(asn_DEF_hnbConfigTransferRequest_ies_tags_2) + /sizeof(asn_DEF_hnbConfigTransferRequest_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_hnbConfigTransferRequest_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_hnbConfigTransferRequest_ies_tags_2) + /sizeof(asn_DEF_hnbConfigTransferRequest_ies_tags_2[0]), /* 2 */ + &asn_PER_type_hnbConfigTransferRequest_ies_constr_2, + asn_MBR_hnbConfigTransferRequest_ies_2, + 1, /* Single element */ + &asn_SPC_hnbConfigTransferRequest_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_HNBConfigTransferRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HNBConfigTransferRequest, hnbConfigTransferRequest_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_hnbConfigTransferRequest_ies_2, + memb_hnbConfigTransferRequest_ies_constraint_1, + &asn_PER_memb_hnbConfigTransferRequest_ies_constr_2, + 0, + "hnbConfigTransferRequest-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_HNBConfigTransferRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HNBConfigTransferRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* hnbConfigTransferRequest-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_HNBConfigTransferRequest_specs_1 = { + sizeof(struct HNBConfigTransferRequest), + offsetof(struct HNBConfigTransferRequest, _asn_ctx), + asn_MAP_HNBConfigTransferRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_HNBConfigTransferRequest = { + "HNBConfigTransferRequest", + "HNBConfigTransferRequest", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_HNBConfigTransferRequest_tags_1, + sizeof(asn_DEF_HNBConfigTransferRequest_tags_1) + /sizeof(asn_DEF_HNBConfigTransferRequest_tags_1[0]), /* 1 */ + asn_DEF_HNBConfigTransferRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_HNBConfigTransferRequest_tags_1) + /sizeof(asn_DEF_HNBConfigTransferRequest_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_HNBConfigTransferRequest_1, + 1, /* Elements count */ + &asn_SPC_HNBConfigTransferRequest_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/HNBConfigTransferRequest.h b/src/hnbap/HNBConfigTransferRequest.h new file mode 100644 index 0000000..16fd0b1 --- /dev/null +++ b/src/hnbap/HNBConfigTransferRequest.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNBConfigTransferRequest_H_ +#define _HNBConfigTransferRequest_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* HNBConfigTransferRequest */ +typedef struct HNBConfigTransferRequest { + struct hnbConfigTransferRequest_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } hnbConfigTransferRequest_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HNBConfigTransferRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNBConfigTransferRequest; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _HNBConfigTransferRequest_H_ */ +#include diff --git a/src/hnbap/HNBConfigTransferResponse.c b/src/hnbap/HNBConfigTransferResponse.c new file mode 100644 index 0000000..da454cb --- /dev/null +++ b/src/hnbap/HNBConfigTransferResponse.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "HNBConfigTransferResponse.h" + +static int +memb_hnbConfigTransferResponse_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_hnbConfigTransferResponse_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_hnbConfigTransferResponse_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_hnbConfigTransferResponse_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_hnbConfigTransferResponse_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_hnbConfigTransferResponse_ies_specs_2 = { + sizeof(struct hnbConfigTransferResponse_ies), + offsetof(struct hnbConfigTransferResponse_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_hnbConfigTransferResponse_ies_2 = { + "hnbConfigTransferResponse-ies", + "hnbConfigTransferResponse-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_hnbConfigTransferResponse_ies_tags_2, + sizeof(asn_DEF_hnbConfigTransferResponse_ies_tags_2) + /sizeof(asn_DEF_hnbConfigTransferResponse_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_hnbConfigTransferResponse_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_hnbConfigTransferResponse_ies_tags_2) + /sizeof(asn_DEF_hnbConfigTransferResponse_ies_tags_2[0]), /* 2 */ + &asn_PER_type_hnbConfigTransferResponse_ies_constr_2, + asn_MBR_hnbConfigTransferResponse_ies_2, + 1, /* Single element */ + &asn_SPC_hnbConfigTransferResponse_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_HNBConfigTransferResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HNBConfigTransferResponse, hnbConfigTransferResponse_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_hnbConfigTransferResponse_ies_2, + memb_hnbConfigTransferResponse_ies_constraint_1, + &asn_PER_memb_hnbConfigTransferResponse_ies_constr_2, + 0, + "hnbConfigTransferResponse-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_HNBConfigTransferResponse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HNBConfigTransferResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* hnbConfigTransferResponse-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_HNBConfigTransferResponse_specs_1 = { + sizeof(struct HNBConfigTransferResponse), + offsetof(struct HNBConfigTransferResponse, _asn_ctx), + asn_MAP_HNBConfigTransferResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_HNBConfigTransferResponse = { + "HNBConfigTransferResponse", + "HNBConfigTransferResponse", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_HNBConfigTransferResponse_tags_1, + sizeof(asn_DEF_HNBConfigTransferResponse_tags_1) + /sizeof(asn_DEF_HNBConfigTransferResponse_tags_1[0]), /* 1 */ + asn_DEF_HNBConfigTransferResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_HNBConfigTransferResponse_tags_1) + /sizeof(asn_DEF_HNBConfigTransferResponse_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_HNBConfigTransferResponse_1, + 1, /* Elements count */ + &asn_SPC_HNBConfigTransferResponse_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/HNBConfigTransferResponse.h b/src/hnbap/HNBConfigTransferResponse.h new file mode 100644 index 0000000..b858332 --- /dev/null +++ b/src/hnbap/HNBConfigTransferResponse.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNBConfigTransferResponse_H_ +#define _HNBConfigTransferResponse_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* HNBConfigTransferResponse */ +typedef struct HNBConfigTransferResponse { + struct hnbConfigTransferResponse_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } hnbConfigTransferResponse_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HNBConfigTransferResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNBConfigTransferResponse; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _HNBConfigTransferResponse_H_ */ +#include diff --git a/src/hnbap/HNBConfigurationInformationMissing.c b/src/hnbap/HNBConfigurationInformationMissing.c new file mode 100644 index 0000000..aa20d2a --- /dev/null +++ b/src/hnbap/HNBConfigurationInformationMissing.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "HNBConfigurationInformationMissing.h" + +static asn_TYPE_member_t asn_MBR_HNBConfigurationInformationMissing_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HNBConfigurationInformationMissing, cause), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_Cause, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "cause" + }, + { ATF_POINTER, 1, offsetof(struct HNBConfigurationInformationMissing, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_HNBConfigurationInformationMissing_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_HNBConfigurationInformationMissing_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HNBConfigurationInformationMissing_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cause */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_HNBConfigurationInformationMissing_specs_1 = { + sizeof(struct HNBConfigurationInformationMissing), + offsetof(struct HNBConfigurationInformationMissing, _asn_ctx), + asn_MAP_HNBConfigurationInformationMissing_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_HNBConfigurationInformationMissing_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* Start extensions */ + 3 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_HNBConfigurationInformationMissing = { + "HNBConfigurationInformationMissing", + "HNBConfigurationInformationMissing", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_HNBConfigurationInformationMissing_tags_1, + sizeof(asn_DEF_HNBConfigurationInformationMissing_tags_1) + /sizeof(asn_DEF_HNBConfigurationInformationMissing_tags_1[0]), /* 1 */ + asn_DEF_HNBConfigurationInformationMissing_tags_1, /* Same as above */ + sizeof(asn_DEF_HNBConfigurationInformationMissing_tags_1) + /sizeof(asn_DEF_HNBConfigurationInformationMissing_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_HNBConfigurationInformationMissing_1, + 2, /* Elements count */ + &asn_SPC_HNBConfigurationInformationMissing_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/HNBConfigurationInformationMissing.h b/src/hnbap/HNBConfigurationInformationMissing.h new file mode 100644 index 0000000..6241f7b --- /dev/null +++ b/src/hnbap/HNBConfigurationInformationMissing.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNBConfigurationInformationMissing_H_ +#define _HNBConfigurationInformationMissing_H_ + + +#include + +/* Including external dependencies */ +#include "Cause.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE_Extensions; + +/* HNBConfigurationInformationMissing */ +typedef struct HNBConfigurationInformationMissing { + Cause_t cause; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HNBConfigurationInformationMissing_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNBConfigurationInformationMissing; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _HNBConfigurationInformationMissing_H_ */ +#include diff --git a/src/hnbap/HNBConfigurationInformationProvided.c b/src/hnbap/HNBConfigurationInformationProvided.c new file mode 100644 index 0000000..c620055 --- /dev/null +++ b/src/hnbap/HNBConfigurationInformationProvided.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "HNBConfigurationInformationProvided.h" + +static asn_TYPE_member_t asn_MBR_HNBConfigurationInformationProvided_1[] = { + { ATF_POINTER, 2, offsetof(struct HNBConfigurationInformationProvided, psc), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PSC, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "psc" + }, + { ATF_POINTER, 1, offsetof(struct HNBConfigurationInformationProvided, cSG_ID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CSG_ID, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "cSG-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct HNBConfigurationInformationProvided, hNB_Cell_Access_Mode), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HNB_Cell_Access_Mode, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "hNB-Cell-Access-Mode" + }, + { ATF_NOFLAGS, 0, offsetof(struct HNBConfigurationInformationProvided, iurh_Signalling_TNL_AddressList), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Iurh_Signalling_TNL_AddressList, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iurh-Signalling-TNL-AddressList" + }, + { ATF_POINTER, 1, offsetof(struct HNBConfigurationInformationProvided, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_HNBConfigurationInformationProvided_oms_1[] = { 0, 1, 4 }; +static const ber_tlv_tag_t asn_DEF_HNBConfigurationInformationProvided_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HNBConfigurationInformationProvided_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* psc */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* cSG-ID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* hNB-Cell-Access-Mode */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* iurh-Signalling-TNL-AddressList */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_HNBConfigurationInformationProvided_specs_1 = { + sizeof(struct HNBConfigurationInformationProvided), + offsetof(struct HNBConfigurationInformationProvided, _asn_ctx), + asn_MAP_HNBConfigurationInformationProvided_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_HNBConfigurationInformationProvided_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 4, /* Start extensions */ + 6 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_HNBConfigurationInformationProvided = { + "HNBConfigurationInformationProvided", + "HNBConfigurationInformationProvided", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_HNBConfigurationInformationProvided_tags_1, + sizeof(asn_DEF_HNBConfigurationInformationProvided_tags_1) + /sizeof(asn_DEF_HNBConfigurationInformationProvided_tags_1[0]), /* 1 */ + asn_DEF_HNBConfigurationInformationProvided_tags_1, /* Same as above */ + sizeof(asn_DEF_HNBConfigurationInformationProvided_tags_1) + /sizeof(asn_DEF_HNBConfigurationInformationProvided_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_HNBConfigurationInformationProvided_1, + 5, /* Elements count */ + &asn_SPC_HNBConfigurationInformationProvided_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/HNBConfigurationInformationProvided.h b/src/hnbap/HNBConfigurationInformationProvided.h new file mode 100644 index 0000000..ccf9504 --- /dev/null +++ b/src/hnbap/HNBConfigurationInformationProvided.h @@ -0,0 +1,55 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNBConfigurationInformationProvided_H_ +#define _HNBConfigurationInformationProvided_H_ + + +#include + +/* Including external dependencies */ +#include "PSC.h" +#include "CSG-ID.h" +#include "HNB-Cell-Access-Mode.h" +#include "Iurh-Signalling-TNL-AddressList.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE_Extensions; + +/* HNBConfigurationInformationProvided */ +typedef struct HNBConfigurationInformationProvided { + PSC_t *psc /* OPTIONAL */; + CSG_ID_t *cSG_ID /* OPTIONAL */; + HNB_Cell_Access_Mode_t hNB_Cell_Access_Mode; + Iurh_Signalling_TNL_AddressList_t iurh_Signalling_TNL_AddressList; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HNBConfigurationInformationProvided_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNBConfigurationInformationProvided; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _HNBConfigurationInformationProvided_H_ */ +#include diff --git a/src/hnbap/HNBDe-Register.c b/src/hnbap/HNBDe-Register.c new file mode 100644 index 0000000..023cf9f --- /dev/null +++ b/src/hnbap/HNBDe-Register.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "HNBDe-Register.h" + +static int +memb_hnbDe_Register_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_hnbDe_Register_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_hnbDe_Register_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_hnbDe_Register_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_hnbDe_Register_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_hnbDe_Register_ies_specs_2 = { + sizeof(struct hnbDe_Register_ies), + offsetof(struct hnbDe_Register_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_hnbDe_Register_ies_2 = { + "hnbDe-Register-ies", + "hnbDe-Register-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_hnbDe_Register_ies_tags_2, + sizeof(asn_DEF_hnbDe_Register_ies_tags_2) + /sizeof(asn_DEF_hnbDe_Register_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_hnbDe_Register_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_hnbDe_Register_ies_tags_2) + /sizeof(asn_DEF_hnbDe_Register_ies_tags_2[0]), /* 2 */ + &asn_PER_type_hnbDe_Register_ies_constr_2, + asn_MBR_hnbDe_Register_ies_2, + 1, /* Single element */ + &asn_SPC_hnbDe_Register_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_HNBDe_Register_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HNBDe_Register, hnbDe_Register_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_hnbDe_Register_ies_2, + memb_hnbDe_Register_ies_constraint_1, + &asn_PER_memb_hnbDe_Register_ies_constr_2, + 0, + "hnbDe-Register-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_HNBDe_Register_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HNBDe_Register_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* hnbDe-Register-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_HNBDe_Register_specs_1 = { + sizeof(struct HNBDe_Register), + offsetof(struct HNBDe_Register, _asn_ctx), + asn_MAP_HNBDe_Register_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_HNBDe_Register = { + "HNBDe-Register", + "HNBDe-Register", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_HNBDe_Register_tags_1, + sizeof(asn_DEF_HNBDe_Register_tags_1) + /sizeof(asn_DEF_HNBDe_Register_tags_1[0]), /* 1 */ + asn_DEF_HNBDe_Register_tags_1, /* Same as above */ + sizeof(asn_DEF_HNBDe_Register_tags_1) + /sizeof(asn_DEF_HNBDe_Register_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_HNBDe_Register_1, + 1, /* Elements count */ + &asn_SPC_HNBDe_Register_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/HNBDe-Register.h b/src/hnbap/HNBDe-Register.h new file mode 100644 index 0000000..fc501d5 --- /dev/null +++ b/src/hnbap/HNBDe-Register.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNBDe_Register_H_ +#define _HNBDe_Register_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* HNBDe-Register */ +typedef struct HNBDe_Register { + struct hnbDe_Register_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } hnbDe_Register_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HNBDe_Register_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNBDe_Register; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _HNBDe_Register_H_ */ +#include diff --git a/src/hnbap/HNBRegisterAccept.c b/src/hnbap/HNBRegisterAccept.c new file mode 100644 index 0000000..466bb30 --- /dev/null +++ b/src/hnbap/HNBRegisterAccept.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "HNBRegisterAccept.h" + +static int +memb_hnbRegisterAccept_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_hnbRegisterAccept_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_hnbRegisterAccept_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_hnbRegisterAccept_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_hnbRegisterAccept_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_hnbRegisterAccept_ies_specs_2 = { + sizeof(struct hnbRegisterAccept_ies), + offsetof(struct hnbRegisterAccept_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_hnbRegisterAccept_ies_2 = { + "hnbRegisterAccept-ies", + "hnbRegisterAccept-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_hnbRegisterAccept_ies_tags_2, + sizeof(asn_DEF_hnbRegisterAccept_ies_tags_2) + /sizeof(asn_DEF_hnbRegisterAccept_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_hnbRegisterAccept_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_hnbRegisterAccept_ies_tags_2) + /sizeof(asn_DEF_hnbRegisterAccept_ies_tags_2[0]), /* 2 */ + &asn_PER_type_hnbRegisterAccept_ies_constr_2, + asn_MBR_hnbRegisterAccept_ies_2, + 1, /* Single element */ + &asn_SPC_hnbRegisterAccept_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_HNBRegisterAccept_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HNBRegisterAccept, hnbRegisterAccept_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_hnbRegisterAccept_ies_2, + memb_hnbRegisterAccept_ies_constraint_1, + &asn_PER_memb_hnbRegisterAccept_ies_constr_2, + 0, + "hnbRegisterAccept-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_HNBRegisterAccept_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HNBRegisterAccept_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* hnbRegisterAccept-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_HNBRegisterAccept_specs_1 = { + sizeof(struct HNBRegisterAccept), + offsetof(struct HNBRegisterAccept, _asn_ctx), + asn_MAP_HNBRegisterAccept_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_HNBRegisterAccept = { + "HNBRegisterAccept", + "HNBRegisterAccept", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_HNBRegisterAccept_tags_1, + sizeof(asn_DEF_HNBRegisterAccept_tags_1) + /sizeof(asn_DEF_HNBRegisterAccept_tags_1[0]), /* 1 */ + asn_DEF_HNBRegisterAccept_tags_1, /* Same as above */ + sizeof(asn_DEF_HNBRegisterAccept_tags_1) + /sizeof(asn_DEF_HNBRegisterAccept_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_HNBRegisterAccept_1, + 1, /* Elements count */ + &asn_SPC_HNBRegisterAccept_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/HNBRegisterAccept.h b/src/hnbap/HNBRegisterAccept.h new file mode 100644 index 0000000..2c0192c --- /dev/null +++ b/src/hnbap/HNBRegisterAccept.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNBRegisterAccept_H_ +#define _HNBRegisterAccept_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* HNBRegisterAccept */ +typedef struct HNBRegisterAccept { + struct hnbRegisterAccept_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } hnbRegisterAccept_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HNBRegisterAccept_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNBRegisterAccept; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _HNBRegisterAccept_H_ */ +#include diff --git a/src/hnbap/HNBRegisterReject.c b/src/hnbap/HNBRegisterReject.c new file mode 100644 index 0000000..f39611d --- /dev/null +++ b/src/hnbap/HNBRegisterReject.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "HNBRegisterReject.h" + +static int +memb_hnbRegisterReject_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_hnbRegisterReject_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_hnbRegisterReject_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_hnbRegisterReject_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_hnbRegisterReject_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_hnbRegisterReject_ies_specs_2 = { + sizeof(struct hnbRegisterReject_ies), + offsetof(struct hnbRegisterReject_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_hnbRegisterReject_ies_2 = { + "hnbRegisterReject-ies", + "hnbRegisterReject-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_hnbRegisterReject_ies_tags_2, + sizeof(asn_DEF_hnbRegisterReject_ies_tags_2) + /sizeof(asn_DEF_hnbRegisterReject_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_hnbRegisterReject_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_hnbRegisterReject_ies_tags_2) + /sizeof(asn_DEF_hnbRegisterReject_ies_tags_2[0]), /* 2 */ + &asn_PER_type_hnbRegisterReject_ies_constr_2, + asn_MBR_hnbRegisterReject_ies_2, + 1, /* Single element */ + &asn_SPC_hnbRegisterReject_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_HNBRegisterReject_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HNBRegisterReject, hnbRegisterReject_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_hnbRegisterReject_ies_2, + memb_hnbRegisterReject_ies_constraint_1, + &asn_PER_memb_hnbRegisterReject_ies_constr_2, + 0, + "hnbRegisterReject-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_HNBRegisterReject_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HNBRegisterReject_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* hnbRegisterReject-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_HNBRegisterReject_specs_1 = { + sizeof(struct HNBRegisterReject), + offsetof(struct HNBRegisterReject, _asn_ctx), + asn_MAP_HNBRegisterReject_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_HNBRegisterReject = { + "HNBRegisterReject", + "HNBRegisterReject", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_HNBRegisterReject_tags_1, + sizeof(asn_DEF_HNBRegisterReject_tags_1) + /sizeof(asn_DEF_HNBRegisterReject_tags_1[0]), /* 1 */ + asn_DEF_HNBRegisterReject_tags_1, /* Same as above */ + sizeof(asn_DEF_HNBRegisterReject_tags_1) + /sizeof(asn_DEF_HNBRegisterReject_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_HNBRegisterReject_1, + 1, /* Elements count */ + &asn_SPC_HNBRegisterReject_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/HNBRegisterReject.h b/src/hnbap/HNBRegisterReject.h new file mode 100644 index 0000000..830ca8a --- /dev/null +++ b/src/hnbap/HNBRegisterReject.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNBRegisterReject_H_ +#define _HNBRegisterReject_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* HNBRegisterReject */ +typedef struct HNBRegisterReject { + struct hnbRegisterReject_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } hnbRegisterReject_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HNBRegisterReject_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNBRegisterReject; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _HNBRegisterReject_H_ */ +#include diff --git a/src/hnbap/HNBRegisterRequest.c b/src/hnbap/HNBRegisterRequest.c new file mode 100644 index 0000000..214a3e7 --- /dev/null +++ b/src/hnbap/HNBRegisterRequest.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "HNBRegisterRequest.h" + +static int +memb_hnbRegisterRequest_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_hnbRegisterRequest_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_hnbRegisterRequest_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_hnbRegisterRequest_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_hnbRegisterRequest_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_hnbRegisterRequest_ies_specs_2 = { + sizeof(struct hnbRegisterRequest_ies), + offsetof(struct hnbRegisterRequest_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_hnbRegisterRequest_ies_2 = { + "hnbRegisterRequest-ies", + "hnbRegisterRequest-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_hnbRegisterRequest_ies_tags_2, + sizeof(asn_DEF_hnbRegisterRequest_ies_tags_2) + /sizeof(asn_DEF_hnbRegisterRequest_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_hnbRegisterRequest_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_hnbRegisterRequest_ies_tags_2) + /sizeof(asn_DEF_hnbRegisterRequest_ies_tags_2[0]), /* 2 */ + &asn_PER_type_hnbRegisterRequest_ies_constr_2, + asn_MBR_hnbRegisterRequest_ies_2, + 1, /* Single element */ + &asn_SPC_hnbRegisterRequest_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_HNBRegisterRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HNBRegisterRequest, hnbRegisterRequest_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_hnbRegisterRequest_ies_2, + memb_hnbRegisterRequest_ies_constraint_1, + &asn_PER_memb_hnbRegisterRequest_ies_constr_2, + 0, + "hnbRegisterRequest-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_HNBRegisterRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HNBRegisterRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* hnbRegisterRequest-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_HNBRegisterRequest_specs_1 = { + sizeof(struct HNBRegisterRequest), + offsetof(struct HNBRegisterRequest, _asn_ctx), + asn_MAP_HNBRegisterRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_HNBRegisterRequest = { + "HNBRegisterRequest", + "HNBRegisterRequest", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_HNBRegisterRequest_tags_1, + sizeof(asn_DEF_HNBRegisterRequest_tags_1) + /sizeof(asn_DEF_HNBRegisterRequest_tags_1[0]), /* 1 */ + asn_DEF_HNBRegisterRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_HNBRegisterRequest_tags_1) + /sizeof(asn_DEF_HNBRegisterRequest_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_HNBRegisterRequest_1, + 1, /* Elements count */ + &asn_SPC_HNBRegisterRequest_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/HNBRegisterRequest.h b/src/hnbap/HNBRegisterRequest.h new file mode 100644 index 0000000..f1ccf59 --- /dev/null +++ b/src/hnbap/HNBRegisterRequest.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _HNBRegisterRequest_H_ +#define _HNBRegisterRequest_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* HNBRegisterRequest */ +typedef struct HNBRegisterRequest { + struct hnbRegisterRequest_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } hnbRegisterRequest_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} HNBRegisterRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_HNBRegisterRequest; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _HNBRegisterRequest_H_ */ +#include diff --git a/src/hnbap/IE-Extensions.c b/src/hnbap/IE-Extensions.c new file mode 100644 index 0000000..66b8965 --- /dev/null +++ b/src/hnbap/IE-Extensions.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "IE-Extensions.h" + +static asn_per_constraints_t asn_PER_type_IE_Extensions_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 1l, 65535l } /* (SIZE(1..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_IE_Extensions_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_IE_Extensions_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_IE_Extensions_specs_1 = { + sizeof(struct IE_Extensions), + offsetof(struct IE_Extensions, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_IE_Extensions = { + "IE-Extensions", + "IE-Extensions", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_IE_Extensions_tags_1, + sizeof(asn_DEF_IE_Extensions_tags_1) + /sizeof(asn_DEF_IE_Extensions_tags_1[0]), /* 1 */ + asn_DEF_IE_Extensions_tags_1, /* Same as above */ + sizeof(asn_DEF_IE_Extensions_tags_1) + /sizeof(asn_DEF_IE_Extensions_tags_1[0]), /* 1 */ + &asn_PER_type_IE_Extensions_constr_1, + asn_MBR_IE_Extensions_1, + 1, /* Single element */ + &asn_SPC_IE_Extensions_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/IE-Extensions.h b/src/hnbap/IE-Extensions.h new file mode 100644 index 0000000..f666dae --- /dev/null +++ b/src/hnbap/IE-Extensions.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _IE_Extensions_H_ +#define _IE_Extensions_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* IE-Extensions */ +typedef struct IE_Extensions { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} IE_Extensions_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_IE_Extensions; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _IE_Extensions_H_ */ +#include diff --git a/src/hnbap/IE.c b/src/hnbap/IE.c new file mode 100644 index 0000000..9d80998 --- /dev/null +++ b/src/hnbap/IE.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "IE.h" + +static asn_TYPE_member_t asn_MBR_IE_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct IE, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProtocolIE_ID, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct IE, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "criticality" + }, + { ATF_NOFLAGS, 0, offsetof(struct IE, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ANY, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_IE_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_IE_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_IE_specs_1 = { + sizeof(struct IE), + offsetof(struct IE, _asn_ctx), + asn_MAP_IE_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* Start extensions */ + -1 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_IE = { + "IE", + "IE", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_IE_tags_1, + sizeof(asn_DEF_IE_tags_1) + /sizeof(asn_DEF_IE_tags_1[0]), /* 1 */ + asn_DEF_IE_tags_1, /* Same as above */ + sizeof(asn_DEF_IE_tags_1) + /sizeof(asn_DEF_IE_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_IE_1, + 3, /* Elements count */ + &asn_SPC_IE_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/IE.h b/src/hnbap/IE.h new file mode 100644 index 0000000..e7d081f --- /dev/null +++ b/src/hnbap/IE.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _IE_H_ +#define _IE_H_ + + +#include + +/* Including external dependencies */ +#include "ProtocolIE-ID.h" +#include "Criticality.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* IE */ +typedef struct IE { + ProtocolIE_ID_t id; + Criticality_t criticality; + ANY_t value; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} IE_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_IE; + +#ifdef __cplusplus +} +#endif + +#endif /* _IE_H_ */ +#include diff --git a/src/hnbap/IMEI.c b/src/hnbap/IMEI.c new file mode 100644 index 0000000..ea7dc79 --- /dev/null +++ b/src/hnbap/IMEI.c @@ -0,0 +1,172 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "IMEI.h" + +int +IMEI_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 60l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static void +IMEI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_BIT_STRING.free_struct; + td->print_struct = asn_DEF_BIT_STRING.print_struct; + td->check_constraints = asn_DEF_BIT_STRING.check_constraints; + td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; + td->der_encoder = asn_DEF_BIT_STRING.der_encoder; + td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; + td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; + td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; + td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; + td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; + td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_BIT_STRING.per_constraints; + td->elements = asn_DEF_BIT_STRING.elements; + td->elements_count = asn_DEF_BIT_STRING.elements_count; + td->specifics = asn_DEF_BIT_STRING.specifics; +} + +void +IMEI_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + IMEI_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +IMEI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + IMEI_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +IMEI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + IMEI_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +IMEI_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + IMEI_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +IMEI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + IMEI_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +IMEI_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + IMEI_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +IMEI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + IMEI_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +IMEI_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + IMEI_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +IMEI_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + IMEI_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +IMEI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + IMEI_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_IMEI_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 60l, 60l } /* (SIZE(60..60)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_IMEI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_IMEI = { + "IMEI", + "IMEI", + IMEI_free, + IMEI_print, + IMEI_constraint, + IMEI_decode_ber, + IMEI_encode_der, + IMEI_decode_xer, + IMEI_encode_xer, + IMEI_decode_uper, + IMEI_encode_uper, + IMEI_decode_aper, + IMEI_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_IMEI_tags_1, + sizeof(asn_DEF_IMEI_tags_1) + /sizeof(asn_DEF_IMEI_tags_1[0]), /* 1 */ + asn_DEF_IMEI_tags_1, /* Same as above */ + sizeof(asn_DEF_IMEI_tags_1) + /sizeof(asn_DEF_IMEI_tags_1[0]), /* 1 */ + &asn_PER_type_IMEI_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/IMEI.h b/src/hnbap/IMEI.h new file mode 100644 index 0000000..41c8c9a --- /dev/null +++ b/src/hnbap/IMEI.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _IMEI_H_ +#define _IMEI_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* IMEI */ +typedef BIT_STRING_t IMEI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_IMEI; +asn_struct_free_f IMEI_free; +asn_struct_print_f IMEI_print; +asn_constr_check_f IMEI_constraint; +ber_type_decoder_f IMEI_decode_ber; +der_type_encoder_f IMEI_encode_der; +xer_type_decoder_f IMEI_decode_xer; +xer_type_encoder_f IMEI_encode_xer; +per_type_decoder_f IMEI_decode_uper; +per_type_encoder_f IMEI_encode_uper; +per_type_decoder_f IMEI_decode_aper; +per_type_encoder_f IMEI_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _IMEI_H_ */ +#include diff --git a/src/hnbap/IMSI.c b/src/hnbap/IMSI.c new file mode 100644 index 0000000..3a44270 --- /dev/null +++ b/src/hnbap/IMSI.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "IMSI.h" + +int +IMSI_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 3l && size <= 8l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static void +IMSI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_OCTET_STRING.free_struct; + td->print_struct = asn_DEF_OCTET_STRING.print_struct; + td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; + td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; + td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; + td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; + td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; + td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; + td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; + td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; + td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; + td->elements = asn_DEF_OCTET_STRING.elements; + td->elements_count = asn_DEF_OCTET_STRING.elements_count; + td->specifics = asn_DEF_OCTET_STRING.specifics; +} + +void +IMSI_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + IMSI_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +IMSI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + IMSI_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +IMSI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + IMSI_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +IMSI_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + IMSI_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +IMSI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + IMSI_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +IMSI_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + IMSI_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +IMSI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + IMSI_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +IMSI_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + IMSI_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +IMSI_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + IMSI_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +IMSI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + IMSI_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_IMSI_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 3l, 8l } /* (SIZE(3..8)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_IMSI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_IMSI = { + "IMSI", + "IMSI", + IMSI_free, + IMSI_print, + IMSI_constraint, + IMSI_decode_ber, + IMSI_encode_der, + IMSI_decode_xer, + IMSI_encode_xer, + IMSI_decode_uper, + IMSI_encode_uper, + IMSI_decode_aper, + IMSI_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_IMSI_tags_1, + sizeof(asn_DEF_IMSI_tags_1) + /sizeof(asn_DEF_IMSI_tags_1[0]), /* 1 */ + asn_DEF_IMSI_tags_1, /* Same as above */ + sizeof(asn_DEF_IMSI_tags_1) + /sizeof(asn_DEF_IMSI_tags_1[0]), /* 1 */ + &asn_PER_type_IMSI_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/IMSI.h b/src/hnbap/IMSI.h new file mode 100644 index 0000000..061520c --- /dev/null +++ b/src/hnbap/IMSI.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _IMSI_H_ +#define _IMSI_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* IMSI */ +typedef OCTET_STRING_t IMSI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_IMSI; +asn_struct_free_f IMSI_free; +asn_struct_print_f IMSI_print; +asn_constr_check_f IMSI_constraint; +ber_type_decoder_f IMSI_decode_ber; +der_type_encoder_f IMSI_encode_der; +xer_type_decoder_f IMSI_decode_xer; +xer_type_encoder_f IMSI_encode_xer; +per_type_decoder_f IMSI_decode_uper; +per_type_encoder_f IMSI_encode_uper; +per_type_decoder_f IMSI_decode_aper; +per_type_encoder_f IMSI_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _IMSI_H_ */ +#include diff --git a/src/hnbap/IMSIDS41.c b/src/hnbap/IMSIDS41.c new file mode 100644 index 0000000..b68c86e --- /dev/null +++ b/src/hnbap/IMSIDS41.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "IMSIDS41.h" + +int +IMSIDS41_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 5l && size <= 7l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static void +IMSIDS41_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_OCTET_STRING.free_struct; + td->print_struct = asn_DEF_OCTET_STRING.print_struct; + td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; + td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; + td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; + td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; + td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; + td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; + td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; + td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; + td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; + td->elements = asn_DEF_OCTET_STRING.elements; + td->elements_count = asn_DEF_OCTET_STRING.elements_count; + td->specifics = asn_DEF_OCTET_STRING.specifics; +} + +void +IMSIDS41_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + IMSIDS41_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +IMSIDS41_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + IMSIDS41_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +IMSIDS41_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + IMSIDS41_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +IMSIDS41_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + IMSIDS41_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +IMSIDS41_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + IMSIDS41_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +IMSIDS41_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + IMSIDS41_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +IMSIDS41_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + IMSIDS41_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +IMSIDS41_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + IMSIDS41_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +IMSIDS41_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + IMSIDS41_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +IMSIDS41_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + IMSIDS41_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_IMSIDS41_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 5l, 7l } /* (SIZE(5..7)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_IMSIDS41_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_IMSIDS41 = { + "IMSIDS41", + "IMSIDS41", + IMSIDS41_free, + IMSIDS41_print, + IMSIDS41_constraint, + IMSIDS41_decode_ber, + IMSIDS41_encode_der, + IMSIDS41_decode_xer, + IMSIDS41_encode_xer, + IMSIDS41_decode_uper, + IMSIDS41_encode_uper, + IMSIDS41_decode_aper, + IMSIDS41_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_IMSIDS41_tags_1, + sizeof(asn_DEF_IMSIDS41_tags_1) + /sizeof(asn_DEF_IMSIDS41_tags_1[0]), /* 1 */ + asn_DEF_IMSIDS41_tags_1, /* Same as above */ + sizeof(asn_DEF_IMSIDS41_tags_1) + /sizeof(asn_DEF_IMSIDS41_tags_1[0]), /* 1 */ + &asn_PER_type_IMSIDS41_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/IMSIDS41.h b/src/hnbap/IMSIDS41.h new file mode 100644 index 0000000..e424742 --- /dev/null +++ b/src/hnbap/IMSIDS41.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _IMSIDS41_H_ +#define _IMSIDS41_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* IMSIDS41 */ +typedef OCTET_STRING_t IMSIDS41_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_IMSIDS41; +asn_struct_free_f IMSIDS41_free; +asn_struct_print_f IMSIDS41_print; +asn_constr_check_f IMSIDS41_constraint; +ber_type_decoder_f IMSIDS41_decode_ber; +der_type_encoder_f IMSIDS41_encode_der; +xer_type_decoder_f IMSIDS41_decode_xer; +xer_type_encoder_f IMSIDS41_encode_xer; +per_type_decoder_f IMSIDS41_decode_uper; +per_type_encoder_f IMSIDS41_encode_uper; +per_type_decoder_f IMSIDS41_decode_aper; +per_type_encoder_f IMSIDS41_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _IMSIDS41_H_ */ +#include diff --git a/src/hnbap/IMSIESN.c b/src/hnbap/IMSIESN.c new file mode 100644 index 0000000..7bfd73b --- /dev/null +++ b/src/hnbap/IMSIESN.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "IMSIESN.h" + +static asn_TYPE_member_t asn_MBR_IMSIESN_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct IMSIESN, iMSIDS41), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IMSIDS41, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iMSIDS41" + }, + { ATF_NOFLAGS, 0, offsetof(struct IMSIESN, eSN), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ESN, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "eSN" + }, +}; +static const ber_tlv_tag_t asn_DEF_IMSIESN_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_IMSIESN_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iMSIDS41 */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eSN */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_IMSIESN_specs_1 = { + sizeof(struct IMSIESN), + offsetof(struct IMSIESN, _asn_ctx), + asn_MAP_IMSIESN_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* Start extensions */ + -1 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_IMSIESN = { + "IMSIESN", + "IMSIESN", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_IMSIESN_tags_1, + sizeof(asn_DEF_IMSIESN_tags_1) + /sizeof(asn_DEF_IMSIESN_tags_1[0]), /* 1 */ + asn_DEF_IMSIESN_tags_1, /* Same as above */ + sizeof(asn_DEF_IMSIESN_tags_1) + /sizeof(asn_DEF_IMSIESN_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_IMSIESN_1, + 2, /* Elements count */ + &asn_SPC_IMSIESN_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/IMSIESN.h b/src/hnbap/IMSIESN.h new file mode 100644 index 0000000..442a217 --- /dev/null +++ b/src/hnbap/IMSIESN.h @@ -0,0 +1,40 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _IMSIESN_H_ +#define _IMSIESN_H_ + + +#include + +/* Including external dependencies */ +#include "IMSIDS41.h" +#include "ESN.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* IMSIESN */ +typedef struct IMSIESN { + IMSIDS41_t iMSIDS41; + ESN_t eSN; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} IMSIESN_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_IMSIESN; + +#ifdef __cplusplus +} +#endif + +#endif /* _IMSIESN_H_ */ +#include diff --git a/src/hnbap/IP-Address.c b/src/hnbap/IP-Address.c new file mode 100644 index 0000000..eb2e872 --- /dev/null +++ b/src/hnbap/IP-Address.c @@ -0,0 +1,139 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "IP-Address.h" + +static asn_per_constraints_t asn_PER_type_ipaddress_constr_2 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ipaddress_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct ipaddress, choice.ipv4info), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Ipv4Address, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "ipv4info" + }, + { ATF_NOFLAGS, 0, offsetof(struct ipaddress, choice.ipv6info), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Ipv6Address, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "ipv6info" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ipaddress_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ipv4info */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ipv6info */ +}; +static asn_CHOICE_specifics_t asn_SPC_ipaddress_specs_2 = { + sizeof(struct ipaddress), + offsetof(struct ipaddress, _asn_ctx), + offsetof(struct ipaddress, present), + sizeof(((struct ipaddress *)0)->present), + asn_MAP_ipaddress_tag2el_2, + 2, /* Count of tags in the map */ + 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_ipaddress_2 = { + "ipaddress", + "ipaddress", + CHOICE_free, + CHOICE_print, + CHOICE_constraint, + CHOICE_decode_ber, + CHOICE_encode_der, + CHOICE_decode_xer, + CHOICE_encode_xer, + CHOICE_decode_uper, + CHOICE_encode_uper, + CHOICE_decode_aper, + CHOICE_encode_aper, + CHOICE_outmost_tag, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + &asn_PER_type_ipaddress_constr_2, + asn_MBR_ipaddress_2, + 2, /* Elements count */ + &asn_SPC_ipaddress_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_IP_Address_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct IP_Address, ipaddress), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ipaddress_2, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "ipaddress" + }, + { ATF_POINTER, 1, offsetof(struct IP_Address, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_IP_Address_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_IP_Address_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_IP_Address_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ipaddress */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_IP_Address_specs_1 = { + sizeof(struct IP_Address), + offsetof(struct IP_Address, _asn_ctx), + asn_MAP_IP_Address_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_IP_Address_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* Start extensions */ + 3 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_IP_Address = { + "IP-Address", + "IP-Address", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_IP_Address_tags_1, + sizeof(asn_DEF_IP_Address_tags_1) + /sizeof(asn_DEF_IP_Address_tags_1[0]), /* 1 */ + asn_DEF_IP_Address_tags_1, /* Same as above */ + sizeof(asn_DEF_IP_Address_tags_1) + /sizeof(asn_DEF_IP_Address_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_IP_Address_1, + 2, /* Elements count */ + &asn_SPC_IP_Address_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/IP-Address.h b/src/hnbap/IP-Address.h new file mode 100644 index 0000000..f73bd17 --- /dev/null +++ b/src/hnbap/IP-Address.h @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _IP_Address_H_ +#define _IP_Address_H_ + + +#include + +/* Including external dependencies */ +#include "Ipv4Address.h" +#include "Ipv6Address.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ipaddress_PR { + ipaddress_PR_NOTHING, /* No components present */ + ipaddress_PR_ipv4info, + ipaddress_PR_ipv6info, + /* Extensions may appear below */ + +} ipaddress_PR; + +/* Forward declarations */ +struct IE_Extensions; + +/* IP-Address */ +typedef struct IP_Address { + struct ipaddress { + ipaddress_PR present; + union IP_Address__ipaddress_u { + Ipv4Address_t ipv4info; + Ipv6Address_t ipv6info; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } ipaddress; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} IP_Address_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_IP_Address; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _IP_Address_H_ */ +#include diff --git a/src/hnbap/InitiatingMessage.c b/src/hnbap/InitiatingMessage.c new file mode 100644 index 0000000..bafcc94 --- /dev/null +++ b/src/hnbap/InitiatingMessage.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "InitiatingMessage.h" + +static asn_TYPE_member_t asn_MBR_InitiatingMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage, procedureCode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProcedureCode, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "procedureCode" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "criticality" + }, + { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ANY, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_InitiatingMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_InitiatingMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_InitiatingMessage_specs_1 = { + sizeof(struct InitiatingMessage), + offsetof(struct InitiatingMessage, _asn_ctx), + asn_MAP_InitiatingMessage_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* Start extensions */ + -1 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_InitiatingMessage = { + "InitiatingMessage", + "InitiatingMessage", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_InitiatingMessage_tags_1, + sizeof(asn_DEF_InitiatingMessage_tags_1) + /sizeof(asn_DEF_InitiatingMessage_tags_1[0]), /* 1 */ + asn_DEF_InitiatingMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_InitiatingMessage_tags_1) + /sizeof(asn_DEF_InitiatingMessage_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_InitiatingMessage_1, + 3, /* Elements count */ + &asn_SPC_InitiatingMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/InitiatingMessage.h b/src/hnbap/InitiatingMessage.h new file mode 100644 index 0000000..60adbe1 --- /dev/null +++ b/src/hnbap/InitiatingMessage.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _InitiatingMessage_H_ +#define _InitiatingMessage_H_ + + +#include + +/* Including external dependencies */ +#include "ProcedureCode.h" +#include "Criticality.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* InitiatingMessage */ +typedef struct InitiatingMessage { + ProcedureCode_t procedureCode; + Criticality_t criticality; + ANY_t value; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} InitiatingMessage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_InitiatingMessage; + +#ifdef __cplusplus +} +#endif + +#endif /* _InitiatingMessage_H_ */ +#include diff --git a/src/hnbap/Ipv4Address.c b/src/hnbap/Ipv4Address.c new file mode 100644 index 0000000..fee44c2 --- /dev/null +++ b/src/hnbap/Ipv4Address.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "Ipv4Address.h" + +int +Ipv4Address_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 4l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static void +Ipv4Address_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_OCTET_STRING.free_struct; + td->print_struct = asn_DEF_OCTET_STRING.print_struct; + td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; + td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; + td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; + td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; + td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; + td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; + td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; + td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; + td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; + td->elements = asn_DEF_OCTET_STRING.elements; + td->elements_count = asn_DEF_OCTET_STRING.elements_count; + td->specifics = asn_DEF_OCTET_STRING.specifics; +} + +void +Ipv4Address_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + Ipv4Address_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +Ipv4Address_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + Ipv4Address_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +Ipv4Address_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + Ipv4Address_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +Ipv4Address_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + Ipv4Address_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +Ipv4Address_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + Ipv4Address_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +Ipv4Address_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + Ipv4Address_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +Ipv4Address_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + Ipv4Address_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +Ipv4Address_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + Ipv4Address_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +Ipv4Address_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + Ipv4Address_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +Ipv4Address_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + Ipv4Address_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_Ipv4Address_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 4l, 4l } /* (SIZE(4..4)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_Ipv4Address_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Ipv4Address = { + "Ipv4Address", + "Ipv4Address", + Ipv4Address_free, + Ipv4Address_print, + Ipv4Address_constraint, + Ipv4Address_decode_ber, + Ipv4Address_encode_der, + Ipv4Address_decode_xer, + Ipv4Address_encode_xer, + Ipv4Address_decode_uper, + Ipv4Address_encode_uper, + Ipv4Address_decode_aper, + Ipv4Address_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_Ipv4Address_tags_1, + sizeof(asn_DEF_Ipv4Address_tags_1) + /sizeof(asn_DEF_Ipv4Address_tags_1[0]), /* 1 */ + asn_DEF_Ipv4Address_tags_1, /* Same as above */ + sizeof(asn_DEF_Ipv4Address_tags_1) + /sizeof(asn_DEF_Ipv4Address_tags_1[0]), /* 1 */ + &asn_PER_type_Ipv4Address_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/Ipv4Address.h b/src/hnbap/Ipv4Address.h new file mode 100644 index 0000000..49154ed --- /dev/null +++ b/src/hnbap/Ipv4Address.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _Ipv4Address_H_ +#define _Ipv4Address_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Ipv4Address */ +typedef OCTET_STRING_t Ipv4Address_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Ipv4Address; +asn_struct_free_f Ipv4Address_free; +asn_struct_print_f Ipv4Address_print; +asn_constr_check_f Ipv4Address_constraint; +ber_type_decoder_f Ipv4Address_decode_ber; +der_type_encoder_f Ipv4Address_encode_der; +xer_type_decoder_f Ipv4Address_decode_xer; +xer_type_encoder_f Ipv4Address_encode_xer; +per_type_decoder_f Ipv4Address_decode_uper; +per_type_encoder_f Ipv4Address_encode_uper; +per_type_decoder_f Ipv4Address_decode_aper; +per_type_encoder_f Ipv4Address_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Ipv4Address_H_ */ +#include diff --git a/src/hnbap/Ipv6Address.c b/src/hnbap/Ipv6Address.c new file mode 100644 index 0000000..0a140e4 --- /dev/null +++ b/src/hnbap/Ipv6Address.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "Ipv6Address.h" + +int +Ipv6Address_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 16l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static void +Ipv6Address_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_OCTET_STRING.free_struct; + td->print_struct = asn_DEF_OCTET_STRING.print_struct; + td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; + td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; + td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; + td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; + td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; + td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; + td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; + td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; + td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; + td->elements = asn_DEF_OCTET_STRING.elements; + td->elements_count = asn_DEF_OCTET_STRING.elements_count; + td->specifics = asn_DEF_OCTET_STRING.specifics; +} + +void +Ipv6Address_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + Ipv6Address_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +Ipv6Address_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + Ipv6Address_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +Ipv6Address_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + Ipv6Address_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +Ipv6Address_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + Ipv6Address_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +Ipv6Address_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + Ipv6Address_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +Ipv6Address_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + Ipv6Address_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +Ipv6Address_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + Ipv6Address_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +Ipv6Address_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + Ipv6Address_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +Ipv6Address_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + Ipv6Address_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +Ipv6Address_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + Ipv6Address_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_Ipv6Address_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 16l, 16l } /* (SIZE(16..16)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_Ipv6Address_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Ipv6Address = { + "Ipv6Address", + "Ipv6Address", + Ipv6Address_free, + Ipv6Address_print, + Ipv6Address_constraint, + Ipv6Address_decode_ber, + Ipv6Address_encode_der, + Ipv6Address_decode_xer, + Ipv6Address_encode_xer, + Ipv6Address_decode_uper, + Ipv6Address_encode_uper, + Ipv6Address_decode_aper, + Ipv6Address_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_Ipv6Address_tags_1, + sizeof(asn_DEF_Ipv6Address_tags_1) + /sizeof(asn_DEF_Ipv6Address_tags_1[0]), /* 1 */ + asn_DEF_Ipv6Address_tags_1, /* Same as above */ + sizeof(asn_DEF_Ipv6Address_tags_1) + /sizeof(asn_DEF_Ipv6Address_tags_1[0]), /* 1 */ + &asn_PER_type_Ipv6Address_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/Ipv6Address.h b/src/hnbap/Ipv6Address.h new file mode 100644 index 0000000..5268e4c --- /dev/null +++ b/src/hnbap/Ipv6Address.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _Ipv6Address_H_ +#define _Ipv6Address_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Ipv6Address */ +typedef OCTET_STRING_t Ipv6Address_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Ipv6Address; +asn_struct_free_f Ipv6Address_free; +asn_struct_print_f Ipv6Address_print; +asn_constr_check_f Ipv6Address_constraint; +ber_type_decoder_f Ipv6Address_decode_ber; +der_type_encoder_f Ipv6Address_encode_der; +xer_type_decoder_f Ipv6Address_decode_xer; +xer_type_encoder_f Ipv6Address_encode_xer; +per_type_decoder_f Ipv6Address_decode_uper; +per_type_encoder_f Ipv6Address_encode_uper; +per_type_decoder_f Ipv6Address_decode_aper; +per_type_encoder_f Ipv6Address_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Ipv6Address_H_ */ +#include diff --git a/src/hnbap/Iurh-Signalling-TNL-AddressList.c b/src/hnbap/Iurh-Signalling-TNL-AddressList.c new file mode 100644 index 0000000..cd2830f --- /dev/null +++ b/src/hnbap/Iurh-Signalling-TNL-AddressList.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "Iurh-Signalling-TNL-AddressList.h" + +static asn_per_constraints_t asn_PER_type_Iurh_Signalling_TNL_AddressList_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1l, 3l } /* (SIZE(1..3)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_Iurh_Signalling_TNL_AddressList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IP_Address, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_Iurh_Signalling_TNL_AddressList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_Iurh_Signalling_TNL_AddressList_specs_1 = { + sizeof(struct Iurh_Signalling_TNL_AddressList), + offsetof(struct Iurh_Signalling_TNL_AddressList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_Iurh_Signalling_TNL_AddressList = { + "Iurh-Signalling-TNL-AddressList", + "Iurh-Signalling-TNL-AddressList", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_Iurh_Signalling_TNL_AddressList_tags_1, + sizeof(asn_DEF_Iurh_Signalling_TNL_AddressList_tags_1) + /sizeof(asn_DEF_Iurh_Signalling_TNL_AddressList_tags_1[0]), /* 1 */ + asn_DEF_Iurh_Signalling_TNL_AddressList_tags_1, /* Same as above */ + sizeof(asn_DEF_Iurh_Signalling_TNL_AddressList_tags_1) + /sizeof(asn_DEF_Iurh_Signalling_TNL_AddressList_tags_1[0]), /* 1 */ + &asn_PER_type_Iurh_Signalling_TNL_AddressList_constr_1, + asn_MBR_Iurh_Signalling_TNL_AddressList_1, + 1, /* Single element */ + &asn_SPC_Iurh_Signalling_TNL_AddressList_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/Iurh-Signalling-TNL-AddressList.h b/src/hnbap/Iurh-Signalling-TNL-AddressList.h new file mode 100644 index 0000000..cd86644 --- /dev/null +++ b/src/hnbap/Iurh-Signalling-TNL-AddressList.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _Iurh_Signalling_TNL_AddressList_H_ +#define _Iurh_Signalling_TNL_AddressList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IP_Address; + +/* Iurh-Signalling-TNL-AddressList */ +typedef struct Iurh_Signalling_TNL_AddressList { + A_SEQUENCE_OF(struct IP_Address) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Iurh_Signalling_TNL_AddressList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Iurh_Signalling_TNL_AddressList; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IP-Address.h" + +#endif /* _Iurh_Signalling_TNL_AddressList_H_ */ +#include diff --git a/src/hnbap/LAC.c b/src/hnbap/LAC.c new file mode 100644 index 0000000..2ff94dc --- /dev/null +++ b/src/hnbap/LAC.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "LAC.h" + +int +LAC_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static void +LAC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_OCTET_STRING.free_struct; + td->print_struct = asn_DEF_OCTET_STRING.print_struct; + td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; + td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; + td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; + td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; + td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; + td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; + td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; + td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; + td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; + td->elements = asn_DEF_OCTET_STRING.elements; + td->elements_count = asn_DEF_OCTET_STRING.elements_count; + td->specifics = asn_DEF_OCTET_STRING.specifics; +} + +void +LAC_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + LAC_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +LAC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + LAC_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +LAC_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + LAC_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +LAC_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + LAC_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +LAC_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + LAC_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +LAC_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + LAC_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +LAC_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + LAC_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +LAC_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + LAC_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +LAC_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + LAC_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +LAC_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + LAC_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_LAC_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2l, 2l } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_LAC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LAC = { + "LAC", + "LAC", + LAC_free, + LAC_print, + LAC_constraint, + LAC_decode_ber, + LAC_encode_der, + LAC_decode_xer, + LAC_encode_xer, + LAC_decode_uper, + LAC_encode_uper, + LAC_decode_aper, + LAC_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_LAC_tags_1, + sizeof(asn_DEF_LAC_tags_1) + /sizeof(asn_DEF_LAC_tags_1[0]), /* 1 */ + asn_DEF_LAC_tags_1, /* Same as above */ + sizeof(asn_DEF_LAC_tags_1) + /sizeof(asn_DEF_LAC_tags_1[0]), /* 1 */ + &asn_PER_type_LAC_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/LAC.h b/src/hnbap/LAC.h new file mode 100644 index 0000000..462fd4c --- /dev/null +++ b/src/hnbap/LAC.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _LAC_H_ +#define _LAC_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* LAC */ +typedef OCTET_STRING_t LAC_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_LAC; +asn_struct_free_f LAC_free; +asn_struct_print_f LAC_print; +asn_constr_check_f LAC_constraint; +ber_type_decoder_f LAC_decode_ber; +der_type_encoder_f LAC_encode_der; +xer_type_decoder_f LAC_decode_xer; +xer_type_encoder_f LAC_encode_xer; +per_type_decoder_f LAC_decode_uper; +per_type_encoder_f LAC_encode_uper; +per_type_decoder_f LAC_decode_aper; +per_type_encoder_f LAC_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _LAC_H_ */ +#include diff --git a/src/hnbap/LAI.c b/src/hnbap/LAI.c new file mode 100644 index 0000000..2fddfd2 --- /dev/null +++ b/src/hnbap/LAI.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "LAI.h" + +static asn_TYPE_member_t asn_MBR_LAI_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct LAI, pLMNID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PLMNidentity, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "pLMNID" + }, + { ATF_NOFLAGS, 0, offsetof(struct LAI, lAC), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LAC, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "lAC" + }, +}; +static const ber_tlv_tag_t asn_DEF_LAI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_LAI_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pLMNID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lAC */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_LAI_specs_1 = { + sizeof(struct LAI), + offsetof(struct LAI, _asn_ctx), + asn_MAP_LAI_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* Start extensions */ + 3 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_LAI = { + "LAI", + "LAI", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_LAI_tags_1, + sizeof(asn_DEF_LAI_tags_1) + /sizeof(asn_DEF_LAI_tags_1[0]), /* 1 */ + asn_DEF_LAI_tags_1, /* Same as above */ + sizeof(asn_DEF_LAI_tags_1) + /sizeof(asn_DEF_LAI_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_LAI_1, + 2, /* Elements count */ + &asn_SPC_LAI_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/LAI.h b/src/hnbap/LAI.h new file mode 100644 index 0000000..36c0981 --- /dev/null +++ b/src/hnbap/LAI.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _LAI_H_ +#define _LAI_H_ + + +#include + +/* Including external dependencies */ +#include "PLMNidentity.h" +#include "LAC.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* LAI */ +typedef struct LAI { + PLMNidentity_t pLMNID; + LAC_t lAC; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} LAI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_LAI; + +#ifdef __cplusplus +} +#endif + +#endif /* _LAI_H_ */ +#include diff --git a/src/hnbap/MacroCellID.c b/src/hnbap/MacroCellID.c new file mode 100644 index 0000000..416dc1c --- /dev/null +++ b/src/hnbap/MacroCellID.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "MacroCellID.h" + +static asn_per_constraints_t asn_PER_type_MacroCellID_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_MacroCellID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MacroCellID, choice.uTRANCellID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UTRANCellID, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "uTRANCellID" + }, + { ATF_NOFLAGS, 0, offsetof(struct MacroCellID, choice.gERANCellID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CGI, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "gERANCellID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_MacroCellID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* uTRANCellID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* gERANCellID */ +}; +static asn_CHOICE_specifics_t asn_SPC_MacroCellID_specs_1 = { + sizeof(struct MacroCellID), + offsetof(struct MacroCellID, _asn_ctx), + offsetof(struct MacroCellID, present), + sizeof(((struct MacroCellID *)0)->present), + asn_MAP_MacroCellID_tag2el_1, + 2, /* Count of tags in the map */ + 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_MacroCellID = { + "MacroCellID", + "MacroCellID", + CHOICE_free, + CHOICE_print, + CHOICE_constraint, + CHOICE_decode_ber, + CHOICE_encode_der, + CHOICE_decode_xer, + CHOICE_encode_xer, + CHOICE_decode_uper, + CHOICE_encode_uper, + CHOICE_decode_aper, + CHOICE_encode_aper, + CHOICE_outmost_tag, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + &asn_PER_type_MacroCellID_constr_1, + asn_MBR_MacroCellID_1, + 2, /* Elements count */ + &asn_SPC_MacroCellID_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/MacroCellID.h b/src/hnbap/MacroCellID.h new file mode 100644 index 0000000..f266925 --- /dev/null +++ b/src/hnbap/MacroCellID.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _MacroCellID_H_ +#define _MacroCellID_H_ + + +#include + +/* Including external dependencies */ +#include "UTRANCellID.h" +#include "CGI.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum MacroCellID_PR { + MacroCellID_PR_NOTHING, /* No components present */ + MacroCellID_PR_uTRANCellID, + MacroCellID_PR_gERANCellID, + /* Extensions may appear below */ + +} MacroCellID_PR; + +/* MacroCellID */ +typedef struct MacroCellID { + MacroCellID_PR present; + union MacroCellID_u { + UTRANCellID_t uTRANCellID; + CGI_t gERANCellID; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MacroCellID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MacroCellID; + +#ifdef __cplusplus +} +#endif + +#endif /* _MacroCellID_H_ */ +#include diff --git a/src/hnbap/MacroCoverageInformation.c b/src/hnbap/MacroCoverageInformation.c new file mode 100644 index 0000000..18ded6c --- /dev/null +++ b/src/hnbap/MacroCoverageInformation.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "MacroCoverageInformation.h" + +static asn_TYPE_member_t asn_MBR_MacroCoverageInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MacroCoverageInformation, cellIdentity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_MacroCellID, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "cellIdentity" + }, + { ATF_POINTER, 1, offsetof(struct MacroCoverageInformation, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_MacroCoverageInformation_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_MacroCoverageInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MacroCoverageInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* cellIdentity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_MacroCoverageInformation_specs_1 = { + sizeof(struct MacroCoverageInformation), + offsetof(struct MacroCoverageInformation, _asn_ctx), + asn_MAP_MacroCoverageInformation_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_MacroCoverageInformation_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* Start extensions */ + 3 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_MacroCoverageInformation = { + "MacroCoverageInformation", + "MacroCoverageInformation", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_MacroCoverageInformation_tags_1, + sizeof(asn_DEF_MacroCoverageInformation_tags_1) + /sizeof(asn_DEF_MacroCoverageInformation_tags_1[0]), /* 1 */ + asn_DEF_MacroCoverageInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_MacroCoverageInformation_tags_1) + /sizeof(asn_DEF_MacroCoverageInformation_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_MacroCoverageInformation_1, + 2, /* Elements count */ + &asn_SPC_MacroCoverageInformation_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/MacroCoverageInformation.h b/src/hnbap/MacroCoverageInformation.h new file mode 100644 index 0000000..547e03e --- /dev/null +++ b/src/hnbap/MacroCoverageInformation.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _MacroCoverageInformation_H_ +#define _MacroCoverageInformation_H_ + + +#include + +/* Including external dependencies */ +#include "MacroCellID.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE_Extensions; + +/* MacroCoverageInformation */ +typedef struct MacroCoverageInformation { + MacroCellID_t cellIdentity; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} MacroCoverageInformation_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MacroCoverageInformation; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _MacroCoverageInformation_H_ */ +#include diff --git a/src/hnbap/Makefile b/src/hnbap/Makefile new file mode 100644 index 0000000..aea7e32 --- /dev/null +++ b/src/hnbap/Makefile @@ -0,0 +1,262 @@ +ASN_MODULE_SOURCES= \ + Criticality.c \ + Presence.c \ + PrivateIE-ID.c \ + ProcedureCode.c \ + ProtocolIE-ID.c \ + TriggeringMessage.c \ + IE-Extensions.c \ + Access-stratum-release-indicator.c \ + AccessResult.c \ + AltitudeAndDirection.c \ + BackoffTimer.c \ + BindingID.c \ + Cause.c \ + CauseRadioNetwork.c \ + CauseTransport.c \ + CauseProtocol.c \ + CauseMisc.c \ + CellIdentity.c \ + CELL-FACHMobilitySupport.c \ + Context-ID.c \ + CriticalityDiagnostics.c \ + CriticalityDiagnostics-IE-List.c \ + CSG-ID.c \ + CSG-Capability.c \ + CSGMembershipStatus.c \ + CGI.c \ + CI.c \ + CN-DomainIndicator.c \ + ESN.c \ + GeographicalLocation.c \ + GeographicalCoordinates.c \ + GTP-TEI.c \ + HNBCapacity.c \ + HNB-Cell-Access-Mode.c \ + HNB-Cell-Identifier.c \ + HNB-GWResponse.c \ + HNB-RNL-Identity.c \ + HNBConfigInfo.c \ + ConfigurationInformation.c \ + HNBConfigurationInformationProvided.c \ + HNBConfigurationInformationMissing.c \ + HNB-Location-Information.c \ + HNB-Identity.c \ + HNB-Identity-Info.c \ + IMEI.c \ + IMSI.c \ + IMSIDS41.c \ + IMSIESN.c \ + IP-Address.c \ + Ipv4Address.c \ + Ipv6Address.c \ + Iurh-Signalling-TNL-AddressList.c \ + LAC.c \ + LAI.c \ + MacroCoverageInformation.c \ + MacroCellID.c \ + MuxPortNumber.c \ + NeighbourCellIdentityList.c \ + NeighbourIdentity.c \ + NeighbourInfoList.c \ + AdditionalNeighbourInfoList.c \ + NeighbourInfoRequestList.c \ + NeighbourInfoRequestItem.c \ + PLMNidentity.c \ + PSC.c \ + PTMSI.c \ + PTMSIRAI.c \ + RAB-ID.c \ + RABList.c \ + RABListItem.c \ + RAC.c \ + RAI.c \ + Registration-Cause.c \ + RNC-ID.c \ + SAC.c \ + S-RNTIPrefix.c \ + TMSILAI.c \ + TMSIDS41.c \ + TransportInfo.c \ + TransportLayerAddress.c \ + Tunnel-Information.c \ + TypeOfError.c \ + UDP-Port-Number.c \ + UE-Capabilities.c \ + UTRANCellID.c \ + UE-Identity.c \ + Update-cause.c \ + URAIdentityList.c \ + URAIdentity.c \ + U-RNTI.c \ + UnknownU-RNTIIndication.c \ + HNBAP-PDU.c \ + InitiatingMessage.c \ + SuccessfulOutcome.c \ + UnsuccessfulOutcome.c \ + HNBRegisterRequest.c \ + HNBRegisterAccept.c \ + HNBRegisterReject.c \ + UERegisterRequest.c \ + UERegisterAccept.c \ + UERegisterReject.c \ + UEDe-Register.c \ + HNBDe-Register.c \ + ErrorIndication.c \ + CSGMembershipUpdate.c \ + TNLUpdateRequest.c \ + TNLUpdateResponse.c \ + TNLUpdateFailure.c \ + HNBConfigTransferRequest.c \ + HNBConfigTransferResponse.c \ + RelocationComplete.c \ + U-RNTIQueryRequest.c \ + U-RNTIQueryResponse.c \ + PrivateMessage.c \ + IE.c + +ASN_MODULE_HEADERS= \ + Criticality.h \ + Presence.h \ + PrivateIE-ID.h \ + ProcedureCode.h \ + ProtocolIE-ID.h \ + TriggeringMessage.h \ + IE-Extensions.h \ + Access-stratum-release-indicator.h \ + AccessResult.h \ + AltitudeAndDirection.h \ + BackoffTimer.h \ + BindingID.h \ + Cause.h \ + CauseRadioNetwork.h \ + CauseTransport.h \ + CauseProtocol.h \ + CauseMisc.h \ + CellIdentity.h \ + CELL-FACHMobilitySupport.h \ + Context-ID.h \ + CriticalityDiagnostics.h \ + CriticalityDiagnostics-IE-List.h \ + CSG-ID.h \ + CSG-Capability.h \ + CSGMembershipStatus.h \ + CGI.h \ + CI.h \ + CN-DomainIndicator.h \ + ESN.h \ + GeographicalLocation.h \ + GeographicalCoordinates.h \ + GTP-TEI.h \ + HNBCapacity.h \ + HNB-Cell-Access-Mode.h \ + HNB-Cell-Identifier.h \ + HNB-GWResponse.h \ + HNB-RNL-Identity.h \ + HNBConfigInfo.h \ + ConfigurationInformation.h \ + HNBConfigurationInformationProvided.h \ + HNBConfigurationInformationMissing.h \ + HNB-Location-Information.h \ + HNB-Identity.h \ + HNB-Identity-Info.h \ + IMEI.h \ + IMSI.h \ + IMSIDS41.h \ + IMSIESN.h \ + IP-Address.h \ + Ipv4Address.h \ + Ipv6Address.h \ + Iurh-Signalling-TNL-AddressList.h \ + LAC.h \ + LAI.h \ + MacroCoverageInformation.h \ + MacroCellID.h \ + MuxPortNumber.h \ + NeighbourCellIdentityList.h \ + NeighbourIdentity.h \ + NeighbourInfoList.h \ + AdditionalNeighbourInfoList.h \ + NeighbourInfoRequestList.h \ + NeighbourInfoRequestItem.h \ + PLMNidentity.h \ + PSC.h \ + PTMSI.h \ + PTMSIRAI.h \ + RAB-ID.h \ + RABList.h \ + RABListItem.h \ + RAC.h \ + RAI.h \ + Registration-Cause.h \ + RNC-ID.h \ + SAC.h \ + S-RNTIPrefix.h \ + TMSILAI.h \ + TMSIDS41.h \ + TransportInfo.h \ + TransportLayerAddress.h \ + Tunnel-Information.h \ + TypeOfError.h \ + UDP-Port-Number.h \ + UE-Capabilities.h \ + UTRANCellID.h \ + UE-Identity.h \ + Update-cause.h \ + URAIdentityList.h \ + URAIdentity.h \ + U-RNTI.h \ + UnknownU-RNTIIndication.h \ + HNBAP-PDU.h \ + InitiatingMessage.h \ + SuccessfulOutcome.h \ + UnsuccessfulOutcome.h \ + HNBRegisterRequest.h \ + HNBRegisterAccept.h \ + HNBRegisterReject.h \ + UERegisterRequest.h \ + UERegisterAccept.h \ + UERegisterReject.h \ + UEDe-Register.h \ + HNBDe-Register.h \ + ErrorIndication.h \ + CSGMembershipUpdate.h \ + TNLUpdateRequest.h \ + TNLUpdateResponse.h \ + TNLUpdateFailure.h \ + HNBConfigTransferRequest.h \ + HNBConfigTransferResponse.h \ + RelocationComplete.h \ + U-RNTIQueryRequest.h \ + U-RNTIQueryResponse.h \ + PrivateMessage.h \ + IE.h + +lib_LTLIBRARIES=libsomething.la +libsomething_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS) + +# This file may be used as an input for make(3) +# Remove the lines below to convert it into a pure .am file +CFLAGS += -I. +OBJS=${ASN_MODULE_SOURCES:.c=.o} + +all: libosmo-asn1-hnbap.a + +libosmo-asn1-hnbap.a: ${OBJS} + $(AR) r $@ $^ + +.SUFFIXES: +.SUFFIXES: .c .o + +.c.o: + $(CC) $(CFLAGS) -o $@ -c $< + +clean: + rm -f libosmo-asn1-hnbap.a + rm -f $(OBJS) + +regen: regenerate-from-asn1-source + +regenerate-from-asn1-source: + asn1c -gen-PER -fnative-types ../../asn1/hnbap/HNBAP-CommonDataTypes.asn ../../asn1/hnbap/HNBAP-Constants.asn ../../asn1/hnbap/HNBAP-IEs.asn ../../asn1/hnbap/HNBAP-PDU.asn + diff --git a/src/hnbap/MuxPortNumber.c b/src/hnbap/MuxPortNumber.c new file mode 100644 index 0000000..eed1c1a --- /dev/null +++ b/src/hnbap/MuxPortNumber.c @@ -0,0 +1,166 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "MuxPortNumber.h" + +int +MuxPortNumber_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1024l && value <= 65535l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static void +MuxPortNumber_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeInteger.free_struct; + td->print_struct = asn_DEF_NativeInteger.print_struct; + td->check_constraints = asn_DEF_NativeInteger.check_constraints; + td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; + td->der_encoder = asn_DEF_NativeInteger.der_encoder; + td->xer_decoder = asn_DEF_NativeInteger.xer_decoder; + td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; + td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; + td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; + td->aper_decoder = asn_DEF_NativeInteger.aper_decoder; + td->aper_encoder = asn_DEF_NativeInteger.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeInteger.per_constraints; + td->elements = asn_DEF_NativeInteger.elements; + td->elements_count = asn_DEF_NativeInteger.elements_count; + td->specifics = asn_DEF_NativeInteger.specifics; +} + +void +MuxPortNumber_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + MuxPortNumber_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +MuxPortNumber_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + MuxPortNumber_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +MuxPortNumber_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + MuxPortNumber_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +MuxPortNumber_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + MuxPortNumber_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +MuxPortNumber_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + MuxPortNumber_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +MuxPortNumber_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + MuxPortNumber_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +MuxPortNumber_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + MuxPortNumber_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +MuxPortNumber_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + MuxPortNumber_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +MuxPortNumber_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + MuxPortNumber_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +MuxPortNumber_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + MuxPortNumber_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_MuxPortNumber_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 1024l, 65535l } /* (1024..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_MuxPortNumber_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MuxPortNumber = { + "MuxPortNumber", + "MuxPortNumber", + MuxPortNumber_free, + MuxPortNumber_print, + MuxPortNumber_constraint, + MuxPortNumber_decode_ber, + MuxPortNumber_encode_der, + MuxPortNumber_decode_xer, + MuxPortNumber_encode_xer, + MuxPortNumber_decode_uper, + MuxPortNumber_encode_uper, + MuxPortNumber_decode_aper, + MuxPortNumber_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_MuxPortNumber_tags_1, + sizeof(asn_DEF_MuxPortNumber_tags_1) + /sizeof(asn_DEF_MuxPortNumber_tags_1[0]), /* 1 */ + asn_DEF_MuxPortNumber_tags_1, /* Same as above */ + sizeof(asn_DEF_MuxPortNumber_tags_1) + /sizeof(asn_DEF_MuxPortNumber_tags_1[0]), /* 1 */ + &asn_PER_type_MuxPortNumber_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/MuxPortNumber.h b/src/hnbap/MuxPortNumber.h new file mode 100644 index 0000000..2e07f73 --- /dev/null +++ b/src/hnbap/MuxPortNumber.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _MuxPortNumber_H_ +#define _MuxPortNumber_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* MuxPortNumber */ +typedef long MuxPortNumber_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_MuxPortNumber; +asn_struct_free_f MuxPortNumber_free; +asn_struct_print_f MuxPortNumber_print; +asn_constr_check_f MuxPortNumber_constraint; +ber_type_decoder_f MuxPortNumber_decode_ber; +der_type_encoder_f MuxPortNumber_encode_der; +xer_type_decoder_f MuxPortNumber_decode_xer; +xer_type_encoder_f MuxPortNumber_encode_xer; +per_type_decoder_f MuxPortNumber_decode_uper; +per_type_encoder_f MuxPortNumber_encode_uper; +per_type_decoder_f MuxPortNumber_decode_aper; +per_type_encoder_f MuxPortNumber_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _MuxPortNumber_H_ */ +#include diff --git a/src/hnbap/NeighbourCellIdentityList.c b/src/hnbap/NeighbourCellIdentityList.c new file mode 100644 index 0000000..432e7f5 --- /dev/null +++ b/src/hnbap/NeighbourCellIdentityList.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "NeighbourCellIdentityList.h" + +static asn_per_constraints_t asn_PER_type_NeighbourCellIdentityList_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 0l, 128l } /* (SIZE(0..128)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_NeighbourCellIdentityList_1[] = { + { ATF_POINTER, 0, 0, + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_NeighbourIdentity, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_NeighbourCellIdentityList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_NeighbourCellIdentityList_specs_1 = { + sizeof(struct NeighbourCellIdentityList), + offsetof(struct NeighbourCellIdentityList, _asn_ctx), + 2, /* XER encoding is XMLValueList */ +}; +asn_TYPE_descriptor_t asn_DEF_NeighbourCellIdentityList = { + "NeighbourCellIdentityList", + "NeighbourCellIdentityList", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_NeighbourCellIdentityList_tags_1, + sizeof(asn_DEF_NeighbourCellIdentityList_tags_1) + /sizeof(asn_DEF_NeighbourCellIdentityList_tags_1[0]), /* 1 */ + asn_DEF_NeighbourCellIdentityList_tags_1, /* Same as above */ + sizeof(asn_DEF_NeighbourCellIdentityList_tags_1) + /sizeof(asn_DEF_NeighbourCellIdentityList_tags_1[0]), /* 1 */ + &asn_PER_type_NeighbourCellIdentityList_constr_1, + asn_MBR_NeighbourCellIdentityList_1, + 1, /* Single element */ + &asn_SPC_NeighbourCellIdentityList_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/NeighbourCellIdentityList.h b/src/hnbap/NeighbourCellIdentityList.h new file mode 100644 index 0000000..c1eb6ec --- /dev/null +++ b/src/hnbap/NeighbourCellIdentityList.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _NeighbourCellIdentityList_H_ +#define _NeighbourCellIdentityList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct NeighbourIdentity; + +/* NeighbourCellIdentityList */ +typedef struct NeighbourCellIdentityList { + A_SEQUENCE_OF(struct NeighbourIdentity) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} NeighbourCellIdentityList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_NeighbourCellIdentityList; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "NeighbourIdentity.h" + +#endif /* _NeighbourCellIdentityList_H_ */ +#include diff --git a/src/hnbap/NeighbourIdentity.c b/src/hnbap/NeighbourIdentity.c new file mode 100644 index 0000000..8ddefab --- /dev/null +++ b/src/hnbap/NeighbourIdentity.c @@ -0,0 +1,73 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "NeighbourIdentity.h" + +static asn_per_constraints_t asn_PER_type_NeighbourIdentity_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_NeighbourIdentity_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NeighbourIdentity, choice.hNB_RNL_Identity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_HNB_RNL_Identity, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "hNB-RNL-Identity" + }, + { ATF_NOFLAGS, 0, offsetof(struct NeighbourIdentity, choice.cell_ID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CellIdentity, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "cell-ID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_NeighbourIdentity_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* hNB-RNL-Identity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* cell-ID */ +}; +static asn_CHOICE_specifics_t asn_SPC_NeighbourIdentity_specs_1 = { + sizeof(struct NeighbourIdentity), + offsetof(struct NeighbourIdentity, _asn_ctx), + offsetof(struct NeighbourIdentity, present), + sizeof(((struct NeighbourIdentity *)0)->present), + asn_MAP_NeighbourIdentity_tag2el_1, + 2, /* Count of tags in the map */ + 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_NeighbourIdentity = { + "NeighbourIdentity", + "NeighbourIdentity", + CHOICE_free, + CHOICE_print, + CHOICE_constraint, + CHOICE_decode_ber, + CHOICE_encode_der, + CHOICE_decode_xer, + CHOICE_encode_xer, + CHOICE_decode_uper, + CHOICE_encode_uper, + CHOICE_decode_aper, + CHOICE_encode_aper, + CHOICE_outmost_tag, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + &asn_PER_type_NeighbourIdentity_constr_1, + asn_MBR_NeighbourIdentity_1, + 2, /* Elements count */ + &asn_SPC_NeighbourIdentity_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/NeighbourIdentity.h b/src/hnbap/NeighbourIdentity.h new file mode 100644 index 0000000..8335e5d --- /dev/null +++ b/src/hnbap/NeighbourIdentity.h @@ -0,0 +1,56 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _NeighbourIdentity_H_ +#define _NeighbourIdentity_H_ + + +#include + +/* Including external dependencies */ +#include "HNB-RNL-Identity.h" +#include "CellIdentity.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum NeighbourIdentity_PR { + NeighbourIdentity_PR_NOTHING, /* No components present */ + NeighbourIdentity_PR_hNB_RNL_Identity, + NeighbourIdentity_PR_cell_ID, + /* Extensions may appear below */ + +} NeighbourIdentity_PR; + +/* NeighbourIdentity */ +typedef struct NeighbourIdentity { + NeighbourIdentity_PR present; + union NeighbourIdentity_u { + HNB_RNL_Identity_t hNB_RNL_Identity; + CellIdentity_t cell_ID; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} NeighbourIdentity_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_NeighbourIdentity; + +#ifdef __cplusplus +} +#endif + +#endif /* _NeighbourIdentity_H_ */ +#include diff --git a/src/hnbap/NeighbourInfoList.c b/src/hnbap/NeighbourInfoList.c new file mode 100644 index 0000000..52364b4 --- /dev/null +++ b/src/hnbap/NeighbourInfoList.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "NeighbourInfoList.h" + +static asn_per_constraints_t asn_PER_type_NeighbourInfoList_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1l, 32l } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_NeighbourInfoList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_HNBConfigInfo, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_NeighbourInfoList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_NeighbourInfoList_specs_1 = { + sizeof(struct NeighbourInfoList), + offsetof(struct NeighbourInfoList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_NeighbourInfoList = { + "NeighbourInfoList", + "NeighbourInfoList", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_NeighbourInfoList_tags_1, + sizeof(asn_DEF_NeighbourInfoList_tags_1) + /sizeof(asn_DEF_NeighbourInfoList_tags_1[0]), /* 1 */ + asn_DEF_NeighbourInfoList_tags_1, /* Same as above */ + sizeof(asn_DEF_NeighbourInfoList_tags_1) + /sizeof(asn_DEF_NeighbourInfoList_tags_1[0]), /* 1 */ + &asn_PER_type_NeighbourInfoList_constr_1, + asn_MBR_NeighbourInfoList_1, + 1, /* Single element */ + &asn_SPC_NeighbourInfoList_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/NeighbourInfoList.h b/src/hnbap/NeighbourInfoList.h new file mode 100644 index 0000000..cce2734 --- /dev/null +++ b/src/hnbap/NeighbourInfoList.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _NeighbourInfoList_H_ +#define _NeighbourInfoList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct HNBConfigInfo; + +/* NeighbourInfoList */ +typedef struct NeighbourInfoList { + A_SEQUENCE_OF(struct HNBConfigInfo) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} NeighbourInfoList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_NeighbourInfoList; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "HNBConfigInfo.h" + +#endif /* _NeighbourInfoList_H_ */ +#include diff --git a/src/hnbap/NeighbourInfoRequestItem.c b/src/hnbap/NeighbourInfoRequestItem.c new file mode 100644 index 0000000..0e5a2e5 --- /dev/null +++ b/src/hnbap/NeighbourInfoRequestItem.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "NeighbourInfoRequestItem.h" + +static asn_TYPE_member_t asn_MBR_NeighbourInfoRequestItem_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NeighbourInfoRequestItem, hnb_RNL_Identity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_HNB_RNL_Identity, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "hnb-RNL-Identity" + }, + { ATF_POINTER, 1, offsetof(struct NeighbourInfoRequestItem, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_NeighbourInfoRequestItem_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_NeighbourInfoRequestItem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NeighbourInfoRequestItem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* hnb-RNL-Identity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_NeighbourInfoRequestItem_specs_1 = { + sizeof(struct NeighbourInfoRequestItem), + offsetof(struct NeighbourInfoRequestItem, _asn_ctx), + asn_MAP_NeighbourInfoRequestItem_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_NeighbourInfoRequestItem_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* Start extensions */ + 3 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_NeighbourInfoRequestItem = { + "NeighbourInfoRequestItem", + "NeighbourInfoRequestItem", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_NeighbourInfoRequestItem_tags_1, + sizeof(asn_DEF_NeighbourInfoRequestItem_tags_1) + /sizeof(asn_DEF_NeighbourInfoRequestItem_tags_1[0]), /* 1 */ + asn_DEF_NeighbourInfoRequestItem_tags_1, /* Same as above */ + sizeof(asn_DEF_NeighbourInfoRequestItem_tags_1) + /sizeof(asn_DEF_NeighbourInfoRequestItem_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_NeighbourInfoRequestItem_1, + 2, /* Elements count */ + &asn_SPC_NeighbourInfoRequestItem_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/NeighbourInfoRequestItem.h b/src/hnbap/NeighbourInfoRequestItem.h new file mode 100644 index 0000000..e3fa668 --- /dev/null +++ b/src/hnbap/NeighbourInfoRequestItem.h @@ -0,0 +1,49 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _NeighbourInfoRequestItem_H_ +#define _NeighbourInfoRequestItem_H_ + + +#include + +/* Including external dependencies */ +#include "HNB-RNL-Identity.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE_Extensions; + +/* NeighbourInfoRequestItem */ +typedef struct NeighbourInfoRequestItem { + HNB_RNL_Identity_t hnb_RNL_Identity; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} NeighbourInfoRequestItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_NeighbourInfoRequestItem; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _NeighbourInfoRequestItem_H_ */ +#include diff --git a/src/hnbap/NeighbourInfoRequestList.c b/src/hnbap/NeighbourInfoRequestList.c new file mode 100644 index 0000000..03e4c44 --- /dev/null +++ b/src/hnbap/NeighbourInfoRequestList.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "NeighbourInfoRequestList.h" + +static asn_per_constraints_t asn_PER_type_NeighbourInfoRequestList_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1l, 32l } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_NeighbourInfoRequestList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_NeighbourInfoRequestItem, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_NeighbourInfoRequestList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_NeighbourInfoRequestList_specs_1 = { + sizeof(struct NeighbourInfoRequestList), + offsetof(struct NeighbourInfoRequestList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_NeighbourInfoRequestList = { + "NeighbourInfoRequestList", + "NeighbourInfoRequestList", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_NeighbourInfoRequestList_tags_1, + sizeof(asn_DEF_NeighbourInfoRequestList_tags_1) + /sizeof(asn_DEF_NeighbourInfoRequestList_tags_1[0]), /* 1 */ + asn_DEF_NeighbourInfoRequestList_tags_1, /* Same as above */ + sizeof(asn_DEF_NeighbourInfoRequestList_tags_1) + /sizeof(asn_DEF_NeighbourInfoRequestList_tags_1[0]), /* 1 */ + &asn_PER_type_NeighbourInfoRequestList_constr_1, + asn_MBR_NeighbourInfoRequestList_1, + 1, /* Single element */ + &asn_SPC_NeighbourInfoRequestList_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/NeighbourInfoRequestList.h b/src/hnbap/NeighbourInfoRequestList.h new file mode 100644 index 0000000..5546368 --- /dev/null +++ b/src/hnbap/NeighbourInfoRequestList.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _NeighbourInfoRequestList_H_ +#define _NeighbourInfoRequestList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct NeighbourInfoRequestItem; + +/* NeighbourInfoRequestList */ +typedef struct NeighbourInfoRequestList { + A_SEQUENCE_OF(struct NeighbourInfoRequestItem) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} NeighbourInfoRequestList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_NeighbourInfoRequestList; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "NeighbourInfoRequestItem.h" + +#endif /* _NeighbourInfoRequestList_H_ */ +#include diff --git a/src/hnbap/PLMNidentity.c b/src/hnbap/PLMNidentity.c new file mode 100644 index 0000000..d69e0bb --- /dev/null +++ b/src/hnbap/PLMNidentity.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "PLMNidentity.h" + +int +PLMNidentity_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 3l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static void +PLMNidentity_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_OCTET_STRING.free_struct; + td->print_struct = asn_DEF_OCTET_STRING.print_struct; + td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; + td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; + td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; + td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; + td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; + td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; + td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; + td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; + td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; + td->elements = asn_DEF_OCTET_STRING.elements; + td->elements_count = asn_DEF_OCTET_STRING.elements_count; + td->specifics = asn_DEF_OCTET_STRING.specifics; +} + +void +PLMNidentity_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + PLMNidentity_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +PLMNidentity_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + PLMNidentity_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +PLMNidentity_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + PLMNidentity_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +PLMNidentity_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + PLMNidentity_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +PLMNidentity_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + PLMNidentity_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +PLMNidentity_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + PLMNidentity_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +PLMNidentity_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + PLMNidentity_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +PLMNidentity_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + PLMNidentity_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +PLMNidentity_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + PLMNidentity_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +PLMNidentity_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + PLMNidentity_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_PLMNidentity_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 3l, 3l } /* (SIZE(3..3)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_PLMNidentity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PLMNidentity = { + "PLMNidentity", + "PLMNidentity", + PLMNidentity_free, + PLMNidentity_print, + PLMNidentity_constraint, + PLMNidentity_decode_ber, + PLMNidentity_encode_der, + PLMNidentity_decode_xer, + PLMNidentity_encode_xer, + PLMNidentity_decode_uper, + PLMNidentity_encode_uper, + PLMNidentity_decode_aper, + PLMNidentity_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_PLMNidentity_tags_1, + sizeof(asn_DEF_PLMNidentity_tags_1) + /sizeof(asn_DEF_PLMNidentity_tags_1[0]), /* 1 */ + asn_DEF_PLMNidentity_tags_1, /* Same as above */ + sizeof(asn_DEF_PLMNidentity_tags_1) + /sizeof(asn_DEF_PLMNidentity_tags_1[0]), /* 1 */ + &asn_PER_type_PLMNidentity_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/PLMNidentity.h b/src/hnbap/PLMNidentity.h new file mode 100644 index 0000000..3abe97a --- /dev/null +++ b/src/hnbap/PLMNidentity.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _PLMNidentity_H_ +#define _PLMNidentity_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* PLMNidentity */ +typedef OCTET_STRING_t PLMNidentity_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PLMNidentity; +asn_struct_free_f PLMNidentity_free; +asn_struct_print_f PLMNidentity_print; +asn_constr_check_f PLMNidentity_constraint; +ber_type_decoder_f PLMNidentity_decode_ber; +der_type_encoder_f PLMNidentity_encode_der; +xer_type_decoder_f PLMNidentity_decode_xer; +xer_type_encoder_f PLMNidentity_encode_xer; +per_type_decoder_f PLMNidentity_decode_uper; +per_type_encoder_f PLMNidentity_encode_uper; +per_type_decoder_f PLMNidentity_decode_aper; +per_type_encoder_f PLMNidentity_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _PLMNidentity_H_ */ +#include diff --git a/src/hnbap/PSC.c b/src/hnbap/PSC.c new file mode 100644 index 0000000..f7b9004 --- /dev/null +++ b/src/hnbap/PSC.c @@ -0,0 +1,172 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "PSC.h" + +int +PSC_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 9l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static void +PSC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_BIT_STRING.free_struct; + td->print_struct = asn_DEF_BIT_STRING.print_struct; + td->check_constraints = asn_DEF_BIT_STRING.check_constraints; + td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; + td->der_encoder = asn_DEF_BIT_STRING.der_encoder; + td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; + td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; + td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; + td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; + td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; + td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_BIT_STRING.per_constraints; + td->elements = asn_DEF_BIT_STRING.elements; + td->elements_count = asn_DEF_BIT_STRING.elements_count; + td->specifics = asn_DEF_BIT_STRING.specifics; +} + +void +PSC_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + PSC_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +PSC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + PSC_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +PSC_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + PSC_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +PSC_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + PSC_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +PSC_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + PSC_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +PSC_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + PSC_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +PSC_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + PSC_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +PSC_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + PSC_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +PSC_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + PSC_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +PSC_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + PSC_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_PSC_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 9l, 9l } /* (SIZE(9..9)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_PSC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PSC = { + "PSC", + "PSC", + PSC_free, + PSC_print, + PSC_constraint, + PSC_decode_ber, + PSC_encode_der, + PSC_decode_xer, + PSC_encode_xer, + PSC_decode_uper, + PSC_encode_uper, + PSC_decode_aper, + PSC_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_PSC_tags_1, + sizeof(asn_DEF_PSC_tags_1) + /sizeof(asn_DEF_PSC_tags_1[0]), /* 1 */ + asn_DEF_PSC_tags_1, /* Same as above */ + sizeof(asn_DEF_PSC_tags_1) + /sizeof(asn_DEF_PSC_tags_1[0]), /* 1 */ + &asn_PER_type_PSC_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/PSC.h b/src/hnbap/PSC.h new file mode 100644 index 0000000..4fbd4be --- /dev/null +++ b/src/hnbap/PSC.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _PSC_H_ +#define _PSC_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* PSC */ +typedef BIT_STRING_t PSC_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PSC; +asn_struct_free_f PSC_free; +asn_struct_print_f PSC_print; +asn_constr_check_f PSC_constraint; +ber_type_decoder_f PSC_decode_ber; +der_type_encoder_f PSC_encode_der; +xer_type_decoder_f PSC_decode_xer; +xer_type_encoder_f PSC_encode_xer; +per_type_decoder_f PSC_decode_uper; +per_type_encoder_f PSC_encode_uper; +per_type_decoder_f PSC_decode_aper; +per_type_encoder_f PSC_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _PSC_H_ */ +#include diff --git a/src/hnbap/PTMSI.c b/src/hnbap/PTMSI.c new file mode 100644 index 0000000..8c8fb6f --- /dev/null +++ b/src/hnbap/PTMSI.c @@ -0,0 +1,172 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "PTMSI.h" + +int +PTMSI_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 32l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static void +PTMSI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_BIT_STRING.free_struct; + td->print_struct = asn_DEF_BIT_STRING.print_struct; + td->check_constraints = asn_DEF_BIT_STRING.check_constraints; + td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; + td->der_encoder = asn_DEF_BIT_STRING.der_encoder; + td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; + td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; + td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; + td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; + td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; + td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_BIT_STRING.per_constraints; + td->elements = asn_DEF_BIT_STRING.elements; + td->elements_count = asn_DEF_BIT_STRING.elements_count; + td->specifics = asn_DEF_BIT_STRING.specifics; +} + +void +PTMSI_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + PTMSI_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +PTMSI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + PTMSI_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +PTMSI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + PTMSI_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +PTMSI_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + PTMSI_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +PTMSI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + PTMSI_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +PTMSI_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + PTMSI_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +PTMSI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + PTMSI_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +PTMSI_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + PTMSI_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +PTMSI_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + PTMSI_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +PTMSI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + PTMSI_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_PTMSI_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 32l, 32l } /* (SIZE(32..32)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_PTMSI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PTMSI = { + "PTMSI", + "PTMSI", + PTMSI_free, + PTMSI_print, + PTMSI_constraint, + PTMSI_decode_ber, + PTMSI_encode_der, + PTMSI_decode_xer, + PTMSI_encode_xer, + PTMSI_decode_uper, + PTMSI_encode_uper, + PTMSI_decode_aper, + PTMSI_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_PTMSI_tags_1, + sizeof(asn_DEF_PTMSI_tags_1) + /sizeof(asn_DEF_PTMSI_tags_1[0]), /* 1 */ + asn_DEF_PTMSI_tags_1, /* Same as above */ + sizeof(asn_DEF_PTMSI_tags_1) + /sizeof(asn_DEF_PTMSI_tags_1[0]), /* 1 */ + &asn_PER_type_PTMSI_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/PTMSI.h b/src/hnbap/PTMSI.h new file mode 100644 index 0000000..6853624 --- /dev/null +++ b/src/hnbap/PTMSI.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _PTMSI_H_ +#define _PTMSI_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* PTMSI */ +typedef BIT_STRING_t PTMSI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PTMSI; +asn_struct_free_f PTMSI_free; +asn_struct_print_f PTMSI_print; +asn_constr_check_f PTMSI_constraint; +ber_type_decoder_f PTMSI_decode_ber; +der_type_encoder_f PTMSI_encode_der; +xer_type_decoder_f PTMSI_decode_xer; +xer_type_encoder_f PTMSI_encode_xer; +per_type_decoder_f PTMSI_decode_uper; +per_type_encoder_f PTMSI_encode_uper; +per_type_decoder_f PTMSI_decode_aper; +per_type_encoder_f PTMSI_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _PTMSI_H_ */ +#include diff --git a/src/hnbap/PTMSIRAI.c b/src/hnbap/PTMSIRAI.c new file mode 100644 index 0000000..018f59c --- /dev/null +++ b/src/hnbap/PTMSIRAI.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "PTMSIRAI.h" + +static asn_TYPE_member_t asn_MBR_PTMSIRAI_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PTMSIRAI, pTMSI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PTMSI, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "pTMSI" + }, + { ATF_NOFLAGS, 0, offsetof(struct PTMSIRAI, rAI), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RAI, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "rAI" + }, +}; +static const ber_tlv_tag_t asn_DEF_PTMSIRAI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PTMSIRAI_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pTMSI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* rAI */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_PTMSIRAI_specs_1 = { + sizeof(struct PTMSIRAI), + offsetof(struct PTMSIRAI, _asn_ctx), + asn_MAP_PTMSIRAI_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* Start extensions */ + 3 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_PTMSIRAI = { + "PTMSIRAI", + "PTMSIRAI", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_PTMSIRAI_tags_1, + sizeof(asn_DEF_PTMSIRAI_tags_1) + /sizeof(asn_DEF_PTMSIRAI_tags_1[0]), /* 1 */ + asn_DEF_PTMSIRAI_tags_1, /* Same as above */ + sizeof(asn_DEF_PTMSIRAI_tags_1) + /sizeof(asn_DEF_PTMSIRAI_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_PTMSIRAI_1, + 2, /* Elements count */ + &asn_SPC_PTMSIRAI_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/PTMSIRAI.h b/src/hnbap/PTMSIRAI.h new file mode 100644 index 0000000..940a62c --- /dev/null +++ b/src/hnbap/PTMSIRAI.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _PTMSIRAI_H_ +#define _PTMSIRAI_H_ + + +#include + +/* Including external dependencies */ +#include "PTMSI.h" +#include "RAI.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* PTMSIRAI */ +typedef struct PTMSIRAI { + PTMSI_t pTMSI; + RAI_t rAI; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} PTMSIRAI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PTMSIRAI; + +#ifdef __cplusplus +} +#endif + +#endif /* _PTMSIRAI_H_ */ +#include diff --git a/src/hnbap/Presence.c b/src/hnbap/Presence.c new file mode 100644 index 0000000..087fb95 --- /dev/null +++ b/src/hnbap/Presence.c @@ -0,0 +1,168 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-CommonDataTypes" + * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" + * `asn1c -gen-PER` + */ + +#include "Presence.h" + +int +Presence_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +Presence_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +Presence_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + Presence_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +Presence_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + Presence_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +Presence_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + Presence_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +Presence_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + Presence_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +Presence_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + Presence_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +Presence_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + Presence_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +Presence_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + Presence_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +Presence_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + Presence_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +Presence_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + Presence_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +Presence_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + Presence_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_Presence_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0l, 2l } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_Presence_value2enum_1[] = { + { 0, 8, "optional" }, + { 1, 11, "conditional" }, + { 2, 9, "mandatory" } +}; +static const unsigned int asn_MAP_Presence_enum2value_1[] = { + 1, /* conditional(1) */ + 2, /* mandatory(2) */ + 0 /* optional(0) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_Presence_specs_1 = { + asn_MAP_Presence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Presence_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Presence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Presence = { + "Presence", + "Presence", + Presence_free, + Presence_print, + Presence_constraint, + Presence_decode_ber, + Presence_encode_der, + Presence_decode_xer, + Presence_encode_xer, + Presence_decode_uper, + Presence_encode_uper, + Presence_decode_aper, + Presence_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_Presence_tags_1, + sizeof(asn_DEF_Presence_tags_1) + /sizeof(asn_DEF_Presence_tags_1[0]), /* 1 */ + asn_DEF_Presence_tags_1, /* Same as above */ + sizeof(asn_DEF_Presence_tags_1) + /sizeof(asn_DEF_Presence_tags_1[0]), /* 1 */ + &asn_PER_type_Presence_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Presence_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/Presence.h b/src/hnbap/Presence.h new file mode 100644 index 0000000..a3773aa --- /dev/null +++ b/src/hnbap/Presence.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-CommonDataTypes" + * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" + * `asn1c -gen-PER` + */ + +#ifndef _Presence_H_ +#define _Presence_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Presence { + Presence_optional = 0, + Presence_conditional = 1, + Presence_mandatory = 2 +} e_Presence; + +/* Presence */ +typedef long Presence_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Presence; +asn_struct_free_f Presence_free; +asn_struct_print_f Presence_print; +asn_constr_check_f Presence_constraint; +ber_type_decoder_f Presence_decode_ber; +der_type_encoder_f Presence_encode_der; +xer_type_decoder_f Presence_decode_xer; +xer_type_encoder_f Presence_encode_xer; +per_type_decoder_f Presence_decode_uper; +per_type_encoder_f Presence_encode_uper; +per_type_decoder_f Presence_decode_aper; +per_type_encoder_f Presence_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Presence_H_ */ +#include diff --git a/src/hnbap/PrivateIE-ID.c b/src/hnbap/PrivateIE-ID.c new file mode 100644 index 0000000..d35272a --- /dev/null +++ b/src/hnbap/PrivateIE-ID.c @@ -0,0 +1,103 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-CommonDataTypes" + * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" + * `asn1c -gen-PER` + */ + +#include "PrivateIE-ID.h" + +static int +memb_local_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0l && value <= 65535l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_local_constr_2 GCC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_type_PrivateIE_ID_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0l, 1l } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_PrivateIE_ID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PrivateIE_ID, choice.local), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + memb_local_constraint_1, + &asn_PER_memb_local_constr_2, + 0, + "local" + }, + { ATF_NOFLAGS, 0, offsetof(struct PrivateIE_ID, choice.global), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OBJECT_IDENTIFIER, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "global" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_PrivateIE_ID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* local */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* global */ +}; +static asn_CHOICE_specifics_t asn_SPC_PrivateIE_ID_specs_1 = { + sizeof(struct PrivateIE_ID), + offsetof(struct PrivateIE_ID, _asn_ctx), + offsetof(struct PrivateIE_ID, present), + sizeof(((struct PrivateIE_ID *)0)->present), + asn_MAP_PrivateIE_ID_tag2el_1, + 2, /* Count of tags in the map */ + 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_PrivateIE_ID = { + "PrivateIE-ID", + "PrivateIE-ID", + CHOICE_free, + CHOICE_print, + CHOICE_constraint, + CHOICE_decode_ber, + CHOICE_encode_der, + CHOICE_decode_xer, + CHOICE_encode_xer, + CHOICE_decode_uper, + CHOICE_encode_uper, + CHOICE_decode_aper, + CHOICE_encode_aper, + CHOICE_outmost_tag, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + &asn_PER_type_PrivateIE_ID_constr_1, + asn_MBR_PrivateIE_ID_1, + 2, /* Elements count */ + &asn_SPC_PrivateIE_ID_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/PrivateIE-ID.h b/src/hnbap/PrivateIE-ID.h new file mode 100644 index 0000000..890974e --- /dev/null +++ b/src/hnbap/PrivateIE-ID.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-CommonDataTypes" + * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" + * `asn1c -gen-PER` + */ + +#ifndef _PrivateIE_ID_H_ +#define _PrivateIE_ID_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum PrivateIE_ID_PR { + PrivateIE_ID_PR_NOTHING, /* No components present */ + PrivateIE_ID_PR_local, + PrivateIE_ID_PR_global +} PrivateIE_ID_PR; + +/* PrivateIE-ID */ +typedef struct PrivateIE_ID { + PrivateIE_ID_PR present; + union PrivateIE_ID_u { + long local; + OBJECT_IDENTIFIER_t global; + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} PrivateIE_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PrivateIE_ID; + +#ifdef __cplusplus +} +#endif + +#endif /* _PrivateIE_ID_H_ */ +#include diff --git a/src/hnbap/PrivateMessage.c b/src/hnbap/PrivateMessage.c new file mode 100644 index 0000000..f512d69 --- /dev/null +++ b/src/hnbap/PrivateMessage.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "PrivateMessage.h" + +static int +memb_privateMessage_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_privateMessage_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_privateMessage_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_privateMessage_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_privateMessage_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_privateMessage_ies_specs_2 = { + sizeof(struct privateMessage_ies), + offsetof(struct privateMessage_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_privateMessage_ies_2 = { + "privateMessage-ies", + "privateMessage-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_privateMessage_ies_tags_2, + sizeof(asn_DEF_privateMessage_ies_tags_2) + /sizeof(asn_DEF_privateMessage_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_privateMessage_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_privateMessage_ies_tags_2) + /sizeof(asn_DEF_privateMessage_ies_tags_2[0]), /* 2 */ + &asn_PER_type_privateMessage_ies_constr_2, + asn_MBR_privateMessage_ies_2, + 1, /* Single element */ + &asn_SPC_privateMessage_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_PrivateMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PrivateMessage, privateMessage_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_privateMessage_ies_2, + memb_privateMessage_ies_constraint_1, + &asn_PER_memb_privateMessage_ies_constr_2, + 0, + "privateMessage-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_PrivateMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PrivateMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* privateMessage-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_PrivateMessage_specs_1 = { + sizeof(struct PrivateMessage), + offsetof(struct PrivateMessage, _asn_ctx), + asn_MAP_PrivateMessage_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_PrivateMessage = { + "PrivateMessage", + "PrivateMessage", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_PrivateMessage_tags_1, + sizeof(asn_DEF_PrivateMessage_tags_1) + /sizeof(asn_DEF_PrivateMessage_tags_1[0]), /* 1 */ + asn_DEF_PrivateMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_PrivateMessage_tags_1) + /sizeof(asn_DEF_PrivateMessage_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_PrivateMessage_1, + 1, /* Elements count */ + &asn_SPC_PrivateMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/PrivateMessage.h b/src/hnbap/PrivateMessage.h new file mode 100644 index 0000000..6d3d15e --- /dev/null +++ b/src/hnbap/PrivateMessage.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _PrivateMessage_H_ +#define _PrivateMessage_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* PrivateMessage */ +typedef struct PrivateMessage { + struct privateMessage_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } privateMessage_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} PrivateMessage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_PrivateMessage; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _PrivateMessage_H_ */ +#include diff --git a/src/hnbap/ProcedureCode.c b/src/hnbap/ProcedureCode.c new file mode 100644 index 0000000..ddd920f --- /dev/null +++ b/src/hnbap/ProcedureCode.c @@ -0,0 +1,166 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-CommonDataTypes" + * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" + * `asn1c -gen-PER` + */ + +#include "ProcedureCode.h" + +int +ProcedureCode_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0l && value <= 255l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static void +ProcedureCode_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeInteger.free_struct; + td->print_struct = asn_DEF_NativeInteger.print_struct; + td->check_constraints = asn_DEF_NativeInteger.check_constraints; + td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; + td->der_encoder = asn_DEF_NativeInteger.der_encoder; + td->xer_decoder = asn_DEF_NativeInteger.xer_decoder; + td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; + td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; + td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; + td->aper_decoder = asn_DEF_NativeInteger.aper_decoder; + td->aper_encoder = asn_DEF_NativeInteger.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeInteger.per_constraints; + td->elements = asn_DEF_NativeInteger.elements; + td->elements_count = asn_DEF_NativeInteger.elements_count; + td->specifics = asn_DEF_NativeInteger.specifics; +} + +void +ProcedureCode_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + ProcedureCode_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +ProcedureCode_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + ProcedureCode_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +ProcedureCode_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + ProcedureCode_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +ProcedureCode_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + ProcedureCode_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +ProcedureCode_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + ProcedureCode_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +ProcedureCode_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + ProcedureCode_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +ProcedureCode_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + ProcedureCode_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +ProcedureCode_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + ProcedureCode_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +ProcedureCode_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + ProcedureCode_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +ProcedureCode_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + ProcedureCode_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_ProcedureCode_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0l, 255l } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_ProcedureCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProcedureCode = { + "ProcedureCode", + "ProcedureCode", + ProcedureCode_free, + ProcedureCode_print, + ProcedureCode_constraint, + ProcedureCode_decode_ber, + ProcedureCode_encode_der, + ProcedureCode_decode_xer, + ProcedureCode_encode_xer, + ProcedureCode_decode_uper, + ProcedureCode_encode_uper, + ProcedureCode_decode_aper, + ProcedureCode_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_ProcedureCode_tags_1, + sizeof(asn_DEF_ProcedureCode_tags_1) + /sizeof(asn_DEF_ProcedureCode_tags_1[0]), /* 1 */ + asn_DEF_ProcedureCode_tags_1, /* Same as above */ + sizeof(asn_DEF_ProcedureCode_tags_1) + /sizeof(asn_DEF_ProcedureCode_tags_1[0]), /* 1 */ + &asn_PER_type_ProcedureCode_constr_1, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/ProcedureCode.h b/src/hnbap/ProcedureCode.h new file mode 100644 index 0000000..a48f453 --- /dev/null +++ b/src/hnbap/ProcedureCode.h @@ -0,0 +1,58 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-CommonDataTypes" + * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" + * `asn1c -gen-PER` + */ + +#ifndef _ProcedureCode_H_ +#define _ProcedureCode_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ProcedureCode { + ProcedureCode_id_HNBRegister = 1, + ProcedureCode_id_HNBDe_Register = 2, + ProcedureCode_id_UERegister = 3, + ProcedureCode_id_UEDe_Register = 4, + ProcedureCode_id_ErrorIndication = 5, + ProcedureCode_id_privateMessage = 6, + ProcedureCode_id_CSGMembershipUpdate = 7, + ProcedureCode_id_TNLUpdate = 9, + ProcedureCode_id_HNBConfigTransfer = 10, + ProcedureCode_id_RelocationComplete = 11, + ProcedureCode_id_U_RNTIQuery = 14 +} e_ProcedureCode; + +/* ProcedureCode */ +typedef long ProcedureCode_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ProcedureCode; +asn_struct_free_f ProcedureCode_free; +asn_struct_print_f ProcedureCode_print; +asn_constr_check_f ProcedureCode_constraint; +ber_type_decoder_f ProcedureCode_decode_ber; +der_type_encoder_f ProcedureCode_encode_der; +xer_type_decoder_f ProcedureCode_decode_xer; +xer_type_encoder_f ProcedureCode_encode_xer; +per_type_decoder_f ProcedureCode_decode_uper; +per_type_encoder_f ProcedureCode_encode_uper; +per_type_decoder_f ProcedureCode_decode_aper; +per_type_encoder_f ProcedureCode_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ProcedureCode_H_ */ +#include diff --git a/src/hnbap/ProtocolIE-ID.c b/src/hnbap/ProtocolIE-ID.c new file mode 100644 index 0000000..5ac3206 --- /dev/null +++ b/src/hnbap/ProtocolIE-ID.c @@ -0,0 +1,166 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-CommonDataTypes" + * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" + * `asn1c -gen-PER` + */ + +#include "ProtocolIE-ID.h" + +int +ProtocolIE_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0l && value <= 65535l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static void +ProtocolIE_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeInteger.free_struct; + td->print_struct = asn_DEF_NativeInteger.print_struct; + td->check_constraints = asn_DEF_NativeInteger.check_constraints; + td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; + td->der_encoder = asn_DEF_NativeInteger.der_encoder; + td->xer_decoder = asn_DEF_NativeInteger.xer_decoder; + td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; + td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; + td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; + td->aper_decoder = asn_DEF_NativeInteger.aper_decoder; + td->aper_encoder = asn_DEF_NativeInteger.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeInteger.per_constraints; + td->elements = asn_DEF_NativeInteger.elements; + td->elements_count = asn_DEF_NativeInteger.elements_count; + td->specifics = asn_DEF_NativeInteger.specifics; +} + +void +ProtocolIE_ID_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + ProtocolIE_ID_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +ProtocolIE_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + ProtocolIE_ID_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +ProtocolIE_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + ProtocolIE_ID_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +ProtocolIE_ID_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + ProtocolIE_ID_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +ProtocolIE_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + ProtocolIE_ID_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +ProtocolIE_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + ProtocolIE_ID_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +ProtocolIE_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + ProtocolIE_ID_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +ProtocolIE_ID_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + ProtocolIE_ID_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +ProtocolIE_ID_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + ProtocolIE_ID_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +ProtocolIE_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + ProtocolIE_ID_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_ProtocolIE_ID_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_ProtocolIE_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ID = { + "ProtocolIE-ID", + "ProtocolIE-ID", + ProtocolIE_ID_free, + ProtocolIE_ID_print, + ProtocolIE_ID_constraint, + ProtocolIE_ID_decode_ber, + ProtocolIE_ID_encode_der, + ProtocolIE_ID_decode_xer, + ProtocolIE_ID_encode_xer, + ProtocolIE_ID_decode_uper, + ProtocolIE_ID_encode_uper, + ProtocolIE_ID_decode_aper, + ProtocolIE_ID_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_ProtocolIE_ID_tags_1, + sizeof(asn_DEF_ProtocolIE_ID_tags_1) + /sizeof(asn_DEF_ProtocolIE_ID_tags_1[0]), /* 1 */ + asn_DEF_ProtocolIE_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_ProtocolIE_ID_tags_1) + /sizeof(asn_DEF_ProtocolIE_ID_tags_1[0]), /* 1 */ + &asn_PER_type_ProtocolIE_ID_constr_1, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/ProtocolIE-ID.h b/src/hnbap/ProtocolIE-ID.h new file mode 100644 index 0000000..3252e97 --- /dev/null +++ b/src/hnbap/ProtocolIE-ID.h @@ -0,0 +1,89 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-CommonDataTypes" + * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" + * `asn1c -gen-PER` + */ + +#ifndef _ProtocolIE_ID_H_ +#define _ProtocolIE_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ProtocolIE_ID { + ProtocolIE_ID_id_Cause = 1, + ProtocolIE_ID_id_CriticalityDiagnostics = 2, + ProtocolIE_ID_id_HNB_Identity = 3, + ProtocolIE_ID_id_Context_ID = 4, + ProtocolIE_ID_id_UE_Identity = 5, + ProtocolIE_ID_id_LAC = 6, + ProtocolIE_ID_id_RAC = 7, + ProtocolIE_ID_id_HNB_Location_Information = 8, + ProtocolIE_ID_id_PLMNidentity = 9, + ProtocolIE_ID_id_SAC = 10, + ProtocolIE_ID_id_CellIdentity = 11, + ProtocolIE_ID_id_Registration_Cause = 12, + ProtocolIE_ID_id_UE_Capabilities = 13, + ProtocolIE_ID_id_RNC_ID = 14, + ProtocolIE_ID_id_CSG_ID = 15, + ProtocolIE_ID_id_BackoffTimer = 16, + ProtocolIE_ID_id_HNB_Internet_Information = 17, + ProtocolIE_ID_id_HNB_Cell_Access_Mode = 18, + ProtocolIE_ID_id_MuxPortNumber = 19, + ProtocolIE_ID_id_Service_Area_For_Broadcast = 20, + ProtocolIE_ID_id_CSGMembershipStatus = 21, + ProtocolIE_ID_id_RABList = 22, + ProtocolIE_ID_id_HNBConfigInfo = 23, + ProtocolIE_ID_id_AccessResult = 25, + ProtocolIE_ID_id_Update_cause = 26, + ProtocolIE_ID_id_NeighbourInfoList = 27, + ProtocolIE_ID_id_NeighbourInfoRequestList = 28, + ProtocolIE_ID_id_Iurh_Signalling_TNL_Address = 29, + ProtocolIE_ID_id_PSC = 30, + ProtocolIE_ID_id_HNB_Cell_Identifier = 31, + ProtocolIE_ID_id_Tunnel_Information = 41, + ProtocolIE_ID_id_CELL_FACHMobilitySupport = 42, + ProtocolIE_ID_id_S_RNTIPrefix = 43, + ProtocolIE_ID_id_URAIdentity = 44, + ProtocolIE_ID_id_NeighbourIdentity = 45, + ProtocolIE_ID_id_HNBCapacity = 46, + ProtocolIE_ID_id_NeighbourCellIdentityList = 47, + ProtocolIE_ID_id_AdditionalNeighbourInfoList = 48, + ProtocolIE_ID_id_U_RNTI = 49, + ProtocolIE_ID_id_UnknownU_RNTIIndication = 50, + ProtocolIE_ID_id_HNB_GWResponse = 51, + ProtocolIE_ID_id_URAIdentityList = 52 +} e_ProtocolIE_ID; + +/* ProtocolIE-ID */ +typedef long ProtocolIE_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ID; +asn_struct_free_f ProtocolIE_ID_free; +asn_struct_print_f ProtocolIE_ID_print; +asn_constr_check_f ProtocolIE_ID_constraint; +ber_type_decoder_f ProtocolIE_ID_decode_ber; +der_type_encoder_f ProtocolIE_ID_encode_der; +xer_type_decoder_f ProtocolIE_ID_decode_xer; +xer_type_encoder_f ProtocolIE_ID_encode_xer; +per_type_decoder_f ProtocolIE_ID_decode_uper; +per_type_encoder_f ProtocolIE_ID_encode_uper; +per_type_decoder_f ProtocolIE_ID_decode_aper; +per_type_encoder_f ProtocolIE_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _ProtocolIE_ID_H_ */ +#include diff --git a/src/hnbap/RAB-ID.c b/src/hnbap/RAB-ID.c new file mode 100644 index 0000000..db9874f --- /dev/null +++ b/src/hnbap/RAB-ID.c @@ -0,0 +1,172 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "RAB-ID.h" + +int +RAB_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 8l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static void +RAB_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_BIT_STRING.free_struct; + td->print_struct = asn_DEF_BIT_STRING.print_struct; + td->check_constraints = asn_DEF_BIT_STRING.check_constraints; + td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; + td->der_encoder = asn_DEF_BIT_STRING.der_encoder; + td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; + td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; + td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; + td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; + td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; + td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_BIT_STRING.per_constraints; + td->elements = asn_DEF_BIT_STRING.elements; + td->elements_count = asn_DEF_BIT_STRING.elements_count; + td->specifics = asn_DEF_BIT_STRING.specifics; +} + +void +RAB_ID_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + RAB_ID_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +RAB_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + RAB_ID_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +RAB_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + RAB_ID_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +RAB_ID_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + RAB_ID_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +RAB_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + RAB_ID_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +RAB_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + RAB_ID_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +RAB_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + RAB_ID_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +RAB_ID_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + RAB_ID_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +RAB_ID_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + RAB_ID_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +RAB_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + RAB_ID_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_RAB_ID_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 8l, 8l } /* (SIZE(8..8)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_RAB_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RAB_ID = { + "RAB-ID", + "RAB-ID", + RAB_ID_free, + RAB_ID_print, + RAB_ID_constraint, + RAB_ID_decode_ber, + RAB_ID_encode_der, + RAB_ID_decode_xer, + RAB_ID_encode_xer, + RAB_ID_decode_uper, + RAB_ID_encode_uper, + RAB_ID_decode_aper, + RAB_ID_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_RAB_ID_tags_1, + sizeof(asn_DEF_RAB_ID_tags_1) + /sizeof(asn_DEF_RAB_ID_tags_1[0]), /* 1 */ + asn_DEF_RAB_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_RAB_ID_tags_1) + /sizeof(asn_DEF_RAB_ID_tags_1[0]), /* 1 */ + &asn_PER_type_RAB_ID_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/RAB-ID.h b/src/hnbap/RAB-ID.h new file mode 100644 index 0000000..45cf69e --- /dev/null +++ b/src/hnbap/RAB-ID.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _RAB_ID_H_ +#define _RAB_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RAB-ID */ +typedef BIT_STRING_t RAB_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RAB_ID; +asn_struct_free_f RAB_ID_free; +asn_struct_print_f RAB_ID_print; +asn_constr_check_f RAB_ID_constraint; +ber_type_decoder_f RAB_ID_decode_ber; +der_type_encoder_f RAB_ID_encode_der; +xer_type_decoder_f RAB_ID_decode_xer; +xer_type_encoder_f RAB_ID_encode_xer; +per_type_decoder_f RAB_ID_decode_uper; +per_type_encoder_f RAB_ID_encode_uper; +per_type_decoder_f RAB_ID_decode_aper; +per_type_encoder_f RAB_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RAB_ID_H_ */ +#include diff --git a/src/hnbap/RABList.c b/src/hnbap/RABList.c new file mode 100644 index 0000000..c7acd62 --- /dev/null +++ b/src/hnbap/RABList.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "RABList.h" + +static asn_per_constraints_t asn_PER_type_RABList_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1l, 256l } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_RABList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RABListItem, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RABList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_RABList_specs_1 = { + sizeof(struct RABList), + offsetof(struct RABList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_RABList = { + "RABList", + "RABList", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_RABList_tags_1, + sizeof(asn_DEF_RABList_tags_1) + /sizeof(asn_DEF_RABList_tags_1[0]), /* 1 */ + asn_DEF_RABList_tags_1, /* Same as above */ + sizeof(asn_DEF_RABList_tags_1) + /sizeof(asn_DEF_RABList_tags_1[0]), /* 1 */ + &asn_PER_type_RABList_constr_1, + asn_MBR_RABList_1, + 1, /* Single element */ + &asn_SPC_RABList_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/RABList.h b/src/hnbap/RABList.h new file mode 100644 index 0000000..f4834de --- /dev/null +++ b/src/hnbap/RABList.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _RABList_H_ +#define _RABList_H_ + + +#include + +/* Including external dependencies */ +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct RABListItem; + +/* RABList */ +typedef struct RABList { + A_SEQUENCE_OF(struct RABListItem) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RABList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RABList; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "RABListItem.h" + +#endif /* _RABList_H_ */ +#include diff --git a/src/hnbap/RABListItem.c b/src/hnbap/RABListItem.c new file mode 100644 index 0000000..447c0f7 --- /dev/null +++ b/src/hnbap/RABListItem.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "RABListItem.h" + +static asn_TYPE_member_t asn_MBR_RABListItem_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RABListItem, rAB_ID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RAB_ID, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "rAB-ID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RABListItem, old_transport_Info), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TransportInfo, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "old-transport-Info" + }, + { ATF_NOFLAGS, 0, offsetof(struct RABListItem, new_transport_Info), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TransportInfo, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "new-transport-Info" + }, + { ATF_NOFLAGS, 0, offsetof(struct RABListItem, cn_domain_indicator), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CN_DomainIndicator, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "cn-domain-indicator" + }, + { ATF_POINTER, 1, offsetof(struct RABListItem, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_RABListItem_oms_1[] = { 4 }; +static const ber_tlv_tag_t asn_DEF_RABListItem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RABListItem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rAB-ID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* old-transport-Info */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* new-transport-Info */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* cn-domain-indicator */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_RABListItem_specs_1 = { + sizeof(struct RABListItem), + offsetof(struct RABListItem, _asn_ctx), + asn_MAP_RABListItem_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_RABListItem_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* Start extensions */ + 6 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_RABListItem = { + "RABListItem", + "RABListItem", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_RABListItem_tags_1, + sizeof(asn_DEF_RABListItem_tags_1) + /sizeof(asn_DEF_RABListItem_tags_1[0]), /* 1 */ + asn_DEF_RABListItem_tags_1, /* Same as above */ + sizeof(asn_DEF_RABListItem_tags_1) + /sizeof(asn_DEF_RABListItem_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_RABListItem_1, + 5, /* Elements count */ + &asn_SPC_RABListItem_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/RABListItem.h b/src/hnbap/RABListItem.h new file mode 100644 index 0000000..d610453 --- /dev/null +++ b/src/hnbap/RABListItem.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _RABListItem_H_ +#define _RABListItem_H_ + + +#include + +/* Including external dependencies */ +#include "RAB-ID.h" +#include "TransportInfo.h" +#include "CN-DomainIndicator.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE_Extensions; + +/* RABListItem */ +typedef struct RABListItem { + RAB_ID_t rAB_ID; + TransportInfo_t old_transport_Info; + TransportInfo_t new_transport_Info; + CN_DomainIndicator_t cn_domain_indicator; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RABListItem_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RABListItem; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _RABListItem_H_ */ +#include diff --git a/src/hnbap/RAC.c b/src/hnbap/RAC.c new file mode 100644 index 0000000..5f0136c --- /dev/null +++ b/src/hnbap/RAC.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "RAC.h" + +int +RAC_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 1l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static void +RAC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_OCTET_STRING.free_struct; + td->print_struct = asn_DEF_OCTET_STRING.print_struct; + td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; + td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; + td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; + td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; + td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; + td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; + td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; + td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; + td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; + td->elements = asn_DEF_OCTET_STRING.elements; + td->elements_count = asn_DEF_OCTET_STRING.elements_count; + td->specifics = asn_DEF_OCTET_STRING.specifics; +} + +void +RAC_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + RAC_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +RAC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + RAC_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +RAC_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + RAC_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +RAC_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + RAC_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +RAC_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + RAC_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +RAC_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + RAC_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +RAC_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + RAC_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +RAC_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + RAC_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +RAC_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + RAC_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +RAC_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + RAC_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_RAC_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 1l, 1l } /* (SIZE(1..1)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_RAC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RAC = { + "RAC", + "RAC", + RAC_free, + RAC_print, + RAC_constraint, + RAC_decode_ber, + RAC_encode_der, + RAC_decode_xer, + RAC_encode_xer, + RAC_decode_uper, + RAC_encode_uper, + RAC_decode_aper, + RAC_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_RAC_tags_1, + sizeof(asn_DEF_RAC_tags_1) + /sizeof(asn_DEF_RAC_tags_1[0]), /* 1 */ + asn_DEF_RAC_tags_1, /* Same as above */ + sizeof(asn_DEF_RAC_tags_1) + /sizeof(asn_DEF_RAC_tags_1[0]), /* 1 */ + &asn_PER_type_RAC_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/RAC.h b/src/hnbap/RAC.h new file mode 100644 index 0000000..bf61f44 --- /dev/null +++ b/src/hnbap/RAC.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _RAC_H_ +#define _RAC_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RAC */ +typedef OCTET_STRING_t RAC_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RAC; +asn_struct_free_f RAC_free; +asn_struct_print_f RAC_print; +asn_constr_check_f RAC_constraint; +ber_type_decoder_f RAC_decode_ber; +der_type_encoder_f RAC_encode_der; +xer_type_decoder_f RAC_decode_xer; +xer_type_encoder_f RAC_encode_xer; +per_type_decoder_f RAC_decode_uper; +per_type_encoder_f RAC_encode_uper; +per_type_decoder_f RAC_decode_aper; +per_type_encoder_f RAC_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RAC_H_ */ +#include diff --git a/src/hnbap/RAI.c b/src/hnbap/RAI.c new file mode 100644 index 0000000..da7308c --- /dev/null +++ b/src/hnbap/RAI.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "RAI.h" + +static asn_TYPE_member_t asn_MBR_RAI_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RAI, lAI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LAI, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "lAI" + }, + { ATF_NOFLAGS, 0, offsetof(struct RAI, rAC), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RAC, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "rAC" + }, +}; +static const ber_tlv_tag_t asn_DEF_RAI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RAI_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lAI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* rAC */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_RAI_specs_1 = { + sizeof(struct RAI), + offsetof(struct RAI, _asn_ctx), + asn_MAP_RAI_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* Start extensions */ + 3 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_RAI = { + "RAI", + "RAI", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_RAI_tags_1, + sizeof(asn_DEF_RAI_tags_1) + /sizeof(asn_DEF_RAI_tags_1[0]), /* 1 */ + asn_DEF_RAI_tags_1, /* Same as above */ + sizeof(asn_DEF_RAI_tags_1) + /sizeof(asn_DEF_RAI_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_RAI_1, + 2, /* Elements count */ + &asn_SPC_RAI_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/RAI.h b/src/hnbap/RAI.h new file mode 100644 index 0000000..faa8e3d --- /dev/null +++ b/src/hnbap/RAI.h @@ -0,0 +1,44 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _RAI_H_ +#define _RAI_H_ + + +#include + +/* Including external dependencies */ +#include "LAI.h" +#include "RAC.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RAI */ +typedef struct RAI { + LAI_t lAI; + RAC_t rAC; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RAI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RAI; + +#ifdef __cplusplus +} +#endif + +#endif /* _RAI_H_ */ +#include diff --git a/src/hnbap/RNC-ID.c b/src/hnbap/RNC-ID.c new file mode 100644 index 0000000..f386fd1 --- /dev/null +++ b/src/hnbap/RNC-ID.c @@ -0,0 +1,166 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "RNC-ID.h" + +int +RNC_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0l && value <= 65535l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static void +RNC_ID_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeInteger.free_struct; + td->print_struct = asn_DEF_NativeInteger.print_struct; + td->check_constraints = asn_DEF_NativeInteger.check_constraints; + td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; + td->der_encoder = asn_DEF_NativeInteger.der_encoder; + td->xer_decoder = asn_DEF_NativeInteger.xer_decoder; + td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; + td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; + td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; + td->aper_decoder = asn_DEF_NativeInteger.aper_decoder; + td->aper_encoder = asn_DEF_NativeInteger.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeInteger.per_constraints; + td->elements = asn_DEF_NativeInteger.elements; + td->elements_count = asn_DEF_NativeInteger.elements_count; + td->specifics = asn_DEF_NativeInteger.specifics; +} + +void +RNC_ID_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + RNC_ID_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +RNC_ID_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + RNC_ID_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +RNC_ID_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + RNC_ID_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +RNC_ID_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + RNC_ID_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +RNC_ID_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + RNC_ID_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +RNC_ID_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + RNC_ID_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +RNC_ID_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + RNC_ID_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +RNC_ID_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + RNC_ID_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +RNC_ID_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + RNC_ID_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +RNC_ID_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + RNC_ID_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_RNC_ID_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_RNC_ID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RNC_ID = { + "RNC-ID", + "RNC-ID", + RNC_ID_free, + RNC_ID_print, + RNC_ID_constraint, + RNC_ID_decode_ber, + RNC_ID_encode_der, + RNC_ID_decode_xer, + RNC_ID_encode_xer, + RNC_ID_decode_uper, + RNC_ID_encode_uper, + RNC_ID_decode_aper, + RNC_ID_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_RNC_ID_tags_1, + sizeof(asn_DEF_RNC_ID_tags_1) + /sizeof(asn_DEF_RNC_ID_tags_1[0]), /* 1 */ + asn_DEF_RNC_ID_tags_1, /* Same as above */ + sizeof(asn_DEF_RNC_ID_tags_1) + /sizeof(asn_DEF_RNC_ID_tags_1[0]), /* 1 */ + &asn_PER_type_RNC_ID_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/RNC-ID.h b/src/hnbap/RNC-ID.h new file mode 100644 index 0000000..c42f984 --- /dev/null +++ b/src/hnbap/RNC-ID.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _RNC_ID_H_ +#define _RNC_ID_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* RNC-ID */ +typedef long RNC_ID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RNC_ID; +asn_struct_free_f RNC_ID_free; +asn_struct_print_f RNC_ID_print; +asn_constr_check_f RNC_ID_constraint; +ber_type_decoder_f RNC_ID_decode_ber; +der_type_encoder_f RNC_ID_encode_der; +xer_type_decoder_f RNC_ID_decode_xer; +xer_type_encoder_f RNC_ID_encode_xer; +per_type_decoder_f RNC_ID_decode_uper; +per_type_encoder_f RNC_ID_encode_uper; +per_type_decoder_f RNC_ID_decode_aper; +per_type_encoder_f RNC_ID_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _RNC_ID_H_ */ +#include diff --git a/src/hnbap/Registration-Cause.c b/src/hnbap/Registration-Cause.c new file mode 100644 index 0000000..e04843c --- /dev/null +++ b/src/hnbap/Registration-Cause.c @@ -0,0 +1,170 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "Registration-Cause.h" + +int +Registration_Cause_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +Registration_Cause_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +Registration_Cause_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + Registration_Cause_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +Registration_Cause_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + Registration_Cause_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +Registration_Cause_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + Registration_Cause_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +Registration_Cause_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + Registration_Cause_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +Registration_Cause_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + Registration_Cause_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +Registration_Cause_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + Registration_Cause_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +Registration_Cause_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + Registration_Cause_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +Registration_Cause_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + Registration_Cause_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +Registration_Cause_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + Registration_Cause_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +Registration_Cause_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + Registration_Cause_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_Registration_Cause_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_Registration_Cause_value2enum_1[] = { + { 0, 14, "emergency-call" }, + { 1, 6, "normal" }, + { 2, 13, "ue-relocation" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Registration_Cause_enum2value_1[] = { + 0, /* emergency-call(0) */ + 1, /* normal(1) */ + 2 /* ue-relocation(2) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_Registration_Cause_specs_1 = { + asn_MAP_Registration_Cause_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Registration_Cause_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Registration_Cause_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Registration_Cause = { + "Registration-Cause", + "Registration-Cause", + Registration_Cause_free, + Registration_Cause_print, + Registration_Cause_constraint, + Registration_Cause_decode_ber, + Registration_Cause_encode_der, + Registration_Cause_decode_xer, + Registration_Cause_encode_xer, + Registration_Cause_decode_uper, + Registration_Cause_encode_uper, + Registration_Cause_decode_aper, + Registration_Cause_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_Registration_Cause_tags_1, + sizeof(asn_DEF_Registration_Cause_tags_1) + /sizeof(asn_DEF_Registration_Cause_tags_1[0]), /* 1 */ + asn_DEF_Registration_Cause_tags_1, /* Same as above */ + sizeof(asn_DEF_Registration_Cause_tags_1) + /sizeof(asn_DEF_Registration_Cause_tags_1[0]), /* 1 */ + &asn_PER_type_Registration_Cause_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Registration_Cause_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/Registration-Cause.h b/src/hnbap/Registration-Cause.h new file mode 100644 index 0000000..c137068 --- /dev/null +++ b/src/hnbap/Registration-Cause.h @@ -0,0 +1,53 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _Registration_Cause_H_ +#define _Registration_Cause_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Registration_Cause { + Registration_Cause_emergency_call = 0, + Registration_Cause_normal = 1, + /* + * Enumeration is extensible + */ + Registration_Cause_ue_relocation = 2 +} e_Registration_Cause; + +/* Registration-Cause */ +typedef long Registration_Cause_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Registration_Cause; +asn_struct_free_f Registration_Cause_free; +asn_struct_print_f Registration_Cause_print; +asn_constr_check_f Registration_Cause_constraint; +ber_type_decoder_f Registration_Cause_decode_ber; +der_type_encoder_f Registration_Cause_encode_der; +xer_type_decoder_f Registration_Cause_decode_xer; +xer_type_encoder_f Registration_Cause_encode_xer; +per_type_decoder_f Registration_Cause_decode_uper; +per_type_encoder_f Registration_Cause_encode_uper; +per_type_decoder_f Registration_Cause_decode_aper; +per_type_encoder_f Registration_Cause_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Registration_Cause_H_ */ +#include diff --git a/src/hnbap/RelocationComplete.c b/src/hnbap/RelocationComplete.c new file mode 100644 index 0000000..f5677b8 --- /dev/null +++ b/src/hnbap/RelocationComplete.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "RelocationComplete.h" + +static int +memb_relocationComplete_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_relocationComplete_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_relocationComplete_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_relocationComplete_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_relocationComplete_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_relocationComplete_ies_specs_2 = { + sizeof(struct relocationComplete_ies), + offsetof(struct relocationComplete_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_relocationComplete_ies_2 = { + "relocationComplete-ies", + "relocationComplete-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_relocationComplete_ies_tags_2, + sizeof(asn_DEF_relocationComplete_ies_tags_2) + /sizeof(asn_DEF_relocationComplete_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_relocationComplete_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_relocationComplete_ies_tags_2) + /sizeof(asn_DEF_relocationComplete_ies_tags_2[0]), /* 2 */ + &asn_PER_type_relocationComplete_ies_constr_2, + asn_MBR_relocationComplete_ies_2, + 1, /* Single element */ + &asn_SPC_relocationComplete_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_RelocationComplete_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RelocationComplete, relocationComplete_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_relocationComplete_ies_2, + memb_relocationComplete_ies_constraint_1, + &asn_PER_memb_relocationComplete_ies_constr_2, + 0, + "relocationComplete-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_RelocationComplete_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RelocationComplete_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* relocationComplete-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_RelocationComplete_specs_1 = { + sizeof(struct RelocationComplete), + offsetof(struct RelocationComplete, _asn_ctx), + asn_MAP_RelocationComplete_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_RelocationComplete = { + "RelocationComplete", + "RelocationComplete", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_RelocationComplete_tags_1, + sizeof(asn_DEF_RelocationComplete_tags_1) + /sizeof(asn_DEF_RelocationComplete_tags_1[0]), /* 1 */ + asn_DEF_RelocationComplete_tags_1, /* Same as above */ + sizeof(asn_DEF_RelocationComplete_tags_1) + /sizeof(asn_DEF_RelocationComplete_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_RelocationComplete_1, + 1, /* Elements count */ + &asn_SPC_RelocationComplete_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/RelocationComplete.h b/src/hnbap/RelocationComplete.h new file mode 100644 index 0000000..a14ddb7 --- /dev/null +++ b/src/hnbap/RelocationComplete.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _RelocationComplete_H_ +#define _RelocationComplete_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* RelocationComplete */ +typedef struct RelocationComplete { + struct relocationComplete_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } relocationComplete_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} RelocationComplete_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_RelocationComplete; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _RelocationComplete_H_ */ +#include diff --git a/src/hnbap/S-RNTIPrefix.c b/src/hnbap/S-RNTIPrefix.c new file mode 100644 index 0000000..2ea4857 --- /dev/null +++ b/src/hnbap/S-RNTIPrefix.c @@ -0,0 +1,172 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "S-RNTIPrefix.h" + +int +S_RNTIPrefix_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 1l && size <= 16l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static void +S_RNTIPrefix_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_BIT_STRING.free_struct; + td->print_struct = asn_DEF_BIT_STRING.print_struct; + td->check_constraints = asn_DEF_BIT_STRING.check_constraints; + td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; + td->der_encoder = asn_DEF_BIT_STRING.der_encoder; + td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; + td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; + td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; + td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; + td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; + td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_BIT_STRING.per_constraints; + td->elements = asn_DEF_BIT_STRING.elements; + td->elements_count = asn_DEF_BIT_STRING.elements_count; + td->specifics = asn_DEF_BIT_STRING.specifics; +} + +void +S_RNTIPrefix_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + S_RNTIPrefix_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +S_RNTIPrefix_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + S_RNTIPrefix_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +S_RNTIPrefix_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + S_RNTIPrefix_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +S_RNTIPrefix_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + S_RNTIPrefix_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +S_RNTIPrefix_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + S_RNTIPrefix_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +S_RNTIPrefix_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + S_RNTIPrefix_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +S_RNTIPrefix_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + S_RNTIPrefix_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +S_RNTIPrefix_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + S_RNTIPrefix_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +S_RNTIPrefix_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + S_RNTIPrefix_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +S_RNTIPrefix_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + S_RNTIPrefix_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_S_RNTIPrefix_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1l, 16l } /* (SIZE(1..16,...)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_S_RNTIPrefix_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_S_RNTIPrefix = { + "S-RNTIPrefix", + "S-RNTIPrefix", + S_RNTIPrefix_free, + S_RNTIPrefix_print, + S_RNTIPrefix_constraint, + S_RNTIPrefix_decode_ber, + S_RNTIPrefix_encode_der, + S_RNTIPrefix_decode_xer, + S_RNTIPrefix_encode_xer, + S_RNTIPrefix_decode_uper, + S_RNTIPrefix_encode_uper, + S_RNTIPrefix_decode_aper, + S_RNTIPrefix_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_S_RNTIPrefix_tags_1, + sizeof(asn_DEF_S_RNTIPrefix_tags_1) + /sizeof(asn_DEF_S_RNTIPrefix_tags_1[0]), /* 1 */ + asn_DEF_S_RNTIPrefix_tags_1, /* Same as above */ + sizeof(asn_DEF_S_RNTIPrefix_tags_1) + /sizeof(asn_DEF_S_RNTIPrefix_tags_1[0]), /* 1 */ + &asn_PER_type_S_RNTIPrefix_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/S-RNTIPrefix.h b/src/hnbap/S-RNTIPrefix.h new file mode 100644 index 0000000..072e305 --- /dev/null +++ b/src/hnbap/S-RNTIPrefix.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _S_RNTIPrefix_H_ +#define _S_RNTIPrefix_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* S-RNTIPrefix */ +typedef BIT_STRING_t S_RNTIPrefix_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_S_RNTIPrefix; +asn_struct_free_f S_RNTIPrefix_free; +asn_struct_print_f S_RNTIPrefix_print; +asn_constr_check_f S_RNTIPrefix_constraint; +ber_type_decoder_f S_RNTIPrefix_decode_ber; +der_type_encoder_f S_RNTIPrefix_encode_der; +xer_type_decoder_f S_RNTIPrefix_decode_xer; +xer_type_encoder_f S_RNTIPrefix_encode_xer; +per_type_decoder_f S_RNTIPrefix_decode_uper; +per_type_encoder_f S_RNTIPrefix_encode_uper; +per_type_decoder_f S_RNTIPrefix_decode_aper; +per_type_encoder_f S_RNTIPrefix_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _S_RNTIPrefix_H_ */ +#include diff --git a/src/hnbap/SAC.c b/src/hnbap/SAC.c new file mode 100644 index 0000000..78f2815 --- /dev/null +++ b/src/hnbap/SAC.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "SAC.h" + +int +SAC_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static void +SAC_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_OCTET_STRING.free_struct; + td->print_struct = asn_DEF_OCTET_STRING.print_struct; + td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; + td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; + td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; + td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; + td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; + td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; + td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; + td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; + td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; + td->elements = asn_DEF_OCTET_STRING.elements; + td->elements_count = asn_DEF_OCTET_STRING.elements_count; + td->specifics = asn_DEF_OCTET_STRING.specifics; +} + +void +SAC_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + SAC_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +SAC_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + SAC_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +SAC_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + SAC_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +SAC_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + SAC_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +SAC_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + SAC_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +SAC_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + SAC_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +SAC_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + SAC_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +SAC_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + SAC_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +SAC_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + SAC_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +SAC_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + SAC_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_SAC_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2l, 2l } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_SAC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SAC = { + "SAC", + "SAC", + SAC_free, + SAC_print, + SAC_constraint, + SAC_decode_ber, + SAC_encode_der, + SAC_decode_xer, + SAC_encode_xer, + SAC_decode_uper, + SAC_encode_uper, + SAC_decode_aper, + SAC_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_SAC_tags_1, + sizeof(asn_DEF_SAC_tags_1) + /sizeof(asn_DEF_SAC_tags_1[0]), /* 1 */ + asn_DEF_SAC_tags_1, /* Same as above */ + sizeof(asn_DEF_SAC_tags_1) + /sizeof(asn_DEF_SAC_tags_1[0]), /* 1 */ + &asn_PER_type_SAC_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/SAC.h b/src/hnbap/SAC.h new file mode 100644 index 0000000..5362968 --- /dev/null +++ b/src/hnbap/SAC.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _SAC_H_ +#define _SAC_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SAC */ +typedef OCTET_STRING_t SAC_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SAC; +asn_struct_free_f SAC_free; +asn_struct_print_f SAC_print; +asn_constr_check_f SAC_constraint; +ber_type_decoder_f SAC_decode_ber; +der_type_encoder_f SAC_encode_der; +xer_type_decoder_f SAC_decode_xer; +xer_type_encoder_f SAC_encode_xer; +per_type_decoder_f SAC_decode_uper; +per_type_encoder_f SAC_encode_uper; +per_type_decoder_f SAC_decode_aper; +per_type_encoder_f SAC_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _SAC_H_ */ +#include diff --git a/src/hnbap/SuccessfulOutcome.c b/src/hnbap/SuccessfulOutcome.c new file mode 100644 index 0000000..ffdaaa8 --- /dev/null +++ b/src/hnbap/SuccessfulOutcome.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "SuccessfulOutcome.h" + +static asn_TYPE_member_t asn_MBR_SuccessfulOutcome_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome, procedureCode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProcedureCode, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "procedureCode" + }, + { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "criticality" + }, + { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ANY, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_SuccessfulOutcome_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SuccessfulOutcome_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_SuccessfulOutcome_specs_1 = { + sizeof(struct SuccessfulOutcome), + offsetof(struct SuccessfulOutcome, _asn_ctx), + asn_MAP_SuccessfulOutcome_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* Start extensions */ + -1 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_SuccessfulOutcome = { + "SuccessfulOutcome", + "SuccessfulOutcome", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_SuccessfulOutcome_tags_1, + sizeof(asn_DEF_SuccessfulOutcome_tags_1) + /sizeof(asn_DEF_SuccessfulOutcome_tags_1[0]), /* 1 */ + asn_DEF_SuccessfulOutcome_tags_1, /* Same as above */ + sizeof(asn_DEF_SuccessfulOutcome_tags_1) + /sizeof(asn_DEF_SuccessfulOutcome_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_SuccessfulOutcome_1, + 3, /* Elements count */ + &asn_SPC_SuccessfulOutcome_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/SuccessfulOutcome.h b/src/hnbap/SuccessfulOutcome.h new file mode 100644 index 0000000..b831b5f --- /dev/null +++ b/src/hnbap/SuccessfulOutcome.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _SuccessfulOutcome_H_ +#define _SuccessfulOutcome_H_ + + +#include + +/* Including external dependencies */ +#include "ProcedureCode.h" +#include "Criticality.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* SuccessfulOutcome */ +typedef struct SuccessfulOutcome { + ProcedureCode_t procedureCode; + Criticality_t criticality; + ANY_t value; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} SuccessfulOutcome_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_SuccessfulOutcome; + +#ifdef __cplusplus +} +#endif + +#endif /* _SuccessfulOutcome_H_ */ +#include diff --git a/src/hnbap/TMSIDS41.c b/src/hnbap/TMSIDS41.c new file mode 100644 index 0000000..1aaecfb --- /dev/null +++ b/src/hnbap/TMSIDS41.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "TMSIDS41.h" + +int +TMSIDS41_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 2l && size <= 17l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static void +TMSIDS41_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_OCTET_STRING.free_struct; + td->print_struct = asn_DEF_OCTET_STRING.print_struct; + td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; + td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; + td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; + td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; + td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; + td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; + td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; + td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; + td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; + td->elements = asn_DEF_OCTET_STRING.elements; + td->elements_count = asn_DEF_OCTET_STRING.elements_count; + td->specifics = asn_DEF_OCTET_STRING.specifics; +} + +void +TMSIDS41_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + TMSIDS41_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +TMSIDS41_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + TMSIDS41_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +TMSIDS41_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + TMSIDS41_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +TMSIDS41_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + TMSIDS41_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +TMSIDS41_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + TMSIDS41_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +TMSIDS41_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + TMSIDS41_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +TMSIDS41_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + TMSIDS41_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +TMSIDS41_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + TMSIDS41_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +TMSIDS41_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + TMSIDS41_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +TMSIDS41_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + TMSIDS41_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_TMSIDS41_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 2l, 17l } /* (SIZE(2..17)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_TMSIDS41_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TMSIDS41 = { + "TMSIDS41", + "TMSIDS41", + TMSIDS41_free, + TMSIDS41_print, + TMSIDS41_constraint, + TMSIDS41_decode_ber, + TMSIDS41_encode_der, + TMSIDS41_decode_xer, + TMSIDS41_encode_xer, + TMSIDS41_decode_uper, + TMSIDS41_encode_uper, + TMSIDS41_decode_aper, + TMSIDS41_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_TMSIDS41_tags_1, + sizeof(asn_DEF_TMSIDS41_tags_1) + /sizeof(asn_DEF_TMSIDS41_tags_1[0]), /* 1 */ + asn_DEF_TMSIDS41_tags_1, /* Same as above */ + sizeof(asn_DEF_TMSIDS41_tags_1) + /sizeof(asn_DEF_TMSIDS41_tags_1[0]), /* 1 */ + &asn_PER_type_TMSIDS41_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/TMSIDS41.h b/src/hnbap/TMSIDS41.h new file mode 100644 index 0000000..1cd21a4 --- /dev/null +++ b/src/hnbap/TMSIDS41.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _TMSIDS41_H_ +#define _TMSIDS41_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* TMSIDS41 */ +typedef OCTET_STRING_t TMSIDS41_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TMSIDS41; +asn_struct_free_f TMSIDS41_free; +asn_struct_print_f TMSIDS41_print; +asn_constr_check_f TMSIDS41_constraint; +ber_type_decoder_f TMSIDS41_decode_ber; +der_type_encoder_f TMSIDS41_encode_der; +xer_type_decoder_f TMSIDS41_decode_xer; +xer_type_encoder_f TMSIDS41_encode_xer; +per_type_decoder_f TMSIDS41_decode_uper; +per_type_encoder_f TMSIDS41_encode_uper; +per_type_decoder_f TMSIDS41_decode_aper; +per_type_encoder_f TMSIDS41_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TMSIDS41_H_ */ +#include diff --git a/src/hnbap/TMSILAI.c b/src/hnbap/TMSILAI.c new file mode 100644 index 0000000..2880c58 --- /dev/null +++ b/src/hnbap/TMSILAI.c @@ -0,0 +1,108 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "TMSILAI.h" + +static int +memb_tMSI_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 32l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_memb_tMSI_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 32l, 32l } /* (SIZE(32..32)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_TMSILAI_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TMSILAI, tMSI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + memb_tMSI_constraint_1, + &asn_PER_memb_tMSI_constr_2, + 0, + "tMSI" + }, + { ATF_NOFLAGS, 0, offsetof(struct TMSILAI, lAI), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LAI, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "lAI" + }, +}; +static const ber_tlv_tag_t asn_DEF_TMSILAI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TMSILAI_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tMSI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lAI */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_TMSILAI_specs_1 = { + sizeof(struct TMSILAI), + offsetof(struct TMSILAI, _asn_ctx), + asn_MAP_TMSILAI_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* Start extensions */ + -1 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_TMSILAI = { + "TMSILAI", + "TMSILAI", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_TMSILAI_tags_1, + sizeof(asn_DEF_TMSILAI_tags_1) + /sizeof(asn_DEF_TMSILAI_tags_1[0]), /* 1 */ + asn_DEF_TMSILAI_tags_1, /* Same as above */ + sizeof(asn_DEF_TMSILAI_tags_1) + /sizeof(asn_DEF_TMSILAI_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_TMSILAI_1, + 2, /* Elements count */ + &asn_SPC_TMSILAI_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/TMSILAI.h b/src/hnbap/TMSILAI.h new file mode 100644 index 0000000..ca71008 --- /dev/null +++ b/src/hnbap/TMSILAI.h @@ -0,0 +1,40 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _TMSILAI_H_ +#define _TMSILAI_H_ + + +#include + +/* Including external dependencies */ +#include +#include "LAI.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* TMSILAI */ +typedef struct TMSILAI { + BIT_STRING_t tMSI; + LAI_t lAI; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TMSILAI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TMSILAI; + +#ifdef __cplusplus +} +#endif + +#endif /* _TMSILAI_H_ */ +#include diff --git a/src/hnbap/TNLUpdateFailure.c b/src/hnbap/TNLUpdateFailure.c new file mode 100644 index 0000000..829cc13 --- /dev/null +++ b/src/hnbap/TNLUpdateFailure.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "TNLUpdateFailure.h" + +static int +memb_tnlUpdateFailure_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_tnlUpdateFailure_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_tnlUpdateFailure_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_tnlUpdateFailure_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_tnlUpdateFailure_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_tnlUpdateFailure_ies_specs_2 = { + sizeof(struct tnlUpdateFailure_ies), + offsetof(struct tnlUpdateFailure_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_tnlUpdateFailure_ies_2 = { + "tnlUpdateFailure-ies", + "tnlUpdateFailure-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_tnlUpdateFailure_ies_tags_2, + sizeof(asn_DEF_tnlUpdateFailure_ies_tags_2) + /sizeof(asn_DEF_tnlUpdateFailure_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_tnlUpdateFailure_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_tnlUpdateFailure_ies_tags_2) + /sizeof(asn_DEF_tnlUpdateFailure_ies_tags_2[0]), /* 2 */ + &asn_PER_type_tnlUpdateFailure_ies_constr_2, + asn_MBR_tnlUpdateFailure_ies_2, + 1, /* Single element */ + &asn_SPC_tnlUpdateFailure_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_TNLUpdateFailure_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TNLUpdateFailure, tnlUpdateFailure_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_tnlUpdateFailure_ies_2, + memb_tnlUpdateFailure_ies_constraint_1, + &asn_PER_memb_tnlUpdateFailure_ies_constr_2, + 0, + "tnlUpdateFailure-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_TNLUpdateFailure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TNLUpdateFailure_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* tnlUpdateFailure-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_TNLUpdateFailure_specs_1 = { + sizeof(struct TNLUpdateFailure), + offsetof(struct TNLUpdateFailure, _asn_ctx), + asn_MAP_TNLUpdateFailure_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_TNLUpdateFailure = { + "TNLUpdateFailure", + "TNLUpdateFailure", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_TNLUpdateFailure_tags_1, + sizeof(asn_DEF_TNLUpdateFailure_tags_1) + /sizeof(asn_DEF_TNLUpdateFailure_tags_1[0]), /* 1 */ + asn_DEF_TNLUpdateFailure_tags_1, /* Same as above */ + sizeof(asn_DEF_TNLUpdateFailure_tags_1) + /sizeof(asn_DEF_TNLUpdateFailure_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_TNLUpdateFailure_1, + 1, /* Elements count */ + &asn_SPC_TNLUpdateFailure_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/TNLUpdateFailure.h b/src/hnbap/TNLUpdateFailure.h new file mode 100644 index 0000000..5bd0c05 --- /dev/null +++ b/src/hnbap/TNLUpdateFailure.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _TNLUpdateFailure_H_ +#define _TNLUpdateFailure_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* TNLUpdateFailure */ +typedef struct TNLUpdateFailure { + struct tnlUpdateFailure_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } tnlUpdateFailure_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TNLUpdateFailure_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TNLUpdateFailure; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _TNLUpdateFailure_H_ */ +#include diff --git a/src/hnbap/TNLUpdateRequest.c b/src/hnbap/TNLUpdateRequest.c new file mode 100644 index 0000000..1917269 --- /dev/null +++ b/src/hnbap/TNLUpdateRequest.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "TNLUpdateRequest.h" + +static int +memb_tnlUpdateRequest_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_tnlUpdateRequest_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_tnlUpdateRequest_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_tnlUpdateRequest_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_tnlUpdateRequest_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_tnlUpdateRequest_ies_specs_2 = { + sizeof(struct tnlUpdateRequest_ies), + offsetof(struct tnlUpdateRequest_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_tnlUpdateRequest_ies_2 = { + "tnlUpdateRequest-ies", + "tnlUpdateRequest-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_tnlUpdateRequest_ies_tags_2, + sizeof(asn_DEF_tnlUpdateRequest_ies_tags_2) + /sizeof(asn_DEF_tnlUpdateRequest_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_tnlUpdateRequest_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_tnlUpdateRequest_ies_tags_2) + /sizeof(asn_DEF_tnlUpdateRequest_ies_tags_2[0]), /* 2 */ + &asn_PER_type_tnlUpdateRequest_ies_constr_2, + asn_MBR_tnlUpdateRequest_ies_2, + 1, /* Single element */ + &asn_SPC_tnlUpdateRequest_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_TNLUpdateRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TNLUpdateRequest, tnlUpdateRequest_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_tnlUpdateRequest_ies_2, + memb_tnlUpdateRequest_ies_constraint_1, + &asn_PER_memb_tnlUpdateRequest_ies_constr_2, + 0, + "tnlUpdateRequest-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_TNLUpdateRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TNLUpdateRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* tnlUpdateRequest-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_TNLUpdateRequest_specs_1 = { + sizeof(struct TNLUpdateRequest), + offsetof(struct TNLUpdateRequest, _asn_ctx), + asn_MAP_TNLUpdateRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_TNLUpdateRequest = { + "TNLUpdateRequest", + "TNLUpdateRequest", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_TNLUpdateRequest_tags_1, + sizeof(asn_DEF_TNLUpdateRequest_tags_1) + /sizeof(asn_DEF_TNLUpdateRequest_tags_1[0]), /* 1 */ + asn_DEF_TNLUpdateRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_TNLUpdateRequest_tags_1) + /sizeof(asn_DEF_TNLUpdateRequest_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_TNLUpdateRequest_1, + 1, /* Elements count */ + &asn_SPC_TNLUpdateRequest_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/TNLUpdateRequest.h b/src/hnbap/TNLUpdateRequest.h new file mode 100644 index 0000000..52a4b38 --- /dev/null +++ b/src/hnbap/TNLUpdateRequest.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _TNLUpdateRequest_H_ +#define _TNLUpdateRequest_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* TNLUpdateRequest */ +typedef struct TNLUpdateRequest { + struct tnlUpdateRequest_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } tnlUpdateRequest_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TNLUpdateRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TNLUpdateRequest; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _TNLUpdateRequest_H_ */ +#include diff --git a/src/hnbap/TNLUpdateResponse.c b/src/hnbap/TNLUpdateResponse.c new file mode 100644 index 0000000..a956010 --- /dev/null +++ b/src/hnbap/TNLUpdateResponse.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "TNLUpdateResponse.h" + +static int +memb_tnlUpdateResponse_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_tnlUpdateResponse_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_tnlUpdateResponse_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_tnlUpdateResponse_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_tnlUpdateResponse_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_tnlUpdateResponse_ies_specs_2 = { + sizeof(struct tnlUpdateResponse_ies), + offsetof(struct tnlUpdateResponse_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_tnlUpdateResponse_ies_2 = { + "tnlUpdateResponse-ies", + "tnlUpdateResponse-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_tnlUpdateResponse_ies_tags_2, + sizeof(asn_DEF_tnlUpdateResponse_ies_tags_2) + /sizeof(asn_DEF_tnlUpdateResponse_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_tnlUpdateResponse_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_tnlUpdateResponse_ies_tags_2) + /sizeof(asn_DEF_tnlUpdateResponse_ies_tags_2[0]), /* 2 */ + &asn_PER_type_tnlUpdateResponse_ies_constr_2, + asn_MBR_tnlUpdateResponse_ies_2, + 1, /* Single element */ + &asn_SPC_tnlUpdateResponse_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_TNLUpdateResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TNLUpdateResponse, tnlUpdateResponse_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_tnlUpdateResponse_ies_2, + memb_tnlUpdateResponse_ies_constraint_1, + &asn_PER_memb_tnlUpdateResponse_ies_constr_2, + 0, + "tnlUpdateResponse-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_TNLUpdateResponse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TNLUpdateResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* tnlUpdateResponse-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_TNLUpdateResponse_specs_1 = { + sizeof(struct TNLUpdateResponse), + offsetof(struct TNLUpdateResponse, _asn_ctx), + asn_MAP_TNLUpdateResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_TNLUpdateResponse = { + "TNLUpdateResponse", + "TNLUpdateResponse", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_TNLUpdateResponse_tags_1, + sizeof(asn_DEF_TNLUpdateResponse_tags_1) + /sizeof(asn_DEF_TNLUpdateResponse_tags_1[0]), /* 1 */ + asn_DEF_TNLUpdateResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_TNLUpdateResponse_tags_1) + /sizeof(asn_DEF_TNLUpdateResponse_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_TNLUpdateResponse_1, + 1, /* Elements count */ + &asn_SPC_TNLUpdateResponse_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/TNLUpdateResponse.h b/src/hnbap/TNLUpdateResponse.h new file mode 100644 index 0000000..b01cd30 --- /dev/null +++ b/src/hnbap/TNLUpdateResponse.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _TNLUpdateResponse_H_ +#define _TNLUpdateResponse_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* TNLUpdateResponse */ +typedef struct TNLUpdateResponse { + struct tnlUpdateResponse_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } tnlUpdateResponse_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TNLUpdateResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TNLUpdateResponse; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _TNLUpdateResponse_H_ */ +#include diff --git a/src/hnbap/TransportInfo.c b/src/hnbap/TransportInfo.c new file mode 100644 index 0000000..d511012 --- /dev/null +++ b/src/hnbap/TransportInfo.c @@ -0,0 +1,149 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "TransportInfo.h" + +static asn_per_constraints_t asn_PER_type_transportAssociation_constr_3 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_transportAssociation_3[] = { + { ATF_NOFLAGS, 0, offsetof(struct transportAssociation, choice.gtp_TEI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GTP_TEI, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "gtp-TEI" + }, + { ATF_NOFLAGS, 0, offsetof(struct transportAssociation, choice.bindingID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BindingID, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "bindingID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_transportAssociation_tag2el_3[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gtp-TEI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* bindingID */ +}; +static asn_CHOICE_specifics_t asn_SPC_transportAssociation_specs_3 = { + sizeof(struct transportAssociation), + offsetof(struct transportAssociation, _asn_ctx), + offsetof(struct transportAssociation, present), + sizeof(((struct transportAssociation *)0)->present), + asn_MAP_transportAssociation_tag2el_3, + 2, /* Count of tags in the map */ + 0, + 2 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_transportAssociation_3 = { + "transportAssociation", + "transportAssociation", + CHOICE_free, + CHOICE_print, + CHOICE_constraint, + CHOICE_decode_ber, + CHOICE_encode_der, + CHOICE_decode_xer, + CHOICE_encode_xer, + CHOICE_decode_uper, + CHOICE_encode_uper, + CHOICE_decode_aper, + CHOICE_encode_aper, + CHOICE_outmost_tag, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + &asn_PER_type_transportAssociation_constr_3, + asn_MBR_transportAssociation_3, + 2, /* Elements count */ + &asn_SPC_transportAssociation_specs_3 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_TransportInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TransportInfo, transportLayerAddress), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TransportLayerAddress, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "transportLayerAddress" + }, + { ATF_NOFLAGS, 0, offsetof(struct TransportInfo, transportAssociation), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_transportAssociation_3, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "transportAssociation" + }, + { ATF_POINTER, 1, offsetof(struct TransportInfo, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_TransportInfo_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_TransportInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TransportInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* transportLayerAddress */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* transportAssociation */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_TransportInfo_specs_1 = { + sizeof(struct TransportInfo), + offsetof(struct TransportInfo, _asn_ctx), + asn_MAP_TransportInfo_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_TransportInfo_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* Start extensions */ + 4 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_TransportInfo = { + "TransportInfo", + "TransportInfo", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_TransportInfo_tags_1, + sizeof(asn_DEF_TransportInfo_tags_1) + /sizeof(asn_DEF_TransportInfo_tags_1[0]), /* 1 */ + asn_DEF_TransportInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_TransportInfo_tags_1) + /sizeof(asn_DEF_TransportInfo_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_TransportInfo_1, + 3, /* Elements count */ + &asn_SPC_TransportInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/TransportInfo.h b/src/hnbap/TransportInfo.h new file mode 100644 index 0000000..6176761 --- /dev/null +++ b/src/hnbap/TransportInfo.h @@ -0,0 +1,75 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _TransportInfo_H_ +#define _TransportInfo_H_ + + +#include + +/* Including external dependencies */ +#include "TransportLayerAddress.h" +#include "GTP-TEI.h" +#include "BindingID.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum transportAssociation_PR { + transportAssociation_PR_NOTHING, /* No components present */ + transportAssociation_PR_gtp_TEI, + transportAssociation_PR_bindingID, + /* Extensions may appear below */ + +} transportAssociation_PR; + +/* Forward declarations */ +struct IE_Extensions; + +/* TransportInfo */ +typedef struct TransportInfo { + TransportLayerAddress_t transportLayerAddress; + struct transportAssociation { + transportAssociation_PR present; + union TransportInfo__transportAssociation_u { + GTP_TEI_t gtp_TEI; + BindingID_t bindingID; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } transportAssociation; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} TransportInfo_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TransportInfo; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _TransportInfo_H_ */ +#include diff --git a/src/hnbap/TransportLayerAddress.c b/src/hnbap/TransportLayerAddress.c new file mode 100644 index 0000000..db4b0da --- /dev/null +++ b/src/hnbap/TransportLayerAddress.c @@ -0,0 +1,172 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "TransportLayerAddress.h" + +int +TransportLayerAddress_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 1l && size <= 160l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static void +TransportLayerAddress_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_BIT_STRING.free_struct; + td->print_struct = asn_DEF_BIT_STRING.print_struct; + td->check_constraints = asn_DEF_BIT_STRING.check_constraints; + td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; + td->der_encoder = asn_DEF_BIT_STRING.der_encoder; + td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; + td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; + td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; + td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; + td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; + td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_BIT_STRING.per_constraints; + td->elements = asn_DEF_BIT_STRING.elements; + td->elements_count = asn_DEF_BIT_STRING.elements_count; + td->specifics = asn_DEF_BIT_STRING.specifics; +} + +void +TransportLayerAddress_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + TransportLayerAddress_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +TransportLayerAddress_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + TransportLayerAddress_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +TransportLayerAddress_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + TransportLayerAddress_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +TransportLayerAddress_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + TransportLayerAddress_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +TransportLayerAddress_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + TransportLayerAddress_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +TransportLayerAddress_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + TransportLayerAddress_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +TransportLayerAddress_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + TransportLayerAddress_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +TransportLayerAddress_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + TransportLayerAddress_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +TransportLayerAddress_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + TransportLayerAddress_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +TransportLayerAddress_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + TransportLayerAddress_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_TransportLayerAddress_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1l, 160l } /* (SIZE(1..160,...)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_TransportLayerAddress_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TransportLayerAddress = { + "TransportLayerAddress", + "TransportLayerAddress", + TransportLayerAddress_free, + TransportLayerAddress_print, + TransportLayerAddress_constraint, + TransportLayerAddress_decode_ber, + TransportLayerAddress_encode_der, + TransportLayerAddress_decode_xer, + TransportLayerAddress_encode_xer, + TransportLayerAddress_decode_uper, + TransportLayerAddress_encode_uper, + TransportLayerAddress_decode_aper, + TransportLayerAddress_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_TransportLayerAddress_tags_1, + sizeof(asn_DEF_TransportLayerAddress_tags_1) + /sizeof(asn_DEF_TransportLayerAddress_tags_1[0]), /* 1 */ + asn_DEF_TransportLayerAddress_tags_1, /* Same as above */ + sizeof(asn_DEF_TransportLayerAddress_tags_1) + /sizeof(asn_DEF_TransportLayerAddress_tags_1[0]), /* 1 */ + &asn_PER_type_TransportLayerAddress_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/TransportLayerAddress.h b/src/hnbap/TransportLayerAddress.h new file mode 100644 index 0000000..d320738 --- /dev/null +++ b/src/hnbap/TransportLayerAddress.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _TransportLayerAddress_H_ +#define _TransportLayerAddress_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* TransportLayerAddress */ +typedef BIT_STRING_t TransportLayerAddress_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TransportLayerAddress; +asn_struct_free_f TransportLayerAddress_free; +asn_struct_print_f TransportLayerAddress_print; +asn_constr_check_f TransportLayerAddress_constraint; +ber_type_decoder_f TransportLayerAddress_decode_ber; +der_type_encoder_f TransportLayerAddress_encode_der; +xer_type_decoder_f TransportLayerAddress_decode_xer; +xer_type_encoder_f TransportLayerAddress_encode_xer; +per_type_decoder_f TransportLayerAddress_decode_uper; +per_type_encoder_f TransportLayerAddress_encode_uper; +per_type_decoder_f TransportLayerAddress_decode_aper; +per_type_encoder_f TransportLayerAddress_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TransportLayerAddress_H_ */ +#include diff --git a/src/hnbap/TriggeringMessage.c b/src/hnbap/TriggeringMessage.c new file mode 100644 index 0000000..0f2ab4e --- /dev/null +++ b/src/hnbap/TriggeringMessage.c @@ -0,0 +1,168 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-CommonDataTypes" + * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" + * `asn1c -gen-PER` + */ + +#include "TriggeringMessage.h" + +int +TriggeringMessage_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +TriggeringMessage_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +TriggeringMessage_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + TriggeringMessage_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +TriggeringMessage_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + TriggeringMessage_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +TriggeringMessage_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + TriggeringMessage_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +TriggeringMessage_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + TriggeringMessage_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +TriggeringMessage_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + TriggeringMessage_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +TriggeringMessage_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + TriggeringMessage_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +TriggeringMessage_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + TriggeringMessage_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +TriggeringMessage_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + TriggeringMessage_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +TriggeringMessage_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + TriggeringMessage_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +TriggeringMessage_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + TriggeringMessage_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_TriggeringMessage_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0l, 2l } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_TriggeringMessage_value2enum_1[] = { + { 0, 18, "initiating-message" }, + { 1, 18, "successful-outcome" }, + { 2, 20, "unsuccessful-outcome" } +}; +static const unsigned int asn_MAP_TriggeringMessage_enum2value_1[] = { + 0, /* initiating-message(0) */ + 1, /* successful-outcome(1) */ + 2 /* unsuccessful-outcome(2) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_TriggeringMessage_specs_1 = { + asn_MAP_TriggeringMessage_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_TriggeringMessage_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TriggeringMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TriggeringMessage = { + "TriggeringMessage", + "TriggeringMessage", + TriggeringMessage_free, + TriggeringMessage_print, + TriggeringMessage_constraint, + TriggeringMessage_decode_ber, + TriggeringMessage_encode_der, + TriggeringMessage_decode_xer, + TriggeringMessage_encode_xer, + TriggeringMessage_decode_uper, + TriggeringMessage_encode_uper, + TriggeringMessage_decode_aper, + TriggeringMessage_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_TriggeringMessage_tags_1, + sizeof(asn_DEF_TriggeringMessage_tags_1) + /sizeof(asn_DEF_TriggeringMessage_tags_1[0]), /* 1 */ + asn_DEF_TriggeringMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_TriggeringMessage_tags_1) + /sizeof(asn_DEF_TriggeringMessage_tags_1[0]), /* 1 */ + &asn_PER_type_TriggeringMessage_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TriggeringMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/TriggeringMessage.h b/src/hnbap/TriggeringMessage.h new file mode 100644 index 0000000..3854505 --- /dev/null +++ b/src/hnbap/TriggeringMessage.h @@ -0,0 +1,50 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-CommonDataTypes" + * found in "../../asn1/hnbap/HNBAP-CommonDataTypes.asn" + * `asn1c -gen-PER` + */ + +#ifndef _TriggeringMessage_H_ +#define _TriggeringMessage_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum TriggeringMessage { + TriggeringMessage_initiating_message = 0, + TriggeringMessage_successful_outcome = 1, + TriggeringMessage_unsuccessful_outcome = 2 +} e_TriggeringMessage; + +/* TriggeringMessage */ +typedef long TriggeringMessage_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TriggeringMessage; +asn_struct_free_f TriggeringMessage_free; +asn_struct_print_f TriggeringMessage_print; +asn_constr_check_f TriggeringMessage_constraint; +ber_type_decoder_f TriggeringMessage_decode_ber; +der_type_encoder_f TriggeringMessage_encode_der; +xer_type_decoder_f TriggeringMessage_decode_xer; +xer_type_encoder_f TriggeringMessage_encode_xer; +per_type_decoder_f TriggeringMessage_decode_uper; +per_type_encoder_f TriggeringMessage_encode_uper; +per_type_decoder_f TriggeringMessage_decode_aper; +per_type_encoder_f TriggeringMessage_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TriggeringMessage_H_ */ +#include diff --git a/src/hnbap/Tunnel-Information.c b/src/hnbap/Tunnel-Information.c new file mode 100644 index 0000000..dcb0dd7 --- /dev/null +++ b/src/hnbap/Tunnel-Information.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "Tunnel-Information.h" + +static asn_TYPE_member_t asn_MBR_Tunnel_Information_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Tunnel_Information, iP_Address), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IP_Address, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iP-Address" + }, + { ATF_POINTER, 2, offsetof(struct Tunnel_Information, uDP_Port_Number), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UDP_Port_Number, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "uDP-Port-Number" + }, + { ATF_POINTER, 1, offsetof(struct Tunnel_Information, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_Tunnel_Information_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_Tunnel_Information_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Tunnel_Information_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iP-Address */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* uDP-Port-Number */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Tunnel_Information_specs_1 = { + sizeof(struct Tunnel_Information), + offsetof(struct Tunnel_Information, _asn_ctx), + asn_MAP_Tunnel_Information_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Tunnel_Information_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* Start extensions */ + 4 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_Tunnel_Information = { + "Tunnel-Information", + "Tunnel-Information", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_Tunnel_Information_tags_1, + sizeof(asn_DEF_Tunnel_Information_tags_1) + /sizeof(asn_DEF_Tunnel_Information_tags_1[0]), /* 1 */ + asn_DEF_Tunnel_Information_tags_1, /* Same as above */ + sizeof(asn_DEF_Tunnel_Information_tags_1) + /sizeof(asn_DEF_Tunnel_Information_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_Tunnel_Information_1, + 3, /* Elements count */ + &asn_SPC_Tunnel_Information_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/Tunnel-Information.h b/src/hnbap/Tunnel-Information.h new file mode 100644 index 0000000..964b3e9 --- /dev/null +++ b/src/hnbap/Tunnel-Information.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _Tunnel_Information_H_ +#define _Tunnel_Information_H_ + + +#include + +/* Including external dependencies */ +#include "IP-Address.h" +#include "UDP-Port-Number.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE_Extensions; + +/* Tunnel-Information */ +typedef struct Tunnel_Information { + IP_Address_t iP_Address; + UDP_Port_Number_t *uDP_Port_Number /* OPTIONAL */; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} Tunnel_Information_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Tunnel_Information; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _Tunnel_Information_H_ */ +#include diff --git a/src/hnbap/TypeOfError.c b/src/hnbap/TypeOfError.c new file mode 100644 index 0000000..97e81f0 --- /dev/null +++ b/src/hnbap/TypeOfError.c @@ -0,0 +1,168 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "TypeOfError.h" + +int +TypeOfError_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +TypeOfError_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +TypeOfError_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + TypeOfError_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +TypeOfError_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + TypeOfError_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +TypeOfError_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + TypeOfError_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +TypeOfError_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + TypeOfError_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +TypeOfError_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + TypeOfError_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +TypeOfError_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + TypeOfError_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +TypeOfError_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + TypeOfError_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +TypeOfError_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + TypeOfError_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +TypeOfError_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + TypeOfError_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +TypeOfError_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + TypeOfError_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_TypeOfError_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0l, 1l } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_TypeOfError_value2enum_1[] = { + { 0, 14, "not-understood" }, + { 1, 7, "missing" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_TypeOfError_enum2value_1[] = { + 1, /* missing(1) */ + 0 /* not-understood(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_TypeOfError_specs_1 = { + asn_MAP_TypeOfError_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_TypeOfError_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TypeOfError_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TypeOfError = { + "TypeOfError", + "TypeOfError", + TypeOfError_free, + TypeOfError_print, + TypeOfError_constraint, + TypeOfError_decode_ber, + TypeOfError_encode_der, + TypeOfError_decode_xer, + TypeOfError_encode_xer, + TypeOfError_decode_uper, + TypeOfError_encode_uper, + TypeOfError_decode_aper, + TypeOfError_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_TypeOfError_tags_1, + sizeof(asn_DEF_TypeOfError_tags_1) + /sizeof(asn_DEF_TypeOfError_tags_1[0]), /* 1 */ + asn_DEF_TypeOfError_tags_1, /* Same as above */ + sizeof(asn_DEF_TypeOfError_tags_1) + /sizeof(asn_DEF_TypeOfError_tags_1[0]), /* 1 */ + &asn_PER_type_TypeOfError_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TypeOfError_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/TypeOfError.h b/src/hnbap/TypeOfError.h new file mode 100644 index 0000000..7e0fcf0 --- /dev/null +++ b/src/hnbap/TypeOfError.h @@ -0,0 +1,52 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _TypeOfError_H_ +#define _TypeOfError_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum TypeOfError { + TypeOfError_not_understood = 0, + TypeOfError_missing = 1 + /* + * Enumeration is extensible + */ +} e_TypeOfError; + +/* TypeOfError */ +typedef long TypeOfError_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_TypeOfError; +asn_struct_free_f TypeOfError_free; +asn_struct_print_f TypeOfError_print; +asn_constr_check_f TypeOfError_constraint; +ber_type_decoder_f TypeOfError_decode_ber; +der_type_encoder_f TypeOfError_encode_der; +xer_type_decoder_f TypeOfError_decode_xer; +xer_type_encoder_f TypeOfError_encode_xer; +per_type_decoder_f TypeOfError_decode_uper; +per_type_encoder_f TypeOfError_encode_uper; +per_type_decoder_f TypeOfError_decode_aper; +per_type_encoder_f TypeOfError_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _TypeOfError_H_ */ +#include diff --git a/src/hnbap/U-RNTI.c b/src/hnbap/U-RNTI.c new file mode 100644 index 0000000..0e06a13 --- /dev/null +++ b/src/hnbap/U-RNTI.c @@ -0,0 +1,172 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "U-RNTI.h" + +int +U_RNTI_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 32l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +static void +U_RNTI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_BIT_STRING.free_struct; + td->print_struct = asn_DEF_BIT_STRING.print_struct; + td->check_constraints = asn_DEF_BIT_STRING.check_constraints; + td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder; + td->der_encoder = asn_DEF_BIT_STRING.der_encoder; + td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder; + td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder; + td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder; + td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder; + td->aper_decoder = asn_DEF_BIT_STRING.aper_decoder; + td->aper_encoder = asn_DEF_BIT_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_BIT_STRING.per_constraints; + td->elements = asn_DEF_BIT_STRING.elements; + td->elements_count = asn_DEF_BIT_STRING.elements_count; + td->specifics = asn_DEF_BIT_STRING.specifics; +} + +void +U_RNTI_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + U_RNTI_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +U_RNTI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + U_RNTI_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +U_RNTI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + U_RNTI_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +U_RNTI_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + U_RNTI_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +U_RNTI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + U_RNTI_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +U_RNTI_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + U_RNTI_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +U_RNTI_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + U_RNTI_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +U_RNTI_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + U_RNTI_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +U_RNTI_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + U_RNTI_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +U_RNTI_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + U_RNTI_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_U_RNTI_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 32l, 32l } /* (SIZE(32..32)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_U_RNTI_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_U_RNTI = { + "U-RNTI", + "U-RNTI", + U_RNTI_free, + U_RNTI_print, + U_RNTI_constraint, + U_RNTI_decode_ber, + U_RNTI_encode_der, + U_RNTI_decode_xer, + U_RNTI_encode_xer, + U_RNTI_decode_uper, + U_RNTI_encode_uper, + U_RNTI_decode_aper, + U_RNTI_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_U_RNTI_tags_1, + sizeof(asn_DEF_U_RNTI_tags_1) + /sizeof(asn_DEF_U_RNTI_tags_1[0]), /* 1 */ + asn_DEF_U_RNTI_tags_1, /* Same as above */ + sizeof(asn_DEF_U_RNTI_tags_1) + /sizeof(asn_DEF_U_RNTI_tags_1[0]), /* 1 */ + &asn_PER_type_U_RNTI_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/U-RNTI.h b/src/hnbap/U-RNTI.h new file mode 100644 index 0000000..81ab168 --- /dev/null +++ b/src/hnbap/U-RNTI.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _U_RNTI_H_ +#define _U_RNTI_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* U-RNTI */ +typedef BIT_STRING_t U_RNTI_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_U_RNTI; +asn_struct_free_f U_RNTI_free; +asn_struct_print_f U_RNTI_print; +asn_constr_check_f U_RNTI_constraint; +ber_type_decoder_f U_RNTI_decode_ber; +der_type_encoder_f U_RNTI_encode_der; +xer_type_decoder_f U_RNTI_decode_xer; +xer_type_encoder_f U_RNTI_encode_xer; +per_type_decoder_f U_RNTI_decode_uper; +per_type_encoder_f U_RNTI_encode_uper; +per_type_decoder_f U_RNTI_decode_aper; +per_type_encoder_f U_RNTI_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _U_RNTI_H_ */ +#include diff --git a/src/hnbap/U-RNTIQueryRequest.c b/src/hnbap/U-RNTIQueryRequest.c new file mode 100644 index 0000000..8a64aa5 --- /dev/null +++ b/src/hnbap/U-RNTIQueryRequest.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "U-RNTIQueryRequest.h" + +static int +memb_u_RNTIQueryRequest_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_u_RNTIQueryRequest_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_u_RNTIQueryRequest_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_u_RNTIQueryRequest_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_u_RNTIQueryRequest_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_u_RNTIQueryRequest_ies_specs_2 = { + sizeof(struct u_RNTIQueryRequest_ies), + offsetof(struct u_RNTIQueryRequest_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_u_RNTIQueryRequest_ies_2 = { + "u-RNTIQueryRequest-ies", + "u-RNTIQueryRequest-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_u_RNTIQueryRequest_ies_tags_2, + sizeof(asn_DEF_u_RNTIQueryRequest_ies_tags_2) + /sizeof(asn_DEF_u_RNTIQueryRequest_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_u_RNTIQueryRequest_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_u_RNTIQueryRequest_ies_tags_2) + /sizeof(asn_DEF_u_RNTIQueryRequest_ies_tags_2[0]), /* 2 */ + &asn_PER_type_u_RNTIQueryRequest_ies_constr_2, + asn_MBR_u_RNTIQueryRequest_ies_2, + 1, /* Single element */ + &asn_SPC_u_RNTIQueryRequest_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_U_RNTIQueryRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct U_RNTIQueryRequest, u_RNTIQueryRequest_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_u_RNTIQueryRequest_ies_2, + memb_u_RNTIQueryRequest_ies_constraint_1, + &asn_PER_memb_u_RNTIQueryRequest_ies_constr_2, + 0, + "u-RNTIQueryRequest-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_U_RNTIQueryRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_U_RNTIQueryRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* u-RNTIQueryRequest-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_U_RNTIQueryRequest_specs_1 = { + sizeof(struct U_RNTIQueryRequest), + offsetof(struct U_RNTIQueryRequest, _asn_ctx), + asn_MAP_U_RNTIQueryRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_U_RNTIQueryRequest = { + "U-RNTIQueryRequest", + "U-RNTIQueryRequest", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_U_RNTIQueryRequest_tags_1, + sizeof(asn_DEF_U_RNTIQueryRequest_tags_1) + /sizeof(asn_DEF_U_RNTIQueryRequest_tags_1[0]), /* 1 */ + asn_DEF_U_RNTIQueryRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_U_RNTIQueryRequest_tags_1) + /sizeof(asn_DEF_U_RNTIQueryRequest_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_U_RNTIQueryRequest_1, + 1, /* Elements count */ + &asn_SPC_U_RNTIQueryRequest_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/U-RNTIQueryRequest.h b/src/hnbap/U-RNTIQueryRequest.h new file mode 100644 index 0000000..b460dd1 --- /dev/null +++ b/src/hnbap/U-RNTIQueryRequest.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _U_RNTIQueryRequest_H_ +#define _U_RNTIQueryRequest_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* U-RNTIQueryRequest */ +typedef struct U_RNTIQueryRequest { + struct u_RNTIQueryRequest_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } u_RNTIQueryRequest_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} U_RNTIQueryRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_U_RNTIQueryRequest; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _U_RNTIQueryRequest_H_ */ +#include diff --git a/src/hnbap/U-RNTIQueryResponse.c b/src/hnbap/U-RNTIQueryResponse.c new file mode 100644 index 0000000..61222c0 --- /dev/null +++ b/src/hnbap/U-RNTIQueryResponse.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "U-RNTIQueryResponse.h" + +static int +memb_u_RNTIQueryResponse_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_u_RNTIQueryResponse_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_u_RNTIQueryResponse_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_u_RNTIQueryResponse_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_u_RNTIQueryResponse_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_u_RNTIQueryResponse_ies_specs_2 = { + sizeof(struct u_RNTIQueryResponse_ies), + offsetof(struct u_RNTIQueryResponse_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_u_RNTIQueryResponse_ies_2 = { + "u-RNTIQueryResponse-ies", + "u-RNTIQueryResponse-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_u_RNTIQueryResponse_ies_tags_2, + sizeof(asn_DEF_u_RNTIQueryResponse_ies_tags_2) + /sizeof(asn_DEF_u_RNTIQueryResponse_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_u_RNTIQueryResponse_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_u_RNTIQueryResponse_ies_tags_2) + /sizeof(asn_DEF_u_RNTIQueryResponse_ies_tags_2[0]), /* 2 */ + &asn_PER_type_u_RNTIQueryResponse_ies_constr_2, + asn_MBR_u_RNTIQueryResponse_ies_2, + 1, /* Single element */ + &asn_SPC_u_RNTIQueryResponse_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_U_RNTIQueryResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct U_RNTIQueryResponse, u_RNTIQueryResponse_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_u_RNTIQueryResponse_ies_2, + memb_u_RNTIQueryResponse_ies_constraint_1, + &asn_PER_memb_u_RNTIQueryResponse_ies_constr_2, + 0, + "u-RNTIQueryResponse-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_U_RNTIQueryResponse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_U_RNTIQueryResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* u-RNTIQueryResponse-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_U_RNTIQueryResponse_specs_1 = { + sizeof(struct U_RNTIQueryResponse), + offsetof(struct U_RNTIQueryResponse, _asn_ctx), + asn_MAP_U_RNTIQueryResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_U_RNTIQueryResponse = { + "U-RNTIQueryResponse", + "U-RNTIQueryResponse", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_U_RNTIQueryResponse_tags_1, + sizeof(asn_DEF_U_RNTIQueryResponse_tags_1) + /sizeof(asn_DEF_U_RNTIQueryResponse_tags_1[0]), /* 1 */ + asn_DEF_U_RNTIQueryResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_U_RNTIQueryResponse_tags_1) + /sizeof(asn_DEF_U_RNTIQueryResponse_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_U_RNTIQueryResponse_1, + 1, /* Elements count */ + &asn_SPC_U_RNTIQueryResponse_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/U-RNTIQueryResponse.h b/src/hnbap/U-RNTIQueryResponse.h new file mode 100644 index 0000000..3b27078 --- /dev/null +++ b/src/hnbap/U-RNTIQueryResponse.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _U_RNTIQueryResponse_H_ +#define _U_RNTIQueryResponse_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* U-RNTIQueryResponse */ +typedef struct U_RNTIQueryResponse { + struct u_RNTIQueryResponse_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } u_RNTIQueryResponse_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} U_RNTIQueryResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_U_RNTIQueryResponse; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _U_RNTIQueryResponse_H_ */ +#include diff --git a/src/hnbap/UDP-Port-Number.c b/src/hnbap/UDP-Port-Number.c new file mode 100644 index 0000000..7154553 --- /dev/null +++ b/src/hnbap/UDP-Port-Number.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "UDP-Port-Number.h" + +int +UDP_Port_Number_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static void +UDP_Port_Number_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_OCTET_STRING.free_struct; + td->print_struct = asn_DEF_OCTET_STRING.print_struct; + td->check_constraints = asn_DEF_OCTET_STRING.check_constraints; + td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder; + td->der_encoder = asn_DEF_OCTET_STRING.der_encoder; + td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder; + td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder; + td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder; + td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder; + td->aper_decoder = asn_DEF_OCTET_STRING.aper_decoder; + td->aper_encoder = asn_DEF_OCTET_STRING.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_OCTET_STRING.per_constraints; + td->elements = asn_DEF_OCTET_STRING.elements; + td->elements_count = asn_DEF_OCTET_STRING.elements_count; + td->specifics = asn_DEF_OCTET_STRING.specifics; +} + +void +UDP_Port_Number_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + UDP_Port_Number_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +UDP_Port_Number_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + UDP_Port_Number_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +UDP_Port_Number_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + UDP_Port_Number_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +UDP_Port_Number_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + UDP_Port_Number_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +UDP_Port_Number_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + UDP_Port_Number_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +UDP_Port_Number_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + UDP_Port_Number_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +UDP_Port_Number_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + UDP_Port_Number_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +UDP_Port_Number_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + UDP_Port_Number_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +UDP_Port_Number_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + UDP_Port_Number_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +UDP_Port_Number_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + UDP_Port_Number_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_UDP_Port_Number_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2l, 2l } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_UDP_Port_Number_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UDP_Port_Number = { + "UDP-Port-Number", + "UDP-Port-Number", + UDP_Port_Number_free, + UDP_Port_Number_print, + UDP_Port_Number_constraint, + UDP_Port_Number_decode_ber, + UDP_Port_Number_encode_der, + UDP_Port_Number_decode_xer, + UDP_Port_Number_encode_xer, + UDP_Port_Number_decode_uper, + UDP_Port_Number_encode_uper, + UDP_Port_Number_decode_aper, + UDP_Port_Number_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_UDP_Port_Number_tags_1, + sizeof(asn_DEF_UDP_Port_Number_tags_1) + /sizeof(asn_DEF_UDP_Port_Number_tags_1[0]), /* 1 */ + asn_DEF_UDP_Port_Number_tags_1, /* Same as above */ + sizeof(asn_DEF_UDP_Port_Number_tags_1) + /sizeof(asn_DEF_UDP_Port_Number_tags_1[0]), /* 1 */ + &asn_PER_type_UDP_Port_Number_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/UDP-Port-Number.h b/src/hnbap/UDP-Port-Number.h new file mode 100644 index 0000000..0f350cb --- /dev/null +++ b/src/hnbap/UDP-Port-Number.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _UDP_Port_Number_H_ +#define _UDP_Port_Number_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* UDP-Port-Number */ +typedef OCTET_STRING_t UDP_Port_Number_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UDP_Port_Number; +asn_struct_free_f UDP_Port_Number_free; +asn_struct_print_f UDP_Port_Number_print; +asn_constr_check_f UDP_Port_Number_constraint; +ber_type_decoder_f UDP_Port_Number_decode_ber; +der_type_encoder_f UDP_Port_Number_encode_der; +xer_type_decoder_f UDP_Port_Number_decode_xer; +xer_type_encoder_f UDP_Port_Number_encode_xer; +per_type_decoder_f UDP_Port_Number_decode_uper; +per_type_encoder_f UDP_Port_Number_encode_uper; +per_type_decoder_f UDP_Port_Number_decode_aper; +per_type_encoder_f UDP_Port_Number_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UDP_Port_Number_H_ */ +#include diff --git a/src/hnbap/UE-Capabilities.c b/src/hnbap/UE-Capabilities.c new file mode 100644 index 0000000..9e69fb2 --- /dev/null +++ b/src/hnbap/UE-Capabilities.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "UE-Capabilities.h" + +static asn_TYPE_member_t asn_MBR_UE_Capabilities_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_Capabilities, access_stratum_release_indicator), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Access_stratum_release_indicator, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "access-stratum-release-indicator" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_Capabilities, csg_capability), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CSG_Capability, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "csg-capability" + }, + { ATF_POINTER, 1, offsetof(struct UE_Capabilities, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_UE_Capabilities_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_UE_Capabilities_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UE_Capabilities_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* access-stratum-release-indicator */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* csg-capability */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_UE_Capabilities_specs_1 = { + sizeof(struct UE_Capabilities), + offsetof(struct UE_Capabilities, _asn_ctx), + asn_MAP_UE_Capabilities_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_UE_Capabilities_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* Start extensions */ + 4 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_UE_Capabilities = { + "UE-Capabilities", + "UE-Capabilities", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_UE_Capabilities_tags_1, + sizeof(asn_DEF_UE_Capabilities_tags_1) + /sizeof(asn_DEF_UE_Capabilities_tags_1[0]), /* 1 */ + asn_DEF_UE_Capabilities_tags_1, /* Same as above */ + sizeof(asn_DEF_UE_Capabilities_tags_1) + /sizeof(asn_DEF_UE_Capabilities_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_UE_Capabilities_1, + 3, /* Elements count */ + &asn_SPC_UE_Capabilities_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/UE-Capabilities.h b/src/hnbap/UE-Capabilities.h new file mode 100644 index 0000000..221e434 --- /dev/null +++ b/src/hnbap/UE-Capabilities.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _UE_Capabilities_H_ +#define _UE_Capabilities_H_ + + +#include + +/* Including external dependencies */ +#include "Access-stratum-release-indicator.h" +#include "CSG-Capability.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE_Extensions; + +/* UE-Capabilities */ +typedef struct UE_Capabilities { + Access_stratum_release_indicator_t access_stratum_release_indicator; + CSG_Capability_t csg_capability; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_Capabilities_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UE_Capabilities; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _UE_Capabilities_H_ */ +#include diff --git a/src/hnbap/UE-Identity.c b/src/hnbap/UE-Identity.c new file mode 100644 index 0000000..b6bd6f6 --- /dev/null +++ b/src/hnbap/UE-Identity.c @@ -0,0 +1,133 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "UE-Identity.h" + +static asn_per_constraints_t asn_PER_type_UE_Identity_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0l, 7l } /* (0..7,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_UE_Identity_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UE_Identity, choice.iMSI), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IMSI, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iMSI" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_Identity, choice.tMSILAI), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TMSILAI, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "tMSILAI" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_Identity, choice.pTMSIRAI), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PTMSIRAI, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "pTMSIRAI" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_Identity, choice.iMEI), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IMEI, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iMEI" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_Identity, choice.eSN), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ESN, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "eSN" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_Identity, choice.iMSIDS41), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IMSIDS41, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iMSIDS41" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_Identity, choice.iMSIESN), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IMSIESN, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iMSIESN" + }, + { ATF_NOFLAGS, 0, offsetof(struct UE_Identity, choice.tMSIDS41), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TMSIDS41, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "tMSIDS41" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_UE_Identity_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iMSI */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tMSILAI */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pTMSIRAI */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* iMEI */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* eSN */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* iMSIDS41 */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* iMSIESN */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* tMSIDS41 */ +}; +static asn_CHOICE_specifics_t asn_SPC_UE_Identity_specs_1 = { + sizeof(struct UE_Identity), + offsetof(struct UE_Identity, _asn_ctx), + offsetof(struct UE_Identity, present), + sizeof(((struct UE_Identity *)0)->present), + asn_MAP_UE_Identity_tag2el_1, + 8, /* Count of tags in the map */ + 0, + 8 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_UE_Identity = { + "UE-Identity", + "UE-Identity", + CHOICE_free, + CHOICE_print, + CHOICE_constraint, + CHOICE_decode_ber, + CHOICE_encode_der, + CHOICE_decode_xer, + CHOICE_encode_xer, + CHOICE_decode_uper, + CHOICE_encode_uper, + CHOICE_decode_aper, + CHOICE_encode_aper, + CHOICE_outmost_tag, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + &asn_PER_type_UE_Identity_constr_1, + asn_MBR_UE_Identity_1, + 8, /* Elements count */ + &asn_SPC_UE_Identity_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/UE-Identity.h b/src/hnbap/UE-Identity.h new file mode 100644 index 0000000..8c6d0d1 --- /dev/null +++ b/src/hnbap/UE-Identity.h @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _UE_Identity_H_ +#define _UE_Identity_H_ + + +#include + +/* Including external dependencies */ +#include "IMSI.h" +#include "TMSILAI.h" +#include "PTMSIRAI.h" +#include "IMEI.h" +#include "ESN.h" +#include "IMSIDS41.h" +#include "IMSIESN.h" +#include "TMSIDS41.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum UE_Identity_PR { + UE_Identity_PR_NOTHING, /* No components present */ + UE_Identity_PR_iMSI, + UE_Identity_PR_tMSILAI, + UE_Identity_PR_pTMSIRAI, + UE_Identity_PR_iMEI, + UE_Identity_PR_eSN, + UE_Identity_PR_iMSIDS41, + UE_Identity_PR_iMSIESN, + UE_Identity_PR_tMSIDS41, + /* Extensions may appear below */ + +} UE_Identity_PR; + +/* UE-Identity */ +typedef struct UE_Identity { + UE_Identity_PR present; + union UE_Identity_u { + IMSI_t iMSI; + TMSILAI_t tMSILAI; + PTMSIRAI_t pTMSIRAI; + IMEI_t iMEI; + ESN_t eSN; + IMSIDS41_t iMSIDS41; + IMSIESN_t iMSIESN; + TMSIDS41_t tMSIDS41; + /* + * This type is extensible, + * possible extensions are below. + */ + } choice; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UE_Identity_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UE_Identity; + +#ifdef __cplusplus +} +#endif + +#endif /* _UE_Identity_H_ */ +#include diff --git a/src/hnbap/UEDe-Register.c b/src/hnbap/UEDe-Register.c new file mode 100644 index 0000000..967aad8 --- /dev/null +++ b/src/hnbap/UEDe-Register.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "UEDe-Register.h" + +static int +memb_ueDe_Register_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_ueDe_Register_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_ueDe_Register_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ueDe_Register_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ueDe_Register_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ueDe_Register_ies_specs_2 = { + sizeof(struct ueDe_Register_ies), + offsetof(struct ueDe_Register_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_ueDe_Register_ies_2 = { + "ueDe-Register-ies", + "ueDe-Register-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_ueDe_Register_ies_tags_2, + sizeof(asn_DEF_ueDe_Register_ies_tags_2) + /sizeof(asn_DEF_ueDe_Register_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_ueDe_Register_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_ueDe_Register_ies_tags_2) + /sizeof(asn_DEF_ueDe_Register_ies_tags_2[0]), /* 2 */ + &asn_PER_type_ueDe_Register_ies_constr_2, + asn_MBR_ueDe_Register_ies_2, + 1, /* Single element */ + &asn_SPC_ueDe_Register_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_UEDe_Register_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UEDe_Register, ueDe_Register_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_ueDe_Register_ies_2, + memb_ueDe_Register_ies_constraint_1, + &asn_PER_memb_ueDe_Register_ies_constr_2, + 0, + "ueDe-Register-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_UEDe_Register_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UEDe_Register_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueDe-Register-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_UEDe_Register_specs_1 = { + sizeof(struct UEDe_Register), + offsetof(struct UEDe_Register, _asn_ctx), + asn_MAP_UEDe_Register_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_UEDe_Register = { + "UEDe-Register", + "UEDe-Register", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_UEDe_Register_tags_1, + sizeof(asn_DEF_UEDe_Register_tags_1) + /sizeof(asn_DEF_UEDe_Register_tags_1[0]), /* 1 */ + asn_DEF_UEDe_Register_tags_1, /* Same as above */ + sizeof(asn_DEF_UEDe_Register_tags_1) + /sizeof(asn_DEF_UEDe_Register_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_UEDe_Register_1, + 1, /* Elements count */ + &asn_SPC_UEDe_Register_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/UEDe-Register.h b/src/hnbap/UEDe-Register.h new file mode 100644 index 0000000..85a4e75 --- /dev/null +++ b/src/hnbap/UEDe-Register.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _UEDe_Register_H_ +#define _UEDe_Register_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* UEDe-Register */ +typedef struct UEDe_Register { + struct ueDe_Register_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } ueDe_Register_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UEDe_Register_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UEDe_Register; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _UEDe_Register_H_ */ +#include diff --git a/src/hnbap/UERegisterAccept.c b/src/hnbap/UERegisterAccept.c new file mode 100644 index 0000000..a9c3589 --- /dev/null +++ b/src/hnbap/UERegisterAccept.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "UERegisterAccept.h" + +static int +memb_ueRegisterAccept_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_ueRegisterAccept_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_ueRegisterAccept_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ueRegisterAccept_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ueRegisterAccept_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ueRegisterAccept_ies_specs_2 = { + sizeof(struct ueRegisterAccept_ies), + offsetof(struct ueRegisterAccept_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_ueRegisterAccept_ies_2 = { + "ueRegisterAccept-ies", + "ueRegisterAccept-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_ueRegisterAccept_ies_tags_2, + sizeof(asn_DEF_ueRegisterAccept_ies_tags_2) + /sizeof(asn_DEF_ueRegisterAccept_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_ueRegisterAccept_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_ueRegisterAccept_ies_tags_2) + /sizeof(asn_DEF_ueRegisterAccept_ies_tags_2[0]), /* 2 */ + &asn_PER_type_ueRegisterAccept_ies_constr_2, + asn_MBR_ueRegisterAccept_ies_2, + 1, /* Single element */ + &asn_SPC_ueRegisterAccept_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_UERegisterAccept_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UERegisterAccept, ueRegisterAccept_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_ueRegisterAccept_ies_2, + memb_ueRegisterAccept_ies_constraint_1, + &asn_PER_memb_ueRegisterAccept_ies_constr_2, + 0, + "ueRegisterAccept-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_UERegisterAccept_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UERegisterAccept_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueRegisterAccept-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_UERegisterAccept_specs_1 = { + sizeof(struct UERegisterAccept), + offsetof(struct UERegisterAccept, _asn_ctx), + asn_MAP_UERegisterAccept_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_UERegisterAccept = { + "UERegisterAccept", + "UERegisterAccept", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_UERegisterAccept_tags_1, + sizeof(asn_DEF_UERegisterAccept_tags_1) + /sizeof(asn_DEF_UERegisterAccept_tags_1[0]), /* 1 */ + asn_DEF_UERegisterAccept_tags_1, /* Same as above */ + sizeof(asn_DEF_UERegisterAccept_tags_1) + /sizeof(asn_DEF_UERegisterAccept_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_UERegisterAccept_1, + 1, /* Elements count */ + &asn_SPC_UERegisterAccept_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/UERegisterAccept.h b/src/hnbap/UERegisterAccept.h new file mode 100644 index 0000000..8b9bdae --- /dev/null +++ b/src/hnbap/UERegisterAccept.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _UERegisterAccept_H_ +#define _UERegisterAccept_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* UERegisterAccept */ +typedef struct UERegisterAccept { + struct ueRegisterAccept_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } ueRegisterAccept_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UERegisterAccept_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UERegisterAccept; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _UERegisterAccept_H_ */ +#include diff --git a/src/hnbap/UERegisterReject.c b/src/hnbap/UERegisterReject.c new file mode 100644 index 0000000..49a439e --- /dev/null +++ b/src/hnbap/UERegisterReject.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "UERegisterReject.h" + +static int +memb_ueRegisterReject_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_ueRegisterReject_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_ueRegisterReject_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ueRegisterReject_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ueRegisterReject_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ueRegisterReject_ies_specs_2 = { + sizeof(struct ueRegisterReject_ies), + offsetof(struct ueRegisterReject_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_ueRegisterReject_ies_2 = { + "ueRegisterReject-ies", + "ueRegisterReject-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_ueRegisterReject_ies_tags_2, + sizeof(asn_DEF_ueRegisterReject_ies_tags_2) + /sizeof(asn_DEF_ueRegisterReject_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_ueRegisterReject_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_ueRegisterReject_ies_tags_2) + /sizeof(asn_DEF_ueRegisterReject_ies_tags_2[0]), /* 2 */ + &asn_PER_type_ueRegisterReject_ies_constr_2, + asn_MBR_ueRegisterReject_ies_2, + 1, /* Single element */ + &asn_SPC_ueRegisterReject_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_UERegisterReject_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UERegisterReject, ueRegisterReject_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_ueRegisterReject_ies_2, + memb_ueRegisterReject_ies_constraint_1, + &asn_PER_memb_ueRegisterReject_ies_constr_2, + 0, + "ueRegisterReject-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_UERegisterReject_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UERegisterReject_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueRegisterReject-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_UERegisterReject_specs_1 = { + sizeof(struct UERegisterReject), + offsetof(struct UERegisterReject, _asn_ctx), + asn_MAP_UERegisterReject_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_UERegisterReject = { + "UERegisterReject", + "UERegisterReject", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_UERegisterReject_tags_1, + sizeof(asn_DEF_UERegisterReject_tags_1) + /sizeof(asn_DEF_UERegisterReject_tags_1[0]), /* 1 */ + asn_DEF_UERegisterReject_tags_1, /* Same as above */ + sizeof(asn_DEF_UERegisterReject_tags_1) + /sizeof(asn_DEF_UERegisterReject_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_UERegisterReject_1, + 1, /* Elements count */ + &asn_SPC_UERegisterReject_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/UERegisterReject.h b/src/hnbap/UERegisterReject.h new file mode 100644 index 0000000..4130147 --- /dev/null +++ b/src/hnbap/UERegisterReject.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _UERegisterReject_H_ +#define _UERegisterReject_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* UERegisterReject */ +typedef struct UERegisterReject { + struct ueRegisterReject_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } ueRegisterReject_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UERegisterReject_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UERegisterReject; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _UERegisterReject_H_ */ +#include diff --git a/src/hnbap/UERegisterRequest.c b/src/hnbap/UERegisterRequest.c new file mode 100644 index 0000000..052ac69 --- /dev/null +++ b/src/hnbap/UERegisterRequest.c @@ -0,0 +1,146 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "UERegisterRequest.h" + +static int +memb_ueRegisterRequest_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size <= 65535l)) { + /* Perform validation of the inner elements */ + return td->check_constraints(td, sptr, ctfailcb, app_key); + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_per_constraints_t asn_PER_type_ueRegisterRequest_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_per_constraints_t asn_PER_memb_ueRegisterRequest_ies_constr_2 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_ueRegisterRequest_ies_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IE, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ueRegisterRequest_ies_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_ueRegisterRequest_ies_specs_2 = { + sizeof(struct ueRegisterRequest_ies), + offsetof(struct ueRegisterRequest_ies, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_ueRegisterRequest_ies_2 = { + "ueRegisterRequest-ies", + "ueRegisterRequest-ies", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_ueRegisterRequest_ies_tags_2, + sizeof(asn_DEF_ueRegisterRequest_ies_tags_2) + /sizeof(asn_DEF_ueRegisterRequest_ies_tags_2[0]) - 1, /* 1 */ + asn_DEF_ueRegisterRequest_ies_tags_2, /* Same as above */ + sizeof(asn_DEF_ueRegisterRequest_ies_tags_2) + /sizeof(asn_DEF_ueRegisterRequest_ies_tags_2[0]), /* 2 */ + &asn_PER_type_ueRegisterRequest_ies_constr_2, + asn_MBR_ueRegisterRequest_ies_2, + 1, /* Single element */ + &asn_SPC_ueRegisterRequest_ies_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_UERegisterRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UERegisterRequest, ueRegisterRequest_ies), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_ueRegisterRequest_ies_2, + memb_ueRegisterRequest_ies_constraint_1, + &asn_PER_memb_ueRegisterRequest_ies_constr_2, + 0, + "ueRegisterRequest-ies" + }, +}; +static const ber_tlv_tag_t asn_DEF_UERegisterRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UERegisterRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ueRegisterRequest-ies */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_UERegisterRequest_specs_1 = { + sizeof(struct UERegisterRequest), + offsetof(struct UERegisterRequest, _asn_ctx), + asn_MAP_UERegisterRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* Start extensions */ + 2 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_UERegisterRequest = { + "UERegisterRequest", + "UERegisterRequest", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_UERegisterRequest_tags_1, + sizeof(asn_DEF_UERegisterRequest_tags_1) + /sizeof(asn_DEF_UERegisterRequest_tags_1[0]), /* 1 */ + asn_DEF_UERegisterRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_UERegisterRequest_tags_1) + /sizeof(asn_DEF_UERegisterRequest_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_UERegisterRequest_1, + 1, /* Elements count */ + &asn_SPC_UERegisterRequest_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/UERegisterRequest.h b/src/hnbap/UERegisterRequest.h new file mode 100644 index 0000000..c637a1f --- /dev/null +++ b/src/hnbap/UERegisterRequest.h @@ -0,0 +1,54 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _UERegisterRequest_H_ +#define _UERegisterRequest_H_ + + +#include + +/* Including external dependencies */ +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE; + +/* UERegisterRequest */ +typedef struct UERegisterRequest { + struct ueRegisterRequest_ies { + A_SEQUENCE_OF(struct IE) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; + } ueRegisterRequest_ies; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UERegisterRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UERegisterRequest; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE.h" + +#endif /* _UERegisterRequest_H_ */ +#include diff --git a/src/hnbap/URAIdentity.c b/src/hnbap/URAIdentity.c new file mode 100644 index 0000000..63dfeb5 --- /dev/null +++ b/src/hnbap/URAIdentity.c @@ -0,0 +1,166 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "URAIdentity.h" + +int +URAIdentity_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + _ASN_CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0l && value <= 65535l)) { + /* Constraint check succeeded */ + return 0; + } else { + _ASN_CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +static void +URAIdentity_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeInteger.free_struct; + td->print_struct = asn_DEF_NativeInteger.print_struct; + td->check_constraints = asn_DEF_NativeInteger.check_constraints; + td->ber_decoder = asn_DEF_NativeInteger.ber_decoder; + td->der_encoder = asn_DEF_NativeInteger.der_encoder; + td->xer_decoder = asn_DEF_NativeInteger.xer_decoder; + td->xer_encoder = asn_DEF_NativeInteger.xer_encoder; + td->uper_decoder = asn_DEF_NativeInteger.uper_decoder; + td->uper_encoder = asn_DEF_NativeInteger.uper_encoder; + td->aper_decoder = asn_DEF_NativeInteger.aper_decoder; + td->aper_encoder = asn_DEF_NativeInteger.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeInteger.per_constraints; + td->elements = asn_DEF_NativeInteger.elements; + td->elements_count = asn_DEF_NativeInteger.elements_count; + td->specifics = asn_DEF_NativeInteger.specifics; +} + +void +URAIdentity_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + URAIdentity_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +URAIdentity_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + URAIdentity_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +URAIdentity_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + URAIdentity_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +URAIdentity_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + URAIdentity_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +URAIdentity_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + URAIdentity_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +URAIdentity_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + URAIdentity_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +URAIdentity_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + URAIdentity_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +URAIdentity_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + URAIdentity_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +URAIdentity_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + URAIdentity_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +URAIdentity_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + URAIdentity_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_URAIdentity_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const ber_tlv_tag_t asn_DEF_URAIdentity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_URAIdentity = { + "URAIdentity", + "URAIdentity", + URAIdentity_free, + URAIdentity_print, + URAIdentity_constraint, + URAIdentity_decode_ber, + URAIdentity_encode_der, + URAIdentity_decode_xer, + URAIdentity_encode_xer, + URAIdentity_decode_uper, + URAIdentity_encode_uper, + URAIdentity_decode_aper, + URAIdentity_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_URAIdentity_tags_1, + sizeof(asn_DEF_URAIdentity_tags_1) + /sizeof(asn_DEF_URAIdentity_tags_1[0]), /* 1 */ + asn_DEF_URAIdentity_tags_1, /* Same as above */ + sizeof(asn_DEF_URAIdentity_tags_1) + /sizeof(asn_DEF_URAIdentity_tags_1[0]), /* 1 */ + &asn_PER_type_URAIdentity_constr_1, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/hnbap/URAIdentity.h b/src/hnbap/URAIdentity.h new file mode 100644 index 0000000..ec2c4bc --- /dev/null +++ b/src/hnbap/URAIdentity.h @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _URAIdentity_H_ +#define _URAIdentity_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* URAIdentity */ +typedef long URAIdentity_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_URAIdentity; +asn_struct_free_f URAIdentity_free; +asn_struct_print_f URAIdentity_print; +asn_constr_check_f URAIdentity_constraint; +ber_type_decoder_f URAIdentity_decode_ber; +der_type_encoder_f URAIdentity_encode_der; +xer_type_decoder_f URAIdentity_decode_xer; +xer_type_encoder_f URAIdentity_encode_xer; +per_type_decoder_f URAIdentity_decode_uper; +per_type_encoder_f URAIdentity_encode_uper; +per_type_decoder_f URAIdentity_decode_aper; +per_type_encoder_f URAIdentity_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _URAIdentity_H_ */ +#include diff --git a/src/hnbap/URAIdentityList.c b/src/hnbap/URAIdentityList.c new file mode 100644 index 0000000..e539ee2 --- /dev/null +++ b/src/hnbap/URAIdentityList.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "URAIdentityList.h" + +static asn_per_constraints_t asn_PER_type_URAIdentityList_constr_1 GCC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 0l, 8l } /* (SIZE(0..8)) */, + 0, 0 /* No PER value map */ +}; +static asn_TYPE_member_t asn_MBR_URAIdentityList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_URAIdentity, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_URAIdentityList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_URAIdentityList_specs_1 = { + sizeof(struct URAIdentityList), + offsetof(struct URAIdentityList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_URAIdentityList = { + "URAIdentityList", + "URAIdentityList", + SEQUENCE_OF_free, + SEQUENCE_OF_print, + SEQUENCE_OF_constraint, + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, + SEQUENCE_OF_decode_uper, + SEQUENCE_OF_encode_uper, + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_URAIdentityList_tags_1, + sizeof(asn_DEF_URAIdentityList_tags_1) + /sizeof(asn_DEF_URAIdentityList_tags_1[0]), /* 1 */ + asn_DEF_URAIdentityList_tags_1, /* Same as above */ + sizeof(asn_DEF_URAIdentityList_tags_1) + /sizeof(asn_DEF_URAIdentityList_tags_1[0]), /* 1 */ + &asn_PER_type_URAIdentityList_constr_1, + asn_MBR_URAIdentityList_1, + 1, /* Single element */ + &asn_SPC_URAIdentityList_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/URAIdentityList.h b/src/hnbap/URAIdentityList.h new file mode 100644 index 0000000..25e436f --- /dev/null +++ b/src/hnbap/URAIdentityList.h @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _URAIdentityList_H_ +#define _URAIdentityList_H_ + + +#include + +/* Including external dependencies */ +#include "URAIdentity.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* URAIdentityList */ +typedef struct URAIdentityList { + A_SEQUENCE_OF(URAIdentity_t) list; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} URAIdentityList_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_URAIdentityList; + +#ifdef __cplusplus +} +#endif + +#endif /* _URAIdentityList_H_ */ +#include diff --git a/src/hnbap/UTRANCellID.c b/src/hnbap/UTRANCellID.c new file mode 100644 index 0000000..928c0d3 --- /dev/null +++ b/src/hnbap/UTRANCellID.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "UTRANCellID.h" + +static asn_TYPE_member_t asn_MBR_UTRANCellID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UTRANCellID, lAC), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LAC, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "lAC" + }, + { ATF_NOFLAGS, 0, offsetof(struct UTRANCellID, rAC), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RAC, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "rAC" + }, + { ATF_NOFLAGS, 0, offsetof(struct UTRANCellID, pLMNidentity), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PLMNidentity, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "pLMNidentity" + }, + { ATF_NOFLAGS, 0, offsetof(struct UTRANCellID, uTRANcellID), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CellIdentity, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "uTRANcellID" + }, + { ATF_POINTER, 1, offsetof(struct UTRANCellID, iE_Extensions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IE_Extensions, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "iE-Extensions" + }, +}; +static const int asn_MAP_UTRANCellID_oms_1[] = { 4 }; +static const ber_tlv_tag_t asn_DEF_UTRANCellID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UTRANCellID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lAC */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rAC */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pLMNidentity */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* uTRANcellID */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_UTRANCellID_specs_1 = { + sizeof(struct UTRANCellID), + offsetof(struct UTRANCellID, _asn_ctx), + asn_MAP_UTRANCellID_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_UTRANCellID_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* Start extensions */ + -1 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_UTRANCellID = { + "UTRANCellID", + "UTRANCellID", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_UTRANCellID_tags_1, + sizeof(asn_DEF_UTRANCellID_tags_1) + /sizeof(asn_DEF_UTRANCellID_tags_1[0]), /* 1 */ + asn_DEF_UTRANCellID_tags_1, /* Same as above */ + sizeof(asn_DEF_UTRANCellID_tags_1) + /sizeof(asn_DEF_UTRANCellID_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_UTRANCellID_1, + 5, /* Elements count */ + &asn_SPC_UTRANCellID_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/UTRANCellID.h b/src/hnbap/UTRANCellID.h new file mode 100644 index 0000000..bed91f5 --- /dev/null +++ b/src/hnbap/UTRANCellID.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _UTRANCellID_H_ +#define _UTRANCellID_H_ + + +#include + +/* Including external dependencies */ +#include "LAC.h" +#include "RAC.h" +#include "PLMNidentity.h" +#include "CellIdentity.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +struct IE_Extensions; + +/* UTRANCellID */ +typedef struct UTRANCellID { + LAC_t lAC; + RAC_t rAC; + PLMNidentity_t pLMNidentity; + CellIdentity_t uTRANcellID; + struct IE_Extensions *iE_Extensions /* OPTIONAL */; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UTRANCellID_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UTRANCellID; + +#ifdef __cplusplus +} +#endif + +/* Referred external types */ +#include "IE-Extensions.h" + +#endif /* _UTRANCellID_H_ */ +#include diff --git a/src/hnbap/UnknownU-RNTIIndication.c b/src/hnbap/UnknownU-RNTIIndication.c new file mode 100644 index 0000000..c5b9f77 --- /dev/null +++ b/src/hnbap/UnknownU-RNTIIndication.c @@ -0,0 +1,166 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "UnknownU-RNTIIndication.h" + +int +UnknownU_RNTIIndication_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +UnknownU_RNTIIndication_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +UnknownU_RNTIIndication_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +UnknownU_RNTIIndication_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +UnknownU_RNTIIndication_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +UnknownU_RNTIIndication_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +UnknownU_RNTIIndication_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +UnknownU_RNTIIndication_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +UnknownU_RNTIIndication_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +UnknownU_RNTIIndication_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +UnknownU_RNTIIndication_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + UnknownU_RNTIIndication_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_UnknownU_RNTIIndication_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_UnknownU_RNTIIndication_value2enum_1[] = { + { 0, 7, "unknown" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_UnknownU_RNTIIndication_enum2value_1[] = { + 0 /* unknown(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_UnknownU_RNTIIndication_specs_1 = { + asn_MAP_UnknownU_RNTIIndication_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_UnknownU_RNTIIndication_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_UnknownU_RNTIIndication_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UnknownU_RNTIIndication = { + "UnknownU-RNTIIndication", + "UnknownU-RNTIIndication", + UnknownU_RNTIIndication_free, + UnknownU_RNTIIndication_print, + UnknownU_RNTIIndication_constraint, + UnknownU_RNTIIndication_decode_ber, + UnknownU_RNTIIndication_encode_der, + UnknownU_RNTIIndication_decode_xer, + UnknownU_RNTIIndication_encode_xer, + UnknownU_RNTIIndication_decode_uper, + UnknownU_RNTIIndication_encode_uper, + UnknownU_RNTIIndication_decode_aper, + UnknownU_RNTIIndication_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_UnknownU_RNTIIndication_tags_1, + sizeof(asn_DEF_UnknownU_RNTIIndication_tags_1) + /sizeof(asn_DEF_UnknownU_RNTIIndication_tags_1[0]), /* 1 */ + asn_DEF_UnknownU_RNTIIndication_tags_1, /* Same as above */ + sizeof(asn_DEF_UnknownU_RNTIIndication_tags_1) + /sizeof(asn_DEF_UnknownU_RNTIIndication_tags_1[0]), /* 1 */ + &asn_PER_type_UnknownU_RNTIIndication_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_UnknownU_RNTIIndication_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/UnknownU-RNTIIndication.h b/src/hnbap/UnknownU-RNTIIndication.h new file mode 100644 index 0000000..d0f2a9a --- /dev/null +++ b/src/hnbap/UnknownU-RNTIIndication.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _UnknownU_RNTIIndication_H_ +#define _UnknownU_RNTIIndication_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum UnknownU_RNTIIndication { + UnknownU_RNTIIndication_unknown = 0 + /* + * Enumeration is extensible + */ +} e_UnknownU_RNTIIndication; + +/* UnknownU-RNTIIndication */ +typedef long UnknownU_RNTIIndication_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UnknownU_RNTIIndication; +asn_struct_free_f UnknownU_RNTIIndication_free; +asn_struct_print_f UnknownU_RNTIIndication_print; +asn_constr_check_f UnknownU_RNTIIndication_constraint; +ber_type_decoder_f UnknownU_RNTIIndication_decode_ber; +der_type_encoder_f UnknownU_RNTIIndication_encode_der; +xer_type_decoder_f UnknownU_RNTIIndication_decode_xer; +xer_type_encoder_f UnknownU_RNTIIndication_encode_xer; +per_type_decoder_f UnknownU_RNTIIndication_decode_uper; +per_type_encoder_f UnknownU_RNTIIndication_encode_uper; +per_type_decoder_f UnknownU_RNTIIndication_decode_aper; +per_type_encoder_f UnknownU_RNTIIndication_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _UnknownU_RNTIIndication_H_ */ +#include diff --git a/src/hnbap/UnsuccessfulOutcome.c b/src/hnbap/UnsuccessfulOutcome.c new file mode 100644 index 0000000..bb5947c --- /dev/null +++ b/src/hnbap/UnsuccessfulOutcome.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#include "UnsuccessfulOutcome.h" + +static asn_TYPE_member_t asn_MBR_UnsuccessfulOutcome_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome, procedureCode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProcedureCode, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "procedureCode" + }, + { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome, criticality), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Criticality, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "criticality" + }, + { ATF_NOFLAGS, 0, offsetof(struct UnsuccessfulOutcome, value), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ANY, + 0, /* Defer constraints checking to the member type */ + 0, /* No PER visible constraints */ + 0, + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_UnsuccessfulOutcome_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UnsuccessfulOutcome_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_UnsuccessfulOutcome_specs_1 = { + sizeof(struct UnsuccessfulOutcome), + offsetof(struct UnsuccessfulOutcome, _asn_ctx), + asn_MAP_UnsuccessfulOutcome_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* Start extensions */ + -1 /* Stop extensions */ +}; +asn_TYPE_descriptor_t asn_DEF_UnsuccessfulOutcome = { + "UnsuccessfulOutcome", + "UnsuccessfulOutcome", + SEQUENCE_free, + SEQUENCE_print, + SEQUENCE_constraint, + SEQUENCE_decode_ber, + SEQUENCE_encode_der, + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_UnsuccessfulOutcome_tags_1, + sizeof(asn_DEF_UnsuccessfulOutcome_tags_1) + /sizeof(asn_DEF_UnsuccessfulOutcome_tags_1[0]), /* 1 */ + asn_DEF_UnsuccessfulOutcome_tags_1, /* Same as above */ + sizeof(asn_DEF_UnsuccessfulOutcome_tags_1) + /sizeof(asn_DEF_UnsuccessfulOutcome_tags_1[0]), /* 1 */ + 0, /* No PER visible constraints */ + asn_MBR_UnsuccessfulOutcome_1, + 3, /* Elements count */ + &asn_SPC_UnsuccessfulOutcome_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/UnsuccessfulOutcome.h b/src/hnbap/UnsuccessfulOutcome.h new file mode 100644 index 0000000..91090d0 --- /dev/null +++ b/src/hnbap/UnsuccessfulOutcome.h @@ -0,0 +1,42 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-PDU" + * found in "../../asn1/hnbap/HNBAP-PDU.asn" + * `asn1c -gen-PER` + */ + +#ifndef _UnsuccessfulOutcome_H_ +#define _UnsuccessfulOutcome_H_ + + +#include + +/* Including external dependencies */ +#include "ProcedureCode.h" +#include "Criticality.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* UnsuccessfulOutcome */ +typedef struct UnsuccessfulOutcome { + ProcedureCode_t procedureCode; + Criticality_t criticality; + ANY_t value; + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} UnsuccessfulOutcome_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_UnsuccessfulOutcome; + +#ifdef __cplusplus +} +#endif + +#endif /* _UnsuccessfulOutcome_H_ */ +#include diff --git a/src/hnbap/Update-cause.c b/src/hnbap/Update-cause.c new file mode 100644 index 0000000..f9ba133 --- /dev/null +++ b/src/hnbap/Update-cause.c @@ -0,0 +1,166 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#include "Update-cause.h" + +int +Update_cause_constraint(asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + /* Replace with underlying type checker */ + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + return td->check_constraints(td, sptr, ctfailcb, app_key); +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static void +Update_cause_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) { + td->free_struct = asn_DEF_NativeEnumerated.free_struct; + td->print_struct = asn_DEF_NativeEnumerated.print_struct; + td->check_constraints = asn_DEF_NativeEnumerated.check_constraints; + td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder; + td->der_encoder = asn_DEF_NativeEnumerated.der_encoder; + td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder; + td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder; + td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder; + td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder; + td->aper_decoder = asn_DEF_NativeEnumerated.aper_decoder; + td->aper_encoder = asn_DEF_NativeEnumerated.aper_encoder; + if(!td->per_constraints) + td->per_constraints = asn_DEF_NativeEnumerated.per_constraints; + td->elements = asn_DEF_NativeEnumerated.elements; + td->elements_count = asn_DEF_NativeEnumerated.elements_count; + /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */ +} + +void +Update_cause_free(asn_TYPE_descriptor_t *td, + void *struct_ptr, int contents_only) { + Update_cause_1_inherit_TYPE_descriptor(td); + td->free_struct(td, struct_ptr, contents_only); +} + +int +Update_cause_print(asn_TYPE_descriptor_t *td, const void *struct_ptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + Update_cause_1_inherit_TYPE_descriptor(td); + return td->print_struct(td, struct_ptr, ilevel, cb, app_key); +} + +asn_dec_rval_t +Update_cause_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const void *bufptr, size_t size, int tag_mode) { + Update_cause_1_inherit_TYPE_descriptor(td); + return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode); +} + +asn_enc_rval_t +Update_cause_encode_der(asn_TYPE_descriptor_t *td, + void *structure, int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + Update_cause_1_inherit_TYPE_descriptor(td); + return td->der_encoder(td, structure, tag_mode, tag, cb, app_key); +} + +asn_dec_rval_t +Update_cause_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + void **structure, const char *opt_mname, const void *bufptr, size_t size) { + Update_cause_1_inherit_TYPE_descriptor(td); + return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size); +} + +asn_enc_rval_t +Update_cause_encode_xer(asn_TYPE_descriptor_t *td, void *structure, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + Update_cause_1_inherit_TYPE_descriptor(td); + return td->xer_encoder(td, structure, ilevel, flags, cb, app_key); +} + +asn_dec_rval_t +Update_cause_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + Update_cause_1_inherit_TYPE_descriptor(td); + return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +asn_enc_rval_t +Update_cause_encode_uper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + Update_cause_1_inherit_TYPE_descriptor(td); + return td->uper_encoder(td, constraints, structure, per_out); +} + +asn_enc_rval_t +Update_cause_encode_aper(asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, + void *structure, asn_per_outp_t *per_out) { + Update_cause_1_inherit_TYPE_descriptor(td); + return td->aper_encoder(td, constraints, structure, per_out); +} + +asn_dec_rval_t +Update_cause_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) { + Update_cause_1_inherit_TYPE_descriptor(td); + return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data); +} + +static asn_per_constraints_t asn_PER_type_Update_cause_constr_1 GCC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0l, 0l } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +static const asn_INTEGER_enum_map_t asn_MAP_Update_cause_value2enum_1[] = { + { 0, 22, "relocation-preparation" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Update_cause_enum2value_1[] = { + 0 /* relocation-preparation(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_Update_cause_specs_1 = { + asn_MAP_Update_cause_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Update_cause_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Update_cause_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Update_cause = { + "Update-cause", + "Update-cause", + Update_cause_free, + Update_cause_print, + Update_cause_constraint, + Update_cause_decode_ber, + Update_cause_encode_der, + Update_cause_decode_xer, + Update_cause_encode_xer, + Update_cause_decode_uper, + Update_cause_encode_uper, + Update_cause_decode_aper, + Update_cause_encode_aper, + 0, /* Use generic outmost tag fetcher */ + asn_DEF_Update_cause_tags_1, + sizeof(asn_DEF_Update_cause_tags_1) + /sizeof(asn_DEF_Update_cause_tags_1[0]), /* 1 */ + asn_DEF_Update_cause_tags_1, /* Same as above */ + sizeof(asn_DEF_Update_cause_tags_1) + /sizeof(asn_DEF_Update_cause_tags_1[0]), /* 1 */ + &asn_PER_type_Update_cause_constr_1, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Update_cause_specs_1 /* Additional specs */ +}; + diff --git a/src/hnbap/Update-cause.h b/src/hnbap/Update-cause.h new file mode 100644 index 0000000..cff96e1 --- /dev/null +++ b/src/hnbap/Update-cause.h @@ -0,0 +1,51 @@ +/* + * Generated by asn1c-0.9.28 (http://lionet.info/asn1c) + * From ASN.1 module "HNBAP-IEs" + * found in "../../asn1/hnbap/HNBAP-IEs.asn" + * `asn1c -gen-PER` + */ + +#ifndef _Update_cause_H_ +#define _Update_cause_H_ + + +#include + +/* Including external dependencies */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum Update_cause { + Update_cause_relocation_preparation = 0 + /* + * Enumeration is extensible + */ +} e_Update_cause; + +/* Update-cause */ +typedef long Update_cause_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_Update_cause; +asn_struct_free_f Update_cause_free; +asn_struct_print_f Update_cause_print; +asn_constr_check_f Update_cause_constraint; +ber_type_decoder_f Update_cause_decode_ber; +der_type_encoder_f Update_cause_encode_der; +xer_type_decoder_f Update_cause_decode_xer; +xer_type_encoder_f Update_cause_encode_xer; +per_type_decoder_f Update_cause_decode_uper; +per_type_encoder_f Update_cause_encode_uper; +per_type_decoder_f Update_cause_decode_aper; +per_type_encoder_f Update_cause_encode_aper; + +#ifdef __cplusplus +} +#endif + +#endif /* _Update_cause_H_ */ +#include diff --git a/src/ranap/Makefile b/src/ranap/Makefile index bcd7fd1..4f84d8a 100644 --- a/src/ranap/Makefile +++ b/src/ranap/Makefile @@ -999,7 +999,8 @@ lib_LTLIBRARIES=libosmo-asn1-ranap.la libsomething_la_SOURCES=$(ASN_MODULE_SOURCES) # Remove the lines below to convert it into a pure .am file -CFLAGS += -I. `pkg-config --cflags libasn1c` +PKG_INCLUDES:=$(shell pkg-config --cflags libasn1c) +CFLAGS += -I. $(PKG_INCLUDES) OBJS=${ASN_MODULE_SOURCES:.c=.o} ${ASN_CONVERTER_SOURCES:.c=.o} all: libosmo-asn1-ranap.a diff --git a/src/rua/Makefile b/src/rua/Makefile index c8e3471..f37a3c1 100644 --- a/src/rua/Makefile +++ b/src/rua/Makefile @@ -77,7 +77,8 @@ lib_LTLIBRARIES=libosmo-asn1-rua.la libsomething_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS) # Remove the lines below to convert it into a pure .am file -CFLAGS += -I. `pkg-config --cflags libasn1c` +PKG_INCLUDES:=$(shell pkg-config --cflags libasn1c) +CFLAGS += -I. $(PKG_INCLUDES) OBJS=${ASN_MODULE_SOURCES:.c=.o} all: libosmo-asn1-rua.a -- cgit v1.2.3