diff -r 87622fad6b51 -r a796fdeeb33c networkprotocolmodules/common/asn1rrlp/inc/RRLP-Components.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/networkprotocolmodules/common/asn1rrlp/inc/RRLP-Components.h Wed Oct 13 16:07:50 2010 +0300 @@ -0,0 +1,3859 @@ +// Copyright (c) 2001-2009 Objective Systems, Inc. (http://www.obj-sys.com) +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// + +/** + * This file was generated by the Objective Systems ASN1C Compiler + * (http://www.obj-sys.com). + */ + +#ifndef RRLP_COMPONENTS_H +#define RRLP_COMPONENTS_H + +#include +#include +#include "rtkey.h" +#include "rtpersrc/asn1PerCppTypes.h" +#include "ASN1CSeqOfList.h" + +/** + * Header file for ASN.1 module RRLP-Components + */ +/**************************************************************/ +/* */ +/* Accuracy */ +/* */ +/**************************************************************/ + +#define TV_Accuracy (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_Accuracy; + +IMPORT_C int asn1PE_Accuracy (OSCTXT* pctxt, ASN1T_Accuracy value); + +IMPORT_C int asn1PD_Accuracy (OSCTXT* pctxt, ASN1T_Accuracy* pvalue); + +IMPORT_C void asn1Print_Accuracy + (const char* name, ASN1T_Accuracy* pvalue); + +/**************************************************************/ +/* */ +/* AccuracyOpt */ +/* */ +/**************************************************************/ + +#define TV_AccuracyOpt (TM_UNIV|TM_CONS|16) + +struct ASN1T_AccuracyOpt { + struct { + unsigned accuracyPresent : 1; + } m; + ASN1T_Accuracy accuracy; + IMPORT_C ASN1T_AccuracyOpt (); +} ; + +IMPORT_C int asn1PE_AccuracyOpt (OSCTXT* pctxt, ASN1T_AccuracyOpt* pvalue); + +IMPORT_C int asn1PD_AccuracyOpt (OSCTXT* pctxt, ASN1T_AccuracyOpt* pvalue); + +IMPORT_C void asn1Print_AccuracyOpt + (const char* name, ASN1T_AccuracyOpt* pvalue); + +/**************************************************************/ +/* */ +/* MethodType */ +/* */ +/**************************************************************/ + +/* Choice tag constants */ + +#define T_MethodType_msAssisted 1 +#define T_MethodType_msBased 2 +#define T_MethodType_msBasedPref 3 +#define T_MethodType_msAssistedPref 4 + +struct ASN1T_MethodType { + int t; + union { + /* t = 1 */ + ASN1T_AccuracyOpt *msAssisted; + /* t = 2 */ + ASN1T_Accuracy msBased; + /* t = 3 */ + ASN1T_Accuracy msBasedPref; + /* t = 4 */ + ASN1T_Accuracy msAssistedPref; + } u; +} ; + +IMPORT_C int asn1PE_MethodType (OSCTXT* pctxt, ASN1T_MethodType* pvalue); + +IMPORT_C int asn1PD_MethodType (OSCTXT* pctxt, ASN1T_MethodType* pvalue); + +IMPORT_C void asn1Print_MethodType + (const char* name, ASN1T_MethodType* pvalue); + +IMPORT_C void asn1Free_MethodType (OSCTXT *pctxt, ASN1T_MethodType* pvalue); + +/**************************************************************/ +/* */ +/* PositionMethod */ +/* */ +/**************************************************************/ + +#define TV_PositionMethod (TM_UNIV|TM_PRIM|10) + +struct PositionMethod { + enum Root { + eotd = 0, + gps = 1, + gpsOrEOTD = 2 + } ; +} ; + +typedef OSUINT32 ASN1T_PositionMethod; + +IMPORT_C int asn1PE_PositionMethod (OSCTXT* pctxt, ASN1T_PositionMethod value); + +IMPORT_C int asn1PD_PositionMethod (OSCTXT* pctxt, ASN1T_PositionMethod* pvalue); + +IMPORT_C void asn1Print_PositionMethod + (const char* name, ASN1T_PositionMethod* pvalue); + +IMPORT_C const OSUTF8CHAR* ASN1T_PositionMethod_ToString (OSINT32 value); + +IMPORT_C int ASN1T_PositionMethod_ToEnum (OSCTXT* pctxt, + const OSUTF8CHAR* value, ASN1T_PositionMethod* pvalue); + +/**************************************************************/ +/* */ +/* MeasureResponseTime */ +/* */ +/**************************************************************/ + +#define TV_MeasureResponseTime (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_MeasureResponseTime; + +IMPORT_C int asn1PE_MeasureResponseTime (OSCTXT* pctxt, ASN1T_MeasureResponseTime value); + +IMPORT_C int asn1PD_MeasureResponseTime (OSCTXT* pctxt, ASN1T_MeasureResponseTime* pvalue); + +IMPORT_C void asn1Print_MeasureResponseTime + (const char* name, ASN1T_MeasureResponseTime* pvalue); + +/**************************************************************/ +/* */ +/* UseMultipleSets */ +/* */ +/**************************************************************/ + +#define TV_UseMultipleSets (TM_UNIV|TM_PRIM|10) + +struct UseMultipleSets { + enum Root { + multipleSets = 0, + oneSet = 1 + } ; +} ; + +typedef OSUINT32 ASN1T_UseMultipleSets; + +IMPORT_C int asn1PE_UseMultipleSets (OSCTXT* pctxt, ASN1T_UseMultipleSets value); + +IMPORT_C int asn1PD_UseMultipleSets (OSCTXT* pctxt, ASN1T_UseMultipleSets* pvalue); + +IMPORT_C void asn1Print_UseMultipleSets + (const char* name, ASN1T_UseMultipleSets* pvalue); + +IMPORT_C const OSUTF8CHAR* ASN1T_UseMultipleSets_ToString (OSINT32 value); + +IMPORT_C int ASN1T_UseMultipleSets_ToEnum (OSCTXT* pctxt, + const OSUTF8CHAR* value, ASN1T_UseMultipleSets* pvalue); + +/**************************************************************/ +/* */ +/* EnvironmentCharacter */ +/* */ +/**************************************************************/ + +#define TV_EnvironmentCharacter (TM_UNIV|TM_PRIM|10) + +struct EnvironmentCharacter { + enum Root { + badArea = 0, + notBadArea = 1, + mixedArea = 2 + } ; +} ; + +typedef OSUINT32 ASN1T_EnvironmentCharacter; + +IMPORT_C int asn1PE_EnvironmentCharacter (OSCTXT* pctxt, ASN1T_EnvironmentCharacter value); + +IMPORT_C int asn1PD_EnvironmentCharacter (OSCTXT* pctxt, ASN1T_EnvironmentCharacter* pvalue); + +IMPORT_C void asn1Print_EnvironmentCharacter + (const char* name, ASN1T_EnvironmentCharacter* pvalue); + +IMPORT_C const OSUTF8CHAR* ASN1T_EnvironmentCharacter_ToString (OSINT32 value); + +IMPORT_C int ASN1T_EnvironmentCharacter_ToEnum (OSCTXT* pctxt, + const OSUTF8CHAR* value, ASN1T_EnvironmentCharacter* pvalue); + +/**************************************************************/ +/* */ +/* PositionInstruct */ +/* */ +/**************************************************************/ + +#define TV_PositionInstruct (TM_UNIV|TM_CONS|16) + +struct ASN1T_PositionInstruct { + struct { + unsigned environmentCharacterPresent : 1; + } m; + ASN1T_MethodType methodType; + ASN1T_PositionMethod positionMethod; + ASN1T_MeasureResponseTime measureResponseTime; + ASN1T_UseMultipleSets useMultipleSets; + ASN1T_EnvironmentCharacter environmentCharacter; + IMPORT_C ASN1T_PositionInstruct (); +} ; + +IMPORT_C int asn1PE_PositionInstruct (OSCTXT* pctxt, ASN1T_PositionInstruct* pvalue); + +IMPORT_C int asn1PD_PositionInstruct (OSCTXT* pctxt, ASN1T_PositionInstruct* pvalue); + +IMPORT_C void asn1Print_PositionInstruct + (const char* name, ASN1T_PositionInstruct* pvalue); + +IMPORT_C void asn1Free_PositionInstruct (OSCTXT *pctxt, ASN1T_PositionInstruct* pvalue); + +/**************************************************************/ +/* */ +/* BCCHCarrier */ +/* */ +/**************************************************************/ + +#define TV_BCCHCarrier (TM_UNIV|TM_PRIM|2) + +typedef OSUINT16 ASN1T_BCCHCarrier; + +IMPORT_C int asn1PE_BCCHCarrier (OSCTXT* pctxt, ASN1T_BCCHCarrier value); + +IMPORT_C int asn1PD_BCCHCarrier (OSCTXT* pctxt, ASN1T_BCCHCarrier* pvalue); + +IMPORT_C void asn1Print_BCCHCarrier + (const char* name, ASN1T_BCCHCarrier* pvalue); + +/**************************************************************/ +/* */ +/* BSIC */ +/* */ +/**************************************************************/ + +#define TV_BSIC (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_BSIC; + +IMPORT_C int asn1PE_BSIC (OSCTXT* pctxt, ASN1T_BSIC value); + +IMPORT_C int asn1PD_BSIC (OSCTXT* pctxt, ASN1T_BSIC* pvalue); + +IMPORT_C void asn1Print_BSIC + (const char* name, ASN1T_BSIC* pvalue); + +/**************************************************************/ +/* */ +/* TimeSlotScheme */ +/* */ +/**************************************************************/ + +#define TV_TimeSlotScheme (TM_UNIV|TM_PRIM|10) + +struct TimeSlotScheme { + enum Root { + equalLength = 0, + variousLength = 1 + } ; +} ; + +typedef OSUINT32 ASN1T_TimeSlotScheme; + +IMPORT_C int asn1PE_TimeSlotScheme (OSCTXT* pctxt, ASN1T_TimeSlotScheme value); + +IMPORT_C int asn1PD_TimeSlotScheme (OSCTXT* pctxt, ASN1T_TimeSlotScheme* pvalue); + +IMPORT_C void asn1Print_TimeSlotScheme + (const char* name, ASN1T_TimeSlotScheme* pvalue); + +IMPORT_C const OSUTF8CHAR* ASN1T_TimeSlotScheme_ToString (OSINT32 value); + +IMPORT_C int ASN1T_TimeSlotScheme_ToEnum (OSCTXT* pctxt, + const OSUTF8CHAR* value, ASN1T_TimeSlotScheme* pvalue); + +/**************************************************************/ +/* */ +/* Ext_GeographicalInformation */ +/* */ +/**************************************************************/ + +#define TV_Ext_GeographicalInformation (TM_UNIV|TM_PRIM|4) + +struct ASN1T_Ext_GeographicalInformation { + OSUINT32 numocts; + OSOCTET data[20]; + // ctors + ASN1T_Ext_GeographicalInformation () : numocts(0) {} + ASN1T_Ext_GeographicalInformation (OSUINT32 _numocts, const OSOCTET* _data) : + numocts (_numocts) { + OSCRTLMEMCPY (data, _data, OSRTMIN (numocts, sizeof(data))); + } + ASN1T_Ext_GeographicalInformation (const char* cstring) { + if (strlen(cstring) > 0) { + numocts = OSRTMIN ((OSCRTLSTRLEN(cstring)+1), sizeof(data)); + OSCRTLSTRNCPY ((char*)data, cstring, sizeof(data)); + } + else numocts = 0; + } + // assignment operators + ASN1T_Ext_GeographicalInformation& operator= (const char* cstring) { + if (strlen(cstring) > 0) { + numocts = OSRTMIN ((OSCRTLSTRLEN(cstring)+1), sizeof(data)); + OSCRTLSTRNCPY ((char*)data, cstring, sizeof(data)); + } + else numocts = 0; + return *this; + } +} ; + +IMPORT_C int asn1PE_Ext_GeographicalInformation (OSCTXT* pctxt, ASN1T_Ext_GeographicalInformation* pvalue); + +IMPORT_C int asn1PD_Ext_GeographicalInformation (OSCTXT* pctxt, ASN1T_Ext_GeographicalInformation* pvalue); + +IMPORT_C void asn1Print_Ext_GeographicalInformation + (const char* name, ASN1T_Ext_GeographicalInformation* pvalue); + +/**************************************************************/ +/* */ +/* BTSPosition */ +/* */ +/**************************************************************/ + +#define TV_BTSPosition (TM_UNIV|TM_PRIM|4) + +typedef ASN1T_Ext_GeographicalInformation ASN1T_BTSPosition; + +IMPORT_C int asn1PE_BTSPosition (OSCTXT* pctxt, ASN1T_BTSPosition* pvalue); + +IMPORT_C int asn1PD_BTSPosition (OSCTXT* pctxt, ASN1T_BTSPosition* pvalue); + +IMPORT_C void asn1Print_BTSPosition + (const char* name, ASN1T_BTSPosition* pvalue); + +/**************************************************************/ +/* */ +/* ReferenceAssistData */ +/* */ +/**************************************************************/ + +#define TV_ReferenceAssistData (TM_UNIV|TM_CONS|16) + +struct ASN1T_ReferenceAssistData { + struct { + unsigned btsPositionPresent : 1; + } m; + ASN1T_BCCHCarrier bcchCarrier; + ASN1T_BSIC bsic; + ASN1T_TimeSlotScheme timeSlotScheme; + ASN1T_BTSPosition btsPosition; + IMPORT_C ASN1T_ReferenceAssistData (); +} ; + +IMPORT_C int asn1PE_ReferenceAssistData (OSCTXT* pctxt, ASN1T_ReferenceAssistData* pvalue); + +IMPORT_C int asn1PD_ReferenceAssistData (OSCTXT* pctxt, ASN1T_ReferenceAssistData* pvalue); + +IMPORT_C void asn1Print_ReferenceAssistData + (const char* name, ASN1T_ReferenceAssistData* pvalue); + +/**************************************************************/ +/* */ +/* MultiFrameOffset */ +/* */ +/**************************************************************/ + +#define TV_MultiFrameOffset (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_MultiFrameOffset; + +IMPORT_C int asn1PE_MultiFrameOffset (OSCTXT* pctxt, ASN1T_MultiFrameOffset value); + +IMPORT_C int asn1PD_MultiFrameOffset (OSCTXT* pctxt, ASN1T_MultiFrameOffset* pvalue); + +IMPORT_C void asn1Print_MultiFrameOffset + (const char* name, ASN1T_MultiFrameOffset* pvalue); + +/**************************************************************/ +/* */ +/* RoughRTD */ +/* */ +/**************************************************************/ + +#define TV_RoughRTD (TM_UNIV|TM_PRIM|2) + +typedef OSUINT16 ASN1T_RoughRTD; + +IMPORT_C int asn1PE_RoughRTD (OSCTXT* pctxt, ASN1T_RoughRTD value); + +IMPORT_C int asn1PD_RoughRTD (OSCTXT* pctxt, ASN1T_RoughRTD* pvalue); + +IMPORT_C void asn1Print_RoughRTD + (const char* name, ASN1T_RoughRTD* pvalue); + +/**************************************************************/ +/* */ +/* FineRTD */ +/* */ +/**************************************************************/ + +#define TV_FineRTD (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_FineRTD; + +IMPORT_C int asn1PE_FineRTD (OSCTXT* pctxt, ASN1T_FineRTD value); + +IMPORT_C int asn1PD_FineRTD (OSCTXT* pctxt, ASN1T_FineRTD* pvalue); + +IMPORT_C void asn1Print_FineRTD + (const char* name, ASN1T_FineRTD* pvalue); + +/**************************************************************/ +/* */ +/* RelDistance */ +/* */ +/**************************************************************/ + +#define TV_RelDistance (TM_UNIV|TM_PRIM|2) + +typedef OSINT32 ASN1T_RelDistance; + +IMPORT_C int asn1PE_RelDistance (OSCTXT* pctxt, ASN1T_RelDistance value); + +IMPORT_C int asn1PD_RelDistance (OSCTXT* pctxt, ASN1T_RelDistance* pvalue); + +IMPORT_C void asn1Print_RelDistance + (const char* name, ASN1T_RelDistance* pvalue); + +/**************************************************************/ +/* */ +/* RelativeAlt */ +/* */ +/**************************************************************/ + +#define TV_RelativeAlt (TM_UNIV|TM_PRIM|2) + +typedef OSINT16 ASN1T_RelativeAlt; + +IMPORT_C int asn1PE_RelativeAlt (OSCTXT* pctxt, ASN1T_RelativeAlt value); + +IMPORT_C int asn1PD_RelativeAlt (OSCTXT* pctxt, ASN1T_RelativeAlt* pvalue); + +IMPORT_C void asn1Print_RelativeAlt + (const char* name, ASN1T_RelativeAlt* pvalue); + +/**************************************************************/ +/* */ +/* ReferenceWGS84 */ +/* */ +/**************************************************************/ + +#define TV_ReferenceWGS84 (TM_UNIV|TM_CONS|16) + +struct ASN1T_ReferenceWGS84 { + struct { + unsigned relativeAltPresent : 1; + } m; + ASN1T_RelDistance relativeNorth; + ASN1T_RelDistance relativeEast; + ASN1T_RelativeAlt relativeAlt; + IMPORT_C ASN1T_ReferenceWGS84 (); +} ; + +IMPORT_C int asn1PE_ReferenceWGS84 (OSCTXT* pctxt, ASN1T_ReferenceWGS84* pvalue); + +IMPORT_C int asn1PD_ReferenceWGS84 (OSCTXT* pctxt, ASN1T_ReferenceWGS84* pvalue); + +IMPORT_C void asn1Print_ReferenceWGS84 + (const char* name, ASN1T_ReferenceWGS84* pvalue); + +/**************************************************************/ +/* */ +/* CalcAssistanceBTS */ +/* */ +/**************************************************************/ + +#define TV_CalcAssistanceBTS (TM_UNIV|TM_CONS|16) + +struct ASN1T_CalcAssistanceBTS { + ASN1T_FineRTD fineRTD; + ASN1T_ReferenceWGS84 referenceWGS84; + IMPORT_C ASN1T_CalcAssistanceBTS (); +} ; + +IMPORT_C int asn1PE_CalcAssistanceBTS (OSCTXT* pctxt, ASN1T_CalcAssistanceBTS* pvalue); + +IMPORT_C int asn1PD_CalcAssistanceBTS (OSCTXT* pctxt, ASN1T_CalcAssistanceBTS* pvalue); + +IMPORT_C void asn1Print_CalcAssistanceBTS + (const char* name, ASN1T_CalcAssistanceBTS* pvalue); + +/**************************************************************/ +/* */ +/* MsrAssistBTS */ +/* */ +/**************************************************************/ + +#define TV_MsrAssistBTS (TM_UNIV|TM_CONS|16) + +struct ASN1T_MsrAssistBTS { + struct { + unsigned calcAssistanceBTSPresent : 1; + } m; + ASN1T_BCCHCarrier bcchCarrier; + ASN1T_BSIC bsic; + ASN1T_MultiFrameOffset multiFrameOffset; + ASN1T_TimeSlotScheme timeSlotScheme; + ASN1T_RoughRTD roughRTD; + ASN1T_CalcAssistanceBTS calcAssistanceBTS; + IMPORT_C ASN1T_MsrAssistBTS (); +} ; + +IMPORT_C int asn1PE_MsrAssistBTS (OSCTXT* pctxt, ASN1T_MsrAssistBTS* pvalue); + +IMPORT_C int asn1PD_MsrAssistBTS (OSCTXT* pctxt, ASN1T_MsrAssistBTS* pvalue); + +IMPORT_C void asn1Print_MsrAssistBTS + (const char* name, ASN1T_MsrAssistBTS* pvalue); + +/**************************************************************/ +/* */ +/* SeqOfMsrAssistBTS */ +/* */ +/**************************************************************/ + +#define TV_SeqOfMsrAssistBTS (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_MsrAssistBTS */ +typedef ASN1TSeqOfList ASN1T_SeqOfMsrAssistBTS; + +class ASN1C_SeqOfMsrAssistBTS : +public ASN1CSeqOfList +{ +protected: + ASN1T_SeqOfMsrAssistBTS& msgData; +public: + IMPORT_C ASN1C_SeqOfMsrAssistBTS (ASN1T_SeqOfMsrAssistBTS& data); + IMPORT_C ASN1C_SeqOfMsrAssistBTS (OSRTMessageBufferIF& msgBuf + , ASN1T_SeqOfMsrAssistBTS& data); + ASN1C_SeqOfMsrAssistBTS (ASN1CType& ccobj, ASN1T_SeqOfMsrAssistBTS& data); + IMPORT_C ASN1C_SeqOfMsrAssistBTS (OSRTContext &context, ASN1T_SeqOfMsrAssistBTS& data + ); + void Append (ASN1T_MsrAssistBTS* elem); + ASN1T_MsrAssistBTS* NewElement (); +} ; + +IMPORT_C int asn1PE_SeqOfMsrAssistBTS (OSCTXT* pctxt, ASN1T_SeqOfMsrAssistBTS* pvalue); + +IMPORT_C int asn1PD_SeqOfMsrAssistBTS (OSCTXT* pctxt, ASN1T_SeqOfMsrAssistBTS* pvalue); + +IMPORT_C void asn1Print_SeqOfMsrAssistBTS + (const char* name, ASN1T_SeqOfMsrAssistBTS* pvalue); + +IMPORT_C void asn1Free_SeqOfMsrAssistBTS (OSCTXT *pctxt, ASN1T_SeqOfMsrAssistBTS* pvalue); + +/**************************************************************/ +/* */ +/* MsrAssistData */ +/* */ +/**************************************************************/ + +#define TV_MsrAssistData (TM_UNIV|TM_CONS|16) + +struct ASN1T_MsrAssistData { + ASN1T_SeqOfMsrAssistBTS msrAssistList; + IMPORT_C ASN1T_MsrAssistData (); +} ; + +IMPORT_C int asn1PE_MsrAssistData (OSCTXT* pctxt, ASN1T_MsrAssistData* pvalue); + +IMPORT_C int asn1PD_MsrAssistData (OSCTXT* pctxt, ASN1T_MsrAssistData* pvalue); + +IMPORT_C void asn1Print_MsrAssistData + (const char* name, ASN1T_MsrAssistData* pvalue); + +IMPORT_C void asn1Free_MsrAssistData (OSCTXT *pctxt, ASN1T_MsrAssistData* pvalue); + +/**************************************************************/ +/* */ +/* AssistBTSData */ +/* */ +/**************************************************************/ + +#define TV_AssistBTSData (TM_UNIV|TM_CONS|16) + +struct ASN1T_AssistBTSData { + struct { + unsigned calcAssistanceBTSPresent : 1; + } m; + ASN1T_BSIC bsic; + ASN1T_MultiFrameOffset multiFrameOffset; + ASN1T_TimeSlotScheme timeSlotScheme; + ASN1T_RoughRTD roughRTD; + ASN1T_CalcAssistanceBTS calcAssistanceBTS; + IMPORT_C ASN1T_AssistBTSData (); +} ; + +IMPORT_C int asn1PE_AssistBTSData (OSCTXT* pctxt, ASN1T_AssistBTSData* pvalue); + +IMPORT_C int asn1PD_AssistBTSData (OSCTXT* pctxt, ASN1T_AssistBTSData* pvalue); + +IMPORT_C void asn1Print_AssistBTSData + (const char* name, ASN1T_AssistBTSData* pvalue); + +/**************************************************************/ +/* */ +/* SystemInfoAssistBTS */ +/* */ +/**************************************************************/ + +/* Choice tag constants */ + +#define T_SystemInfoAssistBTS_notPresent 1 +#define T_SystemInfoAssistBTS_present 2 + +struct ASN1T_SystemInfoAssistBTS { + int t; + union { + /* t = 1 */ + /* t = 2 */ + ASN1T_AssistBTSData *present; + } u; +} ; + +IMPORT_C int asn1PE_SystemInfoAssistBTS (OSCTXT* pctxt, ASN1T_SystemInfoAssistBTS* pvalue); + +IMPORT_C int asn1PD_SystemInfoAssistBTS (OSCTXT* pctxt, ASN1T_SystemInfoAssistBTS* pvalue); + +IMPORT_C void asn1Print_SystemInfoAssistBTS + (const char* name, ASN1T_SystemInfoAssistBTS* pvalue); + +IMPORT_C void asn1Free_SystemInfoAssistBTS (OSCTXT *pctxt, ASN1T_SystemInfoAssistBTS* pvalue); + +/**************************************************************/ +/* */ +/* SeqOfSystemInfoAssistBTS */ +/* */ +/**************************************************************/ + +#define TV_SeqOfSystemInfoAssistBTS (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_SystemInfoAssistBTS */ +typedef ASN1TSeqOfList ASN1T_SeqOfSystemInfoAssistBTS; + +class ASN1C_SeqOfSystemInfoAssistBTS : +public ASN1CSeqOfList +{ +protected: + ASN1T_SeqOfSystemInfoAssistBTS& msgData; +public: + IMPORT_C ASN1C_SeqOfSystemInfoAssistBTS (ASN1T_SeqOfSystemInfoAssistBTS& data); + IMPORT_C ASN1C_SeqOfSystemInfoAssistBTS (OSRTMessageBufferIF& msgBuf + , ASN1T_SeqOfSystemInfoAssistBTS& data); + ASN1C_SeqOfSystemInfoAssistBTS (ASN1CType& ccobj, ASN1T_SeqOfSystemInfoAssistBTS& data); + IMPORT_C ASN1C_SeqOfSystemInfoAssistBTS (OSRTContext &context + , ASN1T_SeqOfSystemInfoAssistBTS& data); + void Append (ASN1T_SystemInfoAssistBTS* elem); + ASN1T_SystemInfoAssistBTS* NewElement (); +} ; + +IMPORT_C int asn1PE_SeqOfSystemInfoAssistBTS (OSCTXT* pctxt, ASN1T_SeqOfSystemInfoAssistBTS* pvalue); + +IMPORT_C int asn1PD_SeqOfSystemInfoAssistBTS (OSCTXT* pctxt, ASN1T_SeqOfSystemInfoAssistBTS* pvalue); + +IMPORT_C void asn1Print_SeqOfSystemInfoAssistBTS + (const char* name, ASN1T_SeqOfSystemInfoAssistBTS* pvalue); + +IMPORT_C void asn1Free_SeqOfSystemInfoAssistBTS (OSCTXT *pctxt, ASN1T_SeqOfSystemInfoAssistBTS* pvalue); + +/**************************************************************/ +/* */ +/* SystemInfoAssistData */ +/* */ +/**************************************************************/ + +#define TV_SystemInfoAssistData (TM_UNIV|TM_CONS|16) + +struct ASN1T_SystemInfoAssistData { + ASN1T_SeqOfSystemInfoAssistBTS systemInfoAssistList; + IMPORT_C ASN1T_SystemInfoAssistData (); +} ; + +IMPORT_C int asn1PE_SystemInfoAssistData (OSCTXT* pctxt, ASN1T_SystemInfoAssistData* pvalue); + +IMPORT_C int asn1PD_SystemInfoAssistData (OSCTXT* pctxt, ASN1T_SystemInfoAssistData* pvalue); + +IMPORT_C void asn1Print_SystemInfoAssistData + (const char* name, ASN1T_SystemInfoAssistData* pvalue); + +IMPORT_C void asn1Free_SystemInfoAssistData (OSCTXT *pctxt, ASN1T_SystemInfoAssistData* pvalue); + +/**************************************************************/ +/* */ +/* GPSTOW23b */ +/* */ +/**************************************************************/ + +#define TV_GPSTOW23b (TM_UNIV|TM_PRIM|2) + +typedef OSUINT32 ASN1T_GPSTOW23b; + +IMPORT_C int asn1PE_GPSTOW23b (OSCTXT* pctxt, ASN1T_GPSTOW23b value); + +IMPORT_C int asn1PD_GPSTOW23b (OSCTXT* pctxt, ASN1T_GPSTOW23b* pvalue); + +IMPORT_C void asn1Print_GPSTOW23b + (const char* name, ASN1T_GPSTOW23b* pvalue); + +/**************************************************************/ +/* */ +/* GPSWeek */ +/* */ +/**************************************************************/ + +#define TV_GPSWeek (TM_UNIV|TM_PRIM|2) + +typedef OSUINT16 ASN1T_GPSWeek; + +IMPORT_C int asn1PE_GPSWeek (OSCTXT* pctxt, ASN1T_GPSWeek value); + +IMPORT_C int asn1PD_GPSWeek (OSCTXT* pctxt, ASN1T_GPSWeek* pvalue); + +IMPORT_C void asn1Print_GPSWeek + (const char* name, ASN1T_GPSWeek* pvalue); + +/**************************************************************/ +/* */ +/* GPSTime */ +/* */ +/**************************************************************/ + +#define TV_GPSTime (TM_UNIV|TM_CONS|16) + +struct ASN1T_GPSTime { + ASN1T_GPSTOW23b gpsTOW23b; + ASN1T_GPSWeek gpsWeek; + IMPORT_C ASN1T_GPSTime (); +} ; + +IMPORT_C int asn1PE_GPSTime (OSCTXT* pctxt, ASN1T_GPSTime* pvalue); + +IMPORT_C int asn1PD_GPSTime (OSCTXT* pctxt, ASN1T_GPSTime* pvalue); + +IMPORT_C void asn1Print_GPSTime + (const char* name, ASN1T_GPSTime* pvalue); + +/**************************************************************/ +/* */ +/* FrameNumber */ +/* */ +/**************************************************************/ + +#define TV_FrameNumber (TM_UNIV|TM_PRIM|2) + +typedef OSUINT32 ASN1T_FrameNumber; + +IMPORT_C int asn1PE_FrameNumber (OSCTXT* pctxt, ASN1T_FrameNumber value); + +IMPORT_C int asn1PD_FrameNumber (OSCTXT* pctxt, ASN1T_FrameNumber* pvalue); + +IMPORT_C void asn1Print_FrameNumber + (const char* name, ASN1T_FrameNumber* pvalue); + +/**************************************************************/ +/* */ +/* TimeSlot */ +/* */ +/**************************************************************/ + +#define TV_TimeSlot (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_TimeSlot; + +IMPORT_C int asn1PE_TimeSlot (OSCTXT* pctxt, ASN1T_TimeSlot value); + +IMPORT_C int asn1PD_TimeSlot (OSCTXT* pctxt, ASN1T_TimeSlot* pvalue); + +IMPORT_C void asn1Print_TimeSlot + (const char* name, ASN1T_TimeSlot* pvalue); + +/**************************************************************/ +/* */ +/* BitNumber */ +/* */ +/**************************************************************/ + +#define TV_BitNumber (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_BitNumber; + +IMPORT_C int asn1PE_BitNumber (OSCTXT* pctxt, ASN1T_BitNumber value); + +IMPORT_C int asn1PD_BitNumber (OSCTXT* pctxt, ASN1T_BitNumber* pvalue); + +IMPORT_C void asn1Print_BitNumber + (const char* name, ASN1T_BitNumber* pvalue); + +/**************************************************************/ +/* */ +/* GSMTime */ +/* */ +/**************************************************************/ + +#define TV_GSMTime (TM_UNIV|TM_CONS|16) + +struct ASN1T_GSMTime { + ASN1T_BCCHCarrier bcchCarrier; + ASN1T_BSIC bsic; + ASN1T_FrameNumber frameNumber; + ASN1T_TimeSlot timeSlot; + ASN1T_BitNumber bitNumber; + IMPORT_C ASN1T_GSMTime (); +} ; + +IMPORT_C int asn1PE_GSMTime (OSCTXT* pctxt, ASN1T_GSMTime* pvalue); + +IMPORT_C int asn1PD_GSMTime (OSCTXT* pctxt, ASN1T_GSMTime* pvalue); + +IMPORT_C void asn1Print_GSMTime + (const char* name, ASN1T_GSMTime* pvalue); + +/**************************************************************/ +/* */ +/* SatelliteID */ +/* */ +/**************************************************************/ + +#define TV_SatelliteID (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_SatelliteID; + +IMPORT_C int asn1PE_SatelliteID (OSCTXT* pctxt, ASN1T_SatelliteID value); + +IMPORT_C int asn1PD_SatelliteID (OSCTXT* pctxt, ASN1T_SatelliteID* pvalue); + +IMPORT_C void asn1Print_SatelliteID + (const char* name, ASN1T_SatelliteID* pvalue); + +/**************************************************************/ +/* */ +/* TLMWord */ +/* */ +/**************************************************************/ + +#define TV_TLMWord (TM_UNIV|TM_PRIM|2) + +typedef OSUINT16 ASN1T_TLMWord; + +IMPORT_C int asn1PE_TLMWord (OSCTXT* pctxt, ASN1T_TLMWord value); + +IMPORT_C int asn1PD_TLMWord (OSCTXT* pctxt, ASN1T_TLMWord* pvalue); + +IMPORT_C void asn1Print_TLMWord + (const char* name, ASN1T_TLMWord* pvalue); + +/**************************************************************/ +/* */ +/* AntiSpoofFlag */ +/* */ +/**************************************************************/ + +#define TV_AntiSpoofFlag (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_AntiSpoofFlag; + +IMPORT_C int asn1PE_AntiSpoofFlag (OSCTXT* pctxt, ASN1T_AntiSpoofFlag value); + +IMPORT_C int asn1PD_AntiSpoofFlag (OSCTXT* pctxt, ASN1T_AntiSpoofFlag* pvalue); + +IMPORT_C void asn1Print_AntiSpoofFlag + (const char* name, ASN1T_AntiSpoofFlag* pvalue); + +/**************************************************************/ +/* */ +/* AlertFlag */ +/* */ +/**************************************************************/ + +#define TV_AlertFlag (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_AlertFlag; + +IMPORT_C int asn1PE_AlertFlag (OSCTXT* pctxt, ASN1T_AlertFlag value); + +IMPORT_C int asn1PD_AlertFlag (OSCTXT* pctxt, ASN1T_AlertFlag* pvalue); + +IMPORT_C void asn1Print_AlertFlag + (const char* name, ASN1T_AlertFlag* pvalue); + +/**************************************************************/ +/* */ +/* TLMReservedBits */ +/* */ +/**************************************************************/ + +#define TV_TLMReservedBits (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_TLMReservedBits; + +IMPORT_C int asn1PE_TLMReservedBits (OSCTXT* pctxt, ASN1T_TLMReservedBits value); + +IMPORT_C int asn1PD_TLMReservedBits (OSCTXT* pctxt, ASN1T_TLMReservedBits* pvalue); + +IMPORT_C void asn1Print_TLMReservedBits + (const char* name, ASN1T_TLMReservedBits* pvalue); + +/**************************************************************/ +/* */ +/* GPSTOWAssistElement */ +/* */ +/**************************************************************/ + +#define TV_GPSTOWAssistElement (TM_UNIV|TM_CONS|16) + +struct ASN1T_GPSTOWAssistElement { + ASN1T_SatelliteID satelliteID; + ASN1T_TLMWord tlmWord; + ASN1T_AntiSpoofFlag antiSpoof; + ASN1T_AlertFlag alert; + ASN1T_TLMReservedBits tlmRsvdBits; + IMPORT_C ASN1T_GPSTOWAssistElement (); +} ; + +IMPORT_C int asn1PE_GPSTOWAssistElement (OSCTXT* pctxt, ASN1T_GPSTOWAssistElement* pvalue); + +IMPORT_C int asn1PD_GPSTOWAssistElement (OSCTXT* pctxt, ASN1T_GPSTOWAssistElement* pvalue); + +IMPORT_C void asn1Print_GPSTOWAssistElement + (const char* name, ASN1T_GPSTOWAssistElement* pvalue); + +/**************************************************************/ +/* */ +/* GPSTOWAssist */ +/* */ +/**************************************************************/ + +#define TV_GPSTOWAssist (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_GPSTOWAssistElement */ +typedef ASN1TSeqOfList ASN1T_GPSTOWAssist; + +class ASN1C_GPSTOWAssist : +public ASN1CSeqOfList +{ +protected: + ASN1T_GPSTOWAssist& msgData; +public: + IMPORT_C ASN1C_GPSTOWAssist (ASN1T_GPSTOWAssist& data); + IMPORT_C ASN1C_GPSTOWAssist (OSRTMessageBufferIF& msgBuf, ASN1T_GPSTOWAssist& data); + ASN1C_GPSTOWAssist (ASN1CType& ccobj, ASN1T_GPSTOWAssist& data); + IMPORT_C ASN1C_GPSTOWAssist (OSRTContext &context, ASN1T_GPSTOWAssist& data); + void Append (ASN1T_GPSTOWAssistElement* elem); + ASN1T_GPSTOWAssistElement* NewElement (); +} ; + +IMPORT_C int asn1PE_GPSTOWAssist (OSCTXT* pctxt, ASN1T_GPSTOWAssist* pvalue); + +IMPORT_C int asn1PD_GPSTOWAssist (OSCTXT* pctxt, ASN1T_GPSTOWAssist* pvalue); + +IMPORT_C void asn1Print_GPSTOWAssist + (const char* name, ASN1T_GPSTOWAssist* pvalue); + +IMPORT_C void asn1Free_GPSTOWAssist (OSCTXT *pctxt, ASN1T_GPSTOWAssist* pvalue); + +/**************************************************************/ +/* */ +/* ReferenceTime */ +/* */ +/**************************************************************/ + +#define TV_ReferenceTime (TM_UNIV|TM_CONS|16) + +struct ASN1T_ReferenceTime { + struct { + unsigned gsmTimePresent : 1; + unsigned gpsTowAssistPresent : 1; + } m; + ASN1T_GPSTime gpsTime; + ASN1T_GSMTime gsmTime; + ASN1T_GPSTOWAssist gpsTowAssist; + IMPORT_C ASN1T_ReferenceTime (); +} ; + +IMPORT_C int asn1PE_ReferenceTime (OSCTXT* pctxt, ASN1T_ReferenceTime* pvalue); + +IMPORT_C int asn1PD_ReferenceTime (OSCTXT* pctxt, ASN1T_ReferenceTime* pvalue); + +IMPORT_C void asn1Print_ReferenceTime + (const char* name, ASN1T_ReferenceTime* pvalue); + +IMPORT_C void asn1Free_ReferenceTime (OSCTXT *pctxt, ASN1T_ReferenceTime* pvalue); + +/**************************************************************/ +/* */ +/* RefLocation */ +/* */ +/**************************************************************/ + +#define TV_RefLocation (TM_UNIV|TM_CONS|16) + +struct ASN1T_RefLocation { + ASN1T_Ext_GeographicalInformation threeDLocation; + IMPORT_C ASN1T_RefLocation (); +} ; + +IMPORT_C int asn1PE_RefLocation (OSCTXT* pctxt, ASN1T_RefLocation* pvalue); + +IMPORT_C int asn1PD_RefLocation (OSCTXT* pctxt, ASN1T_RefLocation* pvalue); + +IMPORT_C void asn1Print_RefLocation + (const char* name, ASN1T_RefLocation* pvalue); + +/**************************************************************/ +/* */ +/* SatElement */ +/* */ +/**************************************************************/ + +#define TV_SatElement (TM_UNIV|TM_CONS|16) + +struct ASN1T_SatElement { + ASN1T_SatelliteID satelliteID; + OSUINT8 iode; + OSUINT8 udre; + OSINT16 pseudoRangeCor; + OSINT8 rangeRateCor; + OSINT8 deltaPseudoRangeCor2; + OSINT8 deltaRangeRateCor2; + OSINT8 deltaPseudoRangeCor3; + OSINT8 deltaRangeRateCor3; + IMPORT_C ASN1T_SatElement (); +} ; + +IMPORT_C int asn1PE_SatElement (OSCTXT* pctxt, ASN1T_SatElement* pvalue); + +IMPORT_C int asn1PD_SatElement (OSCTXT* pctxt, ASN1T_SatElement* pvalue); + +IMPORT_C void asn1Print_SatElement + (const char* name, ASN1T_SatElement* pvalue); + +/**************************************************************/ +/* */ +/* SeqOfSatElement */ +/* */ +/**************************************************************/ + +#define TV_SeqOfSatElement (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_SatElement */ +typedef ASN1TSeqOfList ASN1T_SeqOfSatElement; + +class ASN1C_SeqOfSatElement : +public ASN1CSeqOfList +{ +protected: + ASN1T_SeqOfSatElement& msgData; +public: + IMPORT_C ASN1C_SeqOfSatElement (ASN1T_SeqOfSatElement& data); + IMPORT_C ASN1C_SeqOfSatElement (OSRTMessageBufferIF& msgBuf + , ASN1T_SeqOfSatElement& data); + ASN1C_SeqOfSatElement (ASN1CType& ccobj, ASN1T_SeqOfSatElement& data); + IMPORT_C ASN1C_SeqOfSatElement (OSRTContext &context, ASN1T_SeqOfSatElement& data); + void Append (ASN1T_SatElement* elem); + ASN1T_SatElement* NewElement (); +} ; + +IMPORT_C int asn1PE_SeqOfSatElement (OSCTXT* pctxt, ASN1T_SeqOfSatElement* pvalue); + +IMPORT_C int asn1PD_SeqOfSatElement (OSCTXT* pctxt, ASN1T_SeqOfSatElement* pvalue); + +IMPORT_C void asn1Print_SeqOfSatElement + (const char* name, ASN1T_SeqOfSatElement* pvalue); + +IMPORT_C void asn1Free_SeqOfSatElement (OSCTXT *pctxt, ASN1T_SeqOfSatElement* pvalue); + +/**************************************************************/ +/* */ +/* DGPSCorrections */ +/* */ +/**************************************************************/ + +#define TV_DGPSCorrections (TM_UNIV|TM_CONS|16) + +struct ASN1T_DGPSCorrections { + OSUINT32 gpsTOW; + OSUINT8 status; + ASN1T_SeqOfSatElement satList; + IMPORT_C ASN1T_DGPSCorrections (); +} ; + +IMPORT_C int asn1PE_DGPSCorrections (OSCTXT* pctxt, ASN1T_DGPSCorrections* pvalue); + +IMPORT_C int asn1PD_DGPSCorrections (OSCTXT* pctxt, ASN1T_DGPSCorrections* pvalue); + +IMPORT_C void asn1Print_DGPSCorrections + (const char* name, ASN1T_DGPSCorrections* pvalue); + +IMPORT_C void asn1Free_DGPSCorrections (OSCTXT *pctxt, ASN1T_DGPSCorrections* pvalue); + +/**************************************************************/ +/* */ +/* EphemerisSubframe1Reserved */ +/* */ +/**************************************************************/ + +#define TV_EphemerisSubframe1Reserved (TM_UNIV|TM_CONS|16) + +struct ASN1T_EphemerisSubframe1Reserved { + OSUINT32 reserved1; + OSUINT32 reserved2; + OSUINT32 reserved3; + OSUINT16 reserved4; + IMPORT_C ASN1T_EphemerisSubframe1Reserved (); +} ; + +IMPORT_C int asn1PE_EphemerisSubframe1Reserved (OSCTXT* pctxt, ASN1T_EphemerisSubframe1Reserved* pvalue); + +IMPORT_C int asn1PD_EphemerisSubframe1Reserved (OSCTXT* pctxt, ASN1T_EphemerisSubframe1Reserved* pvalue); + +IMPORT_C void asn1Print_EphemerisSubframe1Reserved + (const char* name, ASN1T_EphemerisSubframe1Reserved* pvalue); + +/**************************************************************/ +/* */ +/* UncompressedEphemeris */ +/* */ +/**************************************************************/ + +#define TV_UncompressedEphemeris (TM_UNIV|TM_CONS|16) + +struct ASN1T_UncompressedEphemeris { + OSUINT8 ephemCodeOnL2; + OSUINT8 ephemURA; + OSUINT8 ephemSVhealth; + OSUINT16 ephemIODC; + OSUINT8 ephemL2Pflag; + ASN1T_EphemerisSubframe1Reserved ephemSF1Rsvd; + OSINT8 ephemTgd; + OSUINT16 ephemToc; + OSINT8 ephemAF2; + OSINT16 ephemAF1; + OSINT32 ephemAF0; + OSINT16 ephemCrs; + OSINT16 ephemDeltaN; + OSINT32 ephemM0; + OSINT16 ephemCuc; + OSUINT32 ephemE; + OSINT16 ephemCus; + OSUINT32 ephemAPowerHalf; + OSUINT16 ephemToe; + OSUINT8 ephemFitFlag; + OSUINT8 ephemAODA; + OSINT16 ephemCic; + OSINT32 ephemOmegaA0; + OSINT16 ephemCis; + OSINT32 ephemI0; + OSINT16 ephemCrc; + OSINT32 ephemW; + OSINT32 ephemOmegaADot; + OSINT16 ephemIDot; + IMPORT_C ASN1T_UncompressedEphemeris (); +} ; + +IMPORT_C int asn1PE_UncompressedEphemeris (OSCTXT* pctxt, ASN1T_UncompressedEphemeris* pvalue); + +IMPORT_C int asn1PD_UncompressedEphemeris (OSCTXT* pctxt, ASN1T_UncompressedEphemeris* pvalue); + +IMPORT_C void asn1Print_UncompressedEphemeris + (const char* name, ASN1T_UncompressedEphemeris* pvalue); + +/**************************************************************/ +/* */ +/* SatStatus */ +/* */ +/**************************************************************/ + +/* Choice tag constants */ + +#define T_SatStatus_newSatelliteAndModelUC 1 +#define T_SatStatus_oldSatelliteAndModel 2 +#define T_SatStatus_newNaviModelUC 3 +#define T_SatStatus_extElem1 4 + +struct ASN1T_SatStatus { + int t; + union { + /* t = 1 */ + ASN1T_UncompressedEphemeris *newSatelliteAndModelUC; + /* t = 2 */ + /* t = 3 */ + ASN1T_UncompressedEphemeris *newNaviModelUC; + /* t = 4 */ + } u; +} ; + +IMPORT_C int asn1PE_SatStatus (OSCTXT* pctxt, ASN1T_SatStatus* pvalue); + +IMPORT_C int asn1PD_SatStatus (OSCTXT* pctxt, ASN1T_SatStatus* pvalue); + +IMPORT_C void asn1Print_SatStatus + (const char* name, ASN1T_SatStatus* pvalue); + +IMPORT_C void asn1Free_SatStatus (OSCTXT *pctxt, ASN1T_SatStatus* pvalue); + +/**************************************************************/ +/* */ +/* NavModelElement */ +/* */ +/**************************************************************/ + +#define TV_NavModelElement (TM_UNIV|TM_CONS|16) + +struct ASN1T_NavModelElement { + ASN1T_SatelliteID satelliteID; + ASN1T_SatStatus satStatus; + IMPORT_C ASN1T_NavModelElement (); +} ; + +IMPORT_C int asn1PE_NavModelElement (OSCTXT* pctxt, ASN1T_NavModelElement* pvalue); + +IMPORT_C int asn1PD_NavModelElement (OSCTXT* pctxt, ASN1T_NavModelElement* pvalue); + +IMPORT_C void asn1Print_NavModelElement + (const char* name, ASN1T_NavModelElement* pvalue); + +IMPORT_C void asn1Free_NavModelElement (OSCTXT *pctxt, ASN1T_NavModelElement* pvalue); + +/**************************************************************/ +/* */ +/* SeqOfNavModelElement */ +/* */ +/**************************************************************/ + +#define TV_SeqOfNavModelElement (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_NavModelElement */ +typedef ASN1TSeqOfList ASN1T_SeqOfNavModelElement; + +class ASN1C_SeqOfNavModelElement : +public ASN1CSeqOfList +{ +protected: + ASN1T_SeqOfNavModelElement& msgData; +public: + IMPORT_C ASN1C_SeqOfNavModelElement (ASN1T_SeqOfNavModelElement& data); + IMPORT_C ASN1C_SeqOfNavModelElement (OSRTMessageBufferIF& msgBuf + , ASN1T_SeqOfNavModelElement& data); + ASN1C_SeqOfNavModelElement (ASN1CType& ccobj, ASN1T_SeqOfNavModelElement& data); + IMPORT_C ASN1C_SeqOfNavModelElement (OSRTContext &context + , ASN1T_SeqOfNavModelElement& data); + void Append (ASN1T_NavModelElement* elem); + ASN1T_NavModelElement* NewElement (); +} ; + +IMPORT_C int asn1PE_SeqOfNavModelElement (OSCTXT* pctxt, ASN1T_SeqOfNavModelElement* pvalue); + +IMPORT_C int asn1PD_SeqOfNavModelElement (OSCTXT* pctxt, ASN1T_SeqOfNavModelElement* pvalue); + +IMPORT_C void asn1Print_SeqOfNavModelElement + (const char* name, ASN1T_SeqOfNavModelElement* pvalue); + +IMPORT_C void asn1Free_SeqOfNavModelElement (OSCTXT *pctxt, ASN1T_SeqOfNavModelElement* pvalue); + +/**************************************************************/ +/* */ +/* NavigationModelRrlp */ +/* */ +/**************************************************************/ + +#define TV_NavigationModelRrlp (TM_UNIV|TM_CONS|16) + +struct ASN1T_NavigationModelRrlp { + ASN1T_SeqOfNavModelElement navModelList; + IMPORT_C ASN1T_NavigationModelRrlp (); +} ; + +IMPORT_C int asn1PE_NavigationModelRrlp (OSCTXT* pctxt, ASN1T_NavigationModelRrlp* pvalue); + +IMPORT_C int asn1PD_NavigationModelRrlp (OSCTXT* pctxt, ASN1T_NavigationModelRrlp* pvalue); + +IMPORT_C void asn1Print_NavigationModelRrlp + (const char* name, ASN1T_NavigationModelRrlp* pvalue); + +IMPORT_C void asn1Free_NavigationModelRrlp (OSCTXT *pctxt, ASN1T_NavigationModelRrlp* pvalue); + +/**************************************************************/ +/* */ +/* IonosphericModel */ +/* */ +/**************************************************************/ + +#define TV_IonosphericModel (TM_UNIV|TM_CONS|16) + +struct ASN1T_IonosphericModel { + OSINT8 alfa0; + OSINT8 alfa1; + OSINT8 alfa2; + OSINT8 alfa3; + OSINT8 beta0; + OSINT8 beta1; + OSINT8 beta2; + OSINT8 beta3; + IMPORT_C ASN1T_IonosphericModel (); +} ; + +IMPORT_C int asn1PE_IonosphericModel (OSCTXT* pctxt, ASN1T_IonosphericModel* pvalue); + +IMPORT_C int asn1PD_IonosphericModel (OSCTXT* pctxt, ASN1T_IonosphericModel* pvalue); + +IMPORT_C void asn1Print_IonosphericModel + (const char* name, ASN1T_IonosphericModel* pvalue); + +/**************************************************************/ +/* */ +/* UTCModel */ +/* */ +/**************************************************************/ + +#define TV_UTCModel (TM_UNIV|TM_CONS|16) + +struct ASN1T_UTCModel { + OSINT32 utcA1; + OSINT32 utcA0; + OSUINT8 utcTot; + OSUINT8 utcWNt; + OSINT8 utcDeltaTls; + OSUINT8 utcWNlsf; + OSINT8 utcDN; + OSINT8 utcDeltaTlsf; + IMPORT_C ASN1T_UTCModel (); +} ; + +IMPORT_C int asn1PE_UTCModel (OSCTXT* pctxt, ASN1T_UTCModel* pvalue); + +IMPORT_C int asn1PD_UTCModel (OSCTXT* pctxt, ASN1T_UTCModel* pvalue); + +IMPORT_C void asn1Print_UTCModel + (const char* name, ASN1T_UTCModel* pvalue); + +/**************************************************************/ +/* */ +/* AlmanacElement */ +/* */ +/**************************************************************/ + +#define TV_AlmanacElement (TM_UNIV|TM_CONS|16) + +struct ASN1T_AlmanacElement { + ASN1T_SatelliteID satelliteID; + OSUINT16 almanacE; + OSUINT8 alamanacToa; + OSINT16 almanacKsii; + OSINT16 almanacOmegaDot; + OSUINT8 almanacSVhealth; + OSUINT32 almanacAPowerHalf; + OSINT32 almanacOmega0; + OSINT32 almanacW; + OSINT32 almanacM0; + OSINT16 almanacAF0; + OSINT16 almanacAF1; + IMPORT_C ASN1T_AlmanacElement (); +} ; + +IMPORT_C int asn1PE_AlmanacElement (OSCTXT* pctxt, ASN1T_AlmanacElement* pvalue); + +IMPORT_C int asn1PD_AlmanacElement (OSCTXT* pctxt, ASN1T_AlmanacElement* pvalue); + +IMPORT_C void asn1Print_AlmanacElement + (const char* name, ASN1T_AlmanacElement* pvalue); + +/**************************************************************/ +/* */ +/* SeqOfAlmanacElement */ +/* */ +/**************************************************************/ + +#define TV_SeqOfAlmanacElement (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_AlmanacElement */ +typedef ASN1TSeqOfList ASN1T_SeqOfAlmanacElement; + +class ASN1C_SeqOfAlmanacElement : +public ASN1CSeqOfList +{ +protected: + ASN1T_SeqOfAlmanacElement& msgData; +public: + IMPORT_C ASN1C_SeqOfAlmanacElement (ASN1T_SeqOfAlmanacElement& data); + IMPORT_C ASN1C_SeqOfAlmanacElement (OSRTMessageBufferIF& msgBuf + , ASN1T_SeqOfAlmanacElement& data); + ASN1C_SeqOfAlmanacElement (ASN1CType& ccobj, ASN1T_SeqOfAlmanacElement& data); + IMPORT_C ASN1C_SeqOfAlmanacElement (OSRTContext &context + , ASN1T_SeqOfAlmanacElement& data); + void Append (ASN1T_AlmanacElement* elem); + ASN1T_AlmanacElement* NewElement (); +} ; + +IMPORT_C int asn1PE_SeqOfAlmanacElement (OSCTXT* pctxt, ASN1T_SeqOfAlmanacElement* pvalue); + +IMPORT_C int asn1PD_SeqOfAlmanacElement (OSCTXT* pctxt, ASN1T_SeqOfAlmanacElement* pvalue); + +IMPORT_C void asn1Print_SeqOfAlmanacElement + (const char* name, ASN1T_SeqOfAlmanacElement* pvalue); + +IMPORT_C void asn1Free_SeqOfAlmanacElement (OSCTXT *pctxt, ASN1T_SeqOfAlmanacElement* pvalue); + +/**************************************************************/ +/* */ +/* Almanac */ +/* */ +/**************************************************************/ + +#define TV_Almanac (TM_UNIV|TM_CONS|16) + +struct ASN1T_Almanac { + OSUINT8 alamanacWNa; + ASN1T_SeqOfAlmanacElement almanacList; + IMPORT_C ASN1T_Almanac (); +} ; + +IMPORT_C int asn1PE_Almanac (OSCTXT* pctxt, ASN1T_Almanac* pvalue); + +IMPORT_C int asn1PD_Almanac (OSCTXT* pctxt, ASN1T_Almanac* pvalue); + +IMPORT_C void asn1Print_Almanac + (const char* name, ASN1T_Almanac* pvalue); + +IMPORT_C void asn1Free_Almanac (OSCTXT *pctxt, ASN1T_Almanac* pvalue); + +/**************************************************************/ +/* */ +/* TimeRelation */ +/* */ +/**************************************************************/ + +#define TV_TimeRelation (TM_UNIV|TM_CONS|16) + +struct ASN1T_TimeRelation { + struct { + unsigned gsmTimePresent : 1; + } m; + ASN1T_GPSTOW23b gpsTOW; + ASN1T_GSMTime gsmTime; + IMPORT_C ASN1T_TimeRelation (); +} ; + +IMPORT_C int asn1PE_TimeRelation (OSCTXT* pctxt, ASN1T_TimeRelation* pvalue); + +IMPORT_C int asn1PD_TimeRelation (OSCTXT* pctxt, ASN1T_TimeRelation* pvalue); + +IMPORT_C void asn1Print_TimeRelation + (const char* name, ASN1T_TimeRelation* pvalue); + +/**************************************************************/ +/* */ +/* AddionalDopplerFields */ +/* */ +/**************************************************************/ + +#define TV_AddionalDopplerFields (TM_UNIV|TM_CONS|16) + +struct ASN1T_AddionalDopplerFields { + OSUINT8 doppler1; + OSUINT8 dopplerUncertainty; + IMPORT_C ASN1T_AddionalDopplerFields (); +} ; + +IMPORT_C int asn1PE_AddionalDopplerFields (OSCTXT* pctxt, ASN1T_AddionalDopplerFields* pvalue); + +IMPORT_C int asn1PD_AddionalDopplerFields (OSCTXT* pctxt, ASN1T_AddionalDopplerFields* pvalue); + +IMPORT_C void asn1Print_AddionalDopplerFields + (const char* name, ASN1T_AddionalDopplerFields* pvalue); + +/**************************************************************/ +/* */ +/* AddionalAngleFields */ +/* */ +/**************************************************************/ + +#define TV_AddionalAngleFields (TM_UNIV|TM_CONS|16) + +struct ASN1T_AddionalAngleFields { + OSUINT8 azimuth; + OSUINT8 elevation; + IMPORT_C ASN1T_AddionalAngleFields (); +} ; + +IMPORT_C int asn1PE_AddionalAngleFields (OSCTXT* pctxt, ASN1T_AddionalAngleFields* pvalue); + +IMPORT_C int asn1PD_AddionalAngleFields (OSCTXT* pctxt, ASN1T_AddionalAngleFields* pvalue); + +IMPORT_C void asn1Print_AddionalAngleFields + (const char* name, ASN1T_AddionalAngleFields* pvalue); + +/**************************************************************/ +/* */ +/* AcquisElement */ +/* */ +/**************************************************************/ + +#define TV_AcquisElement (TM_UNIV|TM_CONS|16) + +struct ASN1T_AcquisElement { + struct { + unsigned addionalDopplerPresent : 1; + unsigned addionalAnglePresent : 1; + } m; + ASN1T_SatelliteID svid; + OSINT16 doppler0; + ASN1T_AddionalDopplerFields addionalDoppler; + OSUINT16 codePhase; + OSUINT8 intCodePhase; + OSUINT8 gpsBitNumber; + OSUINT8 codePhaseSearchWindow; + ASN1T_AddionalAngleFields addionalAngle; + IMPORT_C ASN1T_AcquisElement (); +} ; + +IMPORT_C int asn1PE_AcquisElement (OSCTXT* pctxt, ASN1T_AcquisElement* pvalue); + +IMPORT_C int asn1PD_AcquisElement (OSCTXT* pctxt, ASN1T_AcquisElement* pvalue); + +IMPORT_C void asn1Print_AcquisElement + (const char* name, ASN1T_AcquisElement* pvalue); + +/**************************************************************/ +/* */ +/* SeqOfAcquisElement */ +/* */ +/**************************************************************/ + +#define TV_SeqOfAcquisElement (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_AcquisElement */ +typedef ASN1TSeqOfList ASN1T_SeqOfAcquisElement; + +class ASN1C_SeqOfAcquisElement : +public ASN1CSeqOfList +{ +protected: + ASN1T_SeqOfAcquisElement& msgData; +public: + IMPORT_C ASN1C_SeqOfAcquisElement (ASN1T_SeqOfAcquisElement& data); + IMPORT_C ASN1C_SeqOfAcquisElement (OSRTMessageBufferIF& msgBuf + , ASN1T_SeqOfAcquisElement& data); + ASN1C_SeqOfAcquisElement (ASN1CType& ccobj, ASN1T_SeqOfAcquisElement& data); + IMPORT_C ASN1C_SeqOfAcquisElement (OSRTContext &context + , ASN1T_SeqOfAcquisElement& data); + void Append (ASN1T_AcquisElement* elem); + ASN1T_AcquisElement* NewElement (); +} ; + +IMPORT_C int asn1PE_SeqOfAcquisElement (OSCTXT* pctxt, ASN1T_SeqOfAcquisElement* pvalue); + +IMPORT_C int asn1PD_SeqOfAcquisElement (OSCTXT* pctxt, ASN1T_SeqOfAcquisElement* pvalue); + +IMPORT_C void asn1Print_SeqOfAcquisElement + (const char* name, ASN1T_SeqOfAcquisElement* pvalue); + +IMPORT_C void asn1Free_SeqOfAcquisElement (OSCTXT *pctxt, ASN1T_SeqOfAcquisElement* pvalue); + +/**************************************************************/ +/* */ +/* AcquisAssist */ +/* */ +/**************************************************************/ + +#define TV_AcquisAssist (TM_UNIV|TM_CONS|16) + +struct ASN1T_AcquisAssist { + ASN1T_TimeRelation timeRelation; + ASN1T_SeqOfAcquisElement acquisList; + IMPORT_C ASN1T_AcquisAssist (); +} ; + +IMPORT_C int asn1PE_AcquisAssist (OSCTXT* pctxt, ASN1T_AcquisAssist* pvalue); + +IMPORT_C int asn1PD_AcquisAssist (OSCTXT* pctxt, ASN1T_AcquisAssist* pvalue); + +IMPORT_C void asn1Print_AcquisAssist + (const char* name, ASN1T_AcquisAssist* pvalue); + +IMPORT_C void asn1Free_AcquisAssist (OSCTXT *pctxt, ASN1T_AcquisAssist* pvalue); + +/**************************************************************/ +/* */ +/* SeqOf_BadSatelliteSet */ +/* */ +/**************************************************************/ + +#define TV_SeqOf_BadSatelliteSet (TM_UNIV|TM_CONS|16) + +typedef struct ASN1T_SeqOf_BadSatelliteSet { + OSUINT32 n; + ASN1T_SatelliteID elem[32]; + ASN1T_SeqOf_BadSatelliteSet () : n (0) {} +} ASN1T_SeqOf_BadSatelliteSet; + +IMPORT_C int asn1PE_SeqOf_BadSatelliteSet (OSCTXT* pctxt, ASN1T_SeqOf_BadSatelliteSet* pvalue); + +IMPORT_C int asn1PD_SeqOf_BadSatelliteSet (OSCTXT* pctxt, ASN1T_SeqOf_BadSatelliteSet* pvalue); + +IMPORT_C void asn1Print_SeqOf_BadSatelliteSet + (const char* name, ASN1T_SeqOf_BadSatelliteSet* pvalue); + +/**************************************************************/ +/* */ +/* ControlHeader */ +/* */ +/**************************************************************/ + +#define TV_ControlHeader (TM_UNIV|TM_CONS|16) + +struct ASN1T_ControlHeader { + struct { + unsigned referenceTimePresent : 1; + unsigned refLocationPresent : 1; + unsigned dgpsCorrectionsPresent : 1; + unsigned navigationModelPresent : 1; + unsigned ionosphericModelPresent : 1; + unsigned utcModelPresent : 1; + unsigned almanacPresent : 1; + unsigned acquisAssistPresent : 1; + unsigned realTimeIntegrityPresent : 1; + } m; + ASN1T_ReferenceTime referenceTime; + ASN1T_RefLocation refLocation; + ASN1T_DGPSCorrections dgpsCorrections; + ASN1T_NavigationModelRrlp navigationModel; + ASN1T_IonosphericModel ionosphericModel; + ASN1T_UTCModel utcModel; + ASN1T_Almanac almanac; + ASN1T_AcquisAssist acquisAssist; + ASN1T_SeqOf_BadSatelliteSet realTimeIntegrity; + IMPORT_C ASN1T_ControlHeader (); +} ; + +IMPORT_C int asn1PE_ControlHeader (OSCTXT* pctxt, ASN1T_ControlHeader* pvalue); + +IMPORT_C int asn1PD_ControlHeader (OSCTXT* pctxt, ASN1T_ControlHeader* pvalue); + +IMPORT_C void asn1Print_ControlHeader + (const char* name, ASN1T_ControlHeader* pvalue); + +IMPORT_C void asn1Free_ControlHeader (OSCTXT *pctxt, ASN1T_ControlHeader* pvalue); + +/**************************************************************/ +/* */ +/* GPS_AssistData */ +/* */ +/**************************************************************/ + +#define TV_GPS_AssistData (TM_UNIV|TM_CONS|16) + +struct ASN1T_GPS_AssistData { + ASN1T_ControlHeader controlHeader; + IMPORT_C ASN1T_GPS_AssistData (); +} ; + +IMPORT_C int asn1PE_GPS_AssistData (OSCTXT* pctxt, ASN1T_GPS_AssistData* pvalue); + +IMPORT_C int asn1PD_GPS_AssistData (OSCTXT* pctxt, ASN1T_GPS_AssistData* pvalue); + +IMPORT_C void asn1Print_GPS_AssistData + (const char* name, ASN1T_GPS_AssistData* pvalue); + +IMPORT_C void asn1Free_GPS_AssistData (OSCTXT *pctxt, ASN1T_GPS_AssistData* pvalue); + +/**************************************************************/ +/* */ +/* PrivateExtension */ +/* */ +/**************************************************************/ + +#define TV_PrivateExtension (TM_UNIV|TM_CONS|16) + +struct ASN1T_PrivateExtension { + struct { + unsigned extTypePresent : 1; + } m; + ASN1TObjId extId; + ASN1TOpenType extType; + IMPORT_C ASN1T_PrivateExtension (); +} ; + +IMPORT_C int asn1PE_PrivateExtension (OSCTXT* pctxt, ASN1T_PrivateExtension* pvalue); + +IMPORT_C int asn1PD_PrivateExtension (OSCTXT* pctxt, ASN1T_PrivateExtension* pvalue); + +IMPORT_C void asn1Print_PrivateExtension + (const char* name, ASN1T_PrivateExtension* pvalue); + +IMPORT_C void asn1Free_PrivateExtension (OSCTXT *pctxt, ASN1T_PrivateExtension* pvalue); + +/**************************************************************/ +/* */ +/* PrivateExtensionList */ +/* */ +/**************************************************************/ + +#define TV_PrivateExtensionList (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_PrivateExtension */ +typedef ASN1TSeqOfList ASN1T_PrivateExtensionList; + +class ASN1C_PrivateExtensionList : +public ASN1CSeqOfList +{ +protected: + ASN1T_PrivateExtensionList& msgData; +public: + IMPORT_C ASN1C_PrivateExtensionList (ASN1T_PrivateExtensionList& data); + IMPORT_C ASN1C_PrivateExtensionList (OSRTMessageBufferIF& msgBuf + , ASN1T_PrivateExtensionList& data); + ASN1C_PrivateExtensionList (ASN1CType& ccobj, ASN1T_PrivateExtensionList& data); + IMPORT_C ASN1C_PrivateExtensionList (OSRTContext &context + , ASN1T_PrivateExtensionList& data); + void Append (ASN1T_PrivateExtension* elem); + ASN1T_PrivateExtension* NewElement (); +} ; + +IMPORT_C int asn1PE_PrivateExtensionList (OSCTXT* pctxt, ASN1T_PrivateExtensionList* pvalue); + +IMPORT_C int asn1PD_PrivateExtensionList (OSCTXT* pctxt, ASN1T_PrivateExtensionList* pvalue); + +IMPORT_C void asn1Print_PrivateExtensionList + (const char* name, ASN1T_PrivateExtensionList* pvalue); + +IMPORT_C void asn1Free_PrivateExtensionList (OSCTXT *pctxt, ASN1T_PrivateExtensionList* pvalue); + +/**************************************************************/ +/* */ +/* PCS_Extensions */ +/* */ +/**************************************************************/ + +#define TV_PCS_Extensions (TM_UNIV|TM_CONS|16) + +struct ASN1T_PCS_Extensions { + OSOCTET __dummy__; + IMPORT_C ASN1T_PCS_Extensions (); +} ; + +IMPORT_C int asn1PE_PCS_Extensions (OSCTXT* pctxt, ASN1T_PCS_Extensions* pvalue); + +IMPORT_C int asn1PD_PCS_Extensions (OSCTXT* pctxt, ASN1T_PCS_Extensions* pvalue); + +IMPORT_C void asn1Print_PCS_Extensions + (const char* name, ASN1T_PCS_Extensions* pvalue); + +/**************************************************************/ +/* */ +/* ExtensionContainer */ +/* */ +/**************************************************************/ + +#define TV_ExtensionContainer (TM_UNIV|TM_CONS|16) + +struct ASN1T_ExtensionContainer { + struct { + unsigned privateExtensionListPresent : 1; + unsigned pcs_ExtensionsPresent : 1; + } m; + ASN1T_PrivateExtensionList privateExtensionList; + ASN1T_PCS_Extensions pcs_Extensions; + IMPORT_C ASN1T_ExtensionContainer (); +} ; + +IMPORT_C int asn1PE_ExtensionContainer (OSCTXT* pctxt, ASN1T_ExtensionContainer* pvalue); + +IMPORT_C int asn1PD_ExtensionContainer (OSCTXT* pctxt, ASN1T_ExtensionContainer* pvalue); + +IMPORT_C void asn1Print_ExtensionContainer + (const char* name, ASN1T_ExtensionContainer* pvalue); + +IMPORT_C void asn1Free_ExtensionContainer (OSCTXT *pctxt, ASN1T_ExtensionContainer* pvalue); + +/**************************************************************/ +/* */ +/* ExpectedOTD */ +/* */ +/**************************************************************/ + +#define TV_ExpectedOTD (TM_UNIV|TM_PRIM|2) + +typedef OSUINT16 ASN1T_ExpectedOTD; + +IMPORT_C int asn1PE_ExpectedOTD (OSCTXT* pctxt, ASN1T_ExpectedOTD value); + +IMPORT_C int asn1PD_ExpectedOTD (OSCTXT* pctxt, ASN1T_ExpectedOTD* pvalue); + +IMPORT_C void asn1Print_ExpectedOTD + (const char* name, ASN1T_ExpectedOTD* pvalue); + +/**************************************************************/ +/* */ +/* ExpOTDUncertainty */ +/* */ +/**************************************************************/ + +#define TV_ExpOTDUncertainty (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_ExpOTDUncertainty; + +IMPORT_C int asn1PE_ExpOTDUncertainty (OSCTXT* pctxt, ASN1T_ExpOTDUncertainty value); + +IMPORT_C int asn1PD_ExpOTDUncertainty (OSCTXT* pctxt, ASN1T_ExpOTDUncertainty* pvalue); + +IMPORT_C void asn1Print_ExpOTDUncertainty + (const char* name, ASN1T_ExpOTDUncertainty* pvalue); + +/**************************************************************/ +/* */ +/* MsrAssistBTS_R98_ExpOTD */ +/* */ +/**************************************************************/ + +#define TV_MsrAssistBTS_R98_ExpOTD (TM_UNIV|TM_CONS|16) + +struct ASN1T_MsrAssistBTS_R98_ExpOTD { + ASN1T_ExpectedOTD expectedOTD; + ASN1T_ExpOTDUncertainty expOTDUncertainty; + IMPORT_C ASN1T_MsrAssistBTS_R98_ExpOTD (); +} ; + +IMPORT_C int asn1PE_MsrAssistBTS_R98_ExpOTD (OSCTXT* pctxt, ASN1T_MsrAssistBTS_R98_ExpOTD* pvalue); + +IMPORT_C int asn1PD_MsrAssistBTS_R98_ExpOTD (OSCTXT* pctxt, ASN1T_MsrAssistBTS_R98_ExpOTD* pvalue); + +IMPORT_C void asn1Print_MsrAssistBTS_R98_ExpOTD + (const char* name, ASN1T_MsrAssistBTS_R98_ExpOTD* pvalue); + +/**************************************************************/ +/* */ +/* SeqOfMsrAssistBTS_R98_ExpOTD */ +/* */ +/**************************************************************/ + +#define TV_SeqOfMsrAssistBTS_R98_ExpOTD (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_MsrAssistBTS_R98_ExpOTD */ +typedef ASN1TSeqOfList ASN1T_SeqOfMsrAssistBTS_R98_ExpOTD; + +class ASN1C_SeqOfMsrAssistBTS_R98_ExpOTD : +public ASN1CSeqOfList +{ +protected: + ASN1T_SeqOfMsrAssistBTS_R98_ExpOTD& msgData; +public: + IMPORT_C ASN1C_SeqOfMsrAssistBTS_R98_ExpOTD + (ASN1T_SeqOfMsrAssistBTS_R98_ExpOTD& data); + IMPORT_C ASN1C_SeqOfMsrAssistBTS_R98_ExpOTD (OSRTMessageBufferIF& msgBuf + , ASN1T_SeqOfMsrAssistBTS_R98_ExpOTD& data); + ASN1C_SeqOfMsrAssistBTS_R98_ExpOTD (ASN1CType& ccobj, ASN1T_SeqOfMsrAssistBTS_R98_ExpOTD& data); + IMPORT_C ASN1C_SeqOfMsrAssistBTS_R98_ExpOTD (OSRTContext &context + , ASN1T_SeqOfMsrAssistBTS_R98_ExpOTD& data); + void Append (ASN1T_MsrAssistBTS_R98_ExpOTD* elem); + ASN1T_MsrAssistBTS_R98_ExpOTD* NewElement (); +} ; + +IMPORT_C int asn1PE_SeqOfMsrAssistBTS_R98_ExpOTD (OSCTXT* pctxt, ASN1T_SeqOfMsrAssistBTS_R98_ExpOTD* pvalue); + +IMPORT_C int asn1PD_SeqOfMsrAssistBTS_R98_ExpOTD (OSCTXT* pctxt, ASN1T_SeqOfMsrAssistBTS_R98_ExpOTD* pvalue); + +IMPORT_C void asn1Print_SeqOfMsrAssistBTS_R98_ExpOTD + (const char* name, ASN1T_SeqOfMsrAssistBTS_R98_ExpOTD* pvalue); + +IMPORT_C void asn1Free_SeqOfMsrAssistBTS_R98_ExpOTD (OSCTXT *pctxt, ASN1T_SeqOfMsrAssistBTS_R98_ExpOTD* pvalue); + +/**************************************************************/ +/* */ +/* MsrAssistData_R98_ExpOTD */ +/* */ +/**************************************************************/ + +#define TV_MsrAssistData_R98_ExpOTD (TM_UNIV|TM_CONS|16) + +struct ASN1T_MsrAssistData_R98_ExpOTD { + ASN1T_SeqOfMsrAssistBTS_R98_ExpOTD msrAssistList_R98_ExpOTD; + IMPORT_C ASN1T_MsrAssistData_R98_ExpOTD (); +} ; + +IMPORT_C int asn1PE_MsrAssistData_R98_ExpOTD (OSCTXT* pctxt, ASN1T_MsrAssistData_R98_ExpOTD* pvalue); + +IMPORT_C int asn1PD_MsrAssistData_R98_ExpOTD (OSCTXT* pctxt, ASN1T_MsrAssistData_R98_ExpOTD* pvalue); + +IMPORT_C void asn1Print_MsrAssistData_R98_ExpOTD + (const char* name, ASN1T_MsrAssistData_R98_ExpOTD* pvalue); + +IMPORT_C void asn1Free_MsrAssistData_R98_ExpOTD (OSCTXT *pctxt, ASN1T_MsrAssistData_R98_ExpOTD* pvalue); + +/**************************************************************/ +/* */ +/* AssistBTSData_R98_ExpOTD */ +/* */ +/**************************************************************/ + +#define TV_AssistBTSData_R98_ExpOTD (TM_UNIV|TM_CONS|16) + +struct ASN1T_AssistBTSData_R98_ExpOTD { + ASN1T_ExpectedOTD expectedOTD; + ASN1T_ExpOTDUncertainty expOTDuncertainty; + IMPORT_C ASN1T_AssistBTSData_R98_ExpOTD (); +} ; + +IMPORT_C int asn1PE_AssistBTSData_R98_ExpOTD (OSCTXT* pctxt, ASN1T_AssistBTSData_R98_ExpOTD* pvalue); + +IMPORT_C int asn1PD_AssistBTSData_R98_ExpOTD (OSCTXT* pctxt, ASN1T_AssistBTSData_R98_ExpOTD* pvalue); + +IMPORT_C void asn1Print_AssistBTSData_R98_ExpOTD + (const char* name, ASN1T_AssistBTSData_R98_ExpOTD* pvalue); + +/**************************************************************/ +/* */ +/* SystemInfoAssistBTS_R98_ExpOTD */ +/* */ +/**************************************************************/ + +/* Choice tag constants */ + +#define T_SystemInfoAssistBTS_R98_ExpOTD_notPresent 1 +#define T_SystemInfoAssistBTS_R98_ExpOTD_present 2 + +struct ASN1T_SystemInfoAssistBTS_R98_ExpOTD { + int t; + union { + /* t = 1 */ + /* t = 2 */ + ASN1T_AssistBTSData_R98_ExpOTD *present; + } u; +} ; + +IMPORT_C int asn1PE_SystemInfoAssistBTS_R98_ExpOTD (OSCTXT* pctxt, ASN1T_SystemInfoAssistBTS_R98_ExpOTD* pvalue); + +IMPORT_C int asn1PD_SystemInfoAssistBTS_R98_ExpOTD (OSCTXT* pctxt, ASN1T_SystemInfoAssistBTS_R98_ExpOTD* pvalue); + +IMPORT_C void asn1Print_SystemInfoAssistBTS_R98_ExpOTD + (const char* name, ASN1T_SystemInfoAssistBTS_R98_ExpOTD* pvalue); + +IMPORT_C void asn1Free_SystemInfoAssistBTS_R98_ExpOTD (OSCTXT *pctxt, ASN1T_SystemInfoAssistBTS_R98_ExpOTD* pvalue); + +/**************************************************************/ +/* */ +/* SeqOfSystemInfoAssistBTS_R98_ExpOTD */ +/* */ +/**************************************************************/ + +#define TV_SeqOfSystemInfoAssistBTS_R98_ExpOTD (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_SystemInfoAssistBTS_R98_ExpOTD */ +typedef ASN1TSeqOfList ASN1T_SeqOfSystemInfoAssistBTS_R98_ExpOTD; + +class ASN1C_SeqOfSystemInfoAssistBTS_R98_ExpOTD : +public ASN1CSeqOfList +{ +protected: + ASN1T_SeqOfSystemInfoAssistBTS_R98_ExpOTD& msgData; +public: + IMPORT_C ASN1C_SeqOfSystemInfoAssistBTS_R98_ExpOTD + (ASN1T_SeqOfSystemInfoAssistBTS_R98_ExpOTD& data); + IMPORT_C ASN1C_SeqOfSystemInfoAssistBTS_R98_ExpOTD (OSRTMessageBufferIF& msgBuf + , ASN1T_SeqOfSystemInfoAssistBTS_R98_ExpOTD& data); + ASN1C_SeqOfSystemInfoAssistBTS_R98_ExpOTD (ASN1CType& ccobj, ASN1T_SeqOfSystemInfoAssistBTS_R98_ExpOTD& data); + IMPORT_C ASN1C_SeqOfSystemInfoAssistBTS_R98_ExpOTD (OSRTContext &context + , ASN1T_SeqOfSystemInfoAssistBTS_R98_ExpOTD& data); + void Append (ASN1T_SystemInfoAssistBTS_R98_ExpOTD* elem); + ASN1T_SystemInfoAssistBTS_R98_ExpOTD* NewElement (); +} ; + +IMPORT_C int asn1PE_SeqOfSystemInfoAssistBTS_R98_ExpOTD (OSCTXT* pctxt, ASN1T_SeqOfSystemInfoAssistBTS_R98_ExpOTD* pvalue); + +IMPORT_C int asn1PD_SeqOfSystemInfoAssistBTS_R98_ExpOTD (OSCTXT* pctxt, ASN1T_SeqOfSystemInfoAssistBTS_R98_ExpOTD* pvalue); + +IMPORT_C void asn1Print_SeqOfSystemInfoAssistBTS_R98_ExpOTD + (const char* name, ASN1T_SeqOfSystemInfoAssistBTS_R98_ExpOTD* pvalue); + +IMPORT_C void asn1Free_SeqOfSystemInfoAssistBTS_R98_ExpOTD (OSCTXT *pctxt, ASN1T_SeqOfSystemInfoAssistBTS_R98_ExpOTD* pvalue); + +/**************************************************************/ +/* */ +/* SystemInfoAssistData_R98_ExpOTD */ +/* */ +/**************************************************************/ + +#define TV_SystemInfoAssistData_R98_ExpOTD (TM_UNIV|TM_CONS|16) + +struct ASN1T_SystemInfoAssistData_R98_ExpOTD { + ASN1T_SeqOfSystemInfoAssistBTS_R98_ExpOTD systemInfoAssistListR98_ExpOTD; + IMPORT_C ASN1T_SystemInfoAssistData_R98_ExpOTD (); +} ; + +IMPORT_C int asn1PE_SystemInfoAssistData_R98_ExpOTD (OSCTXT* pctxt, ASN1T_SystemInfoAssistData_R98_ExpOTD* pvalue); + +IMPORT_C int asn1PD_SystemInfoAssistData_R98_ExpOTD (OSCTXT* pctxt, ASN1T_SystemInfoAssistData_R98_ExpOTD* pvalue); + +IMPORT_C void asn1Print_SystemInfoAssistData_R98_ExpOTD + (const char* name, ASN1T_SystemInfoAssistData_R98_ExpOTD* pvalue); + +IMPORT_C void asn1Free_SystemInfoAssistData_R98_ExpOTD (OSCTXT *pctxt, ASN1T_SystemInfoAssistData_R98_ExpOTD* pvalue); + +/**************************************************************/ +/* */ +/* Rel98_Ext_ExpOTD */ +/* */ +/**************************************************************/ + +#define TV_Rel98_Ext_ExpOTD (TM_UNIV|TM_CONS|16) + +struct ASN1T_Rel98_Ext_ExpOTD { + struct { + unsigned msrAssistData_R98_ExpOTDPresent : 1; + unsigned systemInfoAssistData_R98_ExpOTDPresent : 1; + } m; + ASN1T_MsrAssistData_R98_ExpOTD msrAssistData_R98_ExpOTD; + ASN1T_SystemInfoAssistData_R98_ExpOTD systemInfoAssistData_R98_ExpOTD; + IMPORT_C ASN1T_Rel98_Ext_ExpOTD (); +} ; + +IMPORT_C int asn1PE_Rel98_Ext_ExpOTD (OSCTXT* pctxt, ASN1T_Rel98_Ext_ExpOTD* pvalue); + +IMPORT_C int asn1PD_Rel98_Ext_ExpOTD (OSCTXT* pctxt, ASN1T_Rel98_Ext_ExpOTD* pvalue); + +IMPORT_C void asn1Print_Rel98_Ext_ExpOTD + (const char* name, ASN1T_Rel98_Ext_ExpOTD* pvalue); + +IMPORT_C void asn1Free_Rel98_Ext_ExpOTD (OSCTXT *pctxt, ASN1T_Rel98_Ext_ExpOTD* pvalue); + +/**************************************************************/ +/* */ +/* GPSReferenceTimeUncertainty */ +/* */ +/**************************************************************/ + +#define TV_GPSReferenceTimeUncertainty (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_GPSReferenceTimeUncertainty; + +IMPORT_C int asn1PE_GPSReferenceTimeUncertainty (OSCTXT* pctxt, ASN1T_GPSReferenceTimeUncertainty value); + +IMPORT_C int asn1PD_GPSReferenceTimeUncertainty (OSCTXT* pctxt, ASN1T_GPSReferenceTimeUncertainty* pvalue); + +IMPORT_C void asn1Print_GPSReferenceTimeUncertainty + (const char* name, ASN1T_GPSReferenceTimeUncertainty* pvalue); + +/**************************************************************/ +/* */ +/* Rel98_MsrPosition_Req_Extension */ +/* */ +/**************************************************************/ + +#define TV_Rel98_MsrPosition_Req_Extension (TM_UNIV|TM_CONS|16) + +struct ASN1T_Rel98_MsrPosition_Req_Extension { + struct { + unsigned rel98_Ext_ExpOTDPresent : 1; + unsigned gpsTimeAssistanceMeasurementRequestPresent : 1; + unsigned gpsReferenceTimeUncertaintyPresent : 1; + } m; + ASN1T_Rel98_Ext_ExpOTD rel98_Ext_ExpOTD; + ASN1T_GPSReferenceTimeUncertainty gpsReferenceTimeUncertainty; + IMPORT_C ASN1T_Rel98_MsrPosition_Req_Extension (); +} ; + +IMPORT_C int asn1PE_Rel98_MsrPosition_Req_Extension (OSCTXT* pctxt, ASN1T_Rel98_MsrPosition_Req_Extension* pvalue); + +IMPORT_C int asn1PD_Rel98_MsrPosition_Req_Extension (OSCTXT* pctxt, ASN1T_Rel98_MsrPosition_Req_Extension* pvalue); + +IMPORT_C void asn1Print_Rel98_MsrPosition_Req_Extension + (const char* name, ASN1T_Rel98_MsrPosition_Req_Extension* pvalue); + +IMPORT_C void asn1Free_Rel98_MsrPosition_Req_Extension (OSCTXT *pctxt, ASN1T_Rel98_MsrPosition_Req_Extension* pvalue); + +/**************************************************************/ +/* */ +/* Extended_reference */ +/* */ +/**************************************************************/ + +#define TV_Extended_reference (TM_UNIV|TM_CONS|16) + +struct ASN1T_Extended_reference { + OSUINT8 smlc_code; + OSUINT32 transaction_ID; + IMPORT_C ASN1T_Extended_reference (); +} ; + +IMPORT_C int asn1PE_Extended_reference (OSCTXT* pctxt, ASN1T_Extended_reference* pvalue); + +IMPORT_C int asn1PD_Extended_reference (OSCTXT* pctxt, ASN1T_Extended_reference* pvalue); + +IMPORT_C void asn1Print_Extended_reference + (const char* name, ASN1T_Extended_reference* pvalue); + +/**************************************************************/ +/* */ +/* Rel5_MsrPosition_Req_Extension */ +/* */ +/**************************************************************/ + +#define TV_Rel5_MsrPosition_Req_Extension (TM_UNIV|TM_CONS|16) + +struct ASN1T_Rel5_MsrPosition_Req_Extension { + ASN1T_Extended_reference extended_reference; + IMPORT_C ASN1T_Rel5_MsrPosition_Req_Extension (); +} ; + +IMPORT_C int asn1PE_Rel5_MsrPosition_Req_Extension (OSCTXT* pctxt, ASN1T_Rel5_MsrPosition_Req_Extension* pvalue); + +IMPORT_C int asn1PD_Rel5_MsrPosition_Req_Extension (OSCTXT* pctxt, ASN1T_Rel5_MsrPosition_Req_Extension* pvalue); + +IMPORT_C void asn1Print_Rel5_MsrPosition_Req_Extension + (const char* name, ASN1T_Rel5_MsrPosition_Req_Extension* pvalue); + +/**************************************************************/ +/* */ +/* MsrPosition_Req */ +/* */ +/**************************************************************/ + +#define TV_MsrPosition_Req (TM_UNIV|TM_CONS|16) + +struct ASN1T_MsrPosition_Req { + struct { + unsigned referenceAssistDataPresent : 1; + unsigned msrAssistDataPresent : 1; + unsigned systemInfoAssistDataPresent : 1; + unsigned gps_AssistDataPresent : 1; + unsigned extensionContainerPresent : 1; + unsigned rel98_MsrPosition_Req_extensionPresent : 1; + unsigned rel5_MsrPosition_Req_extensionPresent : 1; + } m; + ASN1T_PositionInstruct positionInstruct; + ASN1T_ReferenceAssistData referenceAssistData; + ASN1T_MsrAssistData msrAssistData; + ASN1T_SystemInfoAssistData systemInfoAssistData; + ASN1T_GPS_AssistData gps_AssistData; + ASN1T_ExtensionContainer extensionContainer; + ASN1T_Rel98_MsrPosition_Req_Extension rel98_MsrPosition_Req_extension; + ASN1T_Rel5_MsrPosition_Req_Extension rel5_MsrPosition_Req_extension; + IMPORT_C ASN1T_MsrPosition_Req (); +} ; + +IMPORT_C int asn1PE_MsrPosition_Req (OSCTXT* pctxt, ASN1T_MsrPosition_Req* pvalue); + +IMPORT_C int asn1PD_MsrPosition_Req (OSCTXT* pctxt, ASN1T_MsrPosition_Req* pvalue); + +IMPORT_C void asn1Print_MsrPosition_Req + (const char* name, ASN1T_MsrPosition_Req* pvalue); + +IMPORT_C void asn1Free_MsrPosition_Req (OSCTXT *pctxt, ASN1T_MsrPosition_Req* pvalue); + +/**************************************************************/ +/* */ +/* ReferenceRelation */ +/* */ +/**************************************************************/ + +#define TV_ReferenceRelation (TM_UNIV|TM_PRIM|10) + +struct ReferenceRelation { + enum Root { + secondBTSThirdSet = 0, + secondBTSSecondSet = 1, + firstBTSFirstSet = 2 + } ; +} ; + +typedef OSUINT32 ASN1T_ReferenceRelation; + +IMPORT_C int asn1PE_ReferenceRelation (OSCTXT* pctxt, ASN1T_ReferenceRelation value); + +IMPORT_C int asn1PD_ReferenceRelation (OSCTXT* pctxt, ASN1T_ReferenceRelation* pvalue); + +IMPORT_C void asn1Print_ReferenceRelation + (const char* name, ASN1T_ReferenceRelation* pvalue); + +IMPORT_C const OSUTF8CHAR* ASN1T_ReferenceRelation_ToString (OSINT32 value); + +IMPORT_C int ASN1T_ReferenceRelation_ToEnum (OSCTXT* pctxt, + const OSUTF8CHAR* value, ASN1T_ReferenceRelation* pvalue); + +/**************************************************************/ +/* */ +/* MultipleSets */ +/* */ +/**************************************************************/ + +#define TV_MultipleSets (TM_UNIV|TM_CONS|16) + +struct ASN1T_MultipleSets { + struct { + unsigned referenceRelationPresent : 1; + } m; + OSUINT8 nbrOfSets; + OSUINT8 nbrOfReferenceBTSs; + ASN1T_ReferenceRelation referenceRelation; + IMPORT_C ASN1T_MultipleSets (); +} ; + +IMPORT_C int asn1PE_MultipleSets (OSCTXT* pctxt, ASN1T_MultipleSets* pvalue); + +IMPORT_C int asn1PD_MultipleSets (OSCTXT* pctxt, ASN1T_MultipleSets* pvalue); + +IMPORT_C void asn1Print_MultipleSets + (const char* name, ASN1T_MultipleSets* pvalue); + +/**************************************************************/ +/* */ +/* BSICAndCarrier */ +/* */ +/**************************************************************/ + +#define TV_BSICAndCarrier (TM_UNIV|TM_CONS|16) + +struct ASN1T_BSICAndCarrier { + ASN1T_BCCHCarrier carrier; + ASN1T_BSIC bsic; + IMPORT_C ASN1T_BSICAndCarrier (); +} ; + +IMPORT_C int asn1PE_BSICAndCarrier (OSCTXT* pctxt, ASN1T_BSICAndCarrier* pvalue); + +IMPORT_C int asn1PD_BSICAndCarrier (OSCTXT* pctxt, ASN1T_BSICAndCarrier* pvalue); + +IMPORT_C void asn1Print_BSICAndCarrier + (const char* name, ASN1T_BSICAndCarrier* pvalue); + +/**************************************************************/ +/* */ +/* CellID */ +/* */ +/**************************************************************/ + +#define TV_CellID (TM_UNIV|TM_PRIM|2) + +typedef OSUINT16 ASN1T_CellID; + +IMPORT_C int asn1PE_CellID (OSCTXT* pctxt, ASN1T_CellID value); + +IMPORT_C int asn1PD_CellID (OSCTXT* pctxt, ASN1T_CellID* pvalue); + +IMPORT_C void asn1Print_CellID + (const char* name, ASN1T_CellID* pvalue); + +/**************************************************************/ +/* */ +/* RequestIndex */ +/* */ +/**************************************************************/ + +#define TV_RequestIndex (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_RequestIndex; + +IMPORT_C int asn1PE_RequestIndex (OSCTXT* pctxt, ASN1T_RequestIndex value); + +IMPORT_C int asn1PD_RequestIndex (OSCTXT* pctxt, ASN1T_RequestIndex* pvalue); + +IMPORT_C void asn1Print_RequestIndex + (const char* name, ASN1T_RequestIndex* pvalue); + +/**************************************************************/ +/* */ +/* SystemInfoIndex */ +/* */ +/**************************************************************/ + +#define TV_SystemInfoIndex (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_SystemInfoIndex; + +IMPORT_C int asn1PE_SystemInfoIndex (OSCTXT* pctxt, ASN1T_SystemInfoIndex value); + +IMPORT_C int asn1PD_SystemInfoIndex (OSCTXT* pctxt, ASN1T_SystemInfoIndex* pvalue); + +IMPORT_C void asn1Print_SystemInfoIndex + (const char* name, ASN1T_SystemInfoIndex* pvalue); + +/**************************************************************/ +/* */ +/* LAC */ +/* */ +/**************************************************************/ + +#define TV_LAC (TM_UNIV|TM_PRIM|2) + +typedef OSUINT16 ASN1T_LAC; + +IMPORT_C int asn1PE_LAC (OSCTXT* pctxt, ASN1T_LAC value); + +IMPORT_C int asn1PD_LAC (OSCTXT* pctxt, ASN1T_LAC* pvalue); + +IMPORT_C void asn1Print_LAC + (const char* name, ASN1T_LAC* pvalue); + +/**************************************************************/ +/* */ +/* CellIDAndLAC */ +/* */ +/**************************************************************/ + +#define TV_CellIDAndLAC (TM_UNIV|TM_CONS|16) + +struct ASN1T_CellIDAndLAC { + ASN1T_LAC referenceLAC; + ASN1T_CellID referenceCI; + IMPORT_C ASN1T_CellIDAndLAC (); +} ; + +IMPORT_C int asn1PE_CellIDAndLAC (OSCTXT* pctxt, ASN1T_CellIDAndLAC* pvalue); + +IMPORT_C int asn1PD_CellIDAndLAC (OSCTXT* pctxt, ASN1T_CellIDAndLAC* pvalue); + +IMPORT_C void asn1Print_CellIDAndLAC + (const char* name, ASN1T_CellIDAndLAC* pvalue); + +/**************************************************************/ +/* */ +/* ReferenceIdentityType */ +/* */ +/**************************************************************/ + +/* Choice tag constants */ + +#define T_ReferenceIdentityType_bsicAndCarrier 1 +#define T_ReferenceIdentityType_ci 2 +#define T_ReferenceIdentityType_requestIndex 3 +#define T_ReferenceIdentityType_systemInfoIndex 4 +#define T_ReferenceIdentityType_ciAndLAC 5 + +struct ASN1T_ReferenceIdentityType { + int t; + union { + /* t = 1 */ + ASN1T_BSICAndCarrier *bsicAndCarrier; + /* t = 2 */ + ASN1T_CellID ci; + /* t = 3 */ + ASN1T_RequestIndex requestIndex; + /* t = 4 */ + ASN1T_SystemInfoIndex systemInfoIndex; + /* t = 5 */ + ASN1T_CellIDAndLAC *ciAndLAC; + } u; +} ; + +IMPORT_C int asn1PE_ReferenceIdentityType (OSCTXT* pctxt, ASN1T_ReferenceIdentityType* pvalue); + +IMPORT_C int asn1PD_ReferenceIdentityType (OSCTXT* pctxt, ASN1T_ReferenceIdentityType* pvalue); + +IMPORT_C void asn1Print_ReferenceIdentityType + (const char* name, ASN1T_ReferenceIdentityType* pvalue); + +IMPORT_C void asn1Free_ReferenceIdentityType (OSCTXT *pctxt, ASN1T_ReferenceIdentityType* pvalue); + +/**************************************************************/ +/* */ +/* SeqOfReferenceIdentityType */ +/* */ +/**************************************************************/ + +#define TV_SeqOfReferenceIdentityType (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_ReferenceIdentityType */ +typedef ASN1TSeqOfList ASN1T_SeqOfReferenceIdentityType; + +class ASN1C_SeqOfReferenceIdentityType : +public ASN1CSeqOfList +{ +protected: + ASN1T_SeqOfReferenceIdentityType& msgData; +public: + IMPORT_C ASN1C_SeqOfReferenceIdentityType (ASN1T_SeqOfReferenceIdentityType& data); + IMPORT_C ASN1C_SeqOfReferenceIdentityType (OSRTMessageBufferIF& msgBuf + , ASN1T_SeqOfReferenceIdentityType& data); + ASN1C_SeqOfReferenceIdentityType (ASN1CType& ccobj, ASN1T_SeqOfReferenceIdentityType& data); + IMPORT_C ASN1C_SeqOfReferenceIdentityType (OSRTContext &context + , ASN1T_SeqOfReferenceIdentityType& data); + void Append (ASN1T_ReferenceIdentityType* elem); + ASN1T_ReferenceIdentityType* NewElement (); +} ; + +IMPORT_C int asn1PE_SeqOfReferenceIdentityType (OSCTXT* pctxt, ASN1T_SeqOfReferenceIdentityType* pvalue); + +IMPORT_C int asn1PD_SeqOfReferenceIdentityType (OSCTXT* pctxt, ASN1T_SeqOfReferenceIdentityType* pvalue); + +IMPORT_C void asn1Print_SeqOfReferenceIdentityType + (const char* name, ASN1T_SeqOfReferenceIdentityType* pvalue); + +IMPORT_C void asn1Free_SeqOfReferenceIdentityType (OSCTXT *pctxt, ASN1T_SeqOfReferenceIdentityType* pvalue); + +/**************************************************************/ +/* */ +/* ReferenceIdentity */ +/* */ +/**************************************************************/ + +#define TV_ReferenceIdentity (TM_UNIV|TM_CONS|16) + +struct ASN1T_ReferenceIdentity { + ASN1T_SeqOfReferenceIdentityType refBTSList; + IMPORT_C ASN1T_ReferenceIdentity (); +} ; + +IMPORT_C int asn1PE_ReferenceIdentity (OSCTXT* pctxt, ASN1T_ReferenceIdentity* pvalue); + +IMPORT_C int asn1PD_ReferenceIdentity (OSCTXT* pctxt, ASN1T_ReferenceIdentity* pvalue); + +IMPORT_C void asn1Print_ReferenceIdentity + (const char* name, ASN1T_ReferenceIdentity* pvalue); + +IMPORT_C void asn1Free_ReferenceIdentity (OSCTXT *pctxt, ASN1T_ReferenceIdentity* pvalue); + +/**************************************************************/ +/* */ +/* ModuloTimeSlot */ +/* */ +/**************************************************************/ + +#define TV_ModuloTimeSlot (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_ModuloTimeSlot; + +IMPORT_C int asn1PE_ModuloTimeSlot (OSCTXT* pctxt, ASN1T_ModuloTimeSlot value); + +IMPORT_C int asn1PD_ModuloTimeSlot (OSCTXT* pctxt, ASN1T_ModuloTimeSlot* pvalue); + +IMPORT_C void asn1Print_ModuloTimeSlot + (const char* name, ASN1T_ModuloTimeSlot* pvalue); + +/**************************************************************/ +/* */ +/* RefQuality */ +/* */ +/**************************************************************/ + +#define TV_RefQuality (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_RefQuality; + +IMPORT_C int asn1PE_RefQuality (OSCTXT* pctxt, ASN1T_RefQuality value); + +IMPORT_C int asn1PD_RefQuality (OSCTXT* pctxt, ASN1T_RefQuality* pvalue); + +IMPORT_C void asn1Print_RefQuality + (const char* name, ASN1T_RefQuality* pvalue); + +/**************************************************************/ +/* */ +/* NumOfMeasurements */ +/* */ +/**************************************************************/ + +#define TV_NumOfMeasurements (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_NumOfMeasurements; + +IMPORT_C int asn1PE_NumOfMeasurements (OSCTXT* pctxt, ASN1T_NumOfMeasurements value); + +IMPORT_C int asn1PD_NumOfMeasurements (OSCTXT* pctxt, ASN1T_NumOfMeasurements* pvalue); + +IMPORT_C void asn1Print_NumOfMeasurements + (const char* name, ASN1T_NumOfMeasurements* pvalue); + +/**************************************************************/ +/* */ +/* TOA_MeasurementsOfRef */ +/* */ +/**************************************************************/ + +#define TV_TOA_MeasurementsOfRef (TM_UNIV|TM_CONS|16) + +struct ASN1T_TOA_MeasurementsOfRef { + ASN1T_RefQuality refQuality; + ASN1T_NumOfMeasurements numOfMeasurements; + IMPORT_C ASN1T_TOA_MeasurementsOfRef (); +} ; + +IMPORT_C int asn1PE_TOA_MeasurementsOfRef (OSCTXT* pctxt, ASN1T_TOA_MeasurementsOfRef* pvalue); + +IMPORT_C int asn1PD_TOA_MeasurementsOfRef (OSCTXT* pctxt, ASN1T_TOA_MeasurementsOfRef* pvalue); + +IMPORT_C void asn1Print_TOA_MeasurementsOfRef + (const char* name, ASN1T_TOA_MeasurementsOfRef* pvalue); + +/**************************************************************/ +/* */ +/* StdResolution */ +/* */ +/**************************************************************/ + +#define TV_StdResolution (TM_UNIV|TM_PRIM|2) + +typedef OSUINT8 ASN1T_StdResolution; + +IMPORT_C int asn1PE_StdResolution (OSCTXT* pctxt, ASN1T_StdResolution value); + +IMPORT_C int asn1PD_StdResolution (OSCTXT* pctxt, ASN1T_StdResolution* pvalue); + +IMPORT_C void asn1Print_StdResolution + (const char* name, ASN1T_StdResolution* pvalue); + +/**************************************************************/ +/* */ +/* MultiFrameCarrier */ +/* */ +/**************************************************************/ + +#define TV_MultiFrameCarrier (TM_UNIV|TM_CONS|16) + +struct ASN1T_MultiFrameCarrier { + ASN1T_BCCHCarrier bcchCarrier; + ASN1T_MultiFrameOffset multiFrameOffset; + IMPORT_C ASN1T_MultiFrameCarrier (); +} ; + +IMPORT_C int asn1PE_MultiFrameCarrier (OSCTXT* pctxt, ASN1T_MultiFrameCarrier* pvalue); + +IMPORT_C int asn1PD_MultiFrameCarrier (OSCTXT* pctxt, ASN1T_MultiFrameCarrier* pvalue); + +IMPORT_C void asn1Print_MultiFrameCarrier + (const char* name, ASN1T_MultiFrameCarrier* pvalue); + +/**************************************************************/ +/* */ +/* NeighborIdentity */ +/* */ +/**************************************************************/ + +/* Choice tag constants */ + +#define T_NeighborIdentity_bsicAndCarrier 1 +#define T_NeighborIdentity_ci 2 +#define T_NeighborIdentity_multiFrameCarrier 3 +#define T_NeighborIdentity_requestIndex 4 +#define T_NeighborIdentity_systemInfoIndex 5 +#define T_NeighborIdentity_ciAndLAC 6 + +struct ASN1T_NeighborIdentity { + int t; + union { + /* t = 1 */ + ASN1T_BSICAndCarrier *bsicAndCarrier; + /* t = 2 */ + ASN1T_CellID ci; + /* t = 3 */ + ASN1T_MultiFrameCarrier *multiFrameCarrier; + /* t = 4 */ + ASN1T_RequestIndex requestIndex; + /* t = 5 */ + ASN1T_SystemInfoIndex systemInfoIndex; + /* t = 6 */ + ASN1T_CellIDAndLAC *ciAndLAC; + } u; +} ; + +IMPORT_C int asn1PE_NeighborIdentity (OSCTXT* pctxt, ASN1T_NeighborIdentity* pvalue); + +IMPORT_C int asn1PD_NeighborIdentity (OSCTXT* pctxt, ASN1T_NeighborIdentity* pvalue); + +IMPORT_C void asn1Print_NeighborIdentity + (const char* name, ASN1T_NeighborIdentity* pvalue); + +IMPORT_C void asn1Free_NeighborIdentity (OSCTXT *pctxt, ASN1T_NeighborIdentity* pvalue); + +/**************************************************************/ +/* */ +/* EOTDQuality */ +/* */ +/**************************************************************/ + +#define TV_EOTDQuality (TM_UNIV|TM_CONS|16) + +struct ASN1T_EOTDQuality { + OSUINT8 nbrOfMeasurements; + OSUINT8 stdOfEOTD; + IMPORT_C ASN1T_EOTDQuality (); +} ; + +IMPORT_C int asn1PE_EOTDQuality (OSCTXT* pctxt, ASN1T_EOTDQuality* pvalue); + +IMPORT_C int asn1PD_EOTDQuality (OSCTXT* pctxt, ASN1T_EOTDQuality* pvalue); + +IMPORT_C void asn1Print_EOTDQuality + (const char* name, ASN1T_EOTDQuality* pvalue); + +/**************************************************************/ +/* */ +/* OTDValue */ +/* */ +/**************************************************************/ + +#define TV_OTDValue (TM_UNIV|TM_PRIM|2) + +typedef OSUINT16 ASN1T_OTDValue; + +IMPORT_C int asn1PE_OTDValue (OSCTXT* pctxt, ASN1T_OTDValue value); + +IMPORT_C int asn1PD_OTDValue (OSCTXT* pctxt, ASN1T_OTDValue* pvalue); + +IMPORT_C void asn1Print_OTDValue + (const char* name, ASN1T_OTDValue* pvalue); + +/**************************************************************/ +/* */ +/* OTD_MeasurementWithID */ +/* */ +/**************************************************************/ + +#define TV_OTD_MeasurementWithID (TM_UNIV|TM_CONS|16) + +struct ASN1T_OTD_MeasurementWithID { + ASN1T_NeighborIdentity neighborIdentity; + ASN1T_ModuloTimeSlot nborTimeSlot; + ASN1T_EOTDQuality eotdQuality; + ASN1T_OTDValue otdValue; + IMPORT_C ASN1T_OTD_MeasurementWithID (); +} ; + +IMPORT_C int asn1PE_OTD_MeasurementWithID (OSCTXT* pctxt, ASN1T_OTD_MeasurementWithID* pvalue); + +IMPORT_C int asn1PD_OTD_MeasurementWithID (OSCTXT* pctxt, ASN1T_OTD_MeasurementWithID* pvalue); + +IMPORT_C void asn1Print_OTD_MeasurementWithID + (const char* name, ASN1T_OTD_MeasurementWithID* pvalue); + +IMPORT_C void asn1Free_OTD_MeasurementWithID (OSCTXT *pctxt, ASN1T_OTD_MeasurementWithID* pvalue); + +/**************************************************************/ +/* */ +/* OTD_FirstSetMsrs */ +/* */ +/**************************************************************/ + +#define TV_OTD_FirstSetMsrs (TM_UNIV|TM_CONS|16) + +typedef ASN1T_OTD_MeasurementWithID ASN1T_OTD_FirstSetMsrs; + +IMPORT_C int asn1PE_OTD_FirstSetMsrs (OSCTXT* pctxt, ASN1T_OTD_FirstSetMsrs* pvalue); + +IMPORT_C int asn1PD_OTD_FirstSetMsrs (OSCTXT* pctxt, ASN1T_OTD_FirstSetMsrs* pvalue); + +IMPORT_C void asn1Print_OTD_FirstSetMsrs + (const char* name, ASN1T_OTD_FirstSetMsrs* pvalue); + +IMPORT_C void asn1Free_OTD_FirstSetMsrs (OSCTXT *pctxt, ASN1T_OTD_FirstSetMsrs* pvalue); + +/**************************************************************/ +/* */ +/* SeqOfOTD_FirstSetMsrs */ +/* */ +/**************************************************************/ + +#define TV_SeqOfOTD_FirstSetMsrs (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_OTD_FirstSetMsrs */ +typedef ASN1TSeqOfList ASN1T_SeqOfOTD_FirstSetMsrs; + +class ASN1C_SeqOfOTD_FirstSetMsrs : +public ASN1CSeqOfList +{ +protected: + ASN1T_SeqOfOTD_FirstSetMsrs& msgData; +public: + IMPORT_C ASN1C_SeqOfOTD_FirstSetMsrs (ASN1T_SeqOfOTD_FirstSetMsrs& data); + IMPORT_C ASN1C_SeqOfOTD_FirstSetMsrs (OSRTMessageBufferIF& msgBuf + , ASN1T_SeqOfOTD_FirstSetMsrs& data); + ASN1C_SeqOfOTD_FirstSetMsrs (ASN1CType& ccobj, ASN1T_SeqOfOTD_FirstSetMsrs& data); + IMPORT_C ASN1C_SeqOfOTD_FirstSetMsrs (OSRTContext &context + , ASN1T_SeqOfOTD_FirstSetMsrs& data); + void Append (ASN1T_OTD_FirstSetMsrs* elem); + ASN1T_OTD_FirstSetMsrs* NewElement (); +} ; + +IMPORT_C int asn1PE_SeqOfOTD_FirstSetMsrs (OSCTXT* pctxt, ASN1T_SeqOfOTD_FirstSetMsrs* pvalue); + +IMPORT_C int asn1PD_SeqOfOTD_FirstSetMsrs (OSCTXT* pctxt, ASN1T_SeqOfOTD_FirstSetMsrs* pvalue); + +IMPORT_C void asn1Print_SeqOfOTD_FirstSetMsrs + (const char* name, ASN1T_SeqOfOTD_FirstSetMsrs* pvalue); + +IMPORT_C void asn1Free_SeqOfOTD_FirstSetMsrs (OSCTXT *pctxt, ASN1T_SeqOfOTD_FirstSetMsrs* pvalue); + +/**************************************************************/ +/* */ +/* OTD_MsrElementFirst */ +/* */ +/**************************************************************/ + +#define TV_OTD_MsrElementFirst (TM_UNIV|TM_CONS|16) + +struct ASN1T_OTD_MsrElementFirst { + struct { + unsigned toaMeasurementsOfRefPresent : 1; + unsigned taCorrectionPresent : 1; + unsigned otd_FirstSetMsrsPresent : 1; + } m; + OSUINT16 refFrameNumber; + ASN1T_ModuloTimeSlot referenceTimeSlot; + ASN1T_TOA_MeasurementsOfRef toaMeasurementsOfRef; + ASN1T_StdResolution stdResolution; + OSUINT16 taCorrection; + ASN1T_SeqOfOTD_FirstSetMsrs otd_FirstSetMsrs; + IMPORT_C ASN1T_OTD_MsrElementFirst (); +} ; + +IMPORT_C int asn1PE_OTD_MsrElementFirst (OSCTXT* pctxt, ASN1T_OTD_MsrElementFirst* pvalue); + +IMPORT_C int asn1PD_OTD_MsrElementFirst (OSCTXT* pctxt, ASN1T_OTD_MsrElementFirst* pvalue); + +IMPORT_C void asn1Print_OTD_MsrElementFirst + (const char* name, ASN1T_OTD_MsrElementFirst* pvalue); + +IMPORT_C void asn1Free_OTD_MsrElementFirst (OSCTXT *pctxt, ASN1T_OTD_MsrElementFirst* pvalue); + +/**************************************************************/ +/* */ +/* OTD_Measurement */ +/* */ +/**************************************************************/ + +#define TV_OTD_Measurement (TM_UNIV|TM_CONS|16) + +struct ASN1T_OTD_Measurement { + ASN1T_ModuloTimeSlot nborTimeSlot; + ASN1T_EOTDQuality eotdQuality; + ASN1T_OTDValue otdValue; + IMPORT_C ASN1T_OTD_Measurement (); +} ; + +IMPORT_C int asn1PE_OTD_Measurement (OSCTXT* pctxt, ASN1T_OTD_Measurement* pvalue); + +IMPORT_C int asn1PD_OTD_Measurement (OSCTXT* pctxt, ASN1T_OTD_Measurement* pvalue); + +IMPORT_C void asn1Print_OTD_Measurement + (const char* name, ASN1T_OTD_Measurement* pvalue); + +/**************************************************************/ +/* */ +/* OTD_MsrsOfOtherSets */ +/* */ +/**************************************************************/ + +/* Choice tag constants */ + +#define T_OTD_MsrsOfOtherSets_identityNotPresent 1 +#define T_OTD_MsrsOfOtherSets_identityPresent 2 + +struct ASN1T_OTD_MsrsOfOtherSets { + int t; + union { + /* t = 1 */ + ASN1T_OTD_Measurement *identityNotPresent; + /* t = 2 */ + ASN1T_OTD_MeasurementWithID *identityPresent; + } u; +} ; + +IMPORT_C int asn1PE_OTD_MsrsOfOtherSets (OSCTXT* pctxt, ASN1T_OTD_MsrsOfOtherSets* pvalue); + +IMPORT_C int asn1PD_OTD_MsrsOfOtherSets (OSCTXT* pctxt, ASN1T_OTD_MsrsOfOtherSets* pvalue); + +IMPORT_C void asn1Print_OTD_MsrsOfOtherSets + (const char* name, ASN1T_OTD_MsrsOfOtherSets* pvalue); + +IMPORT_C void asn1Free_OTD_MsrsOfOtherSets (OSCTXT *pctxt, ASN1T_OTD_MsrsOfOtherSets* pvalue); + +/**************************************************************/ +/* */ +/* SeqOfOTD_MsrsOfOtherSets */ +/* */ +/**************************************************************/ + +#define TV_SeqOfOTD_MsrsOfOtherSets (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_OTD_MsrsOfOtherSets */ +typedef ASN1TSeqOfList ASN1T_SeqOfOTD_MsrsOfOtherSets; + +class ASN1C_SeqOfOTD_MsrsOfOtherSets : +public ASN1CSeqOfList +{ +protected: + ASN1T_SeqOfOTD_MsrsOfOtherSets& msgData; +public: + IMPORT_C ASN1C_SeqOfOTD_MsrsOfOtherSets (ASN1T_SeqOfOTD_MsrsOfOtherSets& data); + IMPORT_C ASN1C_SeqOfOTD_MsrsOfOtherSets (OSRTMessageBufferIF& msgBuf + , ASN1T_SeqOfOTD_MsrsOfOtherSets& data); + ASN1C_SeqOfOTD_MsrsOfOtherSets (ASN1CType& ccobj, ASN1T_SeqOfOTD_MsrsOfOtherSets& data); + IMPORT_C ASN1C_SeqOfOTD_MsrsOfOtherSets (OSRTContext &context + , ASN1T_SeqOfOTD_MsrsOfOtherSets& data); + void Append (ASN1T_OTD_MsrsOfOtherSets* elem); + ASN1T_OTD_MsrsOfOtherSets* NewElement (); +} ; + +IMPORT_C int asn1PE_SeqOfOTD_MsrsOfOtherSets (OSCTXT* pctxt, ASN1T_SeqOfOTD_MsrsOfOtherSets* pvalue); + +IMPORT_C int asn1PD_SeqOfOTD_MsrsOfOtherSets (OSCTXT* pctxt, ASN1T_SeqOfOTD_MsrsOfOtherSets* pvalue); + +IMPORT_C void asn1Print_SeqOfOTD_MsrsOfOtherSets + (const char* name, ASN1T_SeqOfOTD_MsrsOfOtherSets* pvalue); + +IMPORT_C void asn1Free_SeqOfOTD_MsrsOfOtherSets (OSCTXT *pctxt, ASN1T_SeqOfOTD_MsrsOfOtherSets* pvalue); + +/**************************************************************/ +/* */ +/* OTD_MsrElementRest */ +/* */ +/**************************************************************/ + +#define TV_OTD_MsrElementRest (TM_UNIV|TM_CONS|16) + +struct ASN1T_OTD_MsrElementRest { + struct { + unsigned toaMeasurementsOfRefPresent : 1; + unsigned taCorrectionPresent : 1; + unsigned otd_MsrsOfOtherSetsPresent : 1; + } m; + OSUINT16 refFrameNumber; + ASN1T_ModuloTimeSlot referenceTimeSlot; + ASN1T_TOA_MeasurementsOfRef toaMeasurementsOfRef; + ASN1T_StdResolution stdResolution; + OSUINT16 taCorrection; + ASN1T_SeqOfOTD_MsrsOfOtherSets otd_MsrsOfOtherSets; + IMPORT_C ASN1T_OTD_MsrElementRest (); +} ; + +IMPORT_C int asn1PE_OTD_MsrElementRest (OSCTXT* pctxt, ASN1T_OTD_MsrElementRest* pvalue); + +IMPORT_C int asn1PD_OTD_MsrElementRest (OSCTXT* pctxt, ASN1T_OTD_MsrElementRest* pvalue); + +IMPORT_C void asn1Print_OTD_MsrElementRest + (const char* name, ASN1T_OTD_MsrElementRest* pvalue); + +IMPORT_C void asn1Free_OTD_MsrElementRest (OSCTXT *pctxt, ASN1T_OTD_MsrElementRest* pvalue); + +/**************************************************************/ +/* */ +/* SeqOfOTD_MsrElementRest */ +/* */ +/**************************************************************/ + +#define TV_SeqOfOTD_MsrElementRest (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_OTD_MsrElementRest */ +typedef ASN1TSeqOfList ASN1T_SeqOfOTD_MsrElementRest; + +class ASN1C_SeqOfOTD_MsrElementRest : +public ASN1CSeqOfList +{ +protected: + ASN1T_SeqOfOTD_MsrElementRest& msgData; +public: + IMPORT_C ASN1C_SeqOfOTD_MsrElementRest (ASN1T_SeqOfOTD_MsrElementRest& data); + IMPORT_C ASN1C_SeqOfOTD_MsrElementRest (OSRTMessageBufferIF& msgBuf + , ASN1T_SeqOfOTD_MsrElementRest& data); + ASN1C_SeqOfOTD_MsrElementRest (ASN1CType& ccobj, ASN1T_SeqOfOTD_MsrElementRest& data); + IMPORT_C ASN1C_SeqOfOTD_MsrElementRest (OSRTContext &context + , ASN1T_SeqOfOTD_MsrElementRest& data); + void Append (ASN1T_OTD_MsrElementRest* elem); + ASN1T_OTD_MsrElementRest* NewElement (); +} ; + +IMPORT_C int asn1PE_SeqOfOTD_MsrElementRest (OSCTXT* pctxt, ASN1T_SeqOfOTD_MsrElementRest* pvalue); + +IMPORT_C int asn1PD_SeqOfOTD_MsrElementRest (OSCTXT* pctxt, ASN1T_SeqOfOTD_MsrElementRest* pvalue); + +IMPORT_C void asn1Print_SeqOfOTD_MsrElementRest + (const char* name, ASN1T_SeqOfOTD_MsrElementRest* pvalue); + +IMPORT_C void asn1Free_SeqOfOTD_MsrElementRest (OSCTXT *pctxt, ASN1T_SeqOfOTD_MsrElementRest* pvalue); + +/**************************************************************/ +/* */ +/* OTD_MeasureInfo */ +/* */ +/**************************************************************/ + +#define TV_OTD_MeasureInfo (TM_UNIV|TM_CONS|16) + +struct ASN1T_OTD_MeasureInfo { + struct { + unsigned otdMsrRestSetsPresent : 1; + } m; + ASN1T_OTD_MsrElementFirst otdMsrFirstSets; + ASN1T_SeqOfOTD_MsrElementRest otdMsrRestSets; + IMPORT_C ASN1T_OTD_MeasureInfo (); +} ; + +IMPORT_C int asn1PE_OTD_MeasureInfo (OSCTXT* pctxt, ASN1T_OTD_MeasureInfo* pvalue); + +IMPORT_C int asn1PD_OTD_MeasureInfo (OSCTXT* pctxt, ASN1T_OTD_MeasureInfo* pvalue); + +IMPORT_C void asn1Print_OTD_MeasureInfo + (const char* name, ASN1T_OTD_MeasureInfo* pvalue); + +IMPORT_C void asn1Free_OTD_MeasureInfo (OSCTXT *pctxt, ASN1T_OTD_MeasureInfo* pvalue); + +/**************************************************************/ +/* */ +/* FixType */ +/* */ +/**************************************************************/ + +#define TV_FixType (TM_UNIV|TM_PRIM|2) + +struct FixType { + enum Root { + twoDFix = 0, + threeDFix = 1 + } ; +} ; + +typedef OSUINT8 ASN1T_FixType; + +IMPORT_C int asn1PE_FixType (OSCTXT* pctxt, ASN1T_FixType value); + +IMPORT_C int asn1PD_FixType (OSCTXT* pctxt, ASN1T_FixType* pvalue); + +IMPORT_C void asn1Print_FixType + (const char* name, ASN1T_FixType* pvalue); + +/**************************************************************/ +/* */ +/* LocationInfo */ +/* */ +/**************************************************************/ + +#define TV_LocationInfo (TM_UNIV|TM_CONS|16) + +struct ASN1T_LocationInfo { + struct { + unsigned gpsTOWPresent : 1; + } m; + OSUINT16 refFrame; + OSUINT32 gpsTOW; + ASN1T_FixType fixType; + ASN1T_Ext_GeographicalInformation posEstimate; + IMPORT_C ASN1T_LocationInfo (); +} ; + +IMPORT_C int asn1PE_LocationInfo (OSCTXT* pctxt, ASN1T_LocationInfo* pvalue); + +IMPORT_C int asn1PD_LocationInfo (OSCTXT* pctxt, ASN1T_LocationInfo* pvalue); + +IMPORT_C void asn1Print_LocationInfo + (const char* name, ASN1T_LocationInfo* pvalue); + +/**************************************************************/ +/* */ +/* GPSTOW24b */ +/* */ +/**************************************************************/ + +#define TV_GPSTOW24b (TM_UNIV|TM_PRIM|2) + +typedef OSUINT32 ASN1T_GPSTOW24b; + +IMPORT_C int asn1PE_GPSTOW24b (OSCTXT* pctxt, ASN1T_GPSTOW24b value); + +IMPORT_C int asn1PD_GPSTOW24b (OSCTXT* pctxt, ASN1T_GPSTOW24b* pvalue); + +IMPORT_C void asn1Print_GPSTOW24b + (const char* name, ASN1T_GPSTOW24b* pvalue); + +/**************************************************************/ +/* */ +/* MpathIndic */ +/* */ +/**************************************************************/ + +#define TV_MpathIndic (TM_UNIV|TM_PRIM|10) + +struct MpathIndic { + enum Root { + notMeasured = 0, + low = 1, + medium = 2, + high = 3 + } ; +} ; + +typedef OSUINT32 ASN1T_MpathIndic; + +IMPORT_C int asn1PE_MpathIndic (OSCTXT* pctxt, ASN1T_MpathIndic value); + +IMPORT_C int asn1PD_MpathIndic (OSCTXT* pctxt, ASN1T_MpathIndic* pvalue); + +IMPORT_C void asn1Print_MpathIndic + (const char* name, ASN1T_MpathIndic* pvalue); + +IMPORT_C const OSUTF8CHAR* ASN1T_MpathIndic_ToString (OSINT32 value); + +IMPORT_C int ASN1T_MpathIndic_ToEnum (OSCTXT* pctxt, + const OSUTF8CHAR* value, ASN1T_MpathIndic* pvalue); + +/**************************************************************/ +/* */ +/* GPS_MsrElement */ +/* */ +/**************************************************************/ + +#define TV_GPS_MsrElement (TM_UNIV|TM_CONS|16) + +struct ASN1T_GPS_MsrElement { + ASN1T_SatelliteID satelliteID; + OSUINT8 cNo; + OSINT16 doppler; + OSUINT16 wholeChips; + OSUINT16 fracChips; + ASN1T_MpathIndic mpathIndic; + OSUINT8 pseuRangeRMSErr; + IMPORT_C ASN1T_GPS_MsrElement (); +} ; + +IMPORT_C int asn1PE_GPS_MsrElement (OSCTXT* pctxt, ASN1T_GPS_MsrElement* pvalue); + +IMPORT_C int asn1PD_GPS_MsrElement (OSCTXT* pctxt, ASN1T_GPS_MsrElement* pvalue); + +IMPORT_C void asn1Print_GPS_MsrElement + (const char* name, ASN1T_GPS_MsrElement* pvalue); + +/**************************************************************/ +/* */ +/* SeqOfGPS_MsrElement */ +/* */ +/**************************************************************/ + +#define TV_SeqOfGPS_MsrElement (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_GPS_MsrElement */ +typedef ASN1TSeqOfList ASN1T_SeqOfGPS_MsrElement; + +class ASN1C_SeqOfGPS_MsrElement : +public ASN1CSeqOfList +{ +protected: + ASN1T_SeqOfGPS_MsrElement& msgData; +public: + IMPORT_C ASN1C_SeqOfGPS_MsrElement (ASN1T_SeqOfGPS_MsrElement& data); + IMPORT_C ASN1C_SeqOfGPS_MsrElement (OSRTMessageBufferIF& msgBuf + , ASN1T_SeqOfGPS_MsrElement& data); + IMPORT_C ASN1C_SeqOfGPS_MsrElement (ASN1CType& ccobj, ASN1T_SeqOfGPS_MsrElement& data); + IMPORT_C ASN1C_SeqOfGPS_MsrElement (OSRTContext &context + , ASN1T_SeqOfGPS_MsrElement& data); + IMPORT_C void Append (ASN1T_GPS_MsrElement* elem); + IMPORT_C ASN1T_GPS_MsrElement* NewElement (); +} ; + +IMPORT_C int asn1PE_SeqOfGPS_MsrElement (OSCTXT* pctxt, ASN1T_SeqOfGPS_MsrElement* pvalue); + +IMPORT_C int asn1PD_SeqOfGPS_MsrElement (OSCTXT* pctxt, ASN1T_SeqOfGPS_MsrElement* pvalue); + +IMPORT_C void asn1Print_SeqOfGPS_MsrElement + (const char* name, ASN1T_SeqOfGPS_MsrElement* pvalue); + +IMPORT_C void asn1Free_SeqOfGPS_MsrElement (OSCTXT *pctxt, ASN1T_SeqOfGPS_MsrElement* pvalue); + +/**************************************************************/ +/* */ +/* GPS_MsrSetElement */ +/* */ +/**************************************************************/ + +#define TV_GPS_MsrSetElement (TM_UNIV|TM_CONS|16) + +struct ASN1T_GPS_MsrSetElement { + struct { + unsigned refFramePresent : 1; + } m; + OSUINT16 refFrame; + ASN1T_GPSTOW24b gpsTOW; + ASN1T_SeqOfGPS_MsrElement gps_msrList; + IMPORT_C ASN1T_GPS_MsrSetElement (); +} ; + +IMPORT_C int asn1PE_GPS_MsrSetElement (OSCTXT* pctxt, ASN1T_GPS_MsrSetElement* pvalue); + +IMPORT_C int asn1PD_GPS_MsrSetElement (OSCTXT* pctxt, ASN1T_GPS_MsrSetElement* pvalue); + +IMPORT_C void asn1Print_GPS_MsrSetElement + (const char* name, ASN1T_GPS_MsrSetElement* pvalue); + +IMPORT_C void asn1Free_GPS_MsrSetElement (OSCTXT *pctxt, ASN1T_GPS_MsrSetElement* pvalue); + +/**************************************************************/ +/* */ +/* SeqOfGPS_MsrSetElement */ +/* */ +/**************************************************************/ + +#define TV_SeqOfGPS_MsrSetElement (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_GPS_MsrSetElement */ +typedef ASN1TSeqOfList ASN1T_SeqOfGPS_MsrSetElement; + +class ASN1C_SeqOfGPS_MsrSetElement : +public ASN1CSeqOfList +{ +protected: + ASN1T_SeqOfGPS_MsrSetElement& msgData; +public: + IMPORT_C ASN1C_SeqOfGPS_MsrSetElement (ASN1T_SeqOfGPS_MsrSetElement& data); + IMPORT_C ASN1C_SeqOfGPS_MsrSetElement (OSRTMessageBufferIF& msgBuf + , ASN1T_SeqOfGPS_MsrSetElement& data); + IMPORT_C ASN1C_SeqOfGPS_MsrSetElement (ASN1CType& ccobj, ASN1T_SeqOfGPS_MsrSetElement& data); + IMPORT_C ASN1C_SeqOfGPS_MsrSetElement (OSRTContext &context + , ASN1T_SeqOfGPS_MsrSetElement& data); + IMPORT_C void Append (ASN1T_GPS_MsrSetElement* elem); + IMPORT_C ASN1T_GPS_MsrSetElement* NewElement (); +} ; + +IMPORT_C int asn1PE_SeqOfGPS_MsrSetElement (OSCTXT* pctxt, ASN1T_SeqOfGPS_MsrSetElement* pvalue); + +IMPORT_C int asn1PD_SeqOfGPS_MsrSetElement (OSCTXT* pctxt, ASN1T_SeqOfGPS_MsrSetElement* pvalue); + +IMPORT_C void asn1Print_SeqOfGPS_MsrSetElement + (const char* name, ASN1T_SeqOfGPS_MsrSetElement* pvalue); + +IMPORT_C void asn1Free_SeqOfGPS_MsrSetElement (OSCTXT *pctxt, ASN1T_SeqOfGPS_MsrSetElement* pvalue); + +/**************************************************************/ +/* */ +/* GPS_MeasureInfo */ +/* */ +/**************************************************************/ + +#define TV_GPS_MeasureInfo (TM_UNIV|TM_CONS|16) + +struct ASN1T_GPS_MeasureInfo { + ASN1T_SeqOfGPS_MsrSetElement gpsMsrSetList; + IMPORT_C ASN1T_GPS_MeasureInfo (); +} ; + +IMPORT_C int asn1PE_GPS_MeasureInfo (OSCTXT* pctxt, ASN1T_GPS_MeasureInfo* pvalue); + +IMPORT_C int asn1PD_GPS_MeasureInfo (OSCTXT* pctxt, ASN1T_GPS_MeasureInfo* pvalue); + +IMPORT_C void asn1Print_GPS_MeasureInfo + (const char* name, ASN1T_GPS_MeasureInfo* pvalue); + +IMPORT_C void asn1Free_GPS_MeasureInfo (OSCTXT *pctxt, ASN1T_GPS_MeasureInfo* pvalue); + +/**************************************************************/ +/* */ +/* LocErrorReason */ +/* */ +/**************************************************************/ + +#define TV_LocErrorReason (TM_UNIV|TM_PRIM|10) + +struct LocErrorReason { + enum Root { + unDefined = 0, + notEnoughBTSs = 1, + notEnoughSats = 2, + eotdLocCalAssDataMissing = 3, + eotdAssDataMissing = 4, + gpsLocCalAssDataMissing = 5, + gpsAssDataMissing = 6, + methodNotSupported = 7, + notProcessed = 8, + refBTSForGPSNotServingBTS = 9, + refBTSForEOTDNotServingBTS = 10 + } ; +} ; + +typedef OSUINT32 ASN1T_LocErrorReason; + +IMPORT_C int asn1PE_LocErrorReason (OSCTXT* pctxt, ASN1T_LocErrorReason value); + +IMPORT_C int asn1PD_LocErrorReason (OSCTXT* pctxt, ASN1T_LocErrorReason* pvalue); + +IMPORT_C void asn1Print_LocErrorReason + (const char* name, ASN1T_LocErrorReason* pvalue); + +IMPORT_C const OSUTF8CHAR* ASN1T_LocErrorReason_ToString (OSINT32 value); + +IMPORT_C int ASN1T_LocErrorReason_ToEnum (OSCTXT* pctxt, + const OSUTF8CHAR* value, ASN1T_LocErrorReason* pvalue); + +/**************************************************************/ +/* */ +/* GPSAssistanceData */ +/* */ +/**************************************************************/ + +#define TV_GPSAssistanceData (TM_UNIV|TM_PRIM|4) + +struct ASN1T_GPSAssistanceData { + OSUINT32 numocts; + OSOCTET data[40]; + // ctors + ASN1T_GPSAssistanceData () : numocts(0) {} + ASN1T_GPSAssistanceData (OSUINT32 _numocts, const OSOCTET* _data) : + numocts (_numocts) { + OSCRTLMEMCPY (data, _data, OSRTMIN (numocts, sizeof(data))); + } + ASN1T_GPSAssistanceData (const char* cstring) { + if (strlen(cstring) > 0) { + numocts = OSRTMIN ((OSCRTLSTRLEN(cstring)+1), sizeof(data)); + OSCRTLSTRNCPY ((char*)data, cstring, sizeof(data)); + } + else numocts = 0; + } + // assignment operators + ASN1T_GPSAssistanceData& operator= (const char* cstring) { + if (strlen(cstring) > 0) { + numocts = OSRTMIN ((OSCRTLSTRLEN(cstring)+1), sizeof(data)); + OSCRTLSTRNCPY ((char*)data, cstring, sizeof(data)); + } + else numocts = 0; + return *this; + } +} ; + +IMPORT_C int asn1PE_GPSAssistanceData (OSCTXT* pctxt, ASN1T_GPSAssistanceData* pvalue); + +IMPORT_C int asn1PD_GPSAssistanceData (OSCTXT* pctxt, ASN1T_GPSAssistanceData* pvalue); + +IMPORT_C void asn1Print_GPSAssistanceData + (const char* name, ASN1T_GPSAssistanceData* pvalue); + +/**************************************************************/ +/* */ +/* AdditionalAssistanceData */ +/* */ +/**************************************************************/ + +#define TV_AdditionalAssistanceData (TM_UNIV|TM_CONS|16) + +struct ASN1T_AdditionalAssistanceData { + struct { + unsigned gpsAssistanceDataPresent : 1; + unsigned extensionContainerPresent : 1; + } m; + ASN1T_GPSAssistanceData gpsAssistanceData; + ASN1T_ExtensionContainer extensionContainer; + IMPORT_C ASN1T_AdditionalAssistanceData (); +} ; + +IMPORT_C int asn1PE_AdditionalAssistanceData (OSCTXT* pctxt, ASN1T_AdditionalAssistanceData* pvalue); + +IMPORT_C int asn1PD_AdditionalAssistanceData (OSCTXT* pctxt, ASN1T_AdditionalAssistanceData* pvalue); + +IMPORT_C void asn1Print_AdditionalAssistanceData + (const char* name, ASN1T_AdditionalAssistanceData* pvalue); + +IMPORT_C void asn1Free_AdditionalAssistanceData (OSCTXT *pctxt, ASN1T_AdditionalAssistanceData* pvalue); + +/**************************************************************/ +/* */ +/* LocationError */ +/* */ +/**************************************************************/ + +#define TV_LocationError (TM_UNIV|TM_CONS|16) + +struct ASN1T_LocationError { + struct { + unsigned additionalAssistanceDataPresent : 1; + } m; + ASN1T_LocErrorReason locErrorReason; + ASN1T_AdditionalAssistanceData additionalAssistanceData; + IMPORT_C ASN1T_LocationError (); +} ; + +IMPORT_C int asn1PE_LocationError (OSCTXT* pctxt, ASN1T_LocationError* pvalue); + +IMPORT_C int asn1PD_LocationError (OSCTXT* pctxt, ASN1T_LocationError* pvalue); + +IMPORT_C void asn1Print_LocationError + (const char* name, ASN1T_LocationError* pvalue); + +IMPORT_C void asn1Free_LocationError (OSCTXT *pctxt, ASN1T_LocationError* pvalue); + +/**************************************************************/ +/* */ +/* SeqOfOTD_FirstSetMsrs_R98_Ext */ +/* */ +/**************************************************************/ + +#define TV_SeqOfOTD_FirstSetMsrs_R98_Ext (TM_UNIV|TM_CONS|16) + +/* List of ASN1T_OTD_FirstSetMsrs */ +typedef ASN1TSeqOfList ASN1T_SeqOfOTD_FirstSetMsrs_R98_Ext; + +class ASN1C_SeqOfOTD_FirstSetMsrs_R98_Ext : +public ASN1CSeqOfList +{ +protected: + ASN1T_SeqOfOTD_FirstSetMsrs_R98_Ext& msgData; +public: + IMPORT_C ASN1C_SeqOfOTD_FirstSetMsrs_R98_Ext + (ASN1T_SeqOfOTD_FirstSetMsrs_R98_Ext& data); + IMPORT_C ASN1C_SeqOfOTD_FirstSetMsrs_R98_Ext (OSRTMessageBufferIF& msgBuf + , ASN1T_SeqOfOTD_FirstSetMsrs_R98_Ext& data); + ASN1C_SeqOfOTD_FirstSetMsrs_R98_Ext (ASN1CType& ccobj, ASN1T_SeqOfOTD_FirstSetMsrs_R98_Ext& data); + IMPORT_C ASN1C_SeqOfOTD_FirstSetMsrs_R98_Ext (OSRTContext &context + , ASN1T_SeqOfOTD_FirstSetMsrs_R98_Ext& data); + void Append (ASN1T_OTD_FirstSetMsrs* elem); + ASN1T_OTD_FirstSetMsrs* NewElement (); +} ; + +IMPORT_C int asn1PE_SeqOfOTD_FirstSetMsrs_R98_Ext (OSCTXT* pctxt, ASN1T_SeqOfOTD_FirstSetMsrs_R98_Ext* pvalue); + +IMPORT_C int asn1PD_SeqOfOTD_FirstSetMsrs_R98_Ext (OSCTXT* pctxt, ASN1T_SeqOfOTD_FirstSetMsrs_R98_Ext* pvalue); + +IMPORT_C void asn1Print_SeqOfOTD_FirstSetMsrs_R98_Ext + (const char* name, ASN1T_SeqOfOTD_FirstSetMsrs_R98_Ext* pvalue); + +IMPORT_C void asn1Free_SeqOfOTD_FirstSetMsrs_R98_Ext (OSCTXT *pctxt, ASN1T_SeqOfOTD_FirstSetMsrs_R98_Ext* pvalue); + +/**************************************************************/ +/* */ +/* OTD_MsrElementFirst_R98_Ext */ +/* */ +/**************************************************************/ + +#define TV_OTD_MsrElementFirst_R98_Ext (TM_UNIV|TM_CONS|16) + +struct ASN1T_OTD_MsrElementFirst_R98_Ext { + struct { + unsigned otd_FirstSetMsrs_R98_ExtPresent : 1; + } m; + ASN1T_SeqOfOTD_FirstSetMsrs_R98_Ext otd_FirstSetMsrs_R98_Ext; + IMPORT_C ASN1T_OTD_MsrElementFirst_R98_Ext (); +} ; + +IMPORT_C int asn1PE_OTD_MsrElementFirst_R98_Ext (OSCTXT* pctxt, ASN1T_OTD_MsrElementFirst_R98_Ext* pvalue); + +IMPORT_C int asn1PD_OTD_MsrElementFirst_R98_Ext (OSCTXT* pctxt, ASN1T_OTD_MsrElementFirst_R98_Ext* pvalue); + +IMPORT_C void asn1Print_OTD_MsrElementFirst_R98_Ext + (const char* name, ASN1T_OTD_MsrElementFirst_R98_Ext* pvalue); + +IMPORT_C void asn1Free_OTD_MsrElementFirst_R98_Ext (OSCTXT *pctxt, ASN1T_OTD_MsrElementFirst_R98_Ext* pvalue); + +/**************************************************************/ +/* */ +/* OTD_MeasureInfo_R98_Ext */ +/* */ +/**************************************************************/ + +#define TV_OTD_MeasureInfo_R98_Ext (TM_UNIV|TM_CONS|16) + +struct ASN1T_OTD_MeasureInfo_R98_Ext { + ASN1T_OTD_MsrElementFirst_R98_Ext otdMsrFirstSets_R98_Ext; + IMPORT_C ASN1T_OTD_MeasureInfo_R98_Ext (); +} ; + +IMPORT_C int asn1PE_OTD_MeasureInfo_R98_Ext (OSCTXT* pctxt, ASN1T_OTD_MeasureInfo_R98_Ext* pvalue); + +IMPORT_C int asn1PD_OTD_MeasureInfo_R98_Ext (OSCTXT* pctxt, ASN1T_OTD_MeasureInfo_R98_Ext* pvalue); + +IMPORT_C void asn1Print_OTD_MeasureInfo_R98_Ext + (const char* name, ASN1T_OTD_MeasureInfo_R98_Ext* pvalue); + +IMPORT_C void asn1Free_OTD_MeasureInfo_R98_Ext (OSCTXT *pctxt, ASN1T_OTD_MeasureInfo_R98_Ext* pvalue); + +/**************************************************************/ +/* */ +/* Rel_98_MsrPosition_Rsp_Extension_rel_98_Ext_MeasureInfo */ +/* */ +/**************************************************************/ + +#define TV_Rel_98_MsrPosition_Rsp_Extension_rel_98_Ext_MeasureInfo (TM_UNIV|TM_CONS|16) + +struct ASN1T_Rel_98_MsrPosition_Rsp_Extension_rel_98_Ext_MeasureInfo { + struct { + unsigned otd_MeasureInfo_R98_ExtPresent : 1; + } m; + ASN1T_OTD_MeasureInfo_R98_Ext otd_MeasureInfo_R98_Ext; + IMPORT_C ASN1T_Rel_98_MsrPosition_Rsp_Extension_rel_98_Ext_MeasureInfo (); +} ; + +IMPORT_C int asn1PE_Rel_98_MsrPosition_Rsp_Extension_rel_98_Ext_MeasureInfo (OSCTXT* pctxt, ASN1T_Rel_98_MsrPosition_Rsp_Extension_rel_98_Ext_MeasureInfo* pvalue); + +IMPORT_C int asn1PD_Rel_98_MsrPosition_Rsp_Extension_rel_98_Ext_MeasureInfo (OSCTXT* pctxt, ASN1T_Rel_98_MsrPosition_Rsp_Extension_rel_98_Ext_MeasureInfo* pvalue); + +IMPORT_C void asn1Print_Rel_98_MsrPosition_Rsp_Extension_rel_98_Ext_MeasureInfo + (const char* name, ASN1T_Rel_98_MsrPosition_Rsp_Extension_rel_98_Ext_MeasureInfo* pvalue); + +IMPORT_C void asn1Free_Rel_98_MsrPosition_Rsp_Extension_rel_98_Ext_MeasureInfo (OSCTXT *pctxt, ASN1T_Rel_98_MsrPosition_Rsp_Extension_rel_98_Ext_MeasureInfo* pvalue); + +/**************************************************************/ +/* */ +/* GPSTimeAssistanceMeasurements */ +/* */ +/**************************************************************/ + +#define TV_GPSTimeAssistanceMeasurements (TM_UNIV|TM_CONS|16) + +struct ASN1T_GPSTimeAssistanceMeasurements { + struct { + unsigned gpsTowSubmsPresent : 1; + unsigned deltaTowPresent : 1; + unsigned gpsReferenceTimeUncertaintyPresent : 1; + } m; + OSUINT8 referenceFrameMSB; + OSUINT16 gpsTowSubms; + OSUINT8 deltaTow; + ASN1T_GPSReferenceTimeUncertainty gpsReferenceTimeUncertainty; + IMPORT_C ASN1T_GPSTimeAssistanceMeasurements (); +} ; + +IMPORT_C int asn1PE_GPSTimeAssistanceMeasurements (OSCTXT* pctxt, ASN1T_GPSTimeAssistanceMeasurements* pvalue); + +IMPORT_C int asn1PD_GPSTimeAssistanceMeasurements (OSCTXT* pctxt, ASN1T_GPSTimeAssistanceMeasurements* pvalue); + +IMPORT_C void asn1Print_GPSTimeAssistanceMeasurements + (const char* name, ASN1T_GPSTimeAssistanceMeasurements* pvalue); + +/**************************************************************/ +/* */ +/* Rel_98_MsrPosition_Rsp_Extension */ +/* */ +/**************************************************************/ + +#define TV_Rel_98_MsrPosition_Rsp_Extension (TM_UNIV|TM_CONS|16) + +struct ASN1T_Rel_98_MsrPosition_Rsp_Extension { + struct { + unsigned timeAssistanceMeasurementsPresent : 1; + } m; + ASN1T_Rel_98_MsrPosition_Rsp_Extension_rel_98_Ext_MeasureInfo rel_98_Ext_MeasureInfo; + ASN1T_GPSTimeAssistanceMeasurements timeAssistanceMeasurements; + IMPORT_C ASN1T_Rel_98_MsrPosition_Rsp_Extension (); +} ; + +IMPORT_C int asn1PE_Rel_98_MsrPosition_Rsp_Extension (OSCTXT* pctxt, ASN1T_Rel_98_MsrPosition_Rsp_Extension* pvalue); + +IMPORT_C int asn1PD_Rel_98_MsrPosition_Rsp_Extension (OSCTXT* pctxt, ASN1T_Rel_98_MsrPosition_Rsp_Extension* pvalue); + +IMPORT_C void asn1Print_Rel_98_MsrPosition_Rsp_Extension + (const char* name, ASN1T_Rel_98_MsrPosition_Rsp_Extension* pvalue); + +IMPORT_C void asn1Free_Rel_98_MsrPosition_Rsp_Extension (OSCTXT *pctxt, ASN1T_Rel_98_MsrPosition_Rsp_Extension* pvalue); + +/**************************************************************/ +/* */ +/* OTD_MeasureInfo_5_Ext */ +/* */ +/**************************************************************/ + +#define TV_OTD_MeasureInfo_5_Ext (TM_UNIV|TM_CONS|16) + +typedef ASN1T_SeqOfOTD_MsrElementRest ASN1T_OTD_MeasureInfo_5_Ext; + +IMPORT_C int asn1PE_OTD_MeasureInfo_5_Ext (OSCTXT* pctxt, ASN1T_OTD_MeasureInfo_5_Ext* pvalue); + +IMPORT_C int asn1PD_OTD_MeasureInfo_5_Ext (OSCTXT* pctxt, ASN1T_OTD_MeasureInfo_5_Ext* pvalue); + +IMPORT_C void asn1Print_OTD_MeasureInfo_5_Ext + (const char* name, ASN1T_OTD_MeasureInfo_5_Ext* pvalue); + +IMPORT_C void asn1Free_OTD_MeasureInfo_5_Ext (OSCTXT *pctxt, ASN1T_OTD_MeasureInfo_5_Ext* pvalue); + +/**************************************************************/ +/* */ +/* UlPseudoSegInd */ +/* */ +/**************************************************************/ + +#define TV_UlPseudoSegInd (TM_UNIV|TM_PRIM|10) + +struct UlPseudoSegInd { + enum Root { + firstOfMany = 0, + secondOfMany = 1 + } ; +} ; + +typedef OSUINT32 ASN1T_UlPseudoSegInd; + +IMPORT_C int asn1PE_UlPseudoSegInd (OSCTXT* pctxt, ASN1T_UlPseudoSegInd value); + +IMPORT_C int asn1PD_UlPseudoSegInd (OSCTXT* pctxt, ASN1T_UlPseudoSegInd* pvalue); + +IMPORT_C void asn1Print_UlPseudoSegInd + (const char* name, ASN1T_UlPseudoSegInd* pvalue); + +IMPORT_C const OSUTF8CHAR* ASN1T_UlPseudoSegInd_ToString (OSINT32 value); + +IMPORT_C int ASN1T_UlPseudoSegInd_ToEnum (OSCTXT* pctxt, + const OSUTF8CHAR* value, ASN1T_UlPseudoSegInd* pvalue); + +/**************************************************************/ +/* */ +/* Rel_5_MsrPosition_Rsp_Extension */ +/* */ +/**************************************************************/ + +#define TV_Rel_5_MsrPosition_Rsp_Extension (TM_UNIV|TM_CONS|16) + +struct ASN1T_Rel_5_MsrPosition_Rsp_Extension { + struct { + unsigned extended_referencePresent : 1; + unsigned otd_MeasureInfo_5_ExtPresent : 1; + unsigned ulPseudoSegIndPresent : 1; + } m; + ASN1T_Extended_reference extended_reference; + ASN1T_OTD_MeasureInfo_5_Ext otd_MeasureInfo_5_Ext; + ASN1T_UlPseudoSegInd ulPseudoSegInd; + IMPORT_C ASN1T_Rel_5_MsrPosition_Rsp_Extension (); +} ; + +IMPORT_C int asn1PE_Rel_5_MsrPosition_Rsp_Extension (OSCTXT* pctxt, ASN1T_Rel_5_MsrPosition_Rsp_Extension* pvalue); + +IMPORT_C int asn1PD_Rel_5_MsrPosition_Rsp_Extension (OSCTXT* pctxt, ASN1T_Rel_5_MsrPosition_Rsp_Extension* pvalue); + +IMPORT_C void asn1Print_Rel_5_MsrPosition_Rsp_Extension + (const char* name, ASN1T_Rel_5_MsrPosition_Rsp_Extension* pvalue); + +IMPORT_C void asn1Free_Rel_5_MsrPosition_Rsp_Extension (OSCTXT *pctxt, ASN1T_Rel_5_MsrPosition_Rsp_Extension* pvalue); + +/**************************************************************/ +/* */ +/* MsrPosition_Rsp */ +/* */ +/**************************************************************/ + +#define TV_MsrPosition_Rsp (TM_UNIV|TM_CONS|16) + +struct ASN1T_MsrPosition_Rsp { + struct { + unsigned multipleSetsPresent : 1; + unsigned referenceIdentityPresent : 1; + unsigned otd_MeasureInfoPresent : 1; + unsigned locationInfoPresent : 1; + unsigned gps_MeasureInfoPresent : 1; + unsigned locationErrorPresent : 1; + unsigned extensionContainerPresent : 1; + unsigned rel_98_MsrPosition_Rsp_ExtensionPresent : 1; + unsigned rel_5_MsrPosition_Rsp_ExtensionPresent : 1; + } m; + ASN1T_MultipleSets multipleSets; + ASN1T_ReferenceIdentity referenceIdentity; + ASN1T_OTD_MeasureInfo otd_MeasureInfo; + ASN1T_LocationInfo locationInfo; + ASN1T_GPS_MeasureInfo gps_MeasureInfo; + ASN1T_LocationError locationError; + ASN1T_ExtensionContainer extensionContainer; + ASN1T_Rel_98_MsrPosition_Rsp_Extension rel_98_MsrPosition_Rsp_Extension; + ASN1T_Rel_5_MsrPosition_Rsp_Extension rel_5_MsrPosition_Rsp_Extension; + IMPORT_C ASN1T_MsrPosition_Rsp (); +} ; + +IMPORT_C int asn1PE_MsrPosition_Rsp (OSCTXT* pctxt, ASN1T_MsrPosition_Rsp* pvalue); + +IMPORT_C int asn1PD_MsrPosition_Rsp (OSCTXT* pctxt, ASN1T_MsrPosition_Rsp* pvalue); + +IMPORT_C void asn1Print_MsrPosition_Rsp + (const char* name, ASN1T_MsrPosition_Rsp* pvalue); + +IMPORT_C void asn1Free_MsrPosition_Rsp (OSCTXT *pctxt, ASN1T_MsrPosition_Rsp* pvalue); + +/**************************************************************/ +/* */ +/* MoreAssDataToBeSent */ +/* */ +/**************************************************************/ + +#define TV_MoreAssDataToBeSent (TM_UNIV|TM_PRIM|10) + +struct MoreAssDataToBeSent { + enum Root { + noMoreMessages = 0, + moreMessagesOnTheWay = 1 + } ; +} ; + +typedef OSUINT32 ASN1T_MoreAssDataToBeSent; + +IMPORT_C int asn1PE_MoreAssDataToBeSent (OSCTXT* pctxt, ASN1T_MoreAssDataToBeSent value); + +IMPORT_C int asn1PD_MoreAssDataToBeSent (OSCTXT* pctxt, ASN1T_MoreAssDataToBeSent* pvalue); + +IMPORT_C void asn1Print_MoreAssDataToBeSent + (const char* name, ASN1T_MoreAssDataToBeSent* pvalue); + +IMPORT_C const OSUTF8CHAR* ASN1T_MoreAssDataToBeSent_ToString (OSINT32 value); + +IMPORT_C int ASN1T_MoreAssDataToBeSent_ToEnum (OSCTXT* pctxt, + const OSUTF8CHAR* value, ASN1T_MoreAssDataToBeSent* pvalue); + +/**************************************************************/ +/* */ +/* Rel98_AssistanceData_Extension */ +/* */ +/**************************************************************/ + +#define TV_Rel98_AssistanceData_Extension (TM_UNIV|TM_CONS|16) + +struct ASN1T_Rel98_AssistanceData_Extension { + struct { + unsigned rel98_Ext_ExpOTDPresent : 1; + unsigned gpsTimeAssistanceMeasurementRequestPresent : 1; + unsigned gpsReferenceTimeUncertaintyPresent : 1; + } m; + ASN1T_Rel98_Ext_ExpOTD rel98_Ext_ExpOTD; + ASN1T_GPSReferenceTimeUncertainty gpsReferenceTimeUncertainty; + IMPORT_C ASN1T_Rel98_AssistanceData_Extension (); +} ; + +IMPORT_C int asn1PE_Rel98_AssistanceData_Extension (OSCTXT* pctxt, ASN1T_Rel98_AssistanceData_Extension* pvalue); + +IMPORT_C int asn1PD_Rel98_AssistanceData_Extension (OSCTXT* pctxt, ASN1T_Rel98_AssistanceData_Extension* pvalue); + +IMPORT_C void asn1Print_Rel98_AssistanceData_Extension + (const char* name, ASN1T_Rel98_AssistanceData_Extension* pvalue); + +IMPORT_C void asn1Free_Rel98_AssistanceData_Extension (OSCTXT *pctxt, ASN1T_Rel98_AssistanceData_Extension* pvalue); + +/**************************************************************/ +/* */ +/* Rel5_AssistanceData_Extension */ +/* */ +/**************************************************************/ + +#define TV_Rel5_AssistanceData_Extension (TM_UNIV|TM_CONS|16) + +struct ASN1T_Rel5_AssistanceData_Extension { + ASN1T_Extended_reference extended_reference; + IMPORT_C ASN1T_Rel5_AssistanceData_Extension (); +} ; + +IMPORT_C int asn1PE_Rel5_AssistanceData_Extension (OSCTXT* pctxt, ASN1T_Rel5_AssistanceData_Extension* pvalue); + +IMPORT_C int asn1PD_Rel5_AssistanceData_Extension (OSCTXT* pctxt, ASN1T_Rel5_AssistanceData_Extension* pvalue); + +IMPORT_C void asn1Print_Rel5_AssistanceData_Extension + (const char* name, ASN1T_Rel5_AssistanceData_Extension* pvalue); + +/**************************************************************/ +/* */ +/* AssistanceData */ +/* */ +/**************************************************************/ + +#define TV_AssistanceData (TM_UNIV|TM_CONS|16) + +struct ASN1T_AssistanceData { + struct { + unsigned referenceAssistDataPresent : 1; + unsigned msrAssistDataPresent : 1; + unsigned systemInfoAssistDataPresent : 1; + unsigned gps_AssistDataPresent : 1; + unsigned moreAssDataToBeSentPresent : 1; + unsigned extensionContainerPresent : 1; + unsigned rel98_AssistanceData_ExtensionPresent : 1; + unsigned rel5_AssistanceData_ExtensionPresent : 1; + } m; + ASN1T_ReferenceAssistData referenceAssistData; + ASN1T_MsrAssistData msrAssistData; + ASN1T_SystemInfoAssistData systemInfoAssistData; + ASN1T_GPS_AssistData gps_AssistData; + ASN1T_MoreAssDataToBeSent moreAssDataToBeSent; + ASN1T_ExtensionContainer extensionContainer; + ASN1T_Rel98_AssistanceData_Extension rel98_AssistanceData_Extension; + ASN1T_Rel5_AssistanceData_Extension rel5_AssistanceData_Extension; + IMPORT_C ASN1T_AssistanceData (); +} ; + +IMPORT_C int asn1PE_AssistanceData (OSCTXT* pctxt, ASN1T_AssistanceData* pvalue); + +IMPORT_C int asn1PD_AssistanceData (OSCTXT* pctxt, ASN1T_AssistanceData* pvalue); + +IMPORT_C void asn1Print_AssistanceData + (const char* name, ASN1T_AssistanceData* pvalue); + +IMPORT_C void asn1Free_AssistanceData (OSCTXT *pctxt, ASN1T_AssistanceData* pvalue); + +/**************************************************************/ +/* */ +/* ErrorCodes */ +/* */ +/**************************************************************/ + +#define TV_ErrorCodes (TM_UNIV|TM_PRIM|10) + +struct ErrorCodes { + enum Root { + unDefined = 0, + missingComponet = 1, + incorrectData = 2, + missingIEorComponentElement = 3, + messageTooShort = 4, + unknowReferenceNumber = 5 + } ; +} ; + +typedef OSUINT32 ASN1T_ErrorCodes; + +IMPORT_C int asn1PE_ErrorCodes (OSCTXT* pctxt, ASN1T_ErrorCodes value); + +IMPORT_C int asn1PD_ErrorCodes (OSCTXT* pctxt, ASN1T_ErrorCodes* pvalue); + +IMPORT_C void asn1Print_ErrorCodes + (const char* name, ASN1T_ErrorCodes* pvalue); + +IMPORT_C const OSUTF8CHAR* ASN1T_ErrorCodes_ToString (OSINT32 value); + +IMPORT_C int ASN1T_ErrorCodes_ToEnum (OSCTXT* pctxt, + const OSUTF8CHAR* value, ASN1T_ErrorCodes* pvalue); + +/**************************************************************/ +/* */ +/* Rel_5_ProtocolError_Extension */ +/* */ +/**************************************************************/ + +#define TV_Rel_5_ProtocolError_Extension (TM_UNIV|TM_CONS|16) + +struct ASN1T_Rel_5_ProtocolError_Extension { + struct { + unsigned extended_referencePresent : 1; + } m; + ASN1T_Extended_reference extended_reference; + IMPORT_C ASN1T_Rel_5_ProtocolError_Extension (); +} ; + +IMPORT_C int asn1PE_Rel_5_ProtocolError_Extension (OSCTXT* pctxt, ASN1T_Rel_5_ProtocolError_Extension* pvalue); + +IMPORT_C int asn1PD_Rel_5_ProtocolError_Extension (OSCTXT* pctxt, ASN1T_Rel_5_ProtocolError_Extension* pvalue); + +IMPORT_C void asn1Print_Rel_5_ProtocolError_Extension + (const char* name, ASN1T_Rel_5_ProtocolError_Extension* pvalue); + +/**************************************************************/ +/* */ +/* ProtocolError */ +/* */ +/**************************************************************/ + +#define TV_ProtocolError (TM_UNIV|TM_CONS|16) + +struct ASN1T_ProtocolError { + struct { + unsigned extensionContainerPresent : 1; + unsigned rel_5_ProtocolError_ExtensionPresent : 1; + } m; + ASN1T_ErrorCodes errorCause; + ASN1T_ExtensionContainer extensionContainer; + ASN1T_Rel_5_ProtocolError_Extension rel_5_ProtocolError_Extension; + IMPORT_C ASN1T_ProtocolError (); +} ; + +IMPORT_C int asn1PE_ProtocolError (OSCTXT* pctxt, ASN1T_ProtocolError* pvalue); + +IMPORT_C int asn1PD_ProtocolError (OSCTXT* pctxt, ASN1T_ProtocolError* pvalue); + +IMPORT_C void asn1Print_ProtocolError + (const char* name, ASN1T_ProtocolError* pvalue); + +IMPORT_C void asn1Free_ProtocolError (OSCTXT *pctxt, ASN1T_ProtocolError* pvalue); + +/**************************************************************/ +/* */ +/* SLR_Arg_PCS_Extensions */ +/* */ +/**************************************************************/ + +#define TV_SLR_Arg_PCS_Extensions (TM_UNIV|TM_CONS|16) + +struct ASN1T_SLR_Arg_PCS_Extensions { + struct { + unsigned na_ESRK_RequestPresent : 1; + } m; + OSOCTET __dummy__; + IMPORT_C ASN1T_SLR_Arg_PCS_Extensions (); +} ; + +IMPORT_C int asn1PE_SLR_Arg_PCS_Extensions (OSCTXT* pctxt, ASN1T_SLR_Arg_PCS_Extensions* pvalue); + +IMPORT_C int asn1PD_SLR_Arg_PCS_Extensions (OSCTXT* pctxt, ASN1T_SLR_Arg_PCS_Extensions* pvalue); + +IMPORT_C void asn1Print_SLR_Arg_PCS_Extensions + (const char* name, ASN1T_SLR_Arg_PCS_Extensions* pvalue); + +/**************************************************************/ +/* */ +/* SLR_ArgExtensionContainer */ +/* */ +/**************************************************************/ + +#define TV_SLR_ArgExtensionContainer (TM_UNIV|TM_CONS|16) + +struct ASN1T_SLR_ArgExtensionContainer : public ASN1TPDU { + struct { + unsigned privateExtensionListPresent : 1; + unsigned slr_Arg_PCS_ExtensionsPresent : 1; + } m; + ASN1T_PrivateExtensionList privateExtensionList; + ASN1T_SLR_Arg_PCS_Extensions slr_Arg_PCS_Extensions; + IMPORT_C ASN1T_SLR_ArgExtensionContainer (); + IMPORT_C ~ASN1T_SLR_ArgExtensionContainer (); +} ; + +class ASN1C_SLR_ArgExtensionContainer : +public ASN1CType +{ +protected: + ASN1T_SLR_ArgExtensionContainer& msgData; +public: + IMPORT_C ASN1C_SLR_ArgExtensionContainer (ASN1T_SLR_ArgExtensionContainer& data); + IMPORT_C ASN1C_SLR_ArgExtensionContainer (OSRTMessageBufferIF& msgBuf + , ASN1T_SLR_ArgExtensionContainer& data); + IMPORT_C ASN1C_SLR_ArgExtensionContainer (OSRTContext &context + , ASN1T_SLR_ArgExtensionContainer& data); + + inline ASN1T_SLR_ArgExtensionContainer& getData () { return msgData; } + inline const ASN1T_SLR_ArgExtensionContainer& getData () const { return msgData; } + + // standard encode/decode methods (defined in ASN1CType base class): + // int Encode (); + // int Decode (); + + // stream encode/decode methods: + IMPORT_C int EncodeTo (OSRTMessageBufferIF& msgBuf); + IMPORT_C int DecodeFrom (OSRTMessageBufferIF& msgBuf); + + IMPORT_C void Print (const char* name); +} ; + +IMPORT_C int asn1PE_SLR_ArgExtensionContainer (OSCTXT* pctxt, ASN1T_SLR_ArgExtensionContainer* pvalue); + +IMPORT_C int asn1PD_SLR_ArgExtensionContainer (OSCTXT* pctxt, ASN1T_SLR_ArgExtensionContainer* pvalue); + +IMPORT_C void asn1Print_SLR_ArgExtensionContainer + (const char* name, ASN1T_SLR_ArgExtensionContainer* pvalue); + +IMPORT_C void asn1Free_SLR_ArgExtensionContainer (OSCTXT *pctxt, ASN1T_SLR_ArgExtensionContainer* pvalue); + +#endif