networkprotocolmodules/common/asn1supl/inc/ULP-Components.h
branchRCL_3
changeset 65 a796fdeeb33c
parent 0 9cfd9a3ee49c
equal deleted inserted replaced
58:87622fad6b51 65:a796fdeeb33c
       
     1 // Copyright (c) 2001-2009 Objective Systems, Inc. (http://www.obj-sys.com) 
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available 
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 
       
     9 /**
       
    10  * This file was generated by the Objective Systems ASN1C Compiler
       
    11  * (http://www.obj-sys.com).
       
    12  */
       
    13 #ifndef ULP_COMPONENTS_H
       
    14 #define ULP_COMPONENTS_H
       
    15 
       
    16 #include <stdio.h>
       
    17 #include <stdlib.h>
       
    18 #include "rtkey.h"
       
    19 #include "rtpersrc/asn1PerCppTypes.h"
       
    20 #include "ASN1CBitStr.h"
       
    21 #include "ASN1CSeqOfList.h"
       
    22 
       
    23 /**
       
    24  * Header file for ASN.1 module ULP-Components
       
    25  */
       
    26 /**************************************************************/
       
    27 /*                                                            */
       
    28 /*  Version                                                   */
       
    29 /*                                                            */
       
    30 /**************************************************************/
       
    31 
       
    32 #define TV_Version	(TM_UNIV|TM_CONS|16)
       
    33 
       
    34 struct ASN1T_Version {
       
    35    OSUINT8 maj;
       
    36    OSUINT8 min;
       
    37    OSUINT8 servind;
       
    38    IMPORT_C ASN1T_Version ();
       
    39 } ;
       
    40 
       
    41 IMPORT_C int asn1PE_Version (OSCTXT* pctxt, ASN1T_Version* pvalue);
       
    42 
       
    43 IMPORT_C int asn1PD_Version (OSCTXT* pctxt, ASN1T_Version* pvalue);
       
    44 
       
    45 IMPORT_C void asn1Print_Version
       
    46    (const char* name, ASN1T_Version* pvalue);
       
    47 
       
    48 /**************************************************************/
       
    49 /*                                                            */
       
    50 /*  SETId_msisdn                                              */
       
    51 /*                                                            */
       
    52 /**************************************************************/
       
    53 
       
    54 #define TV_SETId_msisdn	(TM_UNIV|TM_PRIM|4)
       
    55 
       
    56 struct ASN1T_SETId_msisdn {
       
    57    OSUINT32 numocts;
       
    58    OSOCTET data[8];
       
    59    // ctors
       
    60    ASN1T_SETId_msisdn () : numocts(0) {}
       
    61    ASN1T_SETId_msisdn (OSUINT32 _numocts, const OSOCTET* _data) :
       
    62       numocts (_numocts) {
       
    63       OSCRTLMEMCPY (data, _data, OSRTMIN (numocts, sizeof(data)));
       
    64    }
       
    65    ASN1T_SETId_msisdn (const char* cstring) {
       
    66       if (strlen(cstring) > 0) {
       
    67          numocts = OSRTMIN ((OSCRTLSTRLEN(cstring)+1), sizeof(data));
       
    68          OSCRTLSTRNCPY ((char*)data, cstring, sizeof(data));
       
    69       }
       
    70       else numocts = 0;
       
    71    }
       
    72    // assignment operators
       
    73    ASN1T_SETId_msisdn& operator= (const char* cstring) {
       
    74       if (strlen(cstring) > 0) {
       
    75          numocts = OSRTMIN ((OSCRTLSTRLEN(cstring)+1), sizeof(data));
       
    76          OSCRTLSTRNCPY ((char*)data, cstring, sizeof(data));
       
    77       }
       
    78       else numocts = 0;
       
    79       return *this;
       
    80    }
       
    81 } ;
       
    82 
       
    83 IMPORT_C int asn1PE_SETId_msisdn (OSCTXT* pctxt, ASN1T_SETId_msisdn* pvalue);
       
    84 
       
    85 IMPORT_C int asn1PD_SETId_msisdn (OSCTXT* pctxt, ASN1T_SETId_msisdn* pvalue);
       
    86 
       
    87 IMPORT_C void asn1Print_SETId_msisdn
       
    88    (const char* name, ASN1T_SETId_msisdn* pvalue);
       
    89 
       
    90 /**************************************************************/
       
    91 /*                                                            */
       
    92 /*  SETId_mdn                                                 */
       
    93 /*                                                            */
       
    94 /**************************************************************/
       
    95 
       
    96 #define TV_SETId_mdn	(TM_UNIV|TM_PRIM|4)
       
    97 
       
    98 struct ASN1T_SETId_mdn {
       
    99    OSUINT32 numocts;
       
   100    OSOCTET data[8];
       
   101    // ctors
       
   102    ASN1T_SETId_mdn () : numocts(0) {}
       
   103    ASN1T_SETId_mdn (OSUINT32 _numocts, const OSOCTET* _data) :
       
   104       numocts (_numocts) {
       
   105       OSCRTLMEMCPY (data, _data, OSRTMIN (numocts, sizeof(data)));
       
   106    }
       
   107    ASN1T_SETId_mdn (const char* cstring) {
       
   108       if (strlen(cstring) > 0) {
       
   109          numocts = OSRTMIN ((OSCRTLSTRLEN(cstring)+1), sizeof(data));
       
   110          OSCRTLSTRNCPY ((char*)data, cstring, sizeof(data));
       
   111       }
       
   112       else numocts = 0;
       
   113    }
       
   114    // assignment operators
       
   115    ASN1T_SETId_mdn& operator= (const char* cstring) {
       
   116       if (strlen(cstring) > 0) {
       
   117          numocts = OSRTMIN ((OSCRTLSTRLEN(cstring)+1), sizeof(data));
       
   118          OSCRTLSTRNCPY ((char*)data, cstring, sizeof(data));
       
   119       }
       
   120       else numocts = 0;
       
   121       return *this;
       
   122    }
       
   123 } ;
       
   124 
       
   125 IMPORT_C int asn1PE_SETId_mdn (OSCTXT* pctxt, ASN1T_SETId_mdn* pvalue);
       
   126 
       
   127 IMPORT_C int asn1PD_SETId_mdn (OSCTXT* pctxt, ASN1T_SETId_mdn* pvalue);
       
   128 
       
   129 IMPORT_C void asn1Print_SETId_mdn
       
   130    (const char* name, ASN1T_SETId_mdn* pvalue);
       
   131 
       
   132 /**************************************************************/
       
   133 /*                                                            */
       
   134 /*  SETId_min                                                 */
       
   135 /*                                                            */
       
   136 /**************************************************************/
       
   137 
       
   138 #define TV_SETId_min	(TM_UNIV|TM_PRIM|3)
       
   139 
       
   140 struct ASN1T_SETId_min {
       
   141    OSUINT32  numbits;
       
   142    OSOCTET data[5];
       
   143    // ctors
       
   144    ASN1T_SETId_min () : numbits(0) {}
       
   145    ASN1T_SETId_min (OSUINT32 _numbits, const OSOCTET* _data) :
       
   146       numbits(_numbits) {
       
   147       OSCRTLMEMCPY (data, _data, sizeof(data));
       
   148    }
       
   149 } ;
       
   150 
       
   151 IMPORT_C int asn1PE_SETId_min (OSCTXT* pctxt, ASN1T_SETId_min* pvalue);
       
   152 
       
   153 IMPORT_C int asn1PD_SETId_min (OSCTXT* pctxt, ASN1T_SETId_min* pvalue);
       
   154 
       
   155 IMPORT_C void asn1Print_SETId_min
       
   156    (const char* name, ASN1T_SETId_min* pvalue);
       
   157 
       
   158 /**************************************************************/
       
   159 /*                                                            */
       
   160 /*  SETId_imsi                                                */
       
   161 /*                                                            */
       
   162 /**************************************************************/
       
   163 
       
   164 #define TV_SETId_imsi	(TM_UNIV|TM_PRIM|4)
       
   165 
       
   166 struct ASN1T_SETId_imsi {
       
   167    OSUINT32 numocts;
       
   168    OSOCTET data[8];
       
   169    // ctors
       
   170    ASN1T_SETId_imsi () : numocts(0) {}
       
   171    ASN1T_SETId_imsi (OSUINT32 _numocts, const OSOCTET* _data) :
       
   172       numocts (_numocts) {
       
   173       OSCRTLMEMCPY (data, _data, OSRTMIN (numocts, sizeof(data)));
       
   174    }
       
   175    ASN1T_SETId_imsi (const char* cstring) {
       
   176       if (strlen(cstring) > 0) {
       
   177          numocts = OSRTMIN ((OSCRTLSTRLEN(cstring)+1), sizeof(data));
       
   178          OSCRTLSTRNCPY ((char*)data, cstring, sizeof(data));
       
   179       }
       
   180       else numocts = 0;
       
   181    }
       
   182    // assignment operators
       
   183    ASN1T_SETId_imsi& operator= (const char* cstring) {
       
   184       if (strlen(cstring) > 0) {
       
   185          numocts = OSRTMIN ((OSCRTLSTRLEN(cstring)+1), sizeof(data));
       
   186          OSCRTLSTRNCPY ((char*)data, cstring, sizeof(data));
       
   187       }
       
   188       else numocts = 0;
       
   189       return *this;
       
   190    }
       
   191 } ;
       
   192 
       
   193 IMPORT_C int asn1PE_SETId_imsi (OSCTXT* pctxt, ASN1T_SETId_imsi* pvalue);
       
   194 
       
   195 IMPORT_C int asn1PD_SETId_imsi (OSCTXT* pctxt, ASN1T_SETId_imsi* pvalue);
       
   196 
       
   197 IMPORT_C void asn1Print_SETId_imsi
       
   198    (const char* name, ASN1T_SETId_imsi* pvalue);
       
   199 
       
   200 /**************************************************************/
       
   201 /*                                                            */
       
   202 /*  IPAddress_ipv4Address                                     */
       
   203 /*                                                            */
       
   204 /**************************************************************/
       
   205 
       
   206 #define TV_IPAddress_ipv4Address	(TM_UNIV|TM_PRIM|4)
       
   207 
       
   208 struct ASN1T_IPAddress_ipv4Address {
       
   209    OSUINT32 numocts;
       
   210    OSOCTET data[4];
       
   211    // ctors
       
   212    ASN1T_IPAddress_ipv4Address () : numocts(0) {}
       
   213    ASN1T_IPAddress_ipv4Address (OSUINT32 _numocts, const OSOCTET* _data) :
       
   214       numocts (_numocts) {
       
   215       OSCRTLMEMCPY (data, _data, OSRTMIN (numocts, sizeof(data)));
       
   216    }
       
   217    ASN1T_IPAddress_ipv4Address (const char* cstring) {
       
   218       if (strlen(cstring) > 0) {
       
   219          numocts = OSRTMIN ((OSCRTLSTRLEN(cstring)+1), sizeof(data));
       
   220          OSCRTLSTRNCPY ((char*)data, cstring, sizeof(data));
       
   221       }
       
   222       else numocts = 0;
       
   223    }
       
   224    // assignment operators
       
   225    ASN1T_IPAddress_ipv4Address& operator= (const char* cstring) {
       
   226       if (strlen(cstring) > 0) {
       
   227          numocts = OSRTMIN ((OSCRTLSTRLEN(cstring)+1), sizeof(data));
       
   228          OSCRTLSTRNCPY ((char*)data, cstring, sizeof(data));
       
   229       }
       
   230       else numocts = 0;
       
   231       return *this;
       
   232    }
       
   233 } ;
       
   234 
       
   235 IMPORT_C int asn1PE_IPAddress_ipv4Address (OSCTXT* pctxt, ASN1T_IPAddress_ipv4Address* pvalue);
       
   236 
       
   237 IMPORT_C int asn1PD_IPAddress_ipv4Address (OSCTXT* pctxt, ASN1T_IPAddress_ipv4Address* pvalue);
       
   238 
       
   239 IMPORT_C void asn1Print_IPAddress_ipv4Address
       
   240    (const char* name, ASN1T_IPAddress_ipv4Address* pvalue);
       
   241 
       
   242 /**************************************************************/
       
   243 /*                                                            */
       
   244 /*  IPAddress_ipv6Address                                     */
       
   245 /*                                                            */
       
   246 /**************************************************************/
       
   247 
       
   248 #define TV_IPAddress_ipv6Address	(TM_UNIV|TM_PRIM|4)
       
   249 
       
   250 struct ASN1T_IPAddress_ipv6Address {
       
   251    OSUINT32 numocts;
       
   252    OSOCTET data[16];
       
   253    // ctors
       
   254    ASN1T_IPAddress_ipv6Address () : numocts(0) {}
       
   255    ASN1T_IPAddress_ipv6Address (OSUINT32 _numocts, const OSOCTET* _data) :
       
   256       numocts (_numocts) {
       
   257       OSCRTLMEMCPY (data, _data, OSRTMIN (numocts, sizeof(data)));
       
   258    }
       
   259    ASN1T_IPAddress_ipv6Address (const char* cstring) {
       
   260       if (strlen(cstring) > 0) {
       
   261          numocts = OSRTMIN ((OSCRTLSTRLEN(cstring)+1), sizeof(data));
       
   262          OSCRTLSTRNCPY ((char*)data, cstring, sizeof(data));
       
   263       }
       
   264       else numocts = 0;
       
   265    }
       
   266    // assignment operators
       
   267    ASN1T_IPAddress_ipv6Address& operator= (const char* cstring) {
       
   268       if (strlen(cstring) > 0) {
       
   269          numocts = OSRTMIN ((OSCRTLSTRLEN(cstring)+1), sizeof(data));
       
   270          OSCRTLSTRNCPY ((char*)data, cstring, sizeof(data));
       
   271       }
       
   272       else numocts = 0;
       
   273       return *this;
       
   274    }
       
   275 } ;
       
   276 
       
   277 IMPORT_C int asn1PE_IPAddress_ipv6Address (OSCTXT* pctxt, ASN1T_IPAddress_ipv6Address* pvalue);
       
   278 
       
   279 IMPORT_C int asn1PD_IPAddress_ipv6Address (OSCTXT* pctxt, ASN1T_IPAddress_ipv6Address* pvalue);
       
   280 
       
   281 IMPORT_C void asn1Print_IPAddress_ipv6Address
       
   282    (const char* name, ASN1T_IPAddress_ipv6Address* pvalue);
       
   283 
       
   284 /**************************************************************/
       
   285 /*                                                            */
       
   286 /*  IPAddress                                                 */
       
   287 /*                                                            */
       
   288 /**************************************************************/
       
   289 
       
   290 /* Choice tag constants */
       
   291 
       
   292 #define T_IPAddress_ipv4Address         1
       
   293 #define T_IPAddress_ipv6Address         2
       
   294 
       
   295 struct ASN1T_IPAddress {
       
   296    int t;
       
   297    union {
       
   298       /* t = 1 */
       
   299       ASN1T_IPAddress_ipv4Address *ipv4Address;
       
   300       /* t = 2 */
       
   301       ASN1T_IPAddress_ipv6Address *ipv6Address;
       
   302    } u;
       
   303 } ;
       
   304 
       
   305 IMPORT_C int asn1PE_IPAddress (OSCTXT* pctxt, ASN1T_IPAddress* pvalue);
       
   306 
       
   307 IMPORT_C int asn1PD_IPAddress (OSCTXT* pctxt, ASN1T_IPAddress* pvalue);
       
   308 
       
   309 IMPORT_C void asn1Print_IPAddress
       
   310    (const char* name, ASN1T_IPAddress* pvalue);
       
   311 
       
   312 IMPORT_C void asn1Free_IPAddress (OSCTXT *pctxt, ASN1T_IPAddress* pvalue);
       
   313 
       
   314 /**************************************************************/
       
   315 /*                                                            */
       
   316 /*  SETId                                                     */
       
   317 /*                                                            */
       
   318 /**************************************************************/
       
   319 
       
   320 /* Choice tag constants */
       
   321 
       
   322 #define T_SETId_msisdn                  1
       
   323 #define T_SETId_mdn                     2
       
   324 #define T_SETId_min                     3
       
   325 #define T_SETId_imsi                    4
       
   326 #define T_SETId_nai                     5
       
   327 #define T_SETId_iPAddress               6
       
   328 #define T_SETId_extElem1                7
       
   329 
       
   330 struct ASN1T_SETId {
       
   331    int t;
       
   332    union {
       
   333       /* t = 1 */
       
   334       ASN1T_SETId_msisdn *msisdn;
       
   335       /* t = 2 */
       
   336       ASN1T_SETId_mdn *mdn;
       
   337       /* t = 3 */
       
   338       ASN1T_SETId_min *min;
       
   339       /* t = 4 */
       
   340       ASN1T_SETId_imsi *imsi;
       
   341       /* t = 5 */
       
   342       const char* nai;
       
   343       /* t = 6 */
       
   344       ASN1T_IPAddress *iPAddress;
       
   345       /* t = 7 */
       
   346    } u;
       
   347 } ;
       
   348 
       
   349 IMPORT_C int asn1PE_SETId (OSCTXT* pctxt, ASN1T_SETId* pvalue);
       
   350 
       
   351 IMPORT_C int asn1PD_SETId (OSCTXT* pctxt, ASN1T_SETId* pvalue);
       
   352 
       
   353 IMPORT_C void asn1Print_SETId
       
   354    (const char* name, ASN1T_SETId* pvalue);
       
   355 
       
   356 IMPORT_C void asn1Free_SETId (OSCTXT *pctxt, ASN1T_SETId* pvalue);
       
   357 
       
   358 /**************************************************************/
       
   359 /*                                                            */
       
   360 /*  SetSessionID                                              */
       
   361 /*                                                            */
       
   362 /**************************************************************/
       
   363 
       
   364 #define TV_SetSessionID	(TM_UNIV|TM_CONS|16)
       
   365 
       
   366 struct ASN1T_SetSessionID {
       
   367    OSUINT16 sessionId;
       
   368    ASN1T_SETId setId;
       
   369    IMPORT_C ASN1T_SetSessionID ();
       
   370 } ;
       
   371 
       
   372 IMPORT_C int asn1PE_SetSessionID (OSCTXT* pctxt, ASN1T_SetSessionID* pvalue);
       
   373 
       
   374 IMPORT_C int asn1PD_SetSessionID (OSCTXT* pctxt, ASN1T_SetSessionID* pvalue);
       
   375 
       
   376 IMPORT_C void asn1Print_SetSessionID
       
   377    (const char* name, ASN1T_SetSessionID* pvalue);
       
   378 
       
   379 IMPORT_C void asn1Free_SetSessionID (OSCTXT *pctxt, ASN1T_SetSessionID* pvalue);
       
   380 
       
   381 /**************************************************************/
       
   382 /*                                                            */
       
   383 /*  SlpSessionID_sessionID                                    */
       
   384 /*                                                            */
       
   385 /**************************************************************/
       
   386 
       
   387 #define TV_SlpSessionID_sessionID	(TM_UNIV|TM_PRIM|4)
       
   388 
       
   389 struct ASN1T_SlpSessionID_sessionID {
       
   390    OSUINT32 numocts;
       
   391    OSOCTET data[4];
       
   392    // ctors
       
   393    ASN1T_SlpSessionID_sessionID () : numocts(0) {}
       
   394    ASN1T_SlpSessionID_sessionID (OSUINT32 _numocts, const OSOCTET* _data) :
       
   395       numocts (_numocts) {
       
   396       OSCRTLMEMCPY (data, _data, OSRTMIN (numocts, sizeof(data)));
       
   397    }
       
   398    ASN1T_SlpSessionID_sessionID (const char* cstring) {
       
   399       if (strlen(cstring) > 0) {
       
   400          numocts = OSRTMIN ((OSCRTLSTRLEN(cstring)+1), sizeof(data));
       
   401          OSCRTLSTRNCPY ((char*)data, cstring, sizeof(data));
       
   402       }
       
   403       else numocts = 0;
       
   404    }
       
   405    // assignment operators
       
   406    ASN1T_SlpSessionID_sessionID& operator= (const char* cstring) {
       
   407       if (strlen(cstring) > 0) {
       
   408          numocts = OSRTMIN ((OSCRTLSTRLEN(cstring)+1), sizeof(data));
       
   409          OSCRTLSTRNCPY ((char*)data, cstring, sizeof(data));
       
   410       }
       
   411       else numocts = 0;
       
   412       return *this;
       
   413    }
       
   414 } ;
       
   415 
       
   416 IMPORT_C int asn1PE_SlpSessionID_sessionID (OSCTXT* pctxt, ASN1T_SlpSessionID_sessionID* pvalue);
       
   417 
       
   418 IMPORT_C int asn1PD_SlpSessionID_sessionID (OSCTXT* pctxt, ASN1T_SlpSessionID_sessionID* pvalue);
       
   419 
       
   420 IMPORT_C void asn1Print_SlpSessionID_sessionID
       
   421    (const char* name, ASN1T_SlpSessionID_sessionID* pvalue);
       
   422 
       
   423 /**************************************************************/
       
   424 /*                                                            */
       
   425 /*  FQDN                                                      */
       
   426 /*                                                            */
       
   427 /**************************************************************/
       
   428 
       
   429 #define TV_FQDN	(TM_UNIV|TM_PRIM|26)
       
   430 
       
   431 typedef const char* ASN1T_FQDN;
       
   432 
       
   433 IMPORT_C int asn1PE_FQDN (OSCTXT* pctxt, ASN1T_FQDN value);
       
   434 
       
   435 IMPORT_C int asn1PD_FQDN (OSCTXT* pctxt, ASN1T_FQDN* pvalue);
       
   436 
       
   437 IMPORT_C void asn1Print_FQDN
       
   438    (const char* name, ASN1T_FQDN pvalue);
       
   439 
       
   440 IMPORT_C void asn1Free_FQDN (OSCTXT *pctxt, ASN1T_FQDN pvalue);
       
   441 
       
   442 /**************************************************************/
       
   443 /*                                                            */
       
   444 /*  SLPAddress                                                */
       
   445 /*                                                            */
       
   446 /**************************************************************/
       
   447 
       
   448 /* Choice tag constants */
       
   449 
       
   450 #define T_SLPAddress_iPAddress          1
       
   451 #define T_SLPAddress_fQDN               2
       
   452 #define T_SLPAddress_extElem1           3
       
   453 
       
   454 struct ASN1T_SLPAddress {
       
   455    int t;
       
   456    union {
       
   457       /* t = 1 */
       
   458       ASN1T_IPAddress *iPAddress;
       
   459       /* t = 2 */
       
   460       ASN1T_FQDN fQDN;
       
   461       /* t = 3 */
       
   462    } u;
       
   463 } ;
       
   464 
       
   465 IMPORT_C int asn1PE_SLPAddress (OSCTXT* pctxt, ASN1T_SLPAddress* pvalue);
       
   466 
       
   467 IMPORT_C int asn1PD_SLPAddress (OSCTXT* pctxt, ASN1T_SLPAddress* pvalue);
       
   468 
       
   469 IMPORT_C void asn1Print_SLPAddress
       
   470    (const char* name, ASN1T_SLPAddress* pvalue);
       
   471 
       
   472 IMPORT_C void asn1Free_SLPAddress (OSCTXT *pctxt, ASN1T_SLPAddress* pvalue);
       
   473 
       
   474 /**************************************************************/
       
   475 /*                                                            */
       
   476 /*  SlpSessionID                                              */
       
   477 /*                                                            */
       
   478 /**************************************************************/
       
   479 
       
   480 #define TV_SlpSessionID	(TM_UNIV|TM_CONS|16)
       
   481 
       
   482 struct ASN1T_SlpSessionID {
       
   483    ASN1T_SlpSessionID_sessionID sessionID;
       
   484    ASN1T_SLPAddress slpId;
       
   485    IMPORT_C ASN1T_SlpSessionID ();
       
   486 } ;
       
   487 
       
   488 IMPORT_C int asn1PE_SlpSessionID (OSCTXT* pctxt, ASN1T_SlpSessionID* pvalue);
       
   489 
       
   490 IMPORT_C int asn1PD_SlpSessionID (OSCTXT* pctxt, ASN1T_SlpSessionID* pvalue);
       
   491 
       
   492 IMPORT_C void asn1Print_SlpSessionID
       
   493    (const char* name, ASN1T_SlpSessionID* pvalue);
       
   494 
       
   495 IMPORT_C void asn1Free_SlpSessionID (OSCTXT *pctxt, ASN1T_SlpSessionID* pvalue);
       
   496 
       
   497 /**************************************************************/
       
   498 /*                                                            */
       
   499 /*  SessionID                                                 */
       
   500 /*                                                            */
       
   501 /**************************************************************/
       
   502 
       
   503 #define TV_SessionID	(TM_UNIV|TM_CONS|16)
       
   504 
       
   505 struct ASN1T_SessionID {
       
   506    struct {
       
   507       unsigned setSessionIDPresent : 1;
       
   508       unsigned slpSessionIDPresent : 1;
       
   509    } m;
       
   510    ASN1T_SetSessionID setSessionID;
       
   511    ASN1T_SlpSessionID slpSessionID;
       
   512    IMPORT_C ASN1T_SessionID ();
       
   513 } ;
       
   514 
       
   515 IMPORT_C int asn1PE_SessionID (OSCTXT* pctxt, ASN1T_SessionID* pvalue);
       
   516 
       
   517 IMPORT_C int asn1PD_SessionID (OSCTXT* pctxt, ASN1T_SessionID* pvalue);
       
   518 
       
   519 IMPORT_C void asn1Print_SessionID
       
   520    (const char* name, ASN1T_SessionID* pvalue);
       
   521 
       
   522 IMPORT_C void asn1Free_SessionID (OSCTXT *pctxt, ASN1T_SessionID* pvalue);
       
   523 
       
   524 /**************************************************************/
       
   525 /*                                                            */
       
   526 /*  PosMethod                                                 */
       
   527 /*                                                            */
       
   528 /**************************************************************/
       
   529 
       
   530 #define TV_PosMethod	(TM_UNIV|TM_PRIM|10)
       
   531 
       
   532 struct PosMethod {
       
   533    enum Root {
       
   534       agpsSETassisted = 0,
       
   535       agpsSETbased = 1,
       
   536       agpsSETassistedpref = 2,
       
   537       agpsSETbasedpref = 3,
       
   538       autonomousGPS = 4,
       
   539       aFLT = 5,
       
   540       eCID = 6,
       
   541       eOTD = 7,
       
   542       oTDOA = 8,
       
   543       noPosition = 9
       
   544    } ;
       
   545 } ;
       
   546 
       
   547 typedef OSUINT32 ASN1T_PosMethod;
       
   548 
       
   549 IMPORT_C int asn1PE_PosMethod (OSCTXT* pctxt, ASN1T_PosMethod value);
       
   550 
       
   551 IMPORT_C int asn1PD_PosMethod (OSCTXT* pctxt, ASN1T_PosMethod* pvalue);
       
   552 
       
   553 IMPORT_C void asn1Print_PosMethod
       
   554    (const char* name, ASN1T_PosMethod* pvalue);
       
   555 
       
   556 IMPORT_C const OSUTF8CHAR* ASN1T_PosMethod_ToString (OSINT32 value);
       
   557 
       
   558 IMPORT_C int ASN1T_PosMethod_ToEnum (OSCTXT* pctxt,
       
   559    const OSUTF8CHAR* value, ASN1T_PosMethod* pvalue);
       
   560 
       
   561 /**************************************************************/
       
   562 /*                                                            */
       
   563 /*  QoP                                                       */
       
   564 /*                                                            */
       
   565 /**************************************************************/
       
   566 
       
   567 #define TV_QoP	(TM_UNIV|TM_CONS|16)
       
   568 
       
   569 struct ASN1T_QoP {
       
   570    struct {
       
   571       unsigned veraccPresent : 1;
       
   572       unsigned maxLocAgePresent : 1;
       
   573       unsigned delayPresent : 1;
       
   574    } m;
       
   575    OSUINT8 horacc;
       
   576    OSUINT8 veracc;
       
   577    OSUINT16 maxLocAge;
       
   578    OSUINT8 delay;
       
   579    IMPORT_C ASN1T_QoP ();
       
   580 } ;
       
   581 
       
   582 IMPORT_C int asn1PE_QoP (OSCTXT* pctxt, ASN1T_QoP* pvalue);
       
   583 
       
   584 IMPORT_C int asn1PD_QoP (OSCTXT* pctxt, ASN1T_QoP* pvalue);
       
   585 
       
   586 IMPORT_C void asn1Print_QoP
       
   587    (const char* name, ASN1T_QoP* pvalue);
       
   588 
       
   589 /**************************************************************/
       
   590 /*                                                            */
       
   591 /*  NMRelement                                                */
       
   592 /*                                                            */
       
   593 /**************************************************************/
       
   594 
       
   595 #define TV_NMRelement	(TM_UNIV|TM_CONS|16)
       
   596 
       
   597 struct ASN1T_NMRelement {
       
   598    OSUINT16 aRFCN;
       
   599    OSUINT8 bSIC;
       
   600    OSUINT8 rxLev;
       
   601    IMPORT_C ASN1T_NMRelement ();
       
   602 } ;
       
   603 
       
   604 IMPORT_C int asn1PE_NMRelement (OSCTXT* pctxt, ASN1T_NMRelement* pvalue);
       
   605 
       
   606 IMPORT_C int asn1PD_NMRelement (OSCTXT* pctxt, ASN1T_NMRelement* pvalue);
       
   607 
       
   608 IMPORT_C void asn1Print_NMRelement
       
   609    (const char* name, ASN1T_NMRelement* pvalue);
       
   610 
       
   611 /**************************************************************/
       
   612 /*                                                            */
       
   613 /*  NMR                                                       */
       
   614 /*                                                            */
       
   615 /**************************************************************/
       
   616 
       
   617 #define TV_NMR	(TM_UNIV|TM_CONS|16)
       
   618 
       
   619 /* List of ASN1T_NMRelement */
       
   620 typedef ASN1TSeqOfList ASN1T_NMR;
       
   621 
       
   622 class ASN1C_NMR :
       
   623 public ASN1CSeqOfList
       
   624 {
       
   625 protected:
       
   626    ASN1T_NMR& msgData;
       
   627 public:
       
   628    IMPORT_C ASN1C_NMR (ASN1T_NMR& data);
       
   629    IMPORT_C ASN1C_NMR (OSRTMessageBufferIF& msgBuf, ASN1T_NMR& data);
       
   630    IMPORT_C ASN1C_NMR (ASN1CType& ccobj, ASN1T_NMR& data);
       
   631    IMPORT_C ASN1C_NMR (OSRTContext &context, ASN1T_NMR& data);
       
   632    IMPORT_C void Append (ASN1T_NMRelement* elem);
       
   633    IMPORT_C ASN1T_NMRelement* NewElement ();
       
   634 } ;
       
   635 
       
   636 IMPORT_C int asn1PE_NMR (OSCTXT* pctxt, ASN1T_NMR* pvalue);
       
   637 
       
   638 IMPORT_C int asn1PD_NMR (OSCTXT* pctxt, ASN1T_NMR* pvalue);
       
   639 
       
   640 IMPORT_C void asn1Print_NMR
       
   641    (const char* name, ASN1T_NMR* pvalue);
       
   642 
       
   643 IMPORT_C void asn1Free_NMR (OSCTXT *pctxt, ASN1T_NMR* pvalue);
       
   644 
       
   645 /**************************************************************/
       
   646 /*                                                            */
       
   647 /*  GsmCellInformation                                        */
       
   648 /*                                                            */
       
   649 /**************************************************************/
       
   650 
       
   651 #define TV_GsmCellInformation	(TM_UNIV|TM_CONS|16)
       
   652 
       
   653 struct ASN1T_GsmCellInformation {
       
   654    struct {
       
   655       unsigned nMRPresent : 1;
       
   656       unsigned tAPresent : 1;
       
   657    } m;
       
   658    OSUINT16 refMCC;
       
   659    OSUINT16 refMNC;
       
   660    OSUINT16 refLAC;
       
   661    OSUINT16 refCI;
       
   662    ASN1T_NMR nMR;
       
   663    OSUINT8 tA;
       
   664    IMPORT_C ASN1T_GsmCellInformation ();
       
   665 } ;
       
   666 
       
   667 IMPORT_C int asn1PE_GsmCellInformation (OSCTXT* pctxt, ASN1T_GsmCellInformation* pvalue);
       
   668 
       
   669 IMPORT_C int asn1PD_GsmCellInformation (OSCTXT* pctxt, ASN1T_GsmCellInformation* pvalue);
       
   670 
       
   671 IMPORT_C void asn1Print_GsmCellInformation
       
   672    (const char* name, ASN1T_GsmCellInformation* pvalue);
       
   673 
       
   674 IMPORT_C void asn1Free_GsmCellInformation (OSCTXT *pctxt, ASN1T_GsmCellInformation* pvalue);
       
   675 
       
   676 /**************************************************************/
       
   677 /*                                                            */
       
   678 /*  UARFCN                                                    */
       
   679 /*                                                            */
       
   680 /**************************************************************/
       
   681 
       
   682 #define TV_UARFCN	(TM_UNIV|TM_PRIM|2)
       
   683 
       
   684 typedef OSUINT16 ASN1T_UARFCN;
       
   685 
       
   686 IMPORT_C int asn1PE_UARFCN (OSCTXT* pctxt, ASN1T_UARFCN value);
       
   687 
       
   688 IMPORT_C int asn1PD_UARFCN (OSCTXT* pctxt, ASN1T_UARFCN* pvalue);
       
   689 
       
   690 IMPORT_C void asn1Print_UARFCN
       
   691    (const char* name, ASN1T_UARFCN* pvalue);
       
   692 
       
   693 /**************************************************************/
       
   694 /*                                                            */
       
   695 /*  FrequencyInfoFDD                                          */
       
   696 /*                                                            */
       
   697 /**************************************************************/
       
   698 
       
   699 #define TV_FrequencyInfoFDD	(TM_UNIV|TM_CONS|16)
       
   700 
       
   701 struct ASN1T_FrequencyInfoFDD {
       
   702    struct {
       
   703       unsigned uarfcn_ULPresent : 1;
       
   704    } m;
       
   705    ASN1T_UARFCN uarfcn_UL;
       
   706    ASN1T_UARFCN uarfcn_DL;
       
   707    IMPORT_C ASN1T_FrequencyInfoFDD ();
       
   708 } ;
       
   709 
       
   710 IMPORT_C int asn1PE_FrequencyInfoFDD (OSCTXT* pctxt, ASN1T_FrequencyInfoFDD* pvalue);
       
   711 
       
   712 IMPORT_C int asn1PD_FrequencyInfoFDD (OSCTXT* pctxt, ASN1T_FrequencyInfoFDD* pvalue);
       
   713 
       
   714 IMPORT_C void asn1Print_FrequencyInfoFDD
       
   715    (const char* name, ASN1T_FrequencyInfoFDD* pvalue);
       
   716 
       
   717 /**************************************************************/
       
   718 /*                                                            */
       
   719 /*  FrequencyInfoTDD                                          */
       
   720 /*                                                            */
       
   721 /**************************************************************/
       
   722 
       
   723 #define TV_FrequencyInfoTDD	(TM_UNIV|TM_CONS|16)
       
   724 
       
   725 struct ASN1T_FrequencyInfoTDD {
       
   726    ASN1T_UARFCN uarfcn_Nt;
       
   727    IMPORT_C ASN1T_FrequencyInfoTDD ();
       
   728 } ;
       
   729 
       
   730 IMPORT_C int asn1PE_FrequencyInfoTDD (OSCTXT* pctxt, ASN1T_FrequencyInfoTDD* pvalue);
       
   731 
       
   732 IMPORT_C int asn1PD_FrequencyInfoTDD (OSCTXT* pctxt, ASN1T_FrequencyInfoTDD* pvalue);
       
   733 
       
   734 IMPORT_C void asn1Print_FrequencyInfoTDD
       
   735    (const char* name, ASN1T_FrequencyInfoTDD* pvalue);
       
   736 
       
   737 /**************************************************************/
       
   738 /*                                                            */
       
   739 /*  FrequencyInfo_modeSpecificInfo                            */
       
   740 /*                                                            */
       
   741 /**************************************************************/
       
   742 
       
   743 /* Choice tag constants */
       
   744 
       
   745 #define T_FrequencyInfo_modeSpecificInfo_fdd 1
       
   746 #define T_FrequencyInfo_modeSpecificInfo_tdd 2
       
   747 #define T_FrequencyInfo_modeSpecificInfo_extElem1 3
       
   748 
       
   749 struct ASN1T_FrequencyInfo_modeSpecificInfo {
       
   750    int t;
       
   751    union {
       
   752       /* t = 1 */
       
   753       ASN1T_FrequencyInfoFDD *fdd;
       
   754       /* t = 2 */
       
   755       ASN1T_FrequencyInfoTDD *tdd;
       
   756       /* t = 3 */
       
   757    } u;
       
   758 } ;
       
   759 
       
   760 IMPORT_C int asn1PE_FrequencyInfo_modeSpecificInfo (OSCTXT* pctxt, ASN1T_FrequencyInfo_modeSpecificInfo* pvalue);
       
   761 
       
   762 IMPORT_C int asn1PD_FrequencyInfo_modeSpecificInfo (OSCTXT* pctxt, ASN1T_FrequencyInfo_modeSpecificInfo* pvalue);
       
   763 
       
   764 IMPORT_C void asn1Print_FrequencyInfo_modeSpecificInfo
       
   765    (const char* name, ASN1T_FrequencyInfo_modeSpecificInfo* pvalue);
       
   766 
       
   767 IMPORT_C void asn1Free_FrequencyInfo_modeSpecificInfo (OSCTXT *pctxt, ASN1T_FrequencyInfo_modeSpecificInfo* pvalue);
       
   768 
       
   769 /**************************************************************/
       
   770 /*                                                            */
       
   771 /*  FrequencyInfo                                             */
       
   772 /*                                                            */
       
   773 /**************************************************************/
       
   774 
       
   775 #define TV_FrequencyInfo	(TM_UNIV|TM_CONS|16)
       
   776 
       
   777 struct ASN1T_FrequencyInfo {
       
   778    ASN1T_FrequencyInfo_modeSpecificInfo modeSpecificInfo;
       
   779    IMPORT_C ASN1T_FrequencyInfo ();
       
   780 } ;
       
   781 
       
   782 IMPORT_C int asn1PE_FrequencyInfo (OSCTXT* pctxt, ASN1T_FrequencyInfo* pvalue);
       
   783 
       
   784 IMPORT_C int asn1PD_FrequencyInfo (OSCTXT* pctxt, ASN1T_FrequencyInfo* pvalue);
       
   785 
       
   786 IMPORT_C void asn1Print_FrequencyInfo
       
   787    (const char* name, ASN1T_FrequencyInfo* pvalue);
       
   788 
       
   789 IMPORT_C void asn1Free_FrequencyInfo (OSCTXT *pctxt, ASN1T_FrequencyInfo* pvalue);
       
   790 
       
   791 /**************************************************************/
       
   792 /*                                                            */
       
   793 /*  UTRA_CarrierRSSI                                          */
       
   794 /*                                                            */
       
   795 /**************************************************************/
       
   796 
       
   797 #define TV_UTRA_CarrierRSSI	(TM_UNIV|TM_PRIM|2)
       
   798 
       
   799 typedef OSUINT8 ASN1T_UTRA_CarrierRSSI;
       
   800 
       
   801 IMPORT_C int asn1PE_UTRA_CarrierRSSI (OSCTXT* pctxt, ASN1T_UTRA_CarrierRSSI value);
       
   802 
       
   803 IMPORT_C int asn1PD_UTRA_CarrierRSSI (OSCTXT* pctxt, ASN1T_UTRA_CarrierRSSI* pvalue);
       
   804 
       
   805 IMPORT_C void asn1Print_UTRA_CarrierRSSI
       
   806    (const char* name, ASN1T_UTRA_CarrierRSSI* pvalue);
       
   807 
       
   808 /**************************************************************/
       
   809 /*                                                            */
       
   810 /*  PrimaryCPICH_Info                                         */
       
   811 /*                                                            */
       
   812 /**************************************************************/
       
   813 
       
   814 #define TV_PrimaryCPICH_Info	(TM_UNIV|TM_CONS|16)
       
   815 
       
   816 struct ASN1T_PrimaryCPICH_Info {
       
   817    OSUINT16 primaryScramblingCode;
       
   818    IMPORT_C ASN1T_PrimaryCPICH_Info ();
       
   819 } ;
       
   820 
       
   821 IMPORT_C int asn1PE_PrimaryCPICH_Info (OSCTXT* pctxt, ASN1T_PrimaryCPICH_Info* pvalue);
       
   822 
       
   823 IMPORT_C int asn1PD_PrimaryCPICH_Info (OSCTXT* pctxt, ASN1T_PrimaryCPICH_Info* pvalue);
       
   824 
       
   825 IMPORT_C void asn1Print_PrimaryCPICH_Info
       
   826    (const char* name, ASN1T_PrimaryCPICH_Info* pvalue);
       
   827 
       
   828 /**************************************************************/
       
   829 /*                                                            */
       
   830 /*  CPICH_Ec_N0                                               */
       
   831 /*                                                            */
       
   832 /**************************************************************/
       
   833 
       
   834 #define TV_CPICH_Ec_N0	(TM_UNIV|TM_PRIM|2)
       
   835 
       
   836 typedef OSUINT8 ASN1T_CPICH_Ec_N0;
       
   837 
       
   838 IMPORT_C int asn1PE_CPICH_Ec_N0 (OSCTXT* pctxt, ASN1T_CPICH_Ec_N0 value);
       
   839 
       
   840 IMPORT_C int asn1PD_CPICH_Ec_N0 (OSCTXT* pctxt, ASN1T_CPICH_Ec_N0* pvalue);
       
   841 
       
   842 IMPORT_C void asn1Print_CPICH_Ec_N0
       
   843    (const char* name, ASN1T_CPICH_Ec_N0* pvalue);
       
   844 
       
   845 /**************************************************************/
       
   846 /*                                                            */
       
   847 /*  CPICH_RSCP                                                */
       
   848 /*                                                            */
       
   849 /**************************************************************/
       
   850 
       
   851 #define TV_CPICH_RSCP	(TM_UNIV|TM_PRIM|2)
       
   852 
       
   853 typedef OSUINT8 ASN1T_CPICH_RSCP;
       
   854 
       
   855 IMPORT_C int asn1PE_CPICH_RSCP (OSCTXT* pctxt, ASN1T_CPICH_RSCP value);
       
   856 
       
   857 IMPORT_C int asn1PD_CPICH_RSCP (OSCTXT* pctxt, ASN1T_CPICH_RSCP* pvalue);
       
   858 
       
   859 IMPORT_C void asn1Print_CPICH_RSCP
       
   860    (const char* name, ASN1T_CPICH_RSCP* pvalue);
       
   861 
       
   862 /**************************************************************/
       
   863 /*                                                            */
       
   864 /*  Pathloss                                                  */
       
   865 /*                                                            */
       
   866 /**************************************************************/
       
   867 
       
   868 #define TV_Pathloss	(TM_UNIV|TM_PRIM|2)
       
   869 
       
   870 typedef OSUINT8 ASN1T_Pathloss;
       
   871 
       
   872 IMPORT_C int asn1PE_Pathloss (OSCTXT* pctxt, ASN1T_Pathloss value);
       
   873 
       
   874 IMPORT_C int asn1PD_Pathloss (OSCTXT* pctxt, ASN1T_Pathloss* pvalue);
       
   875 
       
   876 IMPORT_C void asn1Print_Pathloss
       
   877    (const char* name, ASN1T_Pathloss* pvalue);
       
   878 
       
   879 /**************************************************************/
       
   880 /*                                                            */
       
   881 /*  CellMeasuredResults_modeSpecificInfo_fdd                  */
       
   882 /*                                                            */
       
   883 /**************************************************************/
       
   884 
       
   885 #define TV_CellMeasuredResults_modeSpecificInfo_fdd	(TM_UNIV|TM_CONS|16)
       
   886 
       
   887 struct ASN1T_CellMeasuredResults_modeSpecificInfo_fdd {
       
   888    struct {
       
   889       unsigned cpich_Ec_N0Present : 1;
       
   890       unsigned cpich_RSCPPresent : 1;
       
   891       unsigned pathlossPresent : 1;
       
   892    } m;
       
   893    ASN1T_PrimaryCPICH_Info primaryCPICH_Info;
       
   894    ASN1T_CPICH_Ec_N0 cpich_Ec_N0;
       
   895    ASN1T_CPICH_RSCP cpich_RSCP;
       
   896    ASN1T_Pathloss pathloss;
       
   897    IMPORT_C ASN1T_CellMeasuredResults_modeSpecificInfo_fdd ();
       
   898 } ;
       
   899 
       
   900 IMPORT_C int asn1PE_CellMeasuredResults_modeSpecificInfo_fdd (OSCTXT* pctxt, ASN1T_CellMeasuredResults_modeSpecificInfo_fdd* pvalue);
       
   901 
       
   902 IMPORT_C int asn1PD_CellMeasuredResults_modeSpecificInfo_fdd (OSCTXT* pctxt, ASN1T_CellMeasuredResults_modeSpecificInfo_fdd* pvalue);
       
   903 
       
   904 IMPORT_C void asn1Print_CellMeasuredResults_modeSpecificInfo_fdd
       
   905    (const char* name, ASN1T_CellMeasuredResults_modeSpecificInfo_fdd* pvalue);
       
   906 
       
   907 /**************************************************************/
       
   908 /*                                                            */
       
   909 /*  CellParametersID                                          */
       
   910 /*                                                            */
       
   911 /**************************************************************/
       
   912 
       
   913 #define TV_CellParametersID	(TM_UNIV|TM_PRIM|2)
       
   914 
       
   915 typedef OSUINT8 ASN1T_CellParametersID;
       
   916 
       
   917 IMPORT_C int asn1PE_CellParametersID (OSCTXT* pctxt, ASN1T_CellParametersID value);
       
   918 
       
   919 IMPORT_C int asn1PD_CellParametersID (OSCTXT* pctxt, ASN1T_CellParametersID* pvalue);
       
   920 
       
   921 IMPORT_C void asn1Print_CellParametersID
       
   922    (const char* name, ASN1T_CellParametersID* pvalue);
       
   923 
       
   924 /**************************************************************/
       
   925 /*                                                            */
       
   926 /*  TGSN                                                      */
       
   927 /*                                                            */
       
   928 /**************************************************************/
       
   929 
       
   930 #define TV_TGSN	(TM_UNIV|TM_PRIM|2)
       
   931 
       
   932 typedef OSUINT8 ASN1T_TGSN;
       
   933 
       
   934 IMPORT_C int asn1PE_TGSN (OSCTXT* pctxt, ASN1T_TGSN value);
       
   935 
       
   936 IMPORT_C int asn1PD_TGSN (OSCTXT* pctxt, ASN1T_TGSN* pvalue);
       
   937 
       
   938 IMPORT_C void asn1Print_TGSN
       
   939    (const char* name, ASN1T_TGSN* pvalue);
       
   940 
       
   941 /**************************************************************/
       
   942 /*                                                            */
       
   943 /*  PrimaryCCPCH_RSCP                                         */
       
   944 /*                                                            */
       
   945 /**************************************************************/
       
   946 
       
   947 #define TV_PrimaryCCPCH_RSCP	(TM_UNIV|TM_PRIM|2)
       
   948 
       
   949 typedef OSUINT8 ASN1T_PrimaryCCPCH_RSCP;
       
   950 
       
   951 IMPORT_C int asn1PE_PrimaryCCPCH_RSCP (OSCTXT* pctxt, ASN1T_PrimaryCCPCH_RSCP value);
       
   952 
       
   953 IMPORT_C int asn1PD_PrimaryCCPCH_RSCP (OSCTXT* pctxt, ASN1T_PrimaryCCPCH_RSCP* pvalue);
       
   954 
       
   955 IMPORT_C void asn1Print_PrimaryCCPCH_RSCP
       
   956    (const char* name, ASN1T_PrimaryCCPCH_RSCP* pvalue);
       
   957 
       
   958 /**************************************************************/
       
   959 /*                                                            */
       
   960 /*  TimeslotISCP                                              */
       
   961 /*                                                            */
       
   962 /**************************************************************/
       
   963 
       
   964 #define TV_TimeslotISCP	(TM_UNIV|TM_PRIM|2)
       
   965 
       
   966 typedef OSUINT8 ASN1T_TimeslotISCP;
       
   967 
       
   968 IMPORT_C int asn1PE_TimeslotISCP (OSCTXT* pctxt, ASN1T_TimeslotISCP value);
       
   969 
       
   970 IMPORT_C int asn1PD_TimeslotISCP (OSCTXT* pctxt, ASN1T_TimeslotISCP* pvalue);
       
   971 
       
   972 IMPORT_C void asn1Print_TimeslotISCP
       
   973    (const char* name, ASN1T_TimeslotISCP* pvalue);
       
   974 
       
   975 /**************************************************************/
       
   976 /*                                                            */
       
   977 /*  TimeslotISCP_List                                         */
       
   978 /*                                                            */
       
   979 /**************************************************************/
       
   980 
       
   981 #define TV_TimeslotISCP_List	(TM_UNIV|TM_CONS|16)
       
   982 
       
   983 typedef struct ASN1T_TimeslotISCP_List {
       
   984    OSUINT32 n;
       
   985    ASN1T_TimeslotISCP elem[14];
       
   986    ASN1T_TimeslotISCP_List () : n (0) {}
       
   987 } ASN1T_TimeslotISCP_List;
       
   988 
       
   989 IMPORT_C int asn1PE_TimeslotISCP_List (OSCTXT* pctxt, ASN1T_TimeslotISCP_List* pvalue);
       
   990 
       
   991 IMPORT_C int asn1PD_TimeslotISCP_List (OSCTXT* pctxt, ASN1T_TimeslotISCP_List* pvalue);
       
   992 
       
   993 IMPORT_C void asn1Print_TimeslotISCP_List
       
   994    (const char* name, ASN1T_TimeslotISCP_List* pvalue);
       
   995 
       
   996 /**************************************************************/
       
   997 /*                                                            */
       
   998 /*  CellMeasuredResults_modeSpecificInfo_tdd                  */
       
   999 /*                                                            */
       
  1000 /**************************************************************/
       
  1001 
       
  1002 #define TV_CellMeasuredResults_modeSpecificInfo_tdd	(TM_UNIV|TM_CONS|16)
       
  1003 
       
  1004 struct ASN1T_CellMeasuredResults_modeSpecificInfo_tdd {
       
  1005    struct {
       
  1006       unsigned proposedTGSNPresent : 1;
       
  1007       unsigned primaryCCPCH_RSCPPresent : 1;
       
  1008       unsigned pathlossPresent : 1;
       
  1009       unsigned timeslotISCP_ListPresent : 1;
       
  1010    } m;
       
  1011    ASN1T_CellParametersID cellParametersID;
       
  1012    ASN1T_TGSN proposedTGSN;
       
  1013    ASN1T_PrimaryCCPCH_RSCP primaryCCPCH_RSCP;
       
  1014    ASN1T_Pathloss pathloss;
       
  1015    ASN1T_TimeslotISCP_List timeslotISCP_List;
       
  1016    IMPORT_C ASN1T_CellMeasuredResults_modeSpecificInfo_tdd ();
       
  1017 } ;
       
  1018 
       
  1019 IMPORT_C int asn1PE_CellMeasuredResults_modeSpecificInfo_tdd (OSCTXT* pctxt, ASN1T_CellMeasuredResults_modeSpecificInfo_tdd* pvalue);
       
  1020 
       
  1021 IMPORT_C int asn1PD_CellMeasuredResults_modeSpecificInfo_tdd (OSCTXT* pctxt, ASN1T_CellMeasuredResults_modeSpecificInfo_tdd* pvalue);
       
  1022 
       
  1023 IMPORT_C void asn1Print_CellMeasuredResults_modeSpecificInfo_tdd
       
  1024    (const char* name, ASN1T_CellMeasuredResults_modeSpecificInfo_tdd* pvalue);
       
  1025 
       
  1026 /**************************************************************/
       
  1027 /*                                                            */
       
  1028 /*  CellMeasuredResults_modeSpecificInfo                      */
       
  1029 /*                                                            */
       
  1030 /**************************************************************/
       
  1031 
       
  1032 /* Choice tag constants */
       
  1033 
       
  1034 #define T_CellMeasuredResults_modeSpecificInfo_fdd 1
       
  1035 #define T_CellMeasuredResults_modeSpecificInfo_tdd 2
       
  1036 
       
  1037 struct ASN1T_CellMeasuredResults_modeSpecificInfo {
       
  1038    int t;
       
  1039    union {
       
  1040       /* t = 1 */
       
  1041       ASN1T_CellMeasuredResults_modeSpecificInfo_fdd *fdd;
       
  1042       /* t = 2 */
       
  1043       ASN1T_CellMeasuredResults_modeSpecificInfo_tdd *tdd;
       
  1044    } u;
       
  1045 } ;
       
  1046 
       
  1047 IMPORT_C int asn1PE_CellMeasuredResults_modeSpecificInfo (OSCTXT* pctxt, ASN1T_CellMeasuredResults_modeSpecificInfo* pvalue);
       
  1048 
       
  1049 IMPORT_C int asn1PD_CellMeasuredResults_modeSpecificInfo (OSCTXT* pctxt, ASN1T_CellMeasuredResults_modeSpecificInfo* pvalue);
       
  1050 
       
  1051 IMPORT_C void asn1Print_CellMeasuredResults_modeSpecificInfo
       
  1052    (const char* name, ASN1T_CellMeasuredResults_modeSpecificInfo* pvalue);
       
  1053 
       
  1054 IMPORT_C void asn1Free_CellMeasuredResults_modeSpecificInfo (OSCTXT *pctxt, ASN1T_CellMeasuredResults_modeSpecificInfo* pvalue);
       
  1055 
       
  1056 /**************************************************************/
       
  1057 /*                                                            */
       
  1058 /*  CellMeasuredResults                                       */
       
  1059 /*                                                            */
       
  1060 /**************************************************************/
       
  1061 
       
  1062 #define TV_CellMeasuredResults	(TM_UNIV|TM_CONS|16)
       
  1063 
       
  1064 struct ASN1T_CellMeasuredResults {
       
  1065    struct {
       
  1066       unsigned cellIdentityPresent : 1;
       
  1067    } m;
       
  1068    OSUINT32 cellIdentity;
       
  1069    ASN1T_CellMeasuredResults_modeSpecificInfo modeSpecificInfo;
       
  1070    IMPORT_C ASN1T_CellMeasuredResults ();
       
  1071 } ;
       
  1072 
       
  1073 IMPORT_C int asn1PE_CellMeasuredResults (OSCTXT* pctxt, ASN1T_CellMeasuredResults* pvalue);
       
  1074 
       
  1075 IMPORT_C int asn1PD_CellMeasuredResults (OSCTXT* pctxt, ASN1T_CellMeasuredResults* pvalue);
       
  1076 
       
  1077 IMPORT_C void asn1Print_CellMeasuredResults
       
  1078    (const char* name, ASN1T_CellMeasuredResults* pvalue);
       
  1079 
       
  1080 IMPORT_C void asn1Free_CellMeasuredResults (OSCTXT *pctxt, ASN1T_CellMeasuredResults* pvalue);
       
  1081 
       
  1082 /**************************************************************/
       
  1083 /*                                                            */
       
  1084 /*  CellMeasuredResultsList                                   */
       
  1085 /*                                                            */
       
  1086 /**************************************************************/
       
  1087 
       
  1088 #define TV_CellMeasuredResultsList	(TM_UNIV|TM_CONS|16)
       
  1089 
       
  1090 /* List of ASN1T_CellMeasuredResults */
       
  1091 typedef ASN1TSeqOfList ASN1T_CellMeasuredResultsList;
       
  1092 
       
  1093 class ASN1C_CellMeasuredResultsList :
       
  1094 public ASN1CSeqOfList
       
  1095 {
       
  1096 protected:
       
  1097    ASN1T_CellMeasuredResultsList& msgData;
       
  1098 public:
       
  1099    IMPORT_C ASN1C_CellMeasuredResultsList (ASN1T_CellMeasuredResultsList& data);
       
  1100    IMPORT_C ASN1C_CellMeasuredResultsList (OSRTMessageBufferIF& msgBuf
       
  1101       , ASN1T_CellMeasuredResultsList& data);
       
  1102    ASN1C_CellMeasuredResultsList (ASN1CType& ccobj, ASN1T_CellMeasuredResultsList& data);
       
  1103    IMPORT_C ASN1C_CellMeasuredResultsList (OSRTContext &context
       
  1104       , ASN1T_CellMeasuredResultsList& data);
       
  1105    void Append (ASN1T_CellMeasuredResults* elem);
       
  1106    ASN1T_CellMeasuredResults* NewElement ();
       
  1107 } ;
       
  1108 
       
  1109 IMPORT_C int asn1PE_CellMeasuredResultsList (OSCTXT* pctxt, ASN1T_CellMeasuredResultsList* pvalue);
       
  1110 
       
  1111 IMPORT_C int asn1PD_CellMeasuredResultsList (OSCTXT* pctxt, ASN1T_CellMeasuredResultsList* pvalue);
       
  1112 
       
  1113 IMPORT_C void asn1Print_CellMeasuredResultsList
       
  1114    (const char* name, ASN1T_CellMeasuredResultsList* pvalue);
       
  1115 
       
  1116 IMPORT_C void asn1Free_CellMeasuredResultsList (OSCTXT *pctxt, ASN1T_CellMeasuredResultsList* pvalue);
       
  1117 
       
  1118 /**************************************************************/
       
  1119 /*                                                            */
       
  1120 /*  MeasuredResults                                           */
       
  1121 /*                                                            */
       
  1122 /**************************************************************/
       
  1123 
       
  1124 #define TV_MeasuredResults	(TM_UNIV|TM_CONS|16)
       
  1125 
       
  1126 struct ASN1T_MeasuredResults {
       
  1127    struct {
       
  1128       unsigned frequencyInfoPresent : 1;
       
  1129       unsigned utra_CarrierRSSIPresent : 1;
       
  1130       unsigned cellMeasuredResultsListPresent : 1;
       
  1131    } m;
       
  1132    ASN1T_FrequencyInfo frequencyInfo;
       
  1133    ASN1T_UTRA_CarrierRSSI utra_CarrierRSSI;
       
  1134    ASN1T_CellMeasuredResultsList cellMeasuredResultsList;
       
  1135    IMPORT_C ASN1T_MeasuredResults ();
       
  1136 } ;
       
  1137 
       
  1138 IMPORT_C int asn1PE_MeasuredResults (OSCTXT* pctxt, ASN1T_MeasuredResults* pvalue);
       
  1139 
       
  1140 IMPORT_C int asn1PD_MeasuredResults (OSCTXT* pctxt, ASN1T_MeasuredResults* pvalue);
       
  1141 
       
  1142 IMPORT_C void asn1Print_MeasuredResults
       
  1143    (const char* name, ASN1T_MeasuredResults* pvalue);
       
  1144 
       
  1145 IMPORT_C void asn1Free_MeasuredResults (OSCTXT *pctxt, ASN1T_MeasuredResults* pvalue);
       
  1146 
       
  1147 /**************************************************************/
       
  1148 /*                                                            */
       
  1149 /*  MeasuredResultsList                                       */
       
  1150 /*                                                            */
       
  1151 /**************************************************************/
       
  1152 
       
  1153 #define TV_MeasuredResultsList	(TM_UNIV|TM_CONS|16)
       
  1154 
       
  1155 /* List of ASN1T_MeasuredResults */
       
  1156 typedef ASN1TSeqOfList ASN1T_MeasuredResultsList;
       
  1157 
       
  1158 class ASN1C_MeasuredResultsList :
       
  1159 public ASN1CSeqOfList
       
  1160 {
       
  1161 protected:
       
  1162    ASN1T_MeasuredResultsList& msgData;
       
  1163 public:
       
  1164    IMPORT_C ASN1C_MeasuredResultsList (ASN1T_MeasuredResultsList& data);
       
  1165    IMPORT_C ASN1C_MeasuredResultsList (OSRTMessageBufferIF& msgBuf
       
  1166       , ASN1T_MeasuredResultsList& data);
       
  1167    ASN1C_MeasuredResultsList (ASN1CType& ccobj, ASN1T_MeasuredResultsList& data);
       
  1168    IMPORT_C ASN1C_MeasuredResultsList (OSRTContext &context
       
  1169       , ASN1T_MeasuredResultsList& data);
       
  1170    void Append (ASN1T_MeasuredResults* elem);
       
  1171    ASN1T_MeasuredResults* NewElement ();
       
  1172 } ;
       
  1173 
       
  1174 IMPORT_C int asn1PE_MeasuredResultsList (OSCTXT* pctxt, ASN1T_MeasuredResultsList* pvalue);
       
  1175 
       
  1176 IMPORT_C int asn1PD_MeasuredResultsList (OSCTXT* pctxt, ASN1T_MeasuredResultsList* pvalue);
       
  1177 
       
  1178 IMPORT_C void asn1Print_MeasuredResultsList
       
  1179    (const char* name, ASN1T_MeasuredResultsList* pvalue);
       
  1180 
       
  1181 IMPORT_C void asn1Free_MeasuredResultsList (OSCTXT *pctxt, ASN1T_MeasuredResultsList* pvalue);
       
  1182 
       
  1183 /**************************************************************/
       
  1184 /*                                                            */
       
  1185 /*  WcdmaCellInformation                                      */
       
  1186 /*                                                            */
       
  1187 /**************************************************************/
       
  1188 
       
  1189 #define TV_WcdmaCellInformation	(TM_UNIV|TM_CONS|16)
       
  1190 
       
  1191 struct ASN1T_WcdmaCellInformation {
       
  1192    struct {
       
  1193       unsigned frequencyInfoPresent : 1;
       
  1194       unsigned primaryScramblingCodePresent : 1;
       
  1195       unsigned measuredResultsListPresent : 1;
       
  1196    } m;
       
  1197    OSUINT16 refMCC;
       
  1198    OSUINT16 refMNC;
       
  1199    OSUINT32 refUC;
       
  1200    ASN1T_FrequencyInfo frequencyInfo;
       
  1201    OSUINT16 primaryScramblingCode;
       
  1202    ASN1T_MeasuredResultsList measuredResultsList;
       
  1203    IMPORT_C ASN1T_WcdmaCellInformation ();
       
  1204 } ;
       
  1205 
       
  1206 IMPORT_C int asn1PE_WcdmaCellInformation (OSCTXT* pctxt, ASN1T_WcdmaCellInformation* pvalue);
       
  1207 
       
  1208 IMPORT_C int asn1PD_WcdmaCellInformation (OSCTXT* pctxt, ASN1T_WcdmaCellInformation* pvalue);
       
  1209 
       
  1210 IMPORT_C void asn1Print_WcdmaCellInformation
       
  1211    (const char* name, ASN1T_WcdmaCellInformation* pvalue);
       
  1212 
       
  1213 IMPORT_C void asn1Free_WcdmaCellInformation (OSCTXT *pctxt, ASN1T_WcdmaCellInformation* pvalue);
       
  1214 
       
  1215 /**************************************************************/
       
  1216 /*                                                            */
       
  1217 /*  CdmaCellInformation                                       */
       
  1218 /*                                                            */
       
  1219 /**************************************************************/
       
  1220 
       
  1221 #define TV_CdmaCellInformation	(TM_UNIV|TM_CONS|16)
       
  1222 
       
  1223 struct ASN1T_CdmaCellInformation {
       
  1224    OSUINT16 refNID;
       
  1225    OSUINT16 refSID;
       
  1226    OSUINT16 refBASEID;
       
  1227    OSUINT32 refBASELAT;
       
  1228    OSUINT32 reBASELONG;
       
  1229    OSUINT16 refREFPN;
       
  1230    OSUINT16 refWeekNumber;
       
  1231    OSUINT32 refSeconds;
       
  1232    IMPORT_C ASN1T_CdmaCellInformation ();
       
  1233 } ;
       
  1234 
       
  1235 IMPORT_C int asn1PE_CdmaCellInformation (OSCTXT* pctxt, ASN1T_CdmaCellInformation* pvalue);
       
  1236 
       
  1237 IMPORT_C int asn1PD_CdmaCellInformation (OSCTXT* pctxt, ASN1T_CdmaCellInformation* pvalue);
       
  1238 
       
  1239 IMPORT_C void asn1Print_CdmaCellInformation
       
  1240    (const char* name, ASN1T_CdmaCellInformation* pvalue);
       
  1241 
       
  1242 /**************************************************************/
       
  1243 /*                                                            */
       
  1244 /*  CellInfo                                                  */
       
  1245 /*                                                            */
       
  1246 /**************************************************************/
       
  1247 
       
  1248 /* Choice tag constants */
       
  1249 
       
  1250 #define T_CellInfo_gsmCell              1
       
  1251 #define T_CellInfo_wcdmaCell            2
       
  1252 #define T_CellInfo_cdmaCell             3
       
  1253 #define T_CellInfo_extElem1             4
       
  1254 
       
  1255 struct ASN1T_CellInfo {
       
  1256    int t;
       
  1257    union {
       
  1258       /* t = 1 */
       
  1259       ASN1T_GsmCellInformation *gsmCell;
       
  1260       /* t = 2 */
       
  1261       ASN1T_WcdmaCellInformation *wcdmaCell;
       
  1262       /* t = 3 */
       
  1263       ASN1T_CdmaCellInformation *cdmaCell;
       
  1264       /* t = 4 */
       
  1265    } u;
       
  1266 } ;
       
  1267 
       
  1268 IMPORT_C int asn1PE_CellInfo (OSCTXT* pctxt, ASN1T_CellInfo* pvalue);
       
  1269 
       
  1270 IMPORT_C int asn1PD_CellInfo (OSCTXT* pctxt, ASN1T_CellInfo* pvalue);
       
  1271 
       
  1272 IMPORT_C void asn1Print_CellInfo
       
  1273    (const char* name, ASN1T_CellInfo* pvalue);
       
  1274 
       
  1275 IMPORT_C void asn1Free_CellInfo (OSCTXT *pctxt, ASN1T_CellInfo* pvalue);
       
  1276 
       
  1277 /**************************************************************/
       
  1278 /*                                                            */
       
  1279 /*  Status                                                    */
       
  1280 /*                                                            */
       
  1281 /**************************************************************/
       
  1282 
       
  1283 #define TV_Status	(TM_UNIV|TM_PRIM|10)
       
  1284 
       
  1285 struct Status {
       
  1286    enum Root {
       
  1287       stale = 0,
       
  1288       current = 1,
       
  1289       unknown = 2
       
  1290    } ;
       
  1291 } ;
       
  1292 
       
  1293 typedef OSUINT32 ASN1T_Status;
       
  1294 
       
  1295 IMPORT_C int asn1PE_Status (OSCTXT* pctxt, ASN1T_Status value);
       
  1296 
       
  1297 IMPORT_C int asn1PD_Status (OSCTXT* pctxt, ASN1T_Status* pvalue);
       
  1298 
       
  1299 IMPORT_C void asn1Print_Status
       
  1300    (const char* name, ASN1T_Status* pvalue);
       
  1301 
       
  1302 IMPORT_C const OSUTF8CHAR* ASN1T_Status_ToString (OSINT32 value);
       
  1303 
       
  1304 IMPORT_C int ASN1T_Status_ToEnum (OSCTXT* pctxt,
       
  1305    const OSUTF8CHAR* value, ASN1T_Status* pvalue);
       
  1306 
       
  1307 /**************************************************************/
       
  1308 /*                                                            */
       
  1309 /*  LocationId                                                */
       
  1310 /*                                                            */
       
  1311 /**************************************************************/
       
  1312 
       
  1313 #define TV_LocationId	(TM_UNIV|TM_CONS|16)
       
  1314 
       
  1315 struct ASN1T_LocationId {
       
  1316    ASN1T_CellInfo cellInfo;
       
  1317    ASN1T_Status status;
       
  1318    IMPORT_C ASN1T_LocationId ();
       
  1319 } ;
       
  1320 
       
  1321 IMPORT_C int asn1PE_LocationId (OSCTXT* pctxt, ASN1T_LocationId* pvalue);
       
  1322 
       
  1323 IMPORT_C int asn1PD_LocationId (OSCTXT* pctxt, ASN1T_LocationId* pvalue);
       
  1324 
       
  1325 IMPORT_C void asn1Print_LocationId
       
  1326    (const char* name, ASN1T_LocationId* pvalue);
       
  1327 
       
  1328 IMPORT_C void asn1Free_LocationId (OSCTXT *pctxt, ASN1T_LocationId* pvalue);
       
  1329 
       
  1330 /**************************************************************/
       
  1331 /*                                                            */
       
  1332 /*  PositionEstimate_latitudeSign                             */
       
  1333 /*                                                            */
       
  1334 /**************************************************************/
       
  1335 
       
  1336 #define TV_PositionEstimate_latitudeSign	(TM_UNIV|TM_PRIM|10)
       
  1337 
       
  1338 struct PositionEstimate_latitudeSign {
       
  1339    enum Root {
       
  1340       north = 0,
       
  1341       south = 1
       
  1342    } ;
       
  1343 } ;
       
  1344 
       
  1345 typedef OSUINT32 ASN1T_PositionEstimate_latitudeSign;
       
  1346 
       
  1347 IMPORT_C int asn1PE_PositionEstimate_latitudeSign (OSCTXT* pctxt, ASN1T_PositionEstimate_latitudeSign value);
       
  1348 
       
  1349 IMPORT_C int asn1PD_PositionEstimate_latitudeSign (OSCTXT* pctxt, ASN1T_PositionEstimate_latitudeSign* pvalue);
       
  1350 
       
  1351 IMPORT_C void asn1Print_PositionEstimate_latitudeSign
       
  1352    (const char* name, ASN1T_PositionEstimate_latitudeSign* pvalue);
       
  1353 
       
  1354 IMPORT_C const OSUTF8CHAR* ASN1T_PositionEstimate_latitudeSign_ToString (OSINT32 value);
       
  1355 
       
  1356 IMPORT_C int ASN1T_PositionEstimate_latitudeSign_ToEnum (OSCTXT* pctxt,
       
  1357    const OSUTF8CHAR* value, ASN1T_PositionEstimate_latitudeSign* pvalue);
       
  1358 
       
  1359 /**************************************************************/
       
  1360 /*                                                            */
       
  1361 /*  PositionEstimate_uncertainty                              */
       
  1362 /*                                                            */
       
  1363 /**************************************************************/
       
  1364 
       
  1365 #define TV_PositionEstimate_uncertainty	(TM_UNIV|TM_CONS|16)
       
  1366 
       
  1367 struct ASN1T_PositionEstimate_uncertainty {
       
  1368    OSUINT8 uncertaintySemiMajor;
       
  1369    OSUINT8 uncertaintySemiMinor;
       
  1370    OSUINT8 orientationMajorAxis;
       
  1371    IMPORT_C ASN1T_PositionEstimate_uncertainty ();
       
  1372 } ;
       
  1373 
       
  1374 IMPORT_C int asn1PE_PositionEstimate_uncertainty (OSCTXT* pctxt, ASN1T_PositionEstimate_uncertainty* pvalue);
       
  1375 
       
  1376 IMPORT_C int asn1PD_PositionEstimate_uncertainty (OSCTXT* pctxt, ASN1T_PositionEstimate_uncertainty* pvalue);
       
  1377 
       
  1378 IMPORT_C void asn1Print_PositionEstimate_uncertainty
       
  1379    (const char* name, ASN1T_PositionEstimate_uncertainty* pvalue);
       
  1380 
       
  1381 /**************************************************************/
       
  1382 /*                                                            */
       
  1383 /*  AltitudeInfo_altitudeDirection                            */
       
  1384 /*                                                            */
       
  1385 /**************************************************************/
       
  1386 
       
  1387 #define TV_AltitudeInfo_altitudeDirection	(TM_UNIV|TM_PRIM|10)
       
  1388 
       
  1389 struct AltitudeInfo_altitudeDirection {
       
  1390    enum Root {
       
  1391       height = 0,
       
  1392       depth = 1
       
  1393    } ;
       
  1394 } ;
       
  1395 
       
  1396 typedef OSUINT32 ASN1T_AltitudeInfo_altitudeDirection;
       
  1397 
       
  1398 IMPORT_C int asn1PE_AltitudeInfo_altitudeDirection (OSCTXT* pctxt, ASN1T_AltitudeInfo_altitudeDirection value);
       
  1399 
       
  1400 IMPORT_C int asn1PD_AltitudeInfo_altitudeDirection (OSCTXT* pctxt, ASN1T_AltitudeInfo_altitudeDirection* pvalue);
       
  1401 
       
  1402 IMPORT_C void asn1Print_AltitudeInfo_altitudeDirection
       
  1403    (const char* name, ASN1T_AltitudeInfo_altitudeDirection* pvalue);
       
  1404 
       
  1405 IMPORT_C const OSUTF8CHAR* ASN1T_AltitudeInfo_altitudeDirection_ToString (OSINT32 value);
       
  1406 
       
  1407 IMPORT_C int ASN1T_AltitudeInfo_altitudeDirection_ToEnum (OSCTXT* pctxt,
       
  1408    const OSUTF8CHAR* value, ASN1T_AltitudeInfo_altitudeDirection* pvalue);
       
  1409 
       
  1410 /**************************************************************/
       
  1411 /*                                                            */
       
  1412 /*  AltitudeInfo                                              */
       
  1413 /*                                                            */
       
  1414 /**************************************************************/
       
  1415 
       
  1416 #define TV_AltitudeInfo	(TM_UNIV|TM_CONS|16)
       
  1417 
       
  1418 struct ASN1T_AltitudeInfo {
       
  1419    ASN1T_AltitudeInfo_altitudeDirection altitudeDirection;
       
  1420    OSUINT16 altitude;
       
  1421    OSUINT8 altUncertainty;
       
  1422    IMPORT_C ASN1T_AltitudeInfo ();
       
  1423 } ;
       
  1424 
       
  1425 IMPORT_C int asn1PE_AltitudeInfo (OSCTXT* pctxt, ASN1T_AltitudeInfo* pvalue);
       
  1426 
       
  1427 IMPORT_C int asn1PD_AltitudeInfo (OSCTXT* pctxt, ASN1T_AltitudeInfo* pvalue);
       
  1428 
       
  1429 IMPORT_C void asn1Print_AltitudeInfo
       
  1430    (const char* name, ASN1T_AltitudeInfo* pvalue);
       
  1431 
       
  1432 /**************************************************************/
       
  1433 /*                                                            */
       
  1434 /*  PositionEstimate                                          */
       
  1435 /*                                                            */
       
  1436 /**************************************************************/
       
  1437 
       
  1438 #define TV_PositionEstimate	(TM_UNIV|TM_CONS|16)
       
  1439 
       
  1440 struct ASN1T_PositionEstimate {
       
  1441    struct {
       
  1442       unsigned uncertaintyPresent : 1;
       
  1443       unsigned confidencePresent : 1;
       
  1444       unsigned altitudeInfoPresent : 1;
       
  1445    } m;
       
  1446    ASN1T_PositionEstimate_latitudeSign latitudeSign;
       
  1447    OSUINT32 latitude;
       
  1448    OSINT32 longitude;
       
  1449    ASN1T_PositionEstimate_uncertainty uncertainty;
       
  1450    OSUINT8 confidence;
       
  1451    ASN1T_AltitudeInfo altitudeInfo;
       
  1452    IMPORT_C ASN1T_PositionEstimate ();
       
  1453 } ;
       
  1454 
       
  1455 IMPORT_C int asn1PE_PositionEstimate (OSCTXT* pctxt, ASN1T_PositionEstimate* pvalue);
       
  1456 
       
  1457 IMPORT_C int asn1PD_PositionEstimate (OSCTXT* pctxt, ASN1T_PositionEstimate* pvalue);
       
  1458 
       
  1459 IMPORT_C void asn1Print_PositionEstimate
       
  1460    (const char* name, ASN1T_PositionEstimate* pvalue);
       
  1461 
       
  1462 /**************************************************************/
       
  1463 /*                                                            */
       
  1464 /*  Horvel_bearing                                            */
       
  1465 /*                                                            */
       
  1466 /**************************************************************/
       
  1467 
       
  1468 #define TV_Horvel_bearing	(TM_UNIV|TM_PRIM|3)
       
  1469 
       
  1470 struct ASN1T_Horvel_bearing {
       
  1471    OSUINT32  numbits;
       
  1472    OSOCTET data[2];
       
  1473    // ctors
       
  1474    ASN1T_Horvel_bearing () : numbits(0) {}
       
  1475    ASN1T_Horvel_bearing (OSUINT32 _numbits, const OSOCTET* _data) :
       
  1476       numbits(_numbits) {
       
  1477       OSCRTLMEMCPY (data, _data, sizeof(data));
       
  1478    }
       
  1479 } ;
       
  1480 
       
  1481 IMPORT_C int asn1PE_Horvel_bearing (OSCTXT* pctxt, ASN1T_Horvel_bearing* pvalue);
       
  1482 
       
  1483 IMPORT_C int asn1PD_Horvel_bearing (OSCTXT* pctxt, ASN1T_Horvel_bearing* pvalue);
       
  1484 
       
  1485 IMPORT_C void asn1Print_Horvel_bearing
       
  1486    (const char* name, ASN1T_Horvel_bearing* pvalue);
       
  1487 
       
  1488 /**************************************************************/
       
  1489 /*                                                            */
       
  1490 /*  Horvel_horspeed                                           */
       
  1491 /*                                                            */
       
  1492 /**************************************************************/
       
  1493 
       
  1494 #define TV_Horvel_horspeed	(TM_UNIV|TM_PRIM|3)
       
  1495 
       
  1496 struct ASN1T_Horvel_horspeed {
       
  1497    OSUINT32  numbits;
       
  1498    OSOCTET data[2];
       
  1499    // ctors
       
  1500    ASN1T_Horvel_horspeed () : numbits(0) {}
       
  1501    ASN1T_Horvel_horspeed (OSUINT32 _numbits, const OSOCTET* _data) :
       
  1502       numbits(_numbits) {
       
  1503       OSCRTLMEMCPY (data, _data, sizeof(data));
       
  1504    }
       
  1505 } ;
       
  1506 
       
  1507 IMPORT_C int asn1PE_Horvel_horspeed (OSCTXT* pctxt, ASN1T_Horvel_horspeed* pvalue);
       
  1508 
       
  1509 IMPORT_C int asn1PD_Horvel_horspeed (OSCTXT* pctxt, ASN1T_Horvel_horspeed* pvalue);
       
  1510 
       
  1511 IMPORT_C void asn1Print_Horvel_horspeed
       
  1512    (const char* name, ASN1T_Horvel_horspeed* pvalue);
       
  1513 
       
  1514 /**************************************************************/
       
  1515 /*                                                            */
       
  1516 /*  Horvel                                                    */
       
  1517 /*                                                            */
       
  1518 /**************************************************************/
       
  1519 
       
  1520 #define TV_Horvel	(TM_UNIV|TM_CONS|16)
       
  1521 
       
  1522 struct ASN1T_Horvel {
       
  1523    ASN1T_Horvel_bearing bearing;
       
  1524    ASN1T_Horvel_horspeed horspeed;
       
  1525    IMPORT_C ASN1T_Horvel ();
       
  1526 } ;
       
  1527 
       
  1528 IMPORT_C int asn1PE_Horvel (OSCTXT* pctxt, ASN1T_Horvel* pvalue);
       
  1529 
       
  1530 IMPORT_C int asn1PD_Horvel (OSCTXT* pctxt, ASN1T_Horvel* pvalue);
       
  1531 
       
  1532 IMPORT_C void asn1Print_Horvel
       
  1533    (const char* name, ASN1T_Horvel* pvalue);
       
  1534 
       
  1535 /**************************************************************/
       
  1536 /*                                                            */
       
  1537 /*  Horandvervel_verdirect                                    */
       
  1538 /*                                                            */
       
  1539 /**************************************************************/
       
  1540 
       
  1541 #define TV_Horandvervel_verdirect	(TM_UNIV|TM_PRIM|3)
       
  1542 
       
  1543 struct ASN1T_Horandvervel_verdirect {
       
  1544    OSUINT32  numbits;
       
  1545    OSOCTET data[1];
       
  1546    // ctors
       
  1547    ASN1T_Horandvervel_verdirect () : numbits(0) {}
       
  1548    ASN1T_Horandvervel_verdirect (OSUINT32 _numbits, const OSOCTET* _data) :
       
  1549       numbits(_numbits) {
       
  1550       OSCRTLMEMCPY (data, _data, sizeof(data));
       
  1551    }
       
  1552 } ;
       
  1553 
       
  1554 IMPORT_C int asn1PE_Horandvervel_verdirect (OSCTXT* pctxt, ASN1T_Horandvervel_verdirect* pvalue);
       
  1555 
       
  1556 IMPORT_C int asn1PD_Horandvervel_verdirect (OSCTXT* pctxt, ASN1T_Horandvervel_verdirect* pvalue);
       
  1557 
       
  1558 IMPORT_C void asn1Print_Horandvervel_verdirect
       
  1559    (const char* name, ASN1T_Horandvervel_verdirect* pvalue);
       
  1560 
       
  1561 /**************************************************************/
       
  1562 /*                                                            */
       
  1563 /*  Horandvervel_bearing                                      */
       
  1564 /*                                                            */
       
  1565 /**************************************************************/
       
  1566 
       
  1567 #define TV_Horandvervel_bearing	(TM_UNIV|TM_PRIM|3)
       
  1568 
       
  1569 struct ASN1T_Horandvervel_bearing {
       
  1570    OSUINT32  numbits;
       
  1571    OSOCTET data[2];
       
  1572    // ctors
       
  1573    ASN1T_Horandvervel_bearing () : numbits(0) {}
       
  1574    ASN1T_Horandvervel_bearing (OSUINT32 _numbits, const OSOCTET* _data) :
       
  1575       numbits(_numbits) {
       
  1576       OSCRTLMEMCPY (data, _data, sizeof(data));
       
  1577    }
       
  1578 } ;
       
  1579 
       
  1580 IMPORT_C int asn1PE_Horandvervel_bearing (OSCTXT* pctxt, ASN1T_Horandvervel_bearing* pvalue);
       
  1581 
       
  1582 IMPORT_C int asn1PD_Horandvervel_bearing (OSCTXT* pctxt, ASN1T_Horandvervel_bearing* pvalue);
       
  1583 
       
  1584 IMPORT_C void asn1Print_Horandvervel_bearing
       
  1585    (const char* name, ASN1T_Horandvervel_bearing* pvalue);
       
  1586 
       
  1587 /**************************************************************/
       
  1588 /*                                                            */
       
  1589 /*  Horandvervel_horspeed                                     */
       
  1590 /*                                                            */
       
  1591 /**************************************************************/
       
  1592 
       
  1593 #define TV_Horandvervel_horspeed	(TM_UNIV|TM_PRIM|3)
       
  1594 
       
  1595 struct ASN1T_Horandvervel_horspeed {
       
  1596    OSUINT32  numbits;
       
  1597    OSOCTET data[2];
       
  1598    // ctors
       
  1599    ASN1T_Horandvervel_horspeed () : numbits(0) {}
       
  1600    ASN1T_Horandvervel_horspeed (OSUINT32 _numbits, const OSOCTET* _data) :
       
  1601       numbits(_numbits) {
       
  1602       OSCRTLMEMCPY (data, _data, sizeof(data));
       
  1603    }
       
  1604 } ;
       
  1605 
       
  1606 IMPORT_C int asn1PE_Horandvervel_horspeed (OSCTXT* pctxt, ASN1T_Horandvervel_horspeed* pvalue);
       
  1607 
       
  1608 IMPORT_C int asn1PD_Horandvervel_horspeed (OSCTXT* pctxt, ASN1T_Horandvervel_horspeed* pvalue);
       
  1609 
       
  1610 IMPORT_C void asn1Print_Horandvervel_horspeed
       
  1611    (const char* name, ASN1T_Horandvervel_horspeed* pvalue);
       
  1612 
       
  1613 /**************************************************************/
       
  1614 /*                                                            */
       
  1615 /*  Horandvervel_verspeed                                     */
       
  1616 /*                                                            */
       
  1617 /**************************************************************/
       
  1618 
       
  1619 #define TV_Horandvervel_verspeed	(TM_UNIV|TM_PRIM|3)
       
  1620 
       
  1621 struct ASN1T_Horandvervel_verspeed {
       
  1622    OSUINT32  numbits;
       
  1623    OSOCTET data[1];
       
  1624    // ctors
       
  1625    ASN1T_Horandvervel_verspeed () : numbits(0) {}
       
  1626    ASN1T_Horandvervel_verspeed (OSUINT32 _numbits, const OSOCTET* _data) :
       
  1627       numbits(_numbits) {
       
  1628       OSCRTLMEMCPY (data, _data, sizeof(data));
       
  1629    }
       
  1630 } ;
       
  1631 
       
  1632 IMPORT_C int asn1PE_Horandvervel_verspeed (OSCTXT* pctxt, ASN1T_Horandvervel_verspeed* pvalue);
       
  1633 
       
  1634 IMPORT_C int asn1PD_Horandvervel_verspeed (OSCTXT* pctxt, ASN1T_Horandvervel_verspeed* pvalue);
       
  1635 
       
  1636 IMPORT_C void asn1Print_Horandvervel_verspeed
       
  1637    (const char* name, ASN1T_Horandvervel_verspeed* pvalue);
       
  1638 
       
  1639 /**************************************************************/
       
  1640 /*                                                            */
       
  1641 /*  Horandvervel                                              */
       
  1642 /*                                                            */
       
  1643 /**************************************************************/
       
  1644 
       
  1645 #define TV_Horandvervel	(TM_UNIV|TM_CONS|16)
       
  1646 
       
  1647 struct ASN1T_Horandvervel {
       
  1648    ASN1T_Horandvervel_verdirect verdirect;
       
  1649    ASN1T_Horandvervel_bearing bearing;
       
  1650    ASN1T_Horandvervel_horspeed horspeed;
       
  1651    ASN1T_Horandvervel_verspeed verspeed;
       
  1652    IMPORT_C ASN1T_Horandvervel ();
       
  1653 } ;
       
  1654 
       
  1655 IMPORT_C int asn1PE_Horandvervel (OSCTXT* pctxt, ASN1T_Horandvervel* pvalue);
       
  1656 
       
  1657 IMPORT_C int asn1PD_Horandvervel (OSCTXT* pctxt, ASN1T_Horandvervel* pvalue);
       
  1658 
       
  1659 IMPORT_C void asn1Print_Horandvervel
       
  1660    (const char* name, ASN1T_Horandvervel* pvalue);
       
  1661 
       
  1662 /**************************************************************/
       
  1663 /*                                                            */
       
  1664 /*  Horveluncert_bearing                                      */
       
  1665 /*                                                            */
       
  1666 /**************************************************************/
       
  1667 
       
  1668 #define TV_Horveluncert_bearing	(TM_UNIV|TM_PRIM|3)
       
  1669 
       
  1670 struct ASN1T_Horveluncert_bearing {
       
  1671    OSUINT32  numbits;
       
  1672    OSOCTET data[2];
       
  1673    // ctors
       
  1674    ASN1T_Horveluncert_bearing () : numbits(0) {}
       
  1675    ASN1T_Horveluncert_bearing (OSUINT32 _numbits, const OSOCTET* _data) :
       
  1676       numbits(_numbits) {
       
  1677       OSCRTLMEMCPY (data, _data, sizeof(data));
       
  1678    }
       
  1679 } ;
       
  1680 
       
  1681 IMPORT_C int asn1PE_Horveluncert_bearing (OSCTXT* pctxt, ASN1T_Horveluncert_bearing* pvalue);
       
  1682 
       
  1683 IMPORT_C int asn1PD_Horveluncert_bearing (OSCTXT* pctxt, ASN1T_Horveluncert_bearing* pvalue);
       
  1684 
       
  1685 IMPORT_C void asn1Print_Horveluncert_bearing
       
  1686    (const char* name, ASN1T_Horveluncert_bearing* pvalue);
       
  1687 
       
  1688 /**************************************************************/
       
  1689 /*                                                            */
       
  1690 /*  Horveluncert_horspeed                                     */
       
  1691 /*                                                            */
       
  1692 /**************************************************************/
       
  1693 
       
  1694 #define TV_Horveluncert_horspeed	(TM_UNIV|TM_PRIM|3)
       
  1695 
       
  1696 struct ASN1T_Horveluncert_horspeed {
       
  1697    OSUINT32  numbits;
       
  1698    OSOCTET data[2];
       
  1699    // ctors
       
  1700    ASN1T_Horveluncert_horspeed () : numbits(0) {}
       
  1701    ASN1T_Horveluncert_horspeed (OSUINT32 _numbits, const OSOCTET* _data) :
       
  1702       numbits(_numbits) {
       
  1703       OSCRTLMEMCPY (data, _data, sizeof(data));
       
  1704    }
       
  1705 } ;
       
  1706 
       
  1707 IMPORT_C int asn1PE_Horveluncert_horspeed (OSCTXT* pctxt, ASN1T_Horveluncert_horspeed* pvalue);
       
  1708 
       
  1709 IMPORT_C int asn1PD_Horveluncert_horspeed (OSCTXT* pctxt, ASN1T_Horveluncert_horspeed* pvalue);
       
  1710 
       
  1711 IMPORT_C void asn1Print_Horveluncert_horspeed
       
  1712    (const char* name, ASN1T_Horveluncert_horspeed* pvalue);
       
  1713 
       
  1714 /**************************************************************/
       
  1715 /*                                                            */
       
  1716 /*  Horveluncert_uncertspeed                                  */
       
  1717 /*                                                            */
       
  1718 /**************************************************************/
       
  1719 
       
  1720 #define TV_Horveluncert_uncertspeed	(TM_UNIV|TM_PRIM|3)
       
  1721 
       
  1722 struct ASN1T_Horveluncert_uncertspeed {
       
  1723    OSUINT32  numbits;
       
  1724    OSOCTET data[1];
       
  1725    // ctors
       
  1726    ASN1T_Horveluncert_uncertspeed () : numbits(0) {}
       
  1727    ASN1T_Horveluncert_uncertspeed (OSUINT32 _numbits, const OSOCTET* _data) :
       
  1728       numbits(_numbits) {
       
  1729       OSCRTLMEMCPY (data, _data, sizeof(data));
       
  1730    }
       
  1731 } ;
       
  1732 
       
  1733 IMPORT_C int asn1PE_Horveluncert_uncertspeed (OSCTXT* pctxt, ASN1T_Horveluncert_uncertspeed* pvalue);
       
  1734 
       
  1735 IMPORT_C int asn1PD_Horveluncert_uncertspeed (OSCTXT* pctxt, ASN1T_Horveluncert_uncertspeed* pvalue);
       
  1736 
       
  1737 IMPORT_C void asn1Print_Horveluncert_uncertspeed
       
  1738    (const char* name, ASN1T_Horveluncert_uncertspeed* pvalue);
       
  1739 
       
  1740 /**************************************************************/
       
  1741 /*                                                            */
       
  1742 /*  Horveluncert                                              */
       
  1743 /*                                                            */
       
  1744 /**************************************************************/
       
  1745 
       
  1746 #define TV_Horveluncert	(TM_UNIV|TM_CONS|16)
       
  1747 
       
  1748 struct ASN1T_Horveluncert {
       
  1749    ASN1T_Horveluncert_bearing bearing;
       
  1750    ASN1T_Horveluncert_horspeed horspeed;
       
  1751    ASN1T_Horveluncert_uncertspeed uncertspeed;
       
  1752    IMPORT_C ASN1T_Horveluncert ();
       
  1753 } ;
       
  1754 
       
  1755 IMPORT_C int asn1PE_Horveluncert (OSCTXT* pctxt, ASN1T_Horveluncert* pvalue);
       
  1756 
       
  1757 IMPORT_C int asn1PD_Horveluncert (OSCTXT* pctxt, ASN1T_Horveluncert* pvalue);
       
  1758 
       
  1759 IMPORT_C void asn1Print_Horveluncert
       
  1760    (const char* name, ASN1T_Horveluncert* pvalue);
       
  1761 
       
  1762 /**************************************************************/
       
  1763 /*                                                            */
       
  1764 /*  Horandveruncert_verdirect                                 */
       
  1765 /*                                                            */
       
  1766 /**************************************************************/
       
  1767 
       
  1768 #define TV_Horandveruncert_verdirect	(TM_UNIV|TM_PRIM|3)
       
  1769 
       
  1770 struct ASN1T_Horandveruncert_verdirect {
       
  1771    OSUINT32  numbits;
       
  1772    OSOCTET data[1];
       
  1773    // ctors
       
  1774    ASN1T_Horandveruncert_verdirect () : numbits(0) {}
       
  1775    ASN1T_Horandveruncert_verdirect (OSUINT32 _numbits, const OSOCTET* _data) :
       
  1776       numbits(_numbits) {
       
  1777       OSCRTLMEMCPY (data, _data, sizeof(data));
       
  1778    }
       
  1779 } ;
       
  1780 
       
  1781 IMPORT_C int asn1PE_Horandveruncert_verdirect (OSCTXT* pctxt, ASN1T_Horandveruncert_verdirect* pvalue);
       
  1782 
       
  1783 IMPORT_C int asn1PD_Horandveruncert_verdirect (OSCTXT* pctxt, ASN1T_Horandveruncert_verdirect* pvalue);
       
  1784 
       
  1785 IMPORT_C void asn1Print_Horandveruncert_verdirect
       
  1786    (const char* name, ASN1T_Horandveruncert_verdirect* pvalue);
       
  1787 
       
  1788 /**************************************************************/
       
  1789 /*                                                            */
       
  1790 /*  Horandveruncert_bearing                                   */
       
  1791 /*                                                            */
       
  1792 /**************************************************************/
       
  1793 
       
  1794 #define TV_Horandveruncert_bearing	(TM_UNIV|TM_PRIM|3)
       
  1795 
       
  1796 struct ASN1T_Horandveruncert_bearing {
       
  1797    OSUINT32  numbits;
       
  1798    OSOCTET data[2];
       
  1799    // ctors
       
  1800    ASN1T_Horandveruncert_bearing () : numbits(0) {}
       
  1801    ASN1T_Horandveruncert_bearing (OSUINT32 _numbits, const OSOCTET* _data) :
       
  1802       numbits(_numbits) {
       
  1803       OSCRTLMEMCPY (data, _data, sizeof(data));
       
  1804    }
       
  1805 } ;
       
  1806 
       
  1807 IMPORT_C int asn1PE_Horandveruncert_bearing (OSCTXT* pctxt, ASN1T_Horandveruncert_bearing* pvalue);
       
  1808 
       
  1809 IMPORT_C int asn1PD_Horandveruncert_bearing (OSCTXT* pctxt, ASN1T_Horandveruncert_bearing* pvalue);
       
  1810 
       
  1811 IMPORT_C void asn1Print_Horandveruncert_bearing
       
  1812    (const char* name, ASN1T_Horandveruncert_bearing* pvalue);
       
  1813 
       
  1814 /**************************************************************/
       
  1815 /*                                                            */
       
  1816 /*  Horandveruncert_horspeed                                  */
       
  1817 /*                                                            */
       
  1818 /**************************************************************/
       
  1819 
       
  1820 #define TV_Horandveruncert_horspeed	(TM_UNIV|TM_PRIM|3)
       
  1821 
       
  1822 struct ASN1T_Horandveruncert_horspeed {
       
  1823    OSUINT32  numbits;
       
  1824    OSOCTET data[2];
       
  1825    // ctors
       
  1826    ASN1T_Horandveruncert_horspeed () : numbits(0) {}
       
  1827    ASN1T_Horandveruncert_horspeed (OSUINT32 _numbits, const OSOCTET* _data) :
       
  1828       numbits(_numbits) {
       
  1829       OSCRTLMEMCPY (data, _data, sizeof(data));
       
  1830    }
       
  1831 } ;
       
  1832 
       
  1833 IMPORT_C int asn1PE_Horandveruncert_horspeed (OSCTXT* pctxt, ASN1T_Horandveruncert_horspeed* pvalue);
       
  1834 
       
  1835 IMPORT_C int asn1PD_Horandveruncert_horspeed (OSCTXT* pctxt, ASN1T_Horandveruncert_horspeed* pvalue);
       
  1836 
       
  1837 IMPORT_C void asn1Print_Horandveruncert_horspeed
       
  1838    (const char* name, ASN1T_Horandveruncert_horspeed* pvalue);
       
  1839 
       
  1840 /**************************************************************/
       
  1841 /*                                                            */
       
  1842 /*  Horandveruncert_verspeed                                  */
       
  1843 /*                                                            */
       
  1844 /**************************************************************/
       
  1845 
       
  1846 #define TV_Horandveruncert_verspeed	(TM_UNIV|TM_PRIM|3)
       
  1847 
       
  1848 struct ASN1T_Horandveruncert_verspeed {
       
  1849    OSUINT32  numbits;
       
  1850    OSOCTET data[1];
       
  1851    // ctors
       
  1852    ASN1T_Horandveruncert_verspeed () : numbits(0) {}
       
  1853    ASN1T_Horandveruncert_verspeed (OSUINT32 _numbits, const OSOCTET* _data) :
       
  1854       numbits(_numbits) {
       
  1855       OSCRTLMEMCPY (data, _data, sizeof(data));
       
  1856    }
       
  1857 } ;
       
  1858 
       
  1859 IMPORT_C int asn1PE_Horandveruncert_verspeed (OSCTXT* pctxt, ASN1T_Horandveruncert_verspeed* pvalue);
       
  1860 
       
  1861 IMPORT_C int asn1PD_Horandveruncert_verspeed (OSCTXT* pctxt, ASN1T_Horandveruncert_verspeed* pvalue);
       
  1862 
       
  1863 IMPORT_C void asn1Print_Horandveruncert_verspeed
       
  1864    (const char* name, ASN1T_Horandveruncert_verspeed* pvalue);
       
  1865 
       
  1866 /**************************************************************/
       
  1867 /*                                                            */
       
  1868 /*  Horandveruncert_horuncertspeed                            */
       
  1869 /*                                                            */
       
  1870 /**************************************************************/
       
  1871 
       
  1872 #define TV_Horandveruncert_horuncertspeed	(TM_UNIV|TM_PRIM|3)
       
  1873 
       
  1874 struct ASN1T_Horandveruncert_horuncertspeed {
       
  1875    OSUINT32  numbits;
       
  1876    OSOCTET data[1];
       
  1877    // ctors
       
  1878    ASN1T_Horandveruncert_horuncertspeed () : numbits(0) {}
       
  1879    ASN1T_Horandveruncert_horuncertspeed (OSUINT32 _numbits, const OSOCTET* _data) :
       
  1880       numbits(_numbits) {
       
  1881       OSCRTLMEMCPY (data, _data, sizeof(data));
       
  1882    }
       
  1883 } ;
       
  1884 
       
  1885 IMPORT_C int asn1PE_Horandveruncert_horuncertspeed (OSCTXT* pctxt, ASN1T_Horandveruncert_horuncertspeed* pvalue);
       
  1886 
       
  1887 IMPORT_C int asn1PD_Horandveruncert_horuncertspeed (OSCTXT* pctxt, ASN1T_Horandveruncert_horuncertspeed* pvalue);
       
  1888 
       
  1889 IMPORT_C void asn1Print_Horandveruncert_horuncertspeed
       
  1890    (const char* name, ASN1T_Horandveruncert_horuncertspeed* pvalue);
       
  1891 
       
  1892 /**************************************************************/
       
  1893 /*                                                            */
       
  1894 /*  Horandveruncert_veruncertspeed                            */
       
  1895 /*                                                            */
       
  1896 /**************************************************************/
       
  1897 
       
  1898 #define TV_Horandveruncert_veruncertspeed	(TM_UNIV|TM_PRIM|3)
       
  1899 
       
  1900 struct ASN1T_Horandveruncert_veruncertspeed {
       
  1901    OSUINT32  numbits;
       
  1902    OSOCTET data[1];
       
  1903    // ctors
       
  1904    ASN1T_Horandveruncert_veruncertspeed () : numbits(0) {}
       
  1905    ASN1T_Horandveruncert_veruncertspeed (OSUINT32 _numbits, const OSOCTET* _data) :
       
  1906       numbits(_numbits) {
       
  1907       OSCRTLMEMCPY (data, _data, sizeof(data));
       
  1908    }
       
  1909 } ;
       
  1910 
       
  1911 IMPORT_C int asn1PE_Horandveruncert_veruncertspeed (OSCTXT* pctxt, ASN1T_Horandveruncert_veruncertspeed* pvalue);
       
  1912 
       
  1913 IMPORT_C int asn1PD_Horandveruncert_veruncertspeed (OSCTXT* pctxt, ASN1T_Horandveruncert_veruncertspeed* pvalue);
       
  1914 
       
  1915 IMPORT_C void asn1Print_Horandveruncert_veruncertspeed
       
  1916    (const char* name, ASN1T_Horandveruncert_veruncertspeed* pvalue);
       
  1917 
       
  1918 /**************************************************************/
       
  1919 /*                                                            */
       
  1920 /*  Horandveruncert                                           */
       
  1921 /*                                                            */
       
  1922 /**************************************************************/
       
  1923 
       
  1924 #define TV_Horandveruncert	(TM_UNIV|TM_CONS|16)
       
  1925 
       
  1926 struct ASN1T_Horandveruncert {
       
  1927    ASN1T_Horandveruncert_verdirect verdirect;
       
  1928    ASN1T_Horandveruncert_bearing bearing;
       
  1929    ASN1T_Horandveruncert_horspeed horspeed;
       
  1930    ASN1T_Horandveruncert_verspeed verspeed;
       
  1931    ASN1T_Horandveruncert_horuncertspeed horuncertspeed;
       
  1932    ASN1T_Horandveruncert_veruncertspeed veruncertspeed;
       
  1933    IMPORT_C ASN1T_Horandveruncert ();
       
  1934 } ;
       
  1935 
       
  1936 IMPORT_C int asn1PE_Horandveruncert (OSCTXT* pctxt, ASN1T_Horandveruncert* pvalue);
       
  1937 
       
  1938 IMPORT_C int asn1PD_Horandveruncert (OSCTXT* pctxt, ASN1T_Horandveruncert* pvalue);
       
  1939 
       
  1940 IMPORT_C void asn1Print_Horandveruncert
       
  1941    (const char* name, ASN1T_Horandveruncert* pvalue);
       
  1942 
       
  1943 /**************************************************************/
       
  1944 /*                                                            */
       
  1945 /*  Velocity                                                  */
       
  1946 /*                                                            */
       
  1947 /**************************************************************/
       
  1948 
       
  1949 /* Choice tag constants */
       
  1950 
       
  1951 #define T_Velocity_horvel               1
       
  1952 #define T_Velocity_horandvervel         2
       
  1953 #define T_Velocity_horveluncert         3
       
  1954 #define T_Velocity_horandveruncert      4
       
  1955 #define T_Velocity_extElem1             5
       
  1956 
       
  1957 struct ASN1T_Velocity {
       
  1958    int t;
       
  1959    union {
       
  1960       /* t = 1 */
       
  1961       ASN1T_Horvel *horvel;
       
  1962       /* t = 2 */
       
  1963       ASN1T_Horandvervel *horandvervel;
       
  1964       /* t = 3 */
       
  1965       ASN1T_Horveluncert *horveluncert;
       
  1966       /* t = 4 */
       
  1967       ASN1T_Horandveruncert *horandveruncert;
       
  1968       /* t = 5 */
       
  1969    } u;
       
  1970 } ;
       
  1971 
       
  1972 IMPORT_C int asn1PE_Velocity (OSCTXT* pctxt, ASN1T_Velocity* pvalue);
       
  1973 
       
  1974 IMPORT_C int asn1PD_Velocity (OSCTXT* pctxt, ASN1T_Velocity* pvalue);
       
  1975 
       
  1976 IMPORT_C void asn1Print_Velocity
       
  1977    (const char* name, ASN1T_Velocity* pvalue);
       
  1978 
       
  1979 IMPORT_C void asn1Free_Velocity (OSCTXT *pctxt, ASN1T_Velocity* pvalue);
       
  1980 
       
  1981 /**************************************************************/
       
  1982 /*                                                            */
       
  1983 /*  Position                                                  */
       
  1984 /*                                                            */
       
  1985 /**************************************************************/
       
  1986 
       
  1987 #define TV_Position	(TM_UNIV|TM_CONS|16)
       
  1988 
       
  1989 struct ASN1T_Position {
       
  1990    struct {
       
  1991       unsigned velocityPresent : 1;
       
  1992    } m;
       
  1993    const char* timestamp;
       
  1994    ASN1T_PositionEstimate positionEstimate;
       
  1995    ASN1T_Velocity velocity;
       
  1996    IMPORT_C ASN1T_Position ();
       
  1997 } ;
       
  1998 
       
  1999 IMPORT_C int asn1PE_Position (OSCTXT* pctxt, ASN1T_Position* pvalue);
       
  2000 
       
  2001 IMPORT_C int asn1PD_Position (OSCTXT* pctxt, ASN1T_Position* pvalue);
       
  2002 
       
  2003 IMPORT_C void asn1Print_Position
       
  2004    (const char* name, ASN1T_Position* pvalue);
       
  2005 
       
  2006 IMPORT_C void asn1Free_Position (OSCTXT *pctxt, ASN1T_Position* pvalue);
       
  2007 
       
  2008 /**************************************************************/
       
  2009 /*                                                            */
       
  2010 /*  Ver                                                       */
       
  2011 /*                                                            */
       
  2012 /**************************************************************/
       
  2013 
       
  2014 #define TV_Ver	(TM_UNIV|TM_PRIM|3)
       
  2015 
       
  2016 struct ASN1T_Ver {
       
  2017    OSUINT32  numbits;
       
  2018    OSOCTET data[8];
       
  2019    // ctors
       
  2020    ASN1T_Ver () : numbits(0) {}
       
  2021    ASN1T_Ver (OSUINT32 _numbits, const OSOCTET* _data) :
       
  2022       numbits(_numbits) {
       
  2023       OSCRTLMEMCPY (data, _data, sizeof(data));
       
  2024    }
       
  2025 } ;
       
  2026 
       
  2027 IMPORT_C int asn1PE_Ver (OSCTXT* pctxt, ASN1T_Ver* pvalue);
       
  2028 
       
  2029 IMPORT_C int asn1PD_Ver (OSCTXT* pctxt, ASN1T_Ver* pvalue);
       
  2030 
       
  2031 IMPORT_C void asn1Print_Ver
       
  2032    (const char* name, ASN1T_Ver* pvalue);
       
  2033 
       
  2034 /**************************************************************/
       
  2035 /*                                                            */
       
  2036 /*  StatusCode                                                */
       
  2037 /*                                                            */
       
  2038 /**************************************************************/
       
  2039 
       
  2040 #define TV_StatusCode	(TM_UNIV|TM_PRIM|10)
       
  2041 
       
  2042 struct StatusCode {
       
  2043    enum Root {
       
  2044       unspecified = 0,
       
  2045       systemFailure = 1,
       
  2046       unexpectedMessage = 2,
       
  2047       protocolError = 3,
       
  2048       dataMissing = 4,
       
  2049       unexpectedDataValue = 5,
       
  2050       posMethodFailure = 6,
       
  2051       posMethodMismatch = 7,
       
  2052       posProtocolMismatch = 8,
       
  2053       targetSETnotReachable = 9,
       
  2054       versionNotSupported = 10,
       
  2055       resourceShortage = 11,
       
  2056       invalidSessionId = 12,
       
  2057       nonProxyModeNotSupported = 13,
       
  2058       proxyModeNotSupported = 14,
       
  2059       positioningNotPermitted = 15,
       
  2060       authNetFailure = 16,
       
  2061       authSuplinitFailure = 17,
       
  2062       consentDeniedByUser = 100,
       
  2063       consentGrantedByUser = 101
       
  2064    } ;
       
  2065 } ;
       
  2066 
       
  2067 typedef OSUINT32 ASN1T_StatusCode;
       
  2068 
       
  2069 IMPORT_C int asn1PE_StatusCode (OSCTXT* pctxt, ASN1T_StatusCode value);
       
  2070 
       
  2071 IMPORT_C int asn1PD_StatusCode (OSCTXT* pctxt, ASN1T_StatusCode* pvalue);
       
  2072 
       
  2073 IMPORT_C void asn1Print_StatusCode
       
  2074    (const char* name, ASN1T_StatusCode* pvalue);
       
  2075 
       
  2076 IMPORT_C const OSUTF8CHAR* ASN1T_StatusCode_ToString (OSINT32 value);
       
  2077 
       
  2078 IMPORT_C int ASN1T_StatusCode_ToEnum (OSCTXT* pctxt,
       
  2079    const OSUTF8CHAR* value, ASN1T_StatusCode* pvalue);
       
  2080 
       
  2081 #endif