--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/networkprotocolmodules/common/asn1supl/inc/ULP-Components.h Fri Jun 04 10:34:15 2010 +0100
@@ -0,0 +1,2081 @@
+// 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 ULP_COMPONENTS_H
+#define ULP_COMPONENTS_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "rtkey.h"
+#include "rtpersrc/asn1PerCppTypes.h"
+#include "ASN1CBitStr.h"
+#include "ASN1CSeqOfList.h"
+
+/**
+ * Header file for ASN.1 module ULP-Components
+ */
+/**************************************************************/
+/* */
+/* Version */
+/* */
+/**************************************************************/
+
+#define TV_Version (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_Version {
+ OSUINT8 maj;
+ OSUINT8 min;
+ OSUINT8 servind;
+ IMPORT_C ASN1T_Version ();
+} ;
+
+IMPORT_C int asn1PE_Version (OSCTXT* pctxt, ASN1T_Version* pvalue);
+
+IMPORT_C int asn1PD_Version (OSCTXT* pctxt, ASN1T_Version* pvalue);
+
+IMPORT_C void asn1Print_Version
+ (const char* name, ASN1T_Version* pvalue);
+
+/**************************************************************/
+/* */
+/* SETId_msisdn */
+/* */
+/**************************************************************/
+
+#define TV_SETId_msisdn (TM_UNIV|TM_PRIM|4)
+
+struct ASN1T_SETId_msisdn {
+ OSUINT32 numocts;
+ OSOCTET data[8];
+ // ctors
+ ASN1T_SETId_msisdn () : numocts(0) {}
+ ASN1T_SETId_msisdn (OSUINT32 _numocts, const OSOCTET* _data) :
+ numocts (_numocts) {
+ OSCRTLMEMCPY (data, _data, OSRTMIN (numocts, sizeof(data)));
+ }
+ ASN1T_SETId_msisdn (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_SETId_msisdn& 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_SETId_msisdn (OSCTXT* pctxt, ASN1T_SETId_msisdn* pvalue);
+
+IMPORT_C int asn1PD_SETId_msisdn (OSCTXT* pctxt, ASN1T_SETId_msisdn* pvalue);
+
+IMPORT_C void asn1Print_SETId_msisdn
+ (const char* name, ASN1T_SETId_msisdn* pvalue);
+
+/**************************************************************/
+/* */
+/* SETId_mdn */
+/* */
+/**************************************************************/
+
+#define TV_SETId_mdn (TM_UNIV|TM_PRIM|4)
+
+struct ASN1T_SETId_mdn {
+ OSUINT32 numocts;
+ OSOCTET data[8];
+ // ctors
+ ASN1T_SETId_mdn () : numocts(0) {}
+ ASN1T_SETId_mdn (OSUINT32 _numocts, const OSOCTET* _data) :
+ numocts (_numocts) {
+ OSCRTLMEMCPY (data, _data, OSRTMIN (numocts, sizeof(data)));
+ }
+ ASN1T_SETId_mdn (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_SETId_mdn& 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_SETId_mdn (OSCTXT* pctxt, ASN1T_SETId_mdn* pvalue);
+
+IMPORT_C int asn1PD_SETId_mdn (OSCTXT* pctxt, ASN1T_SETId_mdn* pvalue);
+
+IMPORT_C void asn1Print_SETId_mdn
+ (const char* name, ASN1T_SETId_mdn* pvalue);
+
+/**************************************************************/
+/* */
+/* SETId_min */
+/* */
+/**************************************************************/
+
+#define TV_SETId_min (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_SETId_min {
+ OSUINT32 numbits;
+ OSOCTET data[5];
+ // ctors
+ ASN1T_SETId_min () : numbits(0) {}
+ ASN1T_SETId_min (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_SETId_min (OSCTXT* pctxt, ASN1T_SETId_min* pvalue);
+
+IMPORT_C int asn1PD_SETId_min (OSCTXT* pctxt, ASN1T_SETId_min* pvalue);
+
+IMPORT_C void asn1Print_SETId_min
+ (const char* name, ASN1T_SETId_min* pvalue);
+
+/**************************************************************/
+/* */
+/* SETId_imsi */
+/* */
+/**************************************************************/
+
+#define TV_SETId_imsi (TM_UNIV|TM_PRIM|4)
+
+struct ASN1T_SETId_imsi {
+ OSUINT32 numocts;
+ OSOCTET data[8];
+ // ctors
+ ASN1T_SETId_imsi () : numocts(0) {}
+ ASN1T_SETId_imsi (OSUINT32 _numocts, const OSOCTET* _data) :
+ numocts (_numocts) {
+ OSCRTLMEMCPY (data, _data, OSRTMIN (numocts, sizeof(data)));
+ }
+ ASN1T_SETId_imsi (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_SETId_imsi& 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_SETId_imsi (OSCTXT* pctxt, ASN1T_SETId_imsi* pvalue);
+
+IMPORT_C int asn1PD_SETId_imsi (OSCTXT* pctxt, ASN1T_SETId_imsi* pvalue);
+
+IMPORT_C void asn1Print_SETId_imsi
+ (const char* name, ASN1T_SETId_imsi* pvalue);
+
+/**************************************************************/
+/* */
+/* IPAddress_ipv4Address */
+/* */
+/**************************************************************/
+
+#define TV_IPAddress_ipv4Address (TM_UNIV|TM_PRIM|4)
+
+struct ASN1T_IPAddress_ipv4Address {
+ OSUINT32 numocts;
+ OSOCTET data[4];
+ // ctors
+ ASN1T_IPAddress_ipv4Address () : numocts(0) {}
+ ASN1T_IPAddress_ipv4Address (OSUINT32 _numocts, const OSOCTET* _data) :
+ numocts (_numocts) {
+ OSCRTLMEMCPY (data, _data, OSRTMIN (numocts, sizeof(data)));
+ }
+ ASN1T_IPAddress_ipv4Address (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_IPAddress_ipv4Address& 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_IPAddress_ipv4Address (OSCTXT* pctxt, ASN1T_IPAddress_ipv4Address* pvalue);
+
+IMPORT_C int asn1PD_IPAddress_ipv4Address (OSCTXT* pctxt, ASN1T_IPAddress_ipv4Address* pvalue);
+
+IMPORT_C void asn1Print_IPAddress_ipv4Address
+ (const char* name, ASN1T_IPAddress_ipv4Address* pvalue);
+
+/**************************************************************/
+/* */
+/* IPAddress_ipv6Address */
+/* */
+/**************************************************************/
+
+#define TV_IPAddress_ipv6Address (TM_UNIV|TM_PRIM|4)
+
+struct ASN1T_IPAddress_ipv6Address {
+ OSUINT32 numocts;
+ OSOCTET data[16];
+ // ctors
+ ASN1T_IPAddress_ipv6Address () : numocts(0) {}
+ ASN1T_IPAddress_ipv6Address (OSUINT32 _numocts, const OSOCTET* _data) :
+ numocts (_numocts) {
+ OSCRTLMEMCPY (data, _data, OSRTMIN (numocts, sizeof(data)));
+ }
+ ASN1T_IPAddress_ipv6Address (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_IPAddress_ipv6Address& 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_IPAddress_ipv6Address (OSCTXT* pctxt, ASN1T_IPAddress_ipv6Address* pvalue);
+
+IMPORT_C int asn1PD_IPAddress_ipv6Address (OSCTXT* pctxt, ASN1T_IPAddress_ipv6Address* pvalue);
+
+IMPORT_C void asn1Print_IPAddress_ipv6Address
+ (const char* name, ASN1T_IPAddress_ipv6Address* pvalue);
+
+/**************************************************************/
+/* */
+/* IPAddress */
+/* */
+/**************************************************************/
+
+/* Choice tag constants */
+
+#define T_IPAddress_ipv4Address 1
+#define T_IPAddress_ipv6Address 2
+
+struct ASN1T_IPAddress {
+ int t;
+ union {
+ /* t = 1 */
+ ASN1T_IPAddress_ipv4Address *ipv4Address;
+ /* t = 2 */
+ ASN1T_IPAddress_ipv6Address *ipv6Address;
+ } u;
+} ;
+
+IMPORT_C int asn1PE_IPAddress (OSCTXT* pctxt, ASN1T_IPAddress* pvalue);
+
+IMPORT_C int asn1PD_IPAddress (OSCTXT* pctxt, ASN1T_IPAddress* pvalue);
+
+IMPORT_C void asn1Print_IPAddress
+ (const char* name, ASN1T_IPAddress* pvalue);
+
+IMPORT_C void asn1Free_IPAddress (OSCTXT *pctxt, ASN1T_IPAddress* pvalue);
+
+/**************************************************************/
+/* */
+/* SETId */
+/* */
+/**************************************************************/
+
+/* Choice tag constants */
+
+#define T_SETId_msisdn 1
+#define T_SETId_mdn 2
+#define T_SETId_min 3
+#define T_SETId_imsi 4
+#define T_SETId_nai 5
+#define T_SETId_iPAddress 6
+#define T_SETId_extElem1 7
+
+struct ASN1T_SETId {
+ int t;
+ union {
+ /* t = 1 */
+ ASN1T_SETId_msisdn *msisdn;
+ /* t = 2 */
+ ASN1T_SETId_mdn *mdn;
+ /* t = 3 */
+ ASN1T_SETId_min *min;
+ /* t = 4 */
+ ASN1T_SETId_imsi *imsi;
+ /* t = 5 */
+ const char* nai;
+ /* t = 6 */
+ ASN1T_IPAddress *iPAddress;
+ /* t = 7 */
+ } u;
+} ;
+
+IMPORT_C int asn1PE_SETId (OSCTXT* pctxt, ASN1T_SETId* pvalue);
+
+IMPORT_C int asn1PD_SETId (OSCTXT* pctxt, ASN1T_SETId* pvalue);
+
+IMPORT_C void asn1Print_SETId
+ (const char* name, ASN1T_SETId* pvalue);
+
+IMPORT_C void asn1Free_SETId (OSCTXT *pctxt, ASN1T_SETId* pvalue);
+
+/**************************************************************/
+/* */
+/* SetSessionID */
+/* */
+/**************************************************************/
+
+#define TV_SetSessionID (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_SetSessionID {
+ OSUINT16 sessionId;
+ ASN1T_SETId setId;
+ IMPORT_C ASN1T_SetSessionID ();
+} ;
+
+IMPORT_C int asn1PE_SetSessionID (OSCTXT* pctxt, ASN1T_SetSessionID* pvalue);
+
+IMPORT_C int asn1PD_SetSessionID (OSCTXT* pctxt, ASN1T_SetSessionID* pvalue);
+
+IMPORT_C void asn1Print_SetSessionID
+ (const char* name, ASN1T_SetSessionID* pvalue);
+
+IMPORT_C void asn1Free_SetSessionID (OSCTXT *pctxt, ASN1T_SetSessionID* pvalue);
+
+/**************************************************************/
+/* */
+/* SlpSessionID_sessionID */
+/* */
+/**************************************************************/
+
+#define TV_SlpSessionID_sessionID (TM_UNIV|TM_PRIM|4)
+
+struct ASN1T_SlpSessionID_sessionID {
+ OSUINT32 numocts;
+ OSOCTET data[4];
+ // ctors
+ ASN1T_SlpSessionID_sessionID () : numocts(0) {}
+ ASN1T_SlpSessionID_sessionID (OSUINT32 _numocts, const OSOCTET* _data) :
+ numocts (_numocts) {
+ OSCRTLMEMCPY (data, _data, OSRTMIN (numocts, sizeof(data)));
+ }
+ ASN1T_SlpSessionID_sessionID (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_SlpSessionID_sessionID& 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_SlpSessionID_sessionID (OSCTXT* pctxt, ASN1T_SlpSessionID_sessionID* pvalue);
+
+IMPORT_C int asn1PD_SlpSessionID_sessionID (OSCTXT* pctxt, ASN1T_SlpSessionID_sessionID* pvalue);
+
+IMPORT_C void asn1Print_SlpSessionID_sessionID
+ (const char* name, ASN1T_SlpSessionID_sessionID* pvalue);
+
+/**************************************************************/
+/* */
+/* FQDN */
+/* */
+/**************************************************************/
+
+#define TV_FQDN (TM_UNIV|TM_PRIM|26)
+
+typedef const char* ASN1T_FQDN;
+
+IMPORT_C int asn1PE_FQDN (OSCTXT* pctxt, ASN1T_FQDN value);
+
+IMPORT_C int asn1PD_FQDN (OSCTXT* pctxt, ASN1T_FQDN* pvalue);
+
+IMPORT_C void asn1Print_FQDN
+ (const char* name, ASN1T_FQDN pvalue);
+
+IMPORT_C void asn1Free_FQDN (OSCTXT *pctxt, ASN1T_FQDN pvalue);
+
+/**************************************************************/
+/* */
+/* SLPAddress */
+/* */
+/**************************************************************/
+
+/* Choice tag constants */
+
+#define T_SLPAddress_iPAddress 1
+#define T_SLPAddress_fQDN 2
+#define T_SLPAddress_extElem1 3
+
+struct ASN1T_SLPAddress {
+ int t;
+ union {
+ /* t = 1 */
+ ASN1T_IPAddress *iPAddress;
+ /* t = 2 */
+ ASN1T_FQDN fQDN;
+ /* t = 3 */
+ } u;
+} ;
+
+IMPORT_C int asn1PE_SLPAddress (OSCTXT* pctxt, ASN1T_SLPAddress* pvalue);
+
+IMPORT_C int asn1PD_SLPAddress (OSCTXT* pctxt, ASN1T_SLPAddress* pvalue);
+
+IMPORT_C void asn1Print_SLPAddress
+ (const char* name, ASN1T_SLPAddress* pvalue);
+
+IMPORT_C void asn1Free_SLPAddress (OSCTXT *pctxt, ASN1T_SLPAddress* pvalue);
+
+/**************************************************************/
+/* */
+/* SlpSessionID */
+/* */
+/**************************************************************/
+
+#define TV_SlpSessionID (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_SlpSessionID {
+ ASN1T_SlpSessionID_sessionID sessionID;
+ ASN1T_SLPAddress slpId;
+ IMPORT_C ASN1T_SlpSessionID ();
+} ;
+
+IMPORT_C int asn1PE_SlpSessionID (OSCTXT* pctxt, ASN1T_SlpSessionID* pvalue);
+
+IMPORT_C int asn1PD_SlpSessionID (OSCTXT* pctxt, ASN1T_SlpSessionID* pvalue);
+
+IMPORT_C void asn1Print_SlpSessionID
+ (const char* name, ASN1T_SlpSessionID* pvalue);
+
+IMPORT_C void asn1Free_SlpSessionID (OSCTXT *pctxt, ASN1T_SlpSessionID* pvalue);
+
+/**************************************************************/
+/* */
+/* SessionID */
+/* */
+/**************************************************************/
+
+#define TV_SessionID (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_SessionID {
+ struct {
+ unsigned setSessionIDPresent : 1;
+ unsigned slpSessionIDPresent : 1;
+ } m;
+ ASN1T_SetSessionID setSessionID;
+ ASN1T_SlpSessionID slpSessionID;
+ IMPORT_C ASN1T_SessionID ();
+} ;
+
+IMPORT_C int asn1PE_SessionID (OSCTXT* pctxt, ASN1T_SessionID* pvalue);
+
+IMPORT_C int asn1PD_SessionID (OSCTXT* pctxt, ASN1T_SessionID* pvalue);
+
+IMPORT_C void asn1Print_SessionID
+ (const char* name, ASN1T_SessionID* pvalue);
+
+IMPORT_C void asn1Free_SessionID (OSCTXT *pctxt, ASN1T_SessionID* pvalue);
+
+/**************************************************************/
+/* */
+/* PosMethod */
+/* */
+/**************************************************************/
+
+#define TV_PosMethod (TM_UNIV|TM_PRIM|10)
+
+struct PosMethod {
+ enum Root {
+ agpsSETassisted = 0,
+ agpsSETbased = 1,
+ agpsSETassistedpref = 2,
+ agpsSETbasedpref = 3,
+ autonomousGPS = 4,
+ aFLT = 5,
+ eCID = 6,
+ eOTD = 7,
+ oTDOA = 8,
+ noPosition = 9
+ } ;
+} ;
+
+typedef OSUINT32 ASN1T_PosMethod;
+
+IMPORT_C int asn1PE_PosMethod (OSCTXT* pctxt, ASN1T_PosMethod value);
+
+IMPORT_C int asn1PD_PosMethod (OSCTXT* pctxt, ASN1T_PosMethod* pvalue);
+
+IMPORT_C void asn1Print_PosMethod
+ (const char* name, ASN1T_PosMethod* pvalue);
+
+IMPORT_C const OSUTF8CHAR* ASN1T_PosMethod_ToString (OSINT32 value);
+
+IMPORT_C int ASN1T_PosMethod_ToEnum (OSCTXT* pctxt,
+ const OSUTF8CHAR* value, ASN1T_PosMethod* pvalue);
+
+/**************************************************************/
+/* */
+/* QoP */
+/* */
+/**************************************************************/
+
+#define TV_QoP (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_QoP {
+ struct {
+ unsigned veraccPresent : 1;
+ unsigned maxLocAgePresent : 1;
+ unsigned delayPresent : 1;
+ } m;
+ OSUINT8 horacc;
+ OSUINT8 veracc;
+ OSUINT16 maxLocAge;
+ OSUINT8 delay;
+ IMPORT_C ASN1T_QoP ();
+} ;
+
+IMPORT_C int asn1PE_QoP (OSCTXT* pctxt, ASN1T_QoP* pvalue);
+
+IMPORT_C int asn1PD_QoP (OSCTXT* pctxt, ASN1T_QoP* pvalue);
+
+IMPORT_C void asn1Print_QoP
+ (const char* name, ASN1T_QoP* pvalue);
+
+/**************************************************************/
+/* */
+/* NMRelement */
+/* */
+/**************************************************************/
+
+#define TV_NMRelement (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_NMRelement {
+ OSUINT16 aRFCN;
+ OSUINT8 bSIC;
+ OSUINT8 rxLev;
+ IMPORT_C ASN1T_NMRelement ();
+} ;
+
+IMPORT_C int asn1PE_NMRelement (OSCTXT* pctxt, ASN1T_NMRelement* pvalue);
+
+IMPORT_C int asn1PD_NMRelement (OSCTXT* pctxt, ASN1T_NMRelement* pvalue);
+
+IMPORT_C void asn1Print_NMRelement
+ (const char* name, ASN1T_NMRelement* pvalue);
+
+/**************************************************************/
+/* */
+/* NMR */
+/* */
+/**************************************************************/
+
+#define TV_NMR (TM_UNIV|TM_CONS|16)
+
+/* List of ASN1T_NMRelement */
+typedef ASN1TSeqOfList ASN1T_NMR;
+
+class ASN1C_NMR :
+public ASN1CSeqOfList
+{
+protected:
+ ASN1T_NMR& msgData;
+public:
+ IMPORT_C ASN1C_NMR (ASN1T_NMR& data);
+ IMPORT_C ASN1C_NMR (OSRTMessageBufferIF& msgBuf, ASN1T_NMR& data);
+ IMPORT_C ASN1C_NMR (ASN1CType& ccobj, ASN1T_NMR& data);
+ IMPORT_C ASN1C_NMR (OSRTContext &context, ASN1T_NMR& data);
+ IMPORT_C void Append (ASN1T_NMRelement* elem);
+ IMPORT_C ASN1T_NMRelement* NewElement ();
+} ;
+
+IMPORT_C int asn1PE_NMR (OSCTXT* pctxt, ASN1T_NMR* pvalue);
+
+IMPORT_C int asn1PD_NMR (OSCTXT* pctxt, ASN1T_NMR* pvalue);
+
+IMPORT_C void asn1Print_NMR
+ (const char* name, ASN1T_NMR* pvalue);
+
+IMPORT_C void asn1Free_NMR (OSCTXT *pctxt, ASN1T_NMR* pvalue);
+
+/**************************************************************/
+/* */
+/* GsmCellInformation */
+/* */
+/**************************************************************/
+
+#define TV_GsmCellInformation (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_GsmCellInformation {
+ struct {
+ unsigned nMRPresent : 1;
+ unsigned tAPresent : 1;
+ } m;
+ OSUINT16 refMCC;
+ OSUINT16 refMNC;
+ OSUINT16 refLAC;
+ OSUINT16 refCI;
+ ASN1T_NMR nMR;
+ OSUINT8 tA;
+ IMPORT_C ASN1T_GsmCellInformation ();
+} ;
+
+IMPORT_C int asn1PE_GsmCellInformation (OSCTXT* pctxt, ASN1T_GsmCellInformation* pvalue);
+
+IMPORT_C int asn1PD_GsmCellInformation (OSCTXT* pctxt, ASN1T_GsmCellInformation* pvalue);
+
+IMPORT_C void asn1Print_GsmCellInformation
+ (const char* name, ASN1T_GsmCellInformation* pvalue);
+
+IMPORT_C void asn1Free_GsmCellInformation (OSCTXT *pctxt, ASN1T_GsmCellInformation* pvalue);
+
+/**************************************************************/
+/* */
+/* UARFCN */
+/* */
+/**************************************************************/
+
+#define TV_UARFCN (TM_UNIV|TM_PRIM|2)
+
+typedef OSUINT16 ASN1T_UARFCN;
+
+IMPORT_C int asn1PE_UARFCN (OSCTXT* pctxt, ASN1T_UARFCN value);
+
+IMPORT_C int asn1PD_UARFCN (OSCTXT* pctxt, ASN1T_UARFCN* pvalue);
+
+IMPORT_C void asn1Print_UARFCN
+ (const char* name, ASN1T_UARFCN* pvalue);
+
+/**************************************************************/
+/* */
+/* FrequencyInfoFDD */
+/* */
+/**************************************************************/
+
+#define TV_FrequencyInfoFDD (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_FrequencyInfoFDD {
+ struct {
+ unsigned uarfcn_ULPresent : 1;
+ } m;
+ ASN1T_UARFCN uarfcn_UL;
+ ASN1T_UARFCN uarfcn_DL;
+ IMPORT_C ASN1T_FrequencyInfoFDD ();
+} ;
+
+IMPORT_C int asn1PE_FrequencyInfoFDD (OSCTXT* pctxt, ASN1T_FrequencyInfoFDD* pvalue);
+
+IMPORT_C int asn1PD_FrequencyInfoFDD (OSCTXT* pctxt, ASN1T_FrequencyInfoFDD* pvalue);
+
+IMPORT_C void asn1Print_FrequencyInfoFDD
+ (const char* name, ASN1T_FrequencyInfoFDD* pvalue);
+
+/**************************************************************/
+/* */
+/* FrequencyInfoTDD */
+/* */
+/**************************************************************/
+
+#define TV_FrequencyInfoTDD (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_FrequencyInfoTDD {
+ ASN1T_UARFCN uarfcn_Nt;
+ IMPORT_C ASN1T_FrequencyInfoTDD ();
+} ;
+
+IMPORT_C int asn1PE_FrequencyInfoTDD (OSCTXT* pctxt, ASN1T_FrequencyInfoTDD* pvalue);
+
+IMPORT_C int asn1PD_FrequencyInfoTDD (OSCTXT* pctxt, ASN1T_FrequencyInfoTDD* pvalue);
+
+IMPORT_C void asn1Print_FrequencyInfoTDD
+ (const char* name, ASN1T_FrequencyInfoTDD* pvalue);
+
+/**************************************************************/
+/* */
+/* FrequencyInfo_modeSpecificInfo */
+/* */
+/**************************************************************/
+
+/* Choice tag constants */
+
+#define T_FrequencyInfo_modeSpecificInfo_fdd 1
+#define T_FrequencyInfo_modeSpecificInfo_tdd 2
+#define T_FrequencyInfo_modeSpecificInfo_extElem1 3
+
+struct ASN1T_FrequencyInfo_modeSpecificInfo {
+ int t;
+ union {
+ /* t = 1 */
+ ASN1T_FrequencyInfoFDD *fdd;
+ /* t = 2 */
+ ASN1T_FrequencyInfoTDD *tdd;
+ /* t = 3 */
+ } u;
+} ;
+
+IMPORT_C int asn1PE_FrequencyInfo_modeSpecificInfo (OSCTXT* pctxt, ASN1T_FrequencyInfo_modeSpecificInfo* pvalue);
+
+IMPORT_C int asn1PD_FrequencyInfo_modeSpecificInfo (OSCTXT* pctxt, ASN1T_FrequencyInfo_modeSpecificInfo* pvalue);
+
+IMPORT_C void asn1Print_FrequencyInfo_modeSpecificInfo
+ (const char* name, ASN1T_FrequencyInfo_modeSpecificInfo* pvalue);
+
+IMPORT_C void asn1Free_FrequencyInfo_modeSpecificInfo (OSCTXT *pctxt, ASN1T_FrequencyInfo_modeSpecificInfo* pvalue);
+
+/**************************************************************/
+/* */
+/* FrequencyInfo */
+/* */
+/**************************************************************/
+
+#define TV_FrequencyInfo (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_FrequencyInfo {
+ ASN1T_FrequencyInfo_modeSpecificInfo modeSpecificInfo;
+ IMPORT_C ASN1T_FrequencyInfo ();
+} ;
+
+IMPORT_C int asn1PE_FrequencyInfo (OSCTXT* pctxt, ASN1T_FrequencyInfo* pvalue);
+
+IMPORT_C int asn1PD_FrequencyInfo (OSCTXT* pctxt, ASN1T_FrequencyInfo* pvalue);
+
+IMPORT_C void asn1Print_FrequencyInfo
+ (const char* name, ASN1T_FrequencyInfo* pvalue);
+
+IMPORT_C void asn1Free_FrequencyInfo (OSCTXT *pctxt, ASN1T_FrequencyInfo* pvalue);
+
+/**************************************************************/
+/* */
+/* UTRA_CarrierRSSI */
+/* */
+/**************************************************************/
+
+#define TV_UTRA_CarrierRSSI (TM_UNIV|TM_PRIM|2)
+
+typedef OSUINT8 ASN1T_UTRA_CarrierRSSI;
+
+IMPORT_C int asn1PE_UTRA_CarrierRSSI (OSCTXT* pctxt, ASN1T_UTRA_CarrierRSSI value);
+
+IMPORT_C int asn1PD_UTRA_CarrierRSSI (OSCTXT* pctxt, ASN1T_UTRA_CarrierRSSI* pvalue);
+
+IMPORT_C void asn1Print_UTRA_CarrierRSSI
+ (const char* name, ASN1T_UTRA_CarrierRSSI* pvalue);
+
+/**************************************************************/
+/* */
+/* PrimaryCPICH_Info */
+/* */
+/**************************************************************/
+
+#define TV_PrimaryCPICH_Info (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_PrimaryCPICH_Info {
+ OSUINT16 primaryScramblingCode;
+ IMPORT_C ASN1T_PrimaryCPICH_Info ();
+} ;
+
+IMPORT_C int asn1PE_PrimaryCPICH_Info (OSCTXT* pctxt, ASN1T_PrimaryCPICH_Info* pvalue);
+
+IMPORT_C int asn1PD_PrimaryCPICH_Info (OSCTXT* pctxt, ASN1T_PrimaryCPICH_Info* pvalue);
+
+IMPORT_C void asn1Print_PrimaryCPICH_Info
+ (const char* name, ASN1T_PrimaryCPICH_Info* pvalue);
+
+/**************************************************************/
+/* */
+/* CPICH_Ec_N0 */
+/* */
+/**************************************************************/
+
+#define TV_CPICH_Ec_N0 (TM_UNIV|TM_PRIM|2)
+
+typedef OSUINT8 ASN1T_CPICH_Ec_N0;
+
+IMPORT_C int asn1PE_CPICH_Ec_N0 (OSCTXT* pctxt, ASN1T_CPICH_Ec_N0 value);
+
+IMPORT_C int asn1PD_CPICH_Ec_N0 (OSCTXT* pctxt, ASN1T_CPICH_Ec_N0* pvalue);
+
+IMPORT_C void asn1Print_CPICH_Ec_N0
+ (const char* name, ASN1T_CPICH_Ec_N0* pvalue);
+
+/**************************************************************/
+/* */
+/* CPICH_RSCP */
+/* */
+/**************************************************************/
+
+#define TV_CPICH_RSCP (TM_UNIV|TM_PRIM|2)
+
+typedef OSUINT8 ASN1T_CPICH_RSCP;
+
+IMPORT_C int asn1PE_CPICH_RSCP (OSCTXT* pctxt, ASN1T_CPICH_RSCP value);
+
+IMPORT_C int asn1PD_CPICH_RSCP (OSCTXT* pctxt, ASN1T_CPICH_RSCP* pvalue);
+
+IMPORT_C void asn1Print_CPICH_RSCP
+ (const char* name, ASN1T_CPICH_RSCP* pvalue);
+
+/**************************************************************/
+/* */
+/* Pathloss */
+/* */
+/**************************************************************/
+
+#define TV_Pathloss (TM_UNIV|TM_PRIM|2)
+
+typedef OSUINT8 ASN1T_Pathloss;
+
+IMPORT_C int asn1PE_Pathloss (OSCTXT* pctxt, ASN1T_Pathloss value);
+
+IMPORT_C int asn1PD_Pathloss (OSCTXT* pctxt, ASN1T_Pathloss* pvalue);
+
+IMPORT_C void asn1Print_Pathloss
+ (const char* name, ASN1T_Pathloss* pvalue);
+
+/**************************************************************/
+/* */
+/* CellMeasuredResults_modeSpecificInfo_fdd */
+/* */
+/**************************************************************/
+
+#define TV_CellMeasuredResults_modeSpecificInfo_fdd (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_CellMeasuredResults_modeSpecificInfo_fdd {
+ struct {
+ unsigned cpich_Ec_N0Present : 1;
+ unsigned cpich_RSCPPresent : 1;
+ unsigned pathlossPresent : 1;
+ } m;
+ ASN1T_PrimaryCPICH_Info primaryCPICH_Info;
+ ASN1T_CPICH_Ec_N0 cpich_Ec_N0;
+ ASN1T_CPICH_RSCP cpich_RSCP;
+ ASN1T_Pathloss pathloss;
+ IMPORT_C ASN1T_CellMeasuredResults_modeSpecificInfo_fdd ();
+} ;
+
+IMPORT_C int asn1PE_CellMeasuredResults_modeSpecificInfo_fdd (OSCTXT* pctxt, ASN1T_CellMeasuredResults_modeSpecificInfo_fdd* pvalue);
+
+IMPORT_C int asn1PD_CellMeasuredResults_modeSpecificInfo_fdd (OSCTXT* pctxt, ASN1T_CellMeasuredResults_modeSpecificInfo_fdd* pvalue);
+
+IMPORT_C void asn1Print_CellMeasuredResults_modeSpecificInfo_fdd
+ (const char* name, ASN1T_CellMeasuredResults_modeSpecificInfo_fdd* pvalue);
+
+/**************************************************************/
+/* */
+/* CellParametersID */
+/* */
+/**************************************************************/
+
+#define TV_CellParametersID (TM_UNIV|TM_PRIM|2)
+
+typedef OSUINT8 ASN1T_CellParametersID;
+
+IMPORT_C int asn1PE_CellParametersID (OSCTXT* pctxt, ASN1T_CellParametersID value);
+
+IMPORT_C int asn1PD_CellParametersID (OSCTXT* pctxt, ASN1T_CellParametersID* pvalue);
+
+IMPORT_C void asn1Print_CellParametersID
+ (const char* name, ASN1T_CellParametersID* pvalue);
+
+/**************************************************************/
+/* */
+/* TGSN */
+/* */
+/**************************************************************/
+
+#define TV_TGSN (TM_UNIV|TM_PRIM|2)
+
+typedef OSUINT8 ASN1T_TGSN;
+
+IMPORT_C int asn1PE_TGSN (OSCTXT* pctxt, ASN1T_TGSN value);
+
+IMPORT_C int asn1PD_TGSN (OSCTXT* pctxt, ASN1T_TGSN* pvalue);
+
+IMPORT_C void asn1Print_TGSN
+ (const char* name, ASN1T_TGSN* pvalue);
+
+/**************************************************************/
+/* */
+/* PrimaryCCPCH_RSCP */
+/* */
+/**************************************************************/
+
+#define TV_PrimaryCCPCH_RSCP (TM_UNIV|TM_PRIM|2)
+
+typedef OSUINT8 ASN1T_PrimaryCCPCH_RSCP;
+
+IMPORT_C int asn1PE_PrimaryCCPCH_RSCP (OSCTXT* pctxt, ASN1T_PrimaryCCPCH_RSCP value);
+
+IMPORT_C int asn1PD_PrimaryCCPCH_RSCP (OSCTXT* pctxt, ASN1T_PrimaryCCPCH_RSCP* pvalue);
+
+IMPORT_C void asn1Print_PrimaryCCPCH_RSCP
+ (const char* name, ASN1T_PrimaryCCPCH_RSCP* pvalue);
+
+/**************************************************************/
+/* */
+/* TimeslotISCP */
+/* */
+/**************************************************************/
+
+#define TV_TimeslotISCP (TM_UNIV|TM_PRIM|2)
+
+typedef OSUINT8 ASN1T_TimeslotISCP;
+
+IMPORT_C int asn1PE_TimeslotISCP (OSCTXT* pctxt, ASN1T_TimeslotISCP value);
+
+IMPORT_C int asn1PD_TimeslotISCP (OSCTXT* pctxt, ASN1T_TimeslotISCP* pvalue);
+
+IMPORT_C void asn1Print_TimeslotISCP
+ (const char* name, ASN1T_TimeslotISCP* pvalue);
+
+/**************************************************************/
+/* */
+/* TimeslotISCP_List */
+/* */
+/**************************************************************/
+
+#define TV_TimeslotISCP_List (TM_UNIV|TM_CONS|16)
+
+typedef struct ASN1T_TimeslotISCP_List {
+ OSUINT32 n;
+ ASN1T_TimeslotISCP elem[14];
+ ASN1T_TimeslotISCP_List () : n (0) {}
+} ASN1T_TimeslotISCP_List;
+
+IMPORT_C int asn1PE_TimeslotISCP_List (OSCTXT* pctxt, ASN1T_TimeslotISCP_List* pvalue);
+
+IMPORT_C int asn1PD_TimeslotISCP_List (OSCTXT* pctxt, ASN1T_TimeslotISCP_List* pvalue);
+
+IMPORT_C void asn1Print_TimeslotISCP_List
+ (const char* name, ASN1T_TimeslotISCP_List* pvalue);
+
+/**************************************************************/
+/* */
+/* CellMeasuredResults_modeSpecificInfo_tdd */
+/* */
+/**************************************************************/
+
+#define TV_CellMeasuredResults_modeSpecificInfo_tdd (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_CellMeasuredResults_modeSpecificInfo_tdd {
+ struct {
+ unsigned proposedTGSNPresent : 1;
+ unsigned primaryCCPCH_RSCPPresent : 1;
+ unsigned pathlossPresent : 1;
+ unsigned timeslotISCP_ListPresent : 1;
+ } m;
+ ASN1T_CellParametersID cellParametersID;
+ ASN1T_TGSN proposedTGSN;
+ ASN1T_PrimaryCCPCH_RSCP primaryCCPCH_RSCP;
+ ASN1T_Pathloss pathloss;
+ ASN1T_TimeslotISCP_List timeslotISCP_List;
+ IMPORT_C ASN1T_CellMeasuredResults_modeSpecificInfo_tdd ();
+} ;
+
+IMPORT_C int asn1PE_CellMeasuredResults_modeSpecificInfo_tdd (OSCTXT* pctxt, ASN1T_CellMeasuredResults_modeSpecificInfo_tdd* pvalue);
+
+IMPORT_C int asn1PD_CellMeasuredResults_modeSpecificInfo_tdd (OSCTXT* pctxt, ASN1T_CellMeasuredResults_modeSpecificInfo_tdd* pvalue);
+
+IMPORT_C void asn1Print_CellMeasuredResults_modeSpecificInfo_tdd
+ (const char* name, ASN1T_CellMeasuredResults_modeSpecificInfo_tdd* pvalue);
+
+/**************************************************************/
+/* */
+/* CellMeasuredResults_modeSpecificInfo */
+/* */
+/**************************************************************/
+
+/* Choice tag constants */
+
+#define T_CellMeasuredResults_modeSpecificInfo_fdd 1
+#define T_CellMeasuredResults_modeSpecificInfo_tdd 2
+
+struct ASN1T_CellMeasuredResults_modeSpecificInfo {
+ int t;
+ union {
+ /* t = 1 */
+ ASN1T_CellMeasuredResults_modeSpecificInfo_fdd *fdd;
+ /* t = 2 */
+ ASN1T_CellMeasuredResults_modeSpecificInfo_tdd *tdd;
+ } u;
+} ;
+
+IMPORT_C int asn1PE_CellMeasuredResults_modeSpecificInfo (OSCTXT* pctxt, ASN1T_CellMeasuredResults_modeSpecificInfo* pvalue);
+
+IMPORT_C int asn1PD_CellMeasuredResults_modeSpecificInfo (OSCTXT* pctxt, ASN1T_CellMeasuredResults_modeSpecificInfo* pvalue);
+
+IMPORT_C void asn1Print_CellMeasuredResults_modeSpecificInfo
+ (const char* name, ASN1T_CellMeasuredResults_modeSpecificInfo* pvalue);
+
+IMPORT_C void asn1Free_CellMeasuredResults_modeSpecificInfo (OSCTXT *pctxt, ASN1T_CellMeasuredResults_modeSpecificInfo* pvalue);
+
+/**************************************************************/
+/* */
+/* CellMeasuredResults */
+/* */
+/**************************************************************/
+
+#define TV_CellMeasuredResults (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_CellMeasuredResults {
+ struct {
+ unsigned cellIdentityPresent : 1;
+ } m;
+ OSUINT32 cellIdentity;
+ ASN1T_CellMeasuredResults_modeSpecificInfo modeSpecificInfo;
+ IMPORT_C ASN1T_CellMeasuredResults ();
+} ;
+
+IMPORT_C int asn1PE_CellMeasuredResults (OSCTXT* pctxt, ASN1T_CellMeasuredResults* pvalue);
+
+IMPORT_C int asn1PD_CellMeasuredResults (OSCTXT* pctxt, ASN1T_CellMeasuredResults* pvalue);
+
+IMPORT_C void asn1Print_CellMeasuredResults
+ (const char* name, ASN1T_CellMeasuredResults* pvalue);
+
+IMPORT_C void asn1Free_CellMeasuredResults (OSCTXT *pctxt, ASN1T_CellMeasuredResults* pvalue);
+
+/**************************************************************/
+/* */
+/* CellMeasuredResultsList */
+/* */
+/**************************************************************/
+
+#define TV_CellMeasuredResultsList (TM_UNIV|TM_CONS|16)
+
+/* List of ASN1T_CellMeasuredResults */
+typedef ASN1TSeqOfList ASN1T_CellMeasuredResultsList;
+
+class ASN1C_CellMeasuredResultsList :
+public ASN1CSeqOfList
+{
+protected:
+ ASN1T_CellMeasuredResultsList& msgData;
+public:
+ IMPORT_C ASN1C_CellMeasuredResultsList (ASN1T_CellMeasuredResultsList& data);
+ IMPORT_C ASN1C_CellMeasuredResultsList (OSRTMessageBufferIF& msgBuf
+ , ASN1T_CellMeasuredResultsList& data);
+ ASN1C_CellMeasuredResultsList (ASN1CType& ccobj, ASN1T_CellMeasuredResultsList& data);
+ IMPORT_C ASN1C_CellMeasuredResultsList (OSRTContext &context
+ , ASN1T_CellMeasuredResultsList& data);
+ void Append (ASN1T_CellMeasuredResults* elem);
+ ASN1T_CellMeasuredResults* NewElement ();
+} ;
+
+IMPORT_C int asn1PE_CellMeasuredResultsList (OSCTXT* pctxt, ASN1T_CellMeasuredResultsList* pvalue);
+
+IMPORT_C int asn1PD_CellMeasuredResultsList (OSCTXT* pctxt, ASN1T_CellMeasuredResultsList* pvalue);
+
+IMPORT_C void asn1Print_CellMeasuredResultsList
+ (const char* name, ASN1T_CellMeasuredResultsList* pvalue);
+
+IMPORT_C void asn1Free_CellMeasuredResultsList (OSCTXT *pctxt, ASN1T_CellMeasuredResultsList* pvalue);
+
+/**************************************************************/
+/* */
+/* MeasuredResults */
+/* */
+/**************************************************************/
+
+#define TV_MeasuredResults (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_MeasuredResults {
+ struct {
+ unsigned frequencyInfoPresent : 1;
+ unsigned utra_CarrierRSSIPresent : 1;
+ unsigned cellMeasuredResultsListPresent : 1;
+ } m;
+ ASN1T_FrequencyInfo frequencyInfo;
+ ASN1T_UTRA_CarrierRSSI utra_CarrierRSSI;
+ ASN1T_CellMeasuredResultsList cellMeasuredResultsList;
+ IMPORT_C ASN1T_MeasuredResults ();
+} ;
+
+IMPORT_C int asn1PE_MeasuredResults (OSCTXT* pctxt, ASN1T_MeasuredResults* pvalue);
+
+IMPORT_C int asn1PD_MeasuredResults (OSCTXT* pctxt, ASN1T_MeasuredResults* pvalue);
+
+IMPORT_C void asn1Print_MeasuredResults
+ (const char* name, ASN1T_MeasuredResults* pvalue);
+
+IMPORT_C void asn1Free_MeasuredResults (OSCTXT *pctxt, ASN1T_MeasuredResults* pvalue);
+
+/**************************************************************/
+/* */
+/* MeasuredResultsList */
+/* */
+/**************************************************************/
+
+#define TV_MeasuredResultsList (TM_UNIV|TM_CONS|16)
+
+/* List of ASN1T_MeasuredResults */
+typedef ASN1TSeqOfList ASN1T_MeasuredResultsList;
+
+class ASN1C_MeasuredResultsList :
+public ASN1CSeqOfList
+{
+protected:
+ ASN1T_MeasuredResultsList& msgData;
+public:
+ IMPORT_C ASN1C_MeasuredResultsList (ASN1T_MeasuredResultsList& data);
+ IMPORT_C ASN1C_MeasuredResultsList (OSRTMessageBufferIF& msgBuf
+ , ASN1T_MeasuredResultsList& data);
+ ASN1C_MeasuredResultsList (ASN1CType& ccobj, ASN1T_MeasuredResultsList& data);
+ IMPORT_C ASN1C_MeasuredResultsList (OSRTContext &context
+ , ASN1T_MeasuredResultsList& data);
+ void Append (ASN1T_MeasuredResults* elem);
+ ASN1T_MeasuredResults* NewElement ();
+} ;
+
+IMPORT_C int asn1PE_MeasuredResultsList (OSCTXT* pctxt, ASN1T_MeasuredResultsList* pvalue);
+
+IMPORT_C int asn1PD_MeasuredResultsList (OSCTXT* pctxt, ASN1T_MeasuredResultsList* pvalue);
+
+IMPORT_C void asn1Print_MeasuredResultsList
+ (const char* name, ASN1T_MeasuredResultsList* pvalue);
+
+IMPORT_C void asn1Free_MeasuredResultsList (OSCTXT *pctxt, ASN1T_MeasuredResultsList* pvalue);
+
+/**************************************************************/
+/* */
+/* WcdmaCellInformation */
+/* */
+/**************************************************************/
+
+#define TV_WcdmaCellInformation (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_WcdmaCellInformation {
+ struct {
+ unsigned frequencyInfoPresent : 1;
+ unsigned primaryScramblingCodePresent : 1;
+ unsigned measuredResultsListPresent : 1;
+ } m;
+ OSUINT16 refMCC;
+ OSUINT16 refMNC;
+ OSUINT32 refUC;
+ ASN1T_FrequencyInfo frequencyInfo;
+ OSUINT16 primaryScramblingCode;
+ ASN1T_MeasuredResultsList measuredResultsList;
+ IMPORT_C ASN1T_WcdmaCellInformation ();
+} ;
+
+IMPORT_C int asn1PE_WcdmaCellInformation (OSCTXT* pctxt, ASN1T_WcdmaCellInformation* pvalue);
+
+IMPORT_C int asn1PD_WcdmaCellInformation (OSCTXT* pctxt, ASN1T_WcdmaCellInformation* pvalue);
+
+IMPORT_C void asn1Print_WcdmaCellInformation
+ (const char* name, ASN1T_WcdmaCellInformation* pvalue);
+
+IMPORT_C void asn1Free_WcdmaCellInformation (OSCTXT *pctxt, ASN1T_WcdmaCellInformation* pvalue);
+
+/**************************************************************/
+/* */
+/* CdmaCellInformation */
+/* */
+/**************************************************************/
+
+#define TV_CdmaCellInformation (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_CdmaCellInformation {
+ OSUINT16 refNID;
+ OSUINT16 refSID;
+ OSUINT16 refBASEID;
+ OSUINT32 refBASELAT;
+ OSUINT32 reBASELONG;
+ OSUINT16 refREFPN;
+ OSUINT16 refWeekNumber;
+ OSUINT32 refSeconds;
+ IMPORT_C ASN1T_CdmaCellInformation ();
+} ;
+
+IMPORT_C int asn1PE_CdmaCellInformation (OSCTXT* pctxt, ASN1T_CdmaCellInformation* pvalue);
+
+IMPORT_C int asn1PD_CdmaCellInformation (OSCTXT* pctxt, ASN1T_CdmaCellInformation* pvalue);
+
+IMPORT_C void asn1Print_CdmaCellInformation
+ (const char* name, ASN1T_CdmaCellInformation* pvalue);
+
+/**************************************************************/
+/* */
+/* CellInfo */
+/* */
+/**************************************************************/
+
+/* Choice tag constants */
+
+#define T_CellInfo_gsmCell 1
+#define T_CellInfo_wcdmaCell 2
+#define T_CellInfo_cdmaCell 3
+#define T_CellInfo_extElem1 4
+
+struct ASN1T_CellInfo {
+ int t;
+ union {
+ /* t = 1 */
+ ASN1T_GsmCellInformation *gsmCell;
+ /* t = 2 */
+ ASN1T_WcdmaCellInformation *wcdmaCell;
+ /* t = 3 */
+ ASN1T_CdmaCellInformation *cdmaCell;
+ /* t = 4 */
+ } u;
+} ;
+
+IMPORT_C int asn1PE_CellInfo (OSCTXT* pctxt, ASN1T_CellInfo* pvalue);
+
+IMPORT_C int asn1PD_CellInfo (OSCTXT* pctxt, ASN1T_CellInfo* pvalue);
+
+IMPORT_C void asn1Print_CellInfo
+ (const char* name, ASN1T_CellInfo* pvalue);
+
+IMPORT_C void asn1Free_CellInfo (OSCTXT *pctxt, ASN1T_CellInfo* pvalue);
+
+/**************************************************************/
+/* */
+/* Status */
+/* */
+/**************************************************************/
+
+#define TV_Status (TM_UNIV|TM_PRIM|10)
+
+struct Status {
+ enum Root {
+ stale = 0,
+ current = 1,
+ unknown = 2
+ } ;
+} ;
+
+typedef OSUINT32 ASN1T_Status;
+
+IMPORT_C int asn1PE_Status (OSCTXT* pctxt, ASN1T_Status value);
+
+IMPORT_C int asn1PD_Status (OSCTXT* pctxt, ASN1T_Status* pvalue);
+
+IMPORT_C void asn1Print_Status
+ (const char* name, ASN1T_Status* pvalue);
+
+IMPORT_C const OSUTF8CHAR* ASN1T_Status_ToString (OSINT32 value);
+
+IMPORT_C int ASN1T_Status_ToEnum (OSCTXT* pctxt,
+ const OSUTF8CHAR* value, ASN1T_Status* pvalue);
+
+/**************************************************************/
+/* */
+/* LocationId */
+/* */
+/**************************************************************/
+
+#define TV_LocationId (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_LocationId {
+ ASN1T_CellInfo cellInfo;
+ ASN1T_Status status;
+ IMPORT_C ASN1T_LocationId ();
+} ;
+
+IMPORT_C int asn1PE_LocationId (OSCTXT* pctxt, ASN1T_LocationId* pvalue);
+
+IMPORT_C int asn1PD_LocationId (OSCTXT* pctxt, ASN1T_LocationId* pvalue);
+
+IMPORT_C void asn1Print_LocationId
+ (const char* name, ASN1T_LocationId* pvalue);
+
+IMPORT_C void asn1Free_LocationId (OSCTXT *pctxt, ASN1T_LocationId* pvalue);
+
+/**************************************************************/
+/* */
+/* PositionEstimate_latitudeSign */
+/* */
+/**************************************************************/
+
+#define TV_PositionEstimate_latitudeSign (TM_UNIV|TM_PRIM|10)
+
+struct PositionEstimate_latitudeSign {
+ enum Root {
+ north = 0,
+ south = 1
+ } ;
+} ;
+
+typedef OSUINT32 ASN1T_PositionEstimate_latitudeSign;
+
+IMPORT_C int asn1PE_PositionEstimate_latitudeSign (OSCTXT* pctxt, ASN1T_PositionEstimate_latitudeSign value);
+
+IMPORT_C int asn1PD_PositionEstimate_latitudeSign (OSCTXT* pctxt, ASN1T_PositionEstimate_latitudeSign* pvalue);
+
+IMPORT_C void asn1Print_PositionEstimate_latitudeSign
+ (const char* name, ASN1T_PositionEstimate_latitudeSign* pvalue);
+
+IMPORT_C const OSUTF8CHAR* ASN1T_PositionEstimate_latitudeSign_ToString (OSINT32 value);
+
+IMPORT_C int ASN1T_PositionEstimate_latitudeSign_ToEnum (OSCTXT* pctxt,
+ const OSUTF8CHAR* value, ASN1T_PositionEstimate_latitudeSign* pvalue);
+
+/**************************************************************/
+/* */
+/* PositionEstimate_uncertainty */
+/* */
+/**************************************************************/
+
+#define TV_PositionEstimate_uncertainty (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_PositionEstimate_uncertainty {
+ OSUINT8 uncertaintySemiMajor;
+ OSUINT8 uncertaintySemiMinor;
+ OSUINT8 orientationMajorAxis;
+ IMPORT_C ASN1T_PositionEstimate_uncertainty ();
+} ;
+
+IMPORT_C int asn1PE_PositionEstimate_uncertainty (OSCTXT* pctxt, ASN1T_PositionEstimate_uncertainty* pvalue);
+
+IMPORT_C int asn1PD_PositionEstimate_uncertainty (OSCTXT* pctxt, ASN1T_PositionEstimate_uncertainty* pvalue);
+
+IMPORT_C void asn1Print_PositionEstimate_uncertainty
+ (const char* name, ASN1T_PositionEstimate_uncertainty* pvalue);
+
+/**************************************************************/
+/* */
+/* AltitudeInfo_altitudeDirection */
+/* */
+/**************************************************************/
+
+#define TV_AltitudeInfo_altitudeDirection (TM_UNIV|TM_PRIM|10)
+
+struct AltitudeInfo_altitudeDirection {
+ enum Root {
+ height = 0,
+ depth = 1
+ } ;
+} ;
+
+typedef OSUINT32 ASN1T_AltitudeInfo_altitudeDirection;
+
+IMPORT_C int asn1PE_AltitudeInfo_altitudeDirection (OSCTXT* pctxt, ASN1T_AltitudeInfo_altitudeDirection value);
+
+IMPORT_C int asn1PD_AltitudeInfo_altitudeDirection (OSCTXT* pctxt, ASN1T_AltitudeInfo_altitudeDirection* pvalue);
+
+IMPORT_C void asn1Print_AltitudeInfo_altitudeDirection
+ (const char* name, ASN1T_AltitudeInfo_altitudeDirection* pvalue);
+
+IMPORT_C const OSUTF8CHAR* ASN1T_AltitudeInfo_altitudeDirection_ToString (OSINT32 value);
+
+IMPORT_C int ASN1T_AltitudeInfo_altitudeDirection_ToEnum (OSCTXT* pctxt,
+ const OSUTF8CHAR* value, ASN1T_AltitudeInfo_altitudeDirection* pvalue);
+
+/**************************************************************/
+/* */
+/* AltitudeInfo */
+/* */
+/**************************************************************/
+
+#define TV_AltitudeInfo (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_AltitudeInfo {
+ ASN1T_AltitudeInfo_altitudeDirection altitudeDirection;
+ OSUINT16 altitude;
+ OSUINT8 altUncertainty;
+ IMPORT_C ASN1T_AltitudeInfo ();
+} ;
+
+IMPORT_C int asn1PE_AltitudeInfo (OSCTXT* pctxt, ASN1T_AltitudeInfo* pvalue);
+
+IMPORT_C int asn1PD_AltitudeInfo (OSCTXT* pctxt, ASN1T_AltitudeInfo* pvalue);
+
+IMPORT_C void asn1Print_AltitudeInfo
+ (const char* name, ASN1T_AltitudeInfo* pvalue);
+
+/**************************************************************/
+/* */
+/* PositionEstimate */
+/* */
+/**************************************************************/
+
+#define TV_PositionEstimate (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_PositionEstimate {
+ struct {
+ unsigned uncertaintyPresent : 1;
+ unsigned confidencePresent : 1;
+ unsigned altitudeInfoPresent : 1;
+ } m;
+ ASN1T_PositionEstimate_latitudeSign latitudeSign;
+ OSUINT32 latitude;
+ OSINT32 longitude;
+ ASN1T_PositionEstimate_uncertainty uncertainty;
+ OSUINT8 confidence;
+ ASN1T_AltitudeInfo altitudeInfo;
+ IMPORT_C ASN1T_PositionEstimate ();
+} ;
+
+IMPORT_C int asn1PE_PositionEstimate (OSCTXT* pctxt, ASN1T_PositionEstimate* pvalue);
+
+IMPORT_C int asn1PD_PositionEstimate (OSCTXT* pctxt, ASN1T_PositionEstimate* pvalue);
+
+IMPORT_C void asn1Print_PositionEstimate
+ (const char* name, ASN1T_PositionEstimate* pvalue);
+
+/**************************************************************/
+/* */
+/* Horvel_bearing */
+/* */
+/**************************************************************/
+
+#define TV_Horvel_bearing (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_Horvel_bearing {
+ OSUINT32 numbits;
+ OSOCTET data[2];
+ // ctors
+ ASN1T_Horvel_bearing () : numbits(0) {}
+ ASN1T_Horvel_bearing (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_Horvel_bearing (OSCTXT* pctxt, ASN1T_Horvel_bearing* pvalue);
+
+IMPORT_C int asn1PD_Horvel_bearing (OSCTXT* pctxt, ASN1T_Horvel_bearing* pvalue);
+
+IMPORT_C void asn1Print_Horvel_bearing
+ (const char* name, ASN1T_Horvel_bearing* pvalue);
+
+/**************************************************************/
+/* */
+/* Horvel_horspeed */
+/* */
+/**************************************************************/
+
+#define TV_Horvel_horspeed (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_Horvel_horspeed {
+ OSUINT32 numbits;
+ OSOCTET data[2];
+ // ctors
+ ASN1T_Horvel_horspeed () : numbits(0) {}
+ ASN1T_Horvel_horspeed (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_Horvel_horspeed (OSCTXT* pctxt, ASN1T_Horvel_horspeed* pvalue);
+
+IMPORT_C int asn1PD_Horvel_horspeed (OSCTXT* pctxt, ASN1T_Horvel_horspeed* pvalue);
+
+IMPORT_C void asn1Print_Horvel_horspeed
+ (const char* name, ASN1T_Horvel_horspeed* pvalue);
+
+/**************************************************************/
+/* */
+/* Horvel */
+/* */
+/**************************************************************/
+
+#define TV_Horvel (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_Horvel {
+ ASN1T_Horvel_bearing bearing;
+ ASN1T_Horvel_horspeed horspeed;
+ IMPORT_C ASN1T_Horvel ();
+} ;
+
+IMPORT_C int asn1PE_Horvel (OSCTXT* pctxt, ASN1T_Horvel* pvalue);
+
+IMPORT_C int asn1PD_Horvel (OSCTXT* pctxt, ASN1T_Horvel* pvalue);
+
+IMPORT_C void asn1Print_Horvel
+ (const char* name, ASN1T_Horvel* pvalue);
+
+/**************************************************************/
+/* */
+/* Horandvervel_verdirect */
+/* */
+/**************************************************************/
+
+#define TV_Horandvervel_verdirect (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_Horandvervel_verdirect {
+ OSUINT32 numbits;
+ OSOCTET data[1];
+ // ctors
+ ASN1T_Horandvervel_verdirect () : numbits(0) {}
+ ASN1T_Horandvervel_verdirect (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_Horandvervel_verdirect (OSCTXT* pctxt, ASN1T_Horandvervel_verdirect* pvalue);
+
+IMPORT_C int asn1PD_Horandvervel_verdirect (OSCTXT* pctxt, ASN1T_Horandvervel_verdirect* pvalue);
+
+IMPORT_C void asn1Print_Horandvervel_verdirect
+ (const char* name, ASN1T_Horandvervel_verdirect* pvalue);
+
+/**************************************************************/
+/* */
+/* Horandvervel_bearing */
+/* */
+/**************************************************************/
+
+#define TV_Horandvervel_bearing (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_Horandvervel_bearing {
+ OSUINT32 numbits;
+ OSOCTET data[2];
+ // ctors
+ ASN1T_Horandvervel_bearing () : numbits(0) {}
+ ASN1T_Horandvervel_bearing (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_Horandvervel_bearing (OSCTXT* pctxt, ASN1T_Horandvervel_bearing* pvalue);
+
+IMPORT_C int asn1PD_Horandvervel_bearing (OSCTXT* pctxt, ASN1T_Horandvervel_bearing* pvalue);
+
+IMPORT_C void asn1Print_Horandvervel_bearing
+ (const char* name, ASN1T_Horandvervel_bearing* pvalue);
+
+/**************************************************************/
+/* */
+/* Horandvervel_horspeed */
+/* */
+/**************************************************************/
+
+#define TV_Horandvervel_horspeed (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_Horandvervel_horspeed {
+ OSUINT32 numbits;
+ OSOCTET data[2];
+ // ctors
+ ASN1T_Horandvervel_horspeed () : numbits(0) {}
+ ASN1T_Horandvervel_horspeed (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_Horandvervel_horspeed (OSCTXT* pctxt, ASN1T_Horandvervel_horspeed* pvalue);
+
+IMPORT_C int asn1PD_Horandvervel_horspeed (OSCTXT* pctxt, ASN1T_Horandvervel_horspeed* pvalue);
+
+IMPORT_C void asn1Print_Horandvervel_horspeed
+ (const char* name, ASN1T_Horandvervel_horspeed* pvalue);
+
+/**************************************************************/
+/* */
+/* Horandvervel_verspeed */
+/* */
+/**************************************************************/
+
+#define TV_Horandvervel_verspeed (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_Horandvervel_verspeed {
+ OSUINT32 numbits;
+ OSOCTET data[1];
+ // ctors
+ ASN1T_Horandvervel_verspeed () : numbits(0) {}
+ ASN1T_Horandvervel_verspeed (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_Horandvervel_verspeed (OSCTXT* pctxt, ASN1T_Horandvervel_verspeed* pvalue);
+
+IMPORT_C int asn1PD_Horandvervel_verspeed (OSCTXT* pctxt, ASN1T_Horandvervel_verspeed* pvalue);
+
+IMPORT_C void asn1Print_Horandvervel_verspeed
+ (const char* name, ASN1T_Horandvervel_verspeed* pvalue);
+
+/**************************************************************/
+/* */
+/* Horandvervel */
+/* */
+/**************************************************************/
+
+#define TV_Horandvervel (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_Horandvervel {
+ ASN1T_Horandvervel_verdirect verdirect;
+ ASN1T_Horandvervel_bearing bearing;
+ ASN1T_Horandvervel_horspeed horspeed;
+ ASN1T_Horandvervel_verspeed verspeed;
+ IMPORT_C ASN1T_Horandvervel ();
+} ;
+
+IMPORT_C int asn1PE_Horandvervel (OSCTXT* pctxt, ASN1T_Horandvervel* pvalue);
+
+IMPORT_C int asn1PD_Horandvervel (OSCTXT* pctxt, ASN1T_Horandvervel* pvalue);
+
+IMPORT_C void asn1Print_Horandvervel
+ (const char* name, ASN1T_Horandvervel* pvalue);
+
+/**************************************************************/
+/* */
+/* Horveluncert_bearing */
+/* */
+/**************************************************************/
+
+#define TV_Horveluncert_bearing (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_Horveluncert_bearing {
+ OSUINT32 numbits;
+ OSOCTET data[2];
+ // ctors
+ ASN1T_Horveluncert_bearing () : numbits(0) {}
+ ASN1T_Horveluncert_bearing (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_Horveluncert_bearing (OSCTXT* pctxt, ASN1T_Horveluncert_bearing* pvalue);
+
+IMPORT_C int asn1PD_Horveluncert_bearing (OSCTXT* pctxt, ASN1T_Horveluncert_bearing* pvalue);
+
+IMPORT_C void asn1Print_Horveluncert_bearing
+ (const char* name, ASN1T_Horveluncert_bearing* pvalue);
+
+/**************************************************************/
+/* */
+/* Horveluncert_horspeed */
+/* */
+/**************************************************************/
+
+#define TV_Horveluncert_horspeed (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_Horveluncert_horspeed {
+ OSUINT32 numbits;
+ OSOCTET data[2];
+ // ctors
+ ASN1T_Horveluncert_horspeed () : numbits(0) {}
+ ASN1T_Horveluncert_horspeed (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_Horveluncert_horspeed (OSCTXT* pctxt, ASN1T_Horveluncert_horspeed* pvalue);
+
+IMPORT_C int asn1PD_Horveluncert_horspeed (OSCTXT* pctxt, ASN1T_Horveluncert_horspeed* pvalue);
+
+IMPORT_C void asn1Print_Horveluncert_horspeed
+ (const char* name, ASN1T_Horveluncert_horspeed* pvalue);
+
+/**************************************************************/
+/* */
+/* Horveluncert_uncertspeed */
+/* */
+/**************************************************************/
+
+#define TV_Horveluncert_uncertspeed (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_Horveluncert_uncertspeed {
+ OSUINT32 numbits;
+ OSOCTET data[1];
+ // ctors
+ ASN1T_Horveluncert_uncertspeed () : numbits(0) {}
+ ASN1T_Horveluncert_uncertspeed (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_Horveluncert_uncertspeed (OSCTXT* pctxt, ASN1T_Horveluncert_uncertspeed* pvalue);
+
+IMPORT_C int asn1PD_Horveluncert_uncertspeed (OSCTXT* pctxt, ASN1T_Horveluncert_uncertspeed* pvalue);
+
+IMPORT_C void asn1Print_Horveluncert_uncertspeed
+ (const char* name, ASN1T_Horveluncert_uncertspeed* pvalue);
+
+/**************************************************************/
+/* */
+/* Horveluncert */
+/* */
+/**************************************************************/
+
+#define TV_Horveluncert (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_Horveluncert {
+ ASN1T_Horveluncert_bearing bearing;
+ ASN1T_Horveluncert_horspeed horspeed;
+ ASN1T_Horveluncert_uncertspeed uncertspeed;
+ IMPORT_C ASN1T_Horveluncert ();
+} ;
+
+IMPORT_C int asn1PE_Horveluncert (OSCTXT* pctxt, ASN1T_Horveluncert* pvalue);
+
+IMPORT_C int asn1PD_Horveluncert (OSCTXT* pctxt, ASN1T_Horveluncert* pvalue);
+
+IMPORT_C void asn1Print_Horveluncert
+ (const char* name, ASN1T_Horveluncert* pvalue);
+
+/**************************************************************/
+/* */
+/* Horandveruncert_verdirect */
+/* */
+/**************************************************************/
+
+#define TV_Horandveruncert_verdirect (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_Horandveruncert_verdirect {
+ OSUINT32 numbits;
+ OSOCTET data[1];
+ // ctors
+ ASN1T_Horandveruncert_verdirect () : numbits(0) {}
+ ASN1T_Horandveruncert_verdirect (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_Horandveruncert_verdirect (OSCTXT* pctxt, ASN1T_Horandveruncert_verdirect* pvalue);
+
+IMPORT_C int asn1PD_Horandveruncert_verdirect (OSCTXT* pctxt, ASN1T_Horandveruncert_verdirect* pvalue);
+
+IMPORT_C void asn1Print_Horandveruncert_verdirect
+ (const char* name, ASN1T_Horandveruncert_verdirect* pvalue);
+
+/**************************************************************/
+/* */
+/* Horandveruncert_bearing */
+/* */
+/**************************************************************/
+
+#define TV_Horandveruncert_bearing (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_Horandveruncert_bearing {
+ OSUINT32 numbits;
+ OSOCTET data[2];
+ // ctors
+ ASN1T_Horandveruncert_bearing () : numbits(0) {}
+ ASN1T_Horandveruncert_bearing (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_Horandveruncert_bearing (OSCTXT* pctxt, ASN1T_Horandveruncert_bearing* pvalue);
+
+IMPORT_C int asn1PD_Horandveruncert_bearing (OSCTXT* pctxt, ASN1T_Horandveruncert_bearing* pvalue);
+
+IMPORT_C void asn1Print_Horandveruncert_bearing
+ (const char* name, ASN1T_Horandveruncert_bearing* pvalue);
+
+/**************************************************************/
+/* */
+/* Horandveruncert_horspeed */
+/* */
+/**************************************************************/
+
+#define TV_Horandveruncert_horspeed (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_Horandveruncert_horspeed {
+ OSUINT32 numbits;
+ OSOCTET data[2];
+ // ctors
+ ASN1T_Horandveruncert_horspeed () : numbits(0) {}
+ ASN1T_Horandveruncert_horspeed (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_Horandveruncert_horspeed (OSCTXT* pctxt, ASN1T_Horandveruncert_horspeed* pvalue);
+
+IMPORT_C int asn1PD_Horandveruncert_horspeed (OSCTXT* pctxt, ASN1T_Horandveruncert_horspeed* pvalue);
+
+IMPORT_C void asn1Print_Horandveruncert_horspeed
+ (const char* name, ASN1T_Horandveruncert_horspeed* pvalue);
+
+/**************************************************************/
+/* */
+/* Horandveruncert_verspeed */
+/* */
+/**************************************************************/
+
+#define TV_Horandveruncert_verspeed (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_Horandveruncert_verspeed {
+ OSUINT32 numbits;
+ OSOCTET data[1];
+ // ctors
+ ASN1T_Horandveruncert_verspeed () : numbits(0) {}
+ ASN1T_Horandveruncert_verspeed (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_Horandveruncert_verspeed (OSCTXT* pctxt, ASN1T_Horandveruncert_verspeed* pvalue);
+
+IMPORT_C int asn1PD_Horandveruncert_verspeed (OSCTXT* pctxt, ASN1T_Horandveruncert_verspeed* pvalue);
+
+IMPORT_C void asn1Print_Horandveruncert_verspeed
+ (const char* name, ASN1T_Horandveruncert_verspeed* pvalue);
+
+/**************************************************************/
+/* */
+/* Horandveruncert_horuncertspeed */
+/* */
+/**************************************************************/
+
+#define TV_Horandveruncert_horuncertspeed (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_Horandveruncert_horuncertspeed {
+ OSUINT32 numbits;
+ OSOCTET data[1];
+ // ctors
+ ASN1T_Horandveruncert_horuncertspeed () : numbits(0) {}
+ ASN1T_Horandveruncert_horuncertspeed (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_Horandveruncert_horuncertspeed (OSCTXT* pctxt, ASN1T_Horandveruncert_horuncertspeed* pvalue);
+
+IMPORT_C int asn1PD_Horandveruncert_horuncertspeed (OSCTXT* pctxt, ASN1T_Horandveruncert_horuncertspeed* pvalue);
+
+IMPORT_C void asn1Print_Horandveruncert_horuncertspeed
+ (const char* name, ASN1T_Horandveruncert_horuncertspeed* pvalue);
+
+/**************************************************************/
+/* */
+/* Horandveruncert_veruncertspeed */
+/* */
+/**************************************************************/
+
+#define TV_Horandveruncert_veruncertspeed (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_Horandveruncert_veruncertspeed {
+ OSUINT32 numbits;
+ OSOCTET data[1];
+ // ctors
+ ASN1T_Horandveruncert_veruncertspeed () : numbits(0) {}
+ ASN1T_Horandveruncert_veruncertspeed (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_Horandveruncert_veruncertspeed (OSCTXT* pctxt, ASN1T_Horandveruncert_veruncertspeed* pvalue);
+
+IMPORT_C int asn1PD_Horandveruncert_veruncertspeed (OSCTXT* pctxt, ASN1T_Horandveruncert_veruncertspeed* pvalue);
+
+IMPORT_C void asn1Print_Horandveruncert_veruncertspeed
+ (const char* name, ASN1T_Horandveruncert_veruncertspeed* pvalue);
+
+/**************************************************************/
+/* */
+/* Horandveruncert */
+/* */
+/**************************************************************/
+
+#define TV_Horandveruncert (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_Horandveruncert {
+ ASN1T_Horandveruncert_verdirect verdirect;
+ ASN1T_Horandveruncert_bearing bearing;
+ ASN1T_Horandveruncert_horspeed horspeed;
+ ASN1T_Horandveruncert_verspeed verspeed;
+ ASN1T_Horandveruncert_horuncertspeed horuncertspeed;
+ ASN1T_Horandveruncert_veruncertspeed veruncertspeed;
+ IMPORT_C ASN1T_Horandveruncert ();
+} ;
+
+IMPORT_C int asn1PE_Horandveruncert (OSCTXT* pctxt, ASN1T_Horandveruncert* pvalue);
+
+IMPORT_C int asn1PD_Horandveruncert (OSCTXT* pctxt, ASN1T_Horandveruncert* pvalue);
+
+IMPORT_C void asn1Print_Horandveruncert
+ (const char* name, ASN1T_Horandveruncert* pvalue);
+
+/**************************************************************/
+/* */
+/* Velocity */
+/* */
+/**************************************************************/
+
+/* Choice tag constants */
+
+#define T_Velocity_horvel 1
+#define T_Velocity_horandvervel 2
+#define T_Velocity_horveluncert 3
+#define T_Velocity_horandveruncert 4
+#define T_Velocity_extElem1 5
+
+struct ASN1T_Velocity {
+ int t;
+ union {
+ /* t = 1 */
+ ASN1T_Horvel *horvel;
+ /* t = 2 */
+ ASN1T_Horandvervel *horandvervel;
+ /* t = 3 */
+ ASN1T_Horveluncert *horveluncert;
+ /* t = 4 */
+ ASN1T_Horandveruncert *horandveruncert;
+ /* t = 5 */
+ } u;
+} ;
+
+IMPORT_C int asn1PE_Velocity (OSCTXT* pctxt, ASN1T_Velocity* pvalue);
+
+IMPORT_C int asn1PD_Velocity (OSCTXT* pctxt, ASN1T_Velocity* pvalue);
+
+IMPORT_C void asn1Print_Velocity
+ (const char* name, ASN1T_Velocity* pvalue);
+
+IMPORT_C void asn1Free_Velocity (OSCTXT *pctxt, ASN1T_Velocity* pvalue);
+
+/**************************************************************/
+/* */
+/* Position */
+/* */
+/**************************************************************/
+
+#define TV_Position (TM_UNIV|TM_CONS|16)
+
+struct ASN1T_Position {
+ struct {
+ unsigned velocityPresent : 1;
+ } m;
+ const char* timestamp;
+ ASN1T_PositionEstimate positionEstimate;
+ ASN1T_Velocity velocity;
+ IMPORT_C ASN1T_Position ();
+} ;
+
+IMPORT_C int asn1PE_Position (OSCTXT* pctxt, ASN1T_Position* pvalue);
+
+IMPORT_C int asn1PD_Position (OSCTXT* pctxt, ASN1T_Position* pvalue);
+
+IMPORT_C void asn1Print_Position
+ (const char* name, ASN1T_Position* pvalue);
+
+IMPORT_C void asn1Free_Position (OSCTXT *pctxt, ASN1T_Position* pvalue);
+
+/**************************************************************/
+/* */
+/* Ver */
+/* */
+/**************************************************************/
+
+#define TV_Ver (TM_UNIV|TM_PRIM|3)
+
+struct ASN1T_Ver {
+ OSUINT32 numbits;
+ OSOCTET data[8];
+ // ctors
+ ASN1T_Ver () : numbits(0) {}
+ ASN1T_Ver (OSUINT32 _numbits, const OSOCTET* _data) :
+ numbits(_numbits) {
+ OSCRTLMEMCPY (data, _data, sizeof(data));
+ }
+} ;
+
+IMPORT_C int asn1PE_Ver (OSCTXT* pctxt, ASN1T_Ver* pvalue);
+
+IMPORT_C int asn1PD_Ver (OSCTXT* pctxt, ASN1T_Ver* pvalue);
+
+IMPORT_C void asn1Print_Ver
+ (const char* name, ASN1T_Ver* pvalue);
+
+/**************************************************************/
+/* */
+/* StatusCode */
+/* */
+/**************************************************************/
+
+#define TV_StatusCode (TM_UNIV|TM_PRIM|10)
+
+struct StatusCode {
+ enum Root {
+ unspecified = 0,
+ systemFailure = 1,
+ unexpectedMessage = 2,
+ protocolError = 3,
+ dataMissing = 4,
+ unexpectedDataValue = 5,
+ posMethodFailure = 6,
+ posMethodMismatch = 7,
+ posProtocolMismatch = 8,
+ targetSETnotReachable = 9,
+ versionNotSupported = 10,
+ resourceShortage = 11,
+ invalidSessionId = 12,
+ nonProxyModeNotSupported = 13,
+ proxyModeNotSupported = 14,
+ positioningNotPermitted = 15,
+ authNetFailure = 16,
+ authSuplinitFailure = 17,
+ consentDeniedByUser = 100,
+ consentGrantedByUser = 101
+ } ;
+} ;
+
+typedef OSUINT32 ASN1T_StatusCode;
+
+IMPORT_C int asn1PE_StatusCode (OSCTXT* pctxt, ASN1T_StatusCode value);
+
+IMPORT_C int asn1PD_StatusCode (OSCTXT* pctxt, ASN1T_StatusCode* pvalue);
+
+IMPORT_C void asn1Print_StatusCode
+ (const char* name, ASN1T_StatusCode* pvalue);
+
+IMPORT_C const OSUTF8CHAR* ASN1T_StatusCode_ToString (OSINT32 value);
+
+IMPORT_C int ASN1T_StatusCode_ToEnum (OSCTXT* pctxt,
+ const OSUTF8CHAR* value, ASN1T_StatusCode* pvalue);
+
+#endif