// Copyright (c) 2001-2009 Objective Systems, Inc. (http://www.obj-sys.com)
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
// which accompanies this distribution, and is available
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
//
/**
* This file was generated by the Objective Systems ASN1C Compiler
* (http://www.obj-sys.com).
*/
#ifndef SUPL_START_H
#define SUPL_START_H
#include <stdio.h>
#include <stdlib.h>
#include "rtkey.h"
#include "rtpersrc/asn1PerCppTypes.h"
#include "ULP-Components.h"
/**
* Header file for ASN.1 module SUPL-START
*/
/**************************************************************/
/* */
/* PosTechnology */
/* */
/**************************************************************/
#define TV_PosTechnology (TM_UNIV|TM_CONS|16)
struct ASN1T_PosTechnology {
OSBOOL agpsSETassisted;
OSBOOL agpsSETBased;
OSBOOL autonomousGPS;
OSBOOL aFLT;
OSBOOL eCID;
OSBOOL eOTD;
OSBOOL oTDOA;
IMPORT_C ASN1T_PosTechnology ();
} ;
IMPORT_C int asn1PE_PosTechnology (OSCTXT* pctxt, ASN1T_PosTechnology* pvalue);
IMPORT_C int asn1PD_PosTechnology (OSCTXT* pctxt, ASN1T_PosTechnology* pvalue);
IMPORT_C void asn1Print_PosTechnology
(const char* name, ASN1T_PosTechnology* pvalue);
/**************************************************************/
/* */
/* PrefMethod */
/* */
/**************************************************************/
#define TV_PrefMethod (TM_UNIV|TM_PRIM|10)
struct PrefMethod {
enum Root {
agpsSETassistedPreferred = 0,
agpsSETBasedPreferred = 1,
noPreference = 2
} ;
} ;
typedef OSUINT32 ASN1T_PrefMethod;
IMPORT_C int asn1PE_PrefMethod (OSCTXT* pctxt, ASN1T_PrefMethod value);
IMPORT_C int asn1PD_PrefMethod (OSCTXT* pctxt, ASN1T_PrefMethod* pvalue);
IMPORT_C void asn1Print_PrefMethod
(const char* name, ASN1T_PrefMethod* pvalue);
IMPORT_C const OSUTF8CHAR* ASN1T_PrefMethod_ToString (OSINT32 value);
IMPORT_C int ASN1T_PrefMethod_ToEnum (OSCTXT* pctxt,
const OSUTF8CHAR* value, ASN1T_PrefMethod* pvalue);
/**************************************************************/
/* */
/* PosProtocol */
/* */
/**************************************************************/
#define TV_PosProtocol (TM_UNIV|TM_CONS|16)
struct ASN1T_PosProtocol {
OSBOOL tia801;
OSBOOL rrlp;
OSBOOL rrc;
IMPORT_C ASN1T_PosProtocol ();
} ;
IMPORT_C int asn1PE_PosProtocol (OSCTXT* pctxt, ASN1T_PosProtocol* pvalue);
IMPORT_C int asn1PD_PosProtocol (OSCTXT* pctxt, ASN1T_PosProtocol* pvalue);
IMPORT_C void asn1Print_PosProtocol
(const char* name, ASN1T_PosProtocol* pvalue);
/**************************************************************/
/* */
/* SETCapabilities */
/* */
/**************************************************************/
#define TV_SETCapabilities (TM_UNIV|TM_CONS|16)
struct ASN1T_SETCapabilities {
ASN1T_PosTechnology posTechnology;
ASN1T_PrefMethod prefMethod;
ASN1T_PosProtocol posProtocol;
IMPORT_C ASN1T_SETCapabilities ();
} ;
IMPORT_C int asn1PE_SETCapabilities (OSCTXT* pctxt, ASN1T_SETCapabilities* pvalue);
IMPORT_C int asn1PD_SETCapabilities (OSCTXT* pctxt, ASN1T_SETCapabilities* pvalue);
IMPORT_C void asn1Print_SETCapabilities
(const char* name, ASN1T_SETCapabilities* pvalue);
/**************************************************************/
/* */
/* SUPLSTART */
/* */
/**************************************************************/
#define TV_SUPLSTART (TM_UNIV|TM_CONS|16)
struct ASN1T_SUPLSTART {
struct {
unsigned qoPPresent : 1;
} m;
ASN1T_SETCapabilities sETCapabilities;
ASN1T_LocationId locationId;
ASN1T_QoP qoP;
IMPORT_C ASN1T_SUPLSTART ();
} ;
IMPORT_C int asn1PE_SUPLSTART (OSCTXT* pctxt, ASN1T_SUPLSTART* pvalue);
IMPORT_C int asn1PD_SUPLSTART (OSCTXT* pctxt, ASN1T_SUPLSTART* pvalue);
IMPORT_C void asn1Print_SUPLSTART
(const char* name, ASN1T_SUPLSTART* pvalue);
IMPORT_C void asn1Free_SUPLSTART (OSCTXT *pctxt, ASN1T_SUPLSTART* pvalue);
#endif