summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortajuma <tajuma@users.sf.net>2014-09-12 11:32:59 +0300
committertajuma <tajuma@users.sf.net>2014-09-12 11:32:59 +0300
commita67e0eb2f656bfcf82ff9ca5319a94f9b41c554c (patch)
treef9688370509c3c4a179b0b8146a07f0df2f7b3aa
parentbba9a3ad1d4dd79c367b73f2594db46fe9b6952b (diff)
Got rid of svn meta datamaster
-rw-r--r--.svn/entries1
-rw-r--r--.svn/format1
-rw-r--r--.svn/pristine/01/016f29ed982c3bc9d8272335f0868d9bc05c05ca.svn-base10
-rw-r--r--.svn/pristine/01/01fff950b5d510c5fbff2d73d653f20ba1dbc3db.svn-base3
-rw-r--r--.svn/pristine/03/03f6a884edd1f97f6f20468660fb9f98091be1a0.svn-base6
-rw-r--r--.svn/pristine/04/04eddabc9030d561bd6ac7862657231be3055fe8.svn-base104
-rw-r--r--.svn/pristine/0b/0bea58b0c950b1bc3e838da94fb3ef20273bd9f7.svn-base44
-rw-r--r--.svn/pristine/13/131323ada99ad94f27dec1d16d3960b1667b1777.svn-base73
-rw-r--r--.svn/pristine/1a/1ad99ffb5fcdb14ee66f1bfa79bdd19dc1e7c7d5.svn-base183
-rw-r--r--.svn/pristine/1b/1ba71d06e2197807e84a318b1b4f323e952fc199.svn-base309
-rw-r--r--.svn/pristine/26/2684b0ba1ff257081e1c35e962e4759025492c58.svn-base23
-rw-r--r--.svn/pristine/2e/2e58dc76f63d23a6ff52734c3d617942301426a9.svn-base275
-rw-r--r--.svn/pristine/3a/3a5620a6cb684fc416d72781b65b969e94477dd8.svn-base39
-rw-r--r--.svn/pristine/40/40b5221b837528aba7680f7ad84da83b90221ca2.svn-base30
-rw-r--r--.svn/pristine/42/42002e88d8c2447827b2578e0aec6e2ea6d95fa7.svn-base53
-rw-r--r--.svn/pristine/50/50e82df44570d5f2551c11f692ae627de361ce45.svn-base244
-rw-r--r--.svn/pristine/53/53e6fe7ee4ae21b38b5579ef8ef444beebee05b3.svn-base100
-rw-r--r--.svn/pristine/58/586aedd24173a28693f6f1676b42f6ea9f17ddd7.svn-base251
-rw-r--r--.svn/pristine/5c/5c792402b4fd218d424b5ad7a17c01644cc2fea8.svn-base2
-rw-r--r--.svn/pristine/62/6283064b7036d58a2767e3eabee6f48ef9f3fc4c.svn-base23
-rw-r--r--.svn/pristine/62/62b3afd7e4434aa7830496e975cdc5746c3b63d8.svn-base917
-rw-r--r--.svn/pristine/64/644f7c32fbcfc86a1119a32b8310fd29031ad574.svn-base1
-rw-r--r--.svn/pristine/67/67a512783cf0da7cb6adf6a8cc9f5c5c5f62929a.svn-base1
-rw-r--r--.svn/pristine/69/69d9b510df8eb488fb7c3dd9c53b62ce6612c1ce.svn-base9
-rw-r--r--.svn/pristine/6a/6ac26590a6fb9993e715fa35684334cc0e1b7ebe.svn-base52
-rw-r--r--.svn/pristine/6b/6b164192860b2811ad4f9cc1664522ea341764e9.svn-base47
-rw-r--r--.svn/pristine/84/84585b212604ab2241de3a70f20097deee732cc3.svn-base45
-rw-r--r--.svn/pristine/8b/8bf1d39de369fb0af002d7e0aa987b913f50a77b.svn-base40
-rw-r--r--.svn/pristine/92/92470bd3eae1e4543881248ffbc718ceb8fd5806.svn-basebin125191 -> 0 bytes
-rw-r--r--.svn/pristine/98/98a74fe8ac00cd1860e6db3b06ff1c50daa07286.svn-base1
-rw-r--r--.svn/pristine/9e/9e3148e22fabc41578258e73fbfc1f2869549279.svn-base276
-rw-r--r--.svn/pristine/b6/b6dd16077d891747b0f582127fc5875e95f60f19.svn-basebin194544 -> 0 bytes
-rw-r--r--.svn/pristine/c0/c0045c48d7eacdf642146f636ee62bc4c64b3e07.svn-base549
-rw-r--r--.svn/pristine/c5/c5c6ef224a25dc7f08a48db4976c9f5693c74e43.svn-base114
-rw-r--r--.svn/pristine/c6/c6d29c4c092b0eefb3e2cadbaeca039b656d3e9e.svn-base54
-rw-r--r--.svn/pristine/d1/d129322f1c542d746152eea3bfc700cc38cb45e3.svn-base15
-rw-r--r--.svn/pristine/d1/d1cf9cebc716bd3cba3d3031af8e192782a89031.svn-base25
-rw-r--r--.svn/pristine/d3/d3964f9dad9f60363c81b688324d95b4ec7c8038.svn-base1
-rw-r--r--.svn/pristine/d6/d61ef4b15cdd349fb908dd6f5ec2e792f53d89d8.svn-base12
-rw-r--r--.svn/pristine/d8/d89274fedb214dafe992b9a8f88d79cc8e82d5a5.svn-base26
-rw-r--r--.svn/pristine/da/da39a3ee5e6b4b0d3255bfef95601890afd80709.svn-base0
-rw-r--r--.svn/pristine/dc/dc997cb0a576d43649a7c44cab71d891768a9780.svn-base1502
-rw-r--r--.svn/pristine/df/df617689bfc14ffc8bcdc783ef6fdacbce7683de.svn-base456
-rw-r--r--.svn/pristine/e8/e8fd7880c0033c56a4159200a752d0bde43a8798.svn-base20
-rw-r--r--.svn/pristine/f8/f8738a6566306ae25f93456a019426af51ccc827.svn-base1
-rw-r--r--.svn/pristine/ff/ffcb02416ec395ad809866ac645217f8a7a2ecd5.svn-base70
-rw-r--r--.svn/wc.dbbin59392 -> 0 bytes
47 files changed, 0 insertions, 6008 deletions
diff --git a/.svn/entries b/.svn/entries
deleted file mode 100644
index 48082f7..0000000
--- a/.svn/entries
+++ /dev/null
@@ -1 +0,0 @@
-12
diff --git a/.svn/format b/.svn/format
deleted file mode 100644
index 48082f7..0000000
--- a/.svn/format
+++ /dev/null
@@ -1 +0,0 @@
-12
diff --git a/.svn/pristine/01/016f29ed982c3bc9d8272335f0868d9bc05c05ca.svn-base b/.svn/pristine/01/016f29ed982c3bc9d8272335f0868d9bc05c05ca.svn-base
deleted file mode 100644
index 2fb849f..0000000
--- a/.svn/pristine/01/016f29ed982c3bc9d8272335f0868d9bc05c05ca.svn-base
+++ /dev/null
@@ -1,10 +0,0 @@
-# Generated by ./configure script - Thu Oct 27 21:56:38 EEST 2011
-# Modifications to this file are lost if ./configure is ran again.
-
-CONF_VERSION = 1.0.5
-CONF_CFLAGS = -Wall -O2
-CONF_ASN_CFLAGS =
-CONF_PREFIX = /usr
-CONF_PRECOMPILED_ASN = yes
-CONF_SUPL_DEBUG =
-CONF_ASN1_SKELETONS =
diff --git a/.svn/pristine/01/01fff950b5d510c5fbff2d73d653f20ba1dbc3db.svn-base b/.svn/pristine/01/01fff950b5d510c5fbff2d73d653f20ba1dbc3db.svn-base
deleted file mode 100644
index 625e527..0000000
--- a/.svn/pristine/01/01fff950b5d510c5fbff2d73d653f20ba1dbc3db.svn-base
+++ /dev/null
@@ -1,3 +0,0 @@
-usr/bin
-usr/share/man/man1
-
diff --git a/.svn/pristine/03/03f6a884edd1f97f6f20468660fb9f98091be1a0.svn-base b/.svn/pristine/03/03f6a884edd1f97f6f20468660fb9f98091be1a0.svn-base
deleted file mode 100644
index 0cf279a..0000000
--- a/.svn/pristine/03/03f6a884edd1f97f6f20468660fb9f98091be1a0.svn-base
+++ /dev/null
@@ -1,6 +0,0 @@
-usr/bin/supl-client
-usr/bin/supl-proxy
-usr/bin/supl-cert
-usr/share/man/man1/supl-client.1
-usr/share/man/man1/supl-proxy.1
-usr/share/man/man1/supl-cert.1
diff --git a/.svn/pristine/04/04eddabc9030d561bd6ac7862657231be3055fe8.svn-base b/.svn/pristine/04/04eddabc9030d561bd6ac7862657231be3055fe8.svn-base
deleted file mode 100644
index 641d96c..0000000
--- a/.svn/pristine/04/04eddabc9030d561bd6ac7862657231be3055fe8.svn-base
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/bin/bash
-
-# poor man's poor rip off from the real configure stuff
-
-usage() {
- cat <<EOF
-$0 [options...]
- --prefix=DIR prefix install directory for binaries and libraries
- [/usr/local]
- --precomplied-asn1 use precompiled ASN.1 files (no asn1c compiler needed)
- --enable-supl-debug enable SUPL/RRLP protocol specific debugging
- --enable-debug enable C debugging
- --enable-asn1-debug enable debugging of ASN.1 parsing
- --asn1c-skeletons <path> where asn1c compiler should look ASN.1 skeleton files
-EOF
- exit 1
-}
-
-# Identity of this package.
-PACKAGE_NAME='supl'
-PACKAGE_TARNAME='supl'
-PACKAGE_VERSION='1.0.5'
-PACKAGE_STRING='supl 1.0.5'
-PACKAGE_BUGREPORT=''
-PACKAGE_URL=''
-
-var_prefix=/usr/local
-var_precompiled=
-var_debug=
-var_asn1_debug=
-var_asn1c_skeletons=
-
-while test $# != 0
-do
- case $1 in
- --*=* | -*=*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- -prefix | --prefix)
- var_prefix=$ac_optarg ;;
- -precompiled-asn1 | --precompiled-asn1 | -precompiled | --precompiled)
- var_precompiled_asn=yes ;;
- -enable-debug | --enable-debug | -debug | --debug)
- var_debug="-g" ;;
- -enable-supl-debug | --enable-supl-debug)
- var_supl_debug="-DSUPL_DEBUG" ;;
- -enable-asn1-debug | --enable-asn1-debug)
- var_asn1_debug="-DEMIT_ASN_DEBUG=1" ;;
- -asn1c-skeletons | --asn1c-skeletons)
- var_asn1c_skeletons="-S $ac_optarg" ;;
- -help | --help)
- usage ;;
- *)
- usage ;;
- esac
- shift
-done
-
-# Check all directory arguments for consistency.
-for ac_var in var_prefix
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
-
- echo "expected an absolute directory name for --$ac_var: $ac_val" >&2
- exit 1
-done
-
-cat <<EOF > config.mk
-# Generated by ./configure script - `date`
-# Modifications to this file are lost if ./configure is ran again.
-
-CONF_VERSION = 1.0.5
-CONF_CFLAGS = -Wall -O2 $var_debug
-CONF_ASN_CFLAGS = $var_asn1_debug
-CONF_PREFIX = $var_prefix
-CONF_PRECOMPILED_ASN = $var_precompiled_asn
-CONF_SUPL_DEBUG = $var_supl_debug
-CONF_ASN1_SKELETONS = $var_asn1c_skeletons
-EOF
-
-echo Generated config.mk
-
-exit 0
diff --git a/.svn/pristine/0b/0bea58b0c950b1bc3e838da94fb3ef20273bd9f7.svn-base b/.svn/pristine/0b/0bea58b0c950b1bc3e838da94fb3ef20273bd9f7.svn-base
deleted file mode 100644
index a238cf7..0000000
--- a/.svn/pristine/0b/0bea58b0c950b1bc3e838da94fb3ef20273bd9f7.svn-base
+++ /dev/null
@@ -1,44 +0,0 @@
-.\"EMACS: -*- nroff -*-
-
-.TH SUPL-CERT 1 "version 1.0"
-.SH NAME
-supl-cert \- utility to create SSL keys and certificates for supl-proxy
-.SH SYNOPISIS
-.B supl-cert
-[\fIdoman-name\fP]
-.br
-.SH DESCRIPTION
-\fBsupl-cert\fP takes as the only parameter the domain name of the
-server where the supl-proxy will be ran and what is set to client
-(e.g. mobile phone) as the SUPL server.
-
-.SH OPTIONS
-The \fIdomain-name\fP of the supl-proxy machine.
-.SH NOTES
-.B *** DO NOT USE THESE KEYS FOR ANYTHING REQUIRING REAL SECURITY ***
-.br
-
-\fBsupl-proxy\fP expects to see these certificate and key files with
-these names in the current working directory.
-
-The CA certificate \fIca-cert.pem\fP file must be given to the SUPL
-client device (e.g. mobile phone).
-.SH FILES
-.TP
-.I ca-cert.pem
-CA certificate. Copy over to the SUPL client device.
-.TP
-.I ca-priv.pem
-CA private key. This file is not really needed.
-.TP
-.I srv-cert.pem
-supl-proxy server certificate, signed by the CA certificate.
-.TP
-.I srv-priv.pem
-supl-proxy server private key.
-.SH BUGS
-Please send any comments or bug reports to \fBtatu -at- tajuma.com\fP.
-.SH HOMEPAGE
-http://www.tajuma.com/supl
-.SH AUTHOR
-Tatu Männistö <tatu -at- tajuma.com>
diff --git a/.svn/pristine/13/131323ada99ad94f27dec1d16d3960b1667b1777.svn-base b/.svn/pristine/13/131323ada99ad94f27dec1d16d3960b1667b1777.svn-base
deleted file mode 100644
index 5fce587..0000000
--- a/.svn/pristine/13/131323ada99ad94f27dec1d16d3960b1667b1777.svn-base
+++ /dev/null
@@ -1,73 +0,0 @@
-TOP = ..
-SUBDIRS = asn-rrlp asn-supl
-
-include $(TOP)/config.mk
-
-# export CFLAGS to have more consistent flags in sub-makefiles
-# as dpkg-buildpackage does export it.
-export CFLAGS
-
-CFLAGS += $(CONF_CFLAGS) $(CONF_SUPL_DEBUG)
-CFLAGS += -I./asn-rrlp -I./asn-supl
-
-SUPL_ASN1_SOURCE = supl-common.asn supl-end.asn supl-pos.asn supl-response.asn
-SUPL_ASN1_SOURCE += supl-start.asn supl-ulp.asn supl-init.asn supl-posinit.asn
-RRLP_ASN1_SOURCE = rrlp-components.asn rrlp-messages.asn
-PROGRAM_SOURCE = supl-client.c supl-proxy.c supl-cert.c
-SUPL_C_SOURCE = supl.c
-
-DIST = Makefile $(PROGRAM_SOURCE) $(SUPL_C_SOURCE) $(SUPL_ASN1_SOURCE) $(RRLP_ASN1_SOURCE)
-
-all: supl-client supl-proxy supl-cert
-
-supl-client: libsupl.so supl-client.o
- $(CC) -o $@ supl-client.o -L. -lsupl -lssl -lm
-
-supl-proxy: libsupl.so supl-proxy.o
- $(CC) -o $@ supl-proxy.o -L. -lsupl -lssl -lm
-
-supl-cert: supl-cert.o
- $(CC) -o $@ supl-cert.o $(shell pkg-config --libs openssl) -lm
-
-libsupl.so: libsupl.so.1.0
- ln -sf libsupl.so.1 libsupl.so
-
-libsupl.so.1.0: asn-supl/libasnsupl.a asn-rrlp/libasnrrlp.a supl.o
- $(CC) -shared -Wl,-soname,libsupl.so.1 -o $@ supl.o \
- -Wl,--whole-archive ./asn-supl/libasnsupl.a -Wl,--no-whole-archive \
- ./asn-rrlp/libasnrrlp.a -lssl
- ln -sf libsupl.so.1.0 libsupl.so.1
-
-asn-supl/libasnsupl.a:
- $(MAKE) -C asn-supl
-
-asn-rrlp/libasnrrlp.a:
- $(MAKE) -C asn-rrlp
-
-# code generated by asn1c barfs if -fn-s-a not set
-supl.o: CFLAGS += -fno-strict-aliasing -fPIC -fvisibility=hidden -DUSE_EXPORT=1
-supl.o: supl.h
-
-install: all
- for d in bin lib include ; do mkdir -p $(DEB_PREFIX)$(CONF_PREFIX)/$$d; done
- cp -a libsupl.so* $(DEB_PREFIX)$(CONF_PREFIX)/lib
- cp -a asn-rrlp/libasnrrlp.so* $(DEB_PREFIX)$(CONF_PREFIX)/lib
- cp -a asn-supl/libasnsupl.so* $(DEB_PREFIX)$(CONF_PREFIX)/lib
- cp -a asn-rrlp/libasnrrlp.a $(DEB_PREFIX)$(CONF_PREFIX)/lib
- cp -a asn-supl/libasnsupl.a $(DEB_PREFIX)$(CONF_PREFIX)/lib
- cp -a supl.h $(DEB_PREFIX)$(CONF_PREFIX)/include
- cp supl-client supl-proxy supl-cert $(DEB_PREFIX)$(CONF_PREFIX)/bin
-
-clean:
- @for subdir in $(SUBDIRS) ; do \
- $(MAKE) -C $$subdir clean ; \
- done
- /bin/rm -f *.o libsupl.so* *~ supl.h.gch *.pem supl-client supl-cert supl-proxy
-
-distfiles:
- echo $(addprefix src/,$(DIST)) >> $(TOP)/distfiles
- @for subdir in $(SUBDIRS) ; do \
- $(MAKE) -C $$subdir distfiles ; \
- done
-
-.PHONY: clean distfiles install
diff --git a/.svn/pristine/1a/1ad99ffb5fcdb14ee66f1bfa79bdd19dc1e7c7d5.svn-base b/.svn/pristine/1a/1ad99ffb5fcdb14ee66f1bfa79bdd19dc1e7c7d5.svn-base
deleted file mode 100644
index 7353dca..0000000
--- a/.svn/pristine/1a/1ad99ffb5fcdb14ee66f1bfa79bdd19dc1e7c7d5.svn-base
+++ /dev/null
@@ -1,183 +0,0 @@
-= What this is about =
-
-This is an implementation of OMA SUPL and 3GPP RRLP protocols used in
-Assisted GPS (AGPS). Only client (mobile) initiated case is implemented.
-
-The package provides 2 user level executables
-
-1) supl-client and
-2) supl-proxy
-
-and supporting SUPL/RRLP library libsupl.
-
-
-== supl-client ==
-
-supl-client connect to a SUPL server over the Internet and gets GPS
-assistance (A-GPS) data, like satellite ephemeris and almanac data
-from it. The received data can then be fed to a GPS receiver (assuming
-the receiver accepts such data) to speed up satellite aquistion.
-
-Usage:
-supl-client options [supl-server]
-Options:
- --cell gsm:mcc,mns:lac,ci|wcdma:mcc,msn,uc set current gsm/wcdma cell id
- --cell gsm:mcc,mns:lac,ci:lat,lon,uncert set known gsm cell id with position
- --format human machine parseable output
- --debug n 1 == RRLP, 2 == SUPL, 4 == DEBUG
- --debug-file file write debug to file
- --help show this help
-Example:
-supl-client --cell=gsm:244,5:0x59e2,0x31b0:60.169995,24.939995,127 --cell=gsm:244,5:0x59e2,0x31b0
-
-The default SUPL server is supl.nokia.com.
-
-Supl server may not return all assistance information if --gsm-cell
-is not given. You can give some cell id to supl server but position
-information returned by the server (based on the cell id) can be
-overridden by --set-pos in the output. Format for this is
-
---set-pos=lat,lon,uncertainty
-
-where both lat and lon are decimal degrees (N and E positive) and
-uncertainty in meters.
-
-Also if enviroment variable SUPL_FAKE_POS it is used as the
-position esitmate coming from the supl server. Format is the same
-as in --set-pos.
-
-With test options '-t 0', '-t 1' or '-t 2' you get a quick feeling
-how and if things will work - if they work ;-)
-
-
-== supl-proxy ==
-
-Usage:
-supl-proxy supl-server
-
-Sets up a proxy and displays SUPL / RRLP traffic between the client
-and server. Convinient for debugging and figuring out the protocol.
-
-To use it, you must direct your mobile to use your proxy server as its
-SUPL server. In Nokia N95 this is in Tool -> Settings -> General ->
-Positioning -> Postioning server. In Nokia N900 such setting is also
-availabe in the settings application.
-
-You must also install a SSL root certificate to the phone. The root
-certificate must be set as trusted certificate in the phone. In N95
-just set all uses as trusted (in the certificate manager). In N900 you
-must use command line tool cmcli (available in maemosec-certman-tools
-package) and install the root certificate into common-ca domain.
-
-The proxy server must be given a server sertificate (signed by the
-root certificate) and private key. The proxy reads them from
-cert/srv-{cert,priv}.pem files.
-
-=== How to generate keys and certificates ===
-
-** You can skip this section if you do not use supl-proxy **
-
-All SSL keys and certificates can be generated with supl-cert tool if
-you do not have those around already.
-
-Run supl-cert with your proxy server domain name as the only argument:
-
-~/src/supl-1.0 $ supl-cert proxy.dot.com
-
-It will create CA certificate and private key files ca-cert.pem and
-ca-priv.pem, and proxy server certificate (signed by the CA) and
-server private key files srv-cert.pem and srv-priv.pem.
-
-File ca-cert.pem should be sent (e.g. OBEX push for N95 or simple copy
-for N900) to your mobile and then installed into certificate
-store. Make sure to give it SSL trust.
-
-supl-proxy expects to find srv-cert.pem and src-priv.pem from the
-current directory. CA private key ca-priv.pem is not needed anymore.
-
-= Compiling =
-
-== Compile without ASN.1 compiler ==
-
-If you do not have asn1c (http://lionet.info/asn1c) available do:
-
-~/src/supl $ ./configure --precompiled-asn1
-~/src/supl $ make
-~/src/supl $ sudo make install
-
-That's it.
-
-
-== Compile with ASN.1 compiler ==
-
-You should use asn1c version 0.9.23, there are some issues with
-earlier versions.
-
-Get the asn1c source from http://lionet.info/asn1c/download.html or
-clone the git repository
-
-~src/ $ git clone git://github.com/vlm/asn1c.git
-
-and then configure, compile and install it first:
-
-~/src/ $ cd asn1c
-~/src/asn1c $ make
-~/src/asn1c $ sudo make install
-
-You may want get rid of your distribution provided asn1c compiler
-first, or at least make sure the following compilation uses this newer
-version.
-
-Then proceed with compiling this stuff
-
-~/src/supl $ ./configure
-~/src/supl $ make
-~/src/supl $ sudo make install
-
-
-== Fixing ASN specs ==
-
-There is a confict with NavigationModel which is defined by both supl
-and rrlp. Rename defination and every reference to NavigationModel
-with XNavigationModel in src/supl-posinit.asn.
-
-
-== ASN.1 compilation from sources ==
-
-Generation of compiled C-files from ASN.1 sources should happen
-automatically with make. But if you add new ASN.1 files or PDUs you
-must check and modify the Makefile in src/asn-rrlp or src/asn-supl
-directory to include any new structures you introduced into ASN files.
-
-You can give path to asn1c skeleton files to configure script as
-
-~/src/supl $ ./configure --asn1c-skeletons /path/to/asn1c-git-HEAD
-
-
-== Getting MCC, MNC, LAC and CI ==
-
-You need to provide your position estimate to supl server as
-cellular transmitter tower ids. One way to get them is to
-go to the AT-command interpreter in your phone and ask for them:
-
-at+cops?
-+COPS: 0,2,"24405",2
-OK
-at+creg=2
-OK
-at+creg?
-+CREG: 2,1,"59E2","31B0"
-OK
-at+creg=0
-OK
-
-==> you get needed values
-
-MCC = 244
-MCN = 05
-LAC = 0x59e2
-CI = 0x31b0
-
-
-Alternatively you may setup supl-proxy on your machine and see
-what your device talks to the supl server.
diff --git a/.svn/pristine/1b/1ba71d06e2197807e84a318b1b4f323e952fc199.svn-base b/.svn/pristine/1b/1ba71d06e2197807e84a318b1b4f323e952fc199.svn-base
deleted file mode 100644
index 0f1a421..0000000
--- a/.svn/pristine/1b/1ba71d06e2197807e84a318b1b4f323e952fc199.svn-base
+++ /dev/null
@@ -1,309 +0,0 @@
-/* crude hack to get ca and server keys and certificates done */
-/* based on example code from OpenSSL */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <openssl/pem.h>
-#include <openssl/conf.h>
-#include <openssl/x509v3.h>
-
-static char *domain;
-
-static int mkit_ca(X509 **x509p, EVP_PKEY **pkeyp, int bits, int serial, int days);
-static int mkit_srv(X509 **x509p, EVP_PKEY **pkeyp, EVP_PKEY *sign_key, X509 *sign_cert, int bits, int serial, int days);
-
-int main(int argc, char *argv[])
- {
- BIO *bio_err;
- X509 *x509=0;
- X509 *sign_cert=0;
- EVP_PKEY *pkey=0;
- EVP_PKEY *sign_key=0;
-
- if (argc != 2) {
- fprintf(stderr, "usage: %s domain-name\n", argv[0]);
- exit(1);
- }
- domain = argv[1];
-
- CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
-
- bio_err=BIO_new_fp(stderr, BIO_NOCLOSE);
-
- mkit_ca(&x509,&pkey,1024,42,365);
-
-#if 0
- RSA_print_fp(stdout,pkey->pkey.rsa,0);
- X509_print_fp(stdout,x509);
-#endif
-
- {
- FILE *f;
- f = fopen("ca-priv.pem", "w");
- PEM_write_PrivateKey(f,pkey,NULL,NULL,0,NULL, NULL);
- fclose(f);
- }
- {
- FILE *f;
- f = fopen("ca-cert.pem", "w");
- PEM_write_X509(f, x509);
- fclose(f);
- }
-
- {
- FILE *f;
- f = fopen("ca-priv.pem", "r");
- if (!f) {
- fprintf(stderr, "Can not open signature key file ca-priv.pem\n");
- exit(1);
- }
- sign_key = PEM_read_PrivateKey(f, 0, 0, 0);
- fclose(f);
- if (!sign_key) {
- fprintf(stderr, "Signature key not good\n");
- exit(1);
- }
- }
-
- {
- FILE *f;
- f = fopen("ca-cert.pem", "r");
- if (!f) {
- fprintf(stderr, "Can not open CA certificate file ca-priv.pem\n");
- exit(1);
- }
- sign_cert = PEM_read_X509(f, 0, 0, 0);
- fclose(f);
- if (!sign_cert) {
- fprintf(stderr, "CA cert not good\n");
- exit(1);
- }
- }
-
- X509_free(x509);
- EVP_PKEY_free(pkey);
-
- x509 = 0;
- pkey = 0;
-
- mkit_srv(&x509,&pkey,sign_key,sign_cert,1024,0xbeef,365);
-
-#if 0
- RSA_print_fp(stdout,pkey->pkey.rsa,0);
- X509_print_fp(stdout,x509);
-#endif
-
- {
- FILE *f;
- f = fopen("srv-priv.pem", "w");
- PEM_write_PrivateKey(f,pkey,NULL,NULL,0,NULL, NULL);
- fclose(f);
- }
- {
- FILE *f;
- f = fopen("srv-cert.pem", "w");
- PEM_write_X509(f, x509);
- fclose(f);
- }
-
- X509_free(x509);
- EVP_PKEY_free(pkey);
-
- /* Only needed if we add objects or custom extensions */
- X509V3_EXT_cleanup();
- OBJ_cleanup();
-
- CRYPTO_mem_leaks(bio_err);
- BIO_free(bio_err);
- return(0);
- }
-
-static void callback(p, n, arg)
-int p;
-int n;
-void *arg;
- {
- return;
- }
-
-static int mkit_ca(x509p,pkeyp,bits,serial,days)
-X509 **x509p;
-EVP_PKEY **pkeyp;
-int bits;
-int serial;
-int days;
- {
- X509 *x;
- EVP_PKEY *pk;
- RSA *rsa;
- X509_NAME *name=NULL;
- X509_EXTENSION *ex=NULL;
-
-
- if ((pkeyp == NULL) || (*pkeyp == NULL))
- {
- if ((pk=EVP_PKEY_new()) == NULL)
- {
- abort();
- return(0);
- }
- }
- else
- pk= *pkeyp;
-
- if ((x509p == NULL) || (*x509p == NULL))
- {
- if ((x=X509_new()) == NULL)
- goto err;
- }
- else
- x= *x509p;
-
- rsa=RSA_generate_key(bits,RSA_F4,callback,NULL);
- if (!EVP_PKEY_assign_RSA(pk,rsa))
- {
- abort();
- goto err;
- }
- rsa=NULL;
-
- X509_set_version(x,2);
- ASN1_INTEGER_set(X509_get_serialNumber(x),serial);
- X509_gmtime_adj(X509_get_notBefore(x),(long)-60*60*24*31);
- X509_gmtime_adj(X509_get_notAfter(x),(long)60*60*24*days);
- X509_set_pubkey(x,pk);
-
- name=X509_get_subject_name(x);
-
- /* This function creates and adds the entry, working out the
- * correct string type and performing checks on its length.
- * Normally we'd check the return value for errors...
- */
- X509_NAME_add_entry_by_txt(name,"C",
- MBSTRING_ASC, (const unsigned char *)"FI", -1, -1, 0);
- X509_NAME_add_entry_by_txt(name,"O",
- MBSTRING_ASC, (const unsigned char *)"SuperDupper CA", -1, -1, 0);
- X509_NAME_add_entry_by_txt(name,"CN",
- MBSTRING_ASC, (const unsigned char *)domain, -1, -1, 0);
-
- X509_set_issuer_name(x,name);
-
- /* Add extension using V3 code: we can set the config file as NULL
- * because we wont reference any other sections. We can also set
- * the context to NULL because none of these extensions below will need
- * to access it.
- */
-
- ex = X509V3_EXT_conf_nid(NULL, NULL, NID_netscape_ssl_server_name, domain);
- X509_add_ext(x,ex,-1);
- X509_EXTENSION_free(ex);
-
- ex = X509V3_EXT_conf_nid(NULL, NULL, NID_netscape_cert_type,
- "sslCA");
- X509_add_ext(x,ex,-1);
- X509_EXTENSION_free(ex);
-
- ex = X509V3_EXT_conf_nid(NULL, NULL, NID_basic_constraints,
- "critical,CA:TRUE");
- X509_add_ext(x,ex,-1);
- X509_EXTENSION_free(ex);
-
- ex = X509V3_EXT_conf_nid(NULL, NULL, NID_key_usage,
- "critical,keyCertSign,cRLSign");
- X509_add_ext(x,ex,-1);
- X509_EXTENSION_free(ex);
-
- if (!X509_sign(x,pk,EVP_sha1()))
- goto err;
-
- *x509p=x;
- *pkeyp=pk;
- return(1);
-err:
- return(0);
- }
-
-static int mkit_srv(x509p,pkeyp,sign_key,sign_cert,bits,serial,days)
-X509 **x509p;
-EVP_PKEY **pkeyp;
-EVP_PKEY *sign_key;
-X509 *sign_cert;
-int bits;
-int serial;
-int days;
- {
- X509 *x;
- EVP_PKEY *pk;
- RSA *rsa;
- X509_NAME *name=NULL;
- X509_EXTENSION *ex=NULL;
-
-
- if ((pkeyp == NULL) || (*pkeyp == NULL))
- {
- if ((pk=EVP_PKEY_new()) == NULL)
- {
- abort();
- return(0);
- }
- }
- else
- pk= *pkeyp;
-
- if ((x509p == NULL) || (*x509p == NULL))
- {
- if ((x=X509_new()) == NULL)
- goto err;
- }
- else
- x= *x509p;
-
- rsa=RSA_generate_key(bits,RSA_F4,callback,NULL);
- if (!EVP_PKEY_assign_RSA(pk,rsa))
- {
- abort();
- goto err;
- }
- rsa=NULL;
-
- X509_set_version(x,2);
- ASN1_INTEGER_set(X509_get_serialNumber(x),serial);
- X509_gmtime_adj(X509_get_notBefore(x),(long)-60*60*24*31);
- X509_gmtime_adj(X509_get_notAfter(x),(long)60*60*24*days);
- X509_set_pubkey(x,pk);
-
- name=X509_get_subject_name(x);
-
- /* This function creates and adds the entry, working out the
- * correct string type and performing checks on its length.
- * Normally we'd check the return value for errors...
- */
- X509_NAME_add_entry_by_txt(name,"C",
- MBSTRING_ASC, (const unsigned char *) "FI", -1, -1, 0);
- X509_NAME_add_entry_by_txt(name,"CN",
- MBSTRING_ASC, (const unsigned char *)domain, -1, -1, 0);
-
- name = X509_get_subject_name(sign_cert);
- X509_set_issuer_name(x,name);
-
- /* Add extension using V3 code: we can set the config file as NULL
- * because we wont reference any other sections. We can also set
- * the context to NULL because none of these extensions below will need
- * to access it.
- */
-
- ex = X509V3_EXT_conf_nid(NULL, NULL, NID_key_usage,
- "critical,keyEncipherment,dataEncipherment,keyAgreement,nonRepudiation");
- X509_add_ext(x,ex,-1);
- X509_EXTENSION_free(ex);
-
- if (!X509_sign(x,sign_key,EVP_sha1()))
- goto err;
-
- *x509p=x;
- *pkeyp=pk;
- return(1);
-err:
- return(0);
- }
diff --git a/.svn/pristine/26/2684b0ba1ff257081e1c35e962e4759025492c58.svn-base b/.svn/pristine/26/2684b0ba1ff257081e1c35e962e4759025492c58.svn-base
deleted file mode 100644
index 3dd04e5..0000000
--- a/.svn/pristine/26/2684b0ba1ff257081e1c35e962e4759025492c58.svn-base
+++ /dev/null
@@ -1,23 +0,0 @@
-TOP = ..
-SUBDIRS =
-
-include $(TOP)/config.mk
-
-DIST = Makefile supl-client.1 supl-proxy.1 supl-cert.1
-
-all:
-
-install: all
- mkdir -p $(DEB_PREFIX)$(CONF_PREFIX)/share/man/man1
- cp -a supl-client.1 supl-proxy.1 supl-cert.1 $(DEB_PREFIX)$(CONF_PREFIX)/share/man/man1
-
-clean:
- /bin/rm -f distfiles *~
-
-distfiles:
- echo $(addprefix man/,$(DIST)) >> $(TOP)/distfiles
- @for subdir in $(SUBDIRS) ; do \
- $(MAKE) -C $$subdir distfiles ; \
- done
-
-.PHONY: clean dist distfiles debian install
diff --git a/.svn/pristine/2e/2e58dc76f63d23a6ff52734c3d617942301426a9.svn-base b/.svn/pristine/2e/2e58dc76f63d23a6ff52734c3d617942301426a9.svn-base
deleted file mode 100644
index 8c17e06..0000000
--- a/.svn/pristine/2e/2e58dc76f63d23a6ff52734c3d617942301426a9.svn-base
+++ /dev/null
@@ -1,275 +0,0 @@
-ULP-Components DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-EXPORTS
- Version, SessionID, IPAddress, SLPAddress, LocationId, Position, StatusCode,
- Velocity, QoP, PosMethod, Ver;
-
--- protocol version expressed as x.y.z (e.g., 5.1.0)
-Version ::= SEQUENCE {
- maj INTEGER(0..255),
- min INTEGER(0..255),
- servind INTEGER(0..255)}
-
-SessionID ::= SEQUENCE {
- setSessionID SetSessionID OPTIONAL, -- the semantics of OPTIONAL applies to the encoding only. The parameter itself is MANDATORY. This is introduced only to minimize bandwidth for the SUPL INIT message. Since the setSessionID is allocated by the SET, there is no setSessionID to be transmitted in the SUPL INIT message.
- slpSessionID SlpSessionID OPTIONAL -- the semantics of OPTIONAL applies to the encoding only. The parameter itself is MANDATORY. This is introduced only to minimize bandwidth for the SUPL START message. Since the slpSessionID is allocated by the SLP, there is no slpSessionID to be transmitted in the SUPL START message.--}
-
-SetSessionID ::= SEQUENCE {sessionId INTEGER(0..65535),
- setId SETId}
-
-SETId ::= CHOICE {
- msisdn OCTET STRING(SIZE (8)),
- mdn OCTET STRING(SIZE (8)),
- min BIT STRING(SIZE (34)), -- coded according to TIA-553
- imsi OCTET STRING(SIZE (8)),
- nai IA5String(SIZE (1..1000)),
- iPAddress IPAddress,
- ...}
-
--- msisdn, mdn and imsi are a BCD (Binary Coded Decimal) string
--- represent digits from 0 through 9,
--- two digits per octet, each digit encoded 0000 to 1001 (0 to 9)
--- bits 8765 of octet n encoding digit 2n
--- bits 4321 of octet n encoding digit 2(n-1) +1
--- not used digits in the string shall be filled with 1111
-SlpSessionID ::= SEQUENCE {
- sessionID OCTET STRING(SIZE (4)),
- slpId SLPAddress}
-
-IPAddress ::= CHOICE {
- ipv4Address OCTET STRING(SIZE (4)),
- ipv6Address OCTET STRING(SIZE (16))}
-
-SLPAddress ::= CHOICE {iPAddress IPAddress,
- fQDN FQDN,
- ...}
-
-FQDN ::=
- VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ".-"))(SIZE (1..255))
-
-Ver ::= BIT STRING(SIZE (64))
-
-LocationId ::= SEQUENCE {cellInfo CellInfo,
- status Status,
- ...}
-
-Status ::= ENUMERATED {stale(0), current(1), unknown(2), ...
- }
-
-CellInfo ::= CHOICE {
- gsmCell GsmCellInformation,
- wcdmaCell WcdmaCellInformation,
- cdmaCell CdmaCellInformation,
- ...}
-
-Position ::= SEQUENCE {
- timestamp UTCTime, -- shall include seconds and shall use UTC time.
- positionEstimate PositionEstimate,
- velocity Velocity OPTIONAL,
- ...}
-
-PositionEstimate ::= SEQUENCE {
- latitudeSign ENUMERATED {north, south},
- latitude INTEGER(0..8388607),
- longitude INTEGER(-8388608..8388607),
- uncertainty
- SEQUENCE {uncertaintySemiMajor INTEGER(0..127),
- uncertaintySemiMinor INTEGER(0..127),
- orientationMajorAxis INTEGER(0..180)} OPTIONAL,
- -- angle in degree between major axis and North
- confidence INTEGER(0..100) OPTIONAL,
- altitudeInfo AltitudeInfo OPTIONAL,
- ...}
-
-AltitudeInfo ::= SEQUENCE {
- altitudeDirection ENUMERATED {height, depth},
- altitude INTEGER(0..32767),
- altUncertainty INTEGER(0..127),
- ...} -- based on 3GPP TS 23.032
-
-CdmaCellInformation ::= SEQUENCE {
- refNID INTEGER(0..65535), -- Network Id
- refSID INTEGER(0..32767), -- System Id
- refBASEID INTEGER(0..65535), -- Base Station Id
- refBASELAT INTEGER(0..4194303), -- Base Station Latitude
- reBASELONG INTEGER(0..8388607), -- Base Station Longitude
- refREFPN INTEGER(0..511), -- Base Station PN Code
- refWeekNumber INTEGER(0..65535), -- GPS Week Number
- refSeconds INTEGER(0..4194303)-- GPS Seconds -- ,
- ...}
-
-GsmCellInformation ::= SEQUENCE {
- refMCC INTEGER(0..999), -- Mobile Country Code
- refMNC INTEGER(0..999), -- Mobile Network Code
- refLAC INTEGER(0..65535), -- Location area code
- refCI INTEGER(0..65535), -- Cell identity
- nMR NMR OPTIONAL,
- tA INTEGER(0..255) OPTIONAL, --Timing Advance
- ...}
-
-WcdmaCellInformation ::= SEQUENCE {
- refMCC INTEGER(0..999), -- Mobile Country Code
- refMNC INTEGER(0..999), -- Mobile Network Code
- refUC INTEGER(0..268435455), -- Cell identity
- frequencyInfo FrequencyInfo OPTIONAL,
- primaryScramblingCode INTEGER(0..511) OPTIONAL,
- measuredResultsList MeasuredResultsList OPTIONAL,
- ...}
-
-FrequencyInfo ::= SEQUENCE {
- -- after asn1c gcc chokes with this being same as in CellMeasuredResults
- fmodeSpecificInfo CHOICE {fdd FrequencyInfoFDD,
- tdd FrequencyInfoTDD,
- ...},
- ...}
-
-FrequencyInfoFDD ::= SEQUENCE {
- uarfcn-UL UARFCN OPTIONAL,
- uarfcn-DL UARFCN,
- ...}
-
-FrequencyInfoTDD ::= SEQUENCE {uarfcn-Nt UARFCN,
- ...}
-
-UARFCN ::= INTEGER(0..16383)
-
-NMR ::= SEQUENCE (SIZE (1..15)) OF NMRelement
-
-NMRelement ::= SEQUENCE {
- aRFCN INTEGER(0..1023),
- bSIC INTEGER(0..63),
- rxLev INTEGER(0..63),
- ...}
-
-MeasuredResultsList ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasuredResults
-
-MeasuredResults ::= SEQUENCE {
- frequencyInfo FrequencyInfo OPTIONAL,
- utra-CarrierRSSI UTRA-CarrierRSSI OPTIONAL,
- cellMeasuredResultsList CellMeasuredResultsList OPTIONAL}
-
-CellMeasuredResultsList ::=
- SEQUENCE (SIZE (1..maxCellMeas)) OF CellMeasuredResults
-
--- SPARE: UTRA-CarrierRSSI, Max = 76
--- Values above Max are spare
-UTRA-CarrierRSSI ::= INTEGER(0..127)
-
-CellMeasuredResults ::= SEQUENCE {
- cellIdentity INTEGER(0..268435455) OPTIONAL,
- modeSpecificInfo
- CHOICE {fdd
- SEQUENCE {primaryCPICH-Info PrimaryCPICH-Info,
- cpich-Ec-N0 CPICH-Ec-N0 OPTIONAL,
- cpich-RSCP CPICH-RSCP OPTIONAL,
- pathloss Pathloss OPTIONAL},
- tdd
- SEQUENCE {cellParametersID CellParametersID,
- proposedTGSN TGSN OPTIONAL,
- primaryCCPCH-RSCP PrimaryCCPCH-RSCP OPTIONAL,
- pathloss Pathloss OPTIONAL,
- timeslotISCP-List TimeslotISCP-List OPTIONAL}}}
-
-CellParametersID ::= INTEGER(0..127)
-
-TGSN ::= INTEGER(0..14)
-
-PrimaryCCPCH-RSCP ::= INTEGER(0..127)
-
--- SPARE: TimeslotISCP, Max = 91
--- Values above Max are spare
-TimeslotISCP ::= INTEGER(0..127)
-
-TimeslotISCP-List ::= SEQUENCE (SIZE (1..maxTS)) OF TimeslotISCP
-
-PrimaryCPICH-Info ::= SEQUENCE {primaryScramblingCode INTEGER(0..511)}
-
--- SPARE: CPICH-Ec-No, Max = 49
--- Values above Max are spare
-CPICH-Ec-N0 ::= INTEGER(0..63)
-
--- SPARE: CPICH- RSCP, data range from 0 to 91 and from 123 to 127.
--- Values from 92 to 122 are spare
--- the encoding of cpich-RSCP is (as per 25.331 V5.11.0)
--- cpich-RSCP = 123 CPICH RSCP <-120 dBm
--- cpich-RSCP = 124 CPICH RSCP < -119 dBm
--- cpich-RSCP = 125 CPICH RSCP < -118 dBm
--- cpich-RSCP = 126 CPICH RSCP < -117 dBm
--- cpich-RSCP = 127 CPICH RSCP < -116 dBm
--- cpich-RSCP = 0 CPICH RSCP < -115 dBm
--- cpich-RSCP = 1 CPICH
--- cpich-RSCP = 89 CPICH RSCP < -26 dBm
--- cpich-RSCP = 90 CPICH RSCP < -25 dBm
--- cpich-RSCP = 91 CPICH RSCP dBm
-
-CPICH-RSCP ::= INTEGER(0..127)
-
--- SPARE: Pathloss, Max = 158
--- Values above Max are spare
-Pathloss ::= INTEGER(46..173)
-
-maxCellMeas INTEGER ::= 32
-
-maxFreq INTEGER ::= 8
-
-maxTS INTEGER ::= 14
-
-QoP ::= SEQUENCE {
- horacc INTEGER(0..127),
- veracc INTEGER(0..127) OPTIONAL, -- as defined in 3GPP TS uncertainty.23
- maxLocAge INTEGER(0..65535) OPTIONAL,
- delay INTEGER(0..7) OPTIONAL, -- as defined in 3GPP TS 44.031
- ...}
-
-Velocity ::= CHOICE { -- velocity definition as per 23.032
- horvel Horvel,
- horandvervel Horandvervel,
- horveluncert Horveluncert,
- horandveruncert Horandveruncert,
- ...}
-
-Horvel ::= SEQUENCE {
- bearing BIT STRING(SIZE (9)),
- horspeed BIT STRING(SIZE (16)),
- ...}
-
-Horandvervel ::= SEQUENCE {
- verdirect BIT STRING(SIZE (1)),
- bearing BIT STRING(SIZE (9)),
- horspeed BIT STRING(SIZE (16)),
- verspeed BIT STRING(SIZE (8)),
- ...}
-
-Horveluncert ::= SEQUENCE {
- bearing BIT STRING(SIZE (9)),
- horspeed BIT STRING(SIZE (16)),
- uncertspeed BIT STRING(SIZE (8)),
- ...}
-
-Horandveruncert ::= SEQUENCE {
- verdirect BIT STRING(SIZE (1)),
- bearing BIT STRING(SIZE (9)),
- horspeed BIT STRING(SIZE (16)),
- verspeed BIT STRING(SIZE (8)),
- horuncertspeed BIT STRING(SIZE (8)),
- veruncertspeed BIT STRING(SIZE (8)),
- ...}
-
-StatusCode ::= ENUMERATED {
- unspecified(0), systemFailure(1), unexpectedMessage(2), protocolError(3),
- dataMissing(4), unexpectedDataValue(5), posMethodFailure(6),
- posMethodMismatch(7), posProtocolMismatch(8), targetSETnotReachable(9),
- versionNotSupported(10), resourceShortage(11), invalidSessionId(12),
- nonProxyModeNotSupported(13), proxyModeNotSupported(14),
- positioningNotPermitted(15), authNetFailure(16), authSuplinitFailure(17), consentDeniedByUser(100),
- consentGrantedByUser(101), ...
- }
-
-PosMethod ::= ENUMERATED {
- agpsSETassisted(0), agpsSETbased(1), agpsSETassistedpref(2),
- agpsSETbasedpref(3), autonomousGPS(4), aFLT(5), eCID(6), eOTD(7), oTDOA(8),
- noPosition(9), ...
- }
-
-END
diff --git a/.svn/pristine/3a/3a5620a6cb684fc416d72781b65b969e94477dd8.svn-base b/.svn/pristine/3a/3a5620a6cb684fc416d72781b65b969e94477dd8.svn-base
deleted file mode 100644
index a6a181d..0000000
--- a/.svn/pristine/3a/3a5620a6cb684fc416d72781b65b969e94477dd8.svn-base
+++ /dev/null
@@ -1,39 +0,0 @@
-TOP = .
-SUBDIRS = src man
-
-include $(TOP)/config.mk
-
-DEBIAN_DIST = \
- changelog compat control copyright libsupl-dev \
- libsupl.files rules supl.files source/format
-
-DIST = configure Makefile README AUTHORS COPYING INSTALL \
- $(prefix debian/,$(DEBIAN_DIST))
-
-all:
- $(MAKE) -C src
-
-debian:
- dpkg-buildpackage -rfakeroot -us -uc -tc
-
-install: all
- $(MAKE) -C src install
- $(MAKE) -C man install
-
-clean:
- $(MAKE) -C src clean
- /bin/rm -f distfiles *~
- /bin/rm -fr debian/supl debian/*~ configure-stamp build-stamp
-
-dist:
- /bin/rm -f distfiles
- $(MAKE) distfiles
- tar zcf supl-$(CONF_VERSION).tar.gz $(cat distfiles)
-
-distfiles:
- echo $(DIST) >> distfiles
- @for subdir in $(SUBDIRS) ; do \
- $(MAKE) -C $$subdir distfiles ; \
- done
-
-.PHONY: clean dist distfiles debian install
diff --git a/.svn/pristine/40/40b5221b837528aba7680f7ad84da83b90221ca2.svn-base b/.svn/pristine/40/40b5221b837528aba7680f7ad84da83b90221ca2.svn-base
deleted file mode 100644
index e7cb9a9..0000000
--- a/.svn/pristine/40/40b5221b837528aba7680f7ad84da83b90221ca2.svn-base
+++ /dev/null
@@ -1,30 +0,0 @@
-RRLP-Messages
--- { RRLP-messages }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- MsrPosition-Req, MsrPosition-Rsp, AssistanceData,
- ProtocolError
-FROM
- RRLP-Components -- { RRLP-Components }
-;
-
-PDU ::= SEQUENCE {
- referenceNumber INTEGER (0..7),
- component RRLP-Component
-}
-
-RRLP-Component ::= CHOICE {
- msrPositionReq MsrPosition-Req,
- msrPositionRsp MsrPosition-Rsp,
- assistanceData AssistanceData,
- assistanceDataAck NULL,
- protocolError ProtocolError,
- ...
-
-}
-
-END
diff --git a/.svn/pristine/42/42002e88d8c2447827b2578e0aec6e2ea6d95fa7.svn-base b/.svn/pristine/42/42002e88d8c2447827b2578e0aec6e2ea6d95fa7.svn-base
deleted file mode 100644
index b371df2..0000000
--- a/.svn/pristine/42/42002e88d8c2447827b2578e0aec6e2ea6d95fa7.svn-base
+++ /dev/null
@@ -1,53 +0,0 @@
-.\"EMACS: -*- nroff -*-
-
-.TH SUPL-PROXY 1 "version 1.0"
-.SH NAME
-supl-proxy \- client to show SUPL/RRLP data between SUPL client and server.
-.SH SYNOPISIS
-.B supl-proxy
-[\fIsupl-server\fP]
-.br
-.SH DESCRIPTION
-\fBsupl-proxy\fP sets up a proxy and displays SUPL / RRLP traffic
-between the client and real SUPL server. It shows GPS assistance data,
-such as almanac and ephemeris, and SUPL/RRLP messages received from
-the server.
-
-To use it, you must direct your client (e.g. mobile phone) to use your
-proxy server as its SUPL server. In Nokia N95 this is in Tool ->
-Settings -> General -> Positioning -> Postioning server. In Nokia N900
-such setting is also availabe in the settings application.
-
-You must also install a SSL root certificate to the phone. The root
-certificate must be set as trusted certificate in the phone. In N95
-just set all uses as trusted (in the certificate manager). In N900 you
-must use command line tool \fBcmcli\fP (available in
-maemosec-certman-tools package) and install the root certificate into
-common-ca domain.
-
-The proxy server must be given a server sertificate (signed by the
-root certificate) and private key.
-.SH OPTIONS
-Optional SUPL \fIserver\fP to connect to, default is supl.nokia.com.
-.SH OUTPUT FORMAT
-Shows SUPL and RRLP traffic between the client (typically a phone or
-similar device) and the SUPL server in XML-format.
-.SH NOTES
-.SH FILES
-\fBsupl-proxy\fP expects to see SSL server certificate and key in
-these current working directory. The utility program \fBsupl-cert\fP
-can be used to generate these files.
-.TP
-.I srv-cert.pem
-supl-proxy server certificate
-.TP
-.I srv-priv.pem
-supl-proxy server private key
-.SH SEE ALSO
-\fBsupl-cert\fP \fBsupl-client\fP
-.SH BUGS
-Please send any comments or bug reports to \fBtatu -at- tajuma.com\fP.
-.SH HOMEPAGE
-http://www.tajuma.com/supl
-.SH AUTHOR
-Tatu Männistö <tatu -at- tajuma.com>
diff --git a/.svn/pristine/50/50e82df44570d5f2551c11f692ae627de361ce45.svn-base b/.svn/pristine/50/50e82df44570d5f2551c11f692ae627de361ce45.svn-base
deleted file mode 100644
index d77f114..0000000
--- a/.svn/pristine/50/50e82df44570d5f2551c11f692ae627de361ce45.svn-base
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
-** SUPL Proxy
-**
-** Copyright (c) 2007 Tatu Mannisto <tatu a-t tajuma d-o-t com>
-** All rights reserved.
-** Redistribution and modifications are permitted subject to BSD license.
-**
-*/
-
-#include <stdio.h>
-#include <fcntl.h>
-#include <netdb.h>
-#include <errno.h>
-#include <time.h>
-#include <unistd.h>
-#include <sys/socket.h>
-#include <sys/types.h>
-#include <arpa/inet.h>
-
-#include "supl.h"
-#include "asn-supl/ULP-PDU.h"
-
-#define SUPL_PORT "7275"
-
-/* Make these what you want for cert & key files */
-#define CERTF "srv-cert.pem"
-#define KEYF "srv-priv.pem"
-
-static void ssl_error(SSL *ssl, int err) {
- int ssl_err = SSL_get_error(ssl, err);
-
- fprintf(stderr, "Error: SSL_accept() error code %d\n", ssl_err);
- if (ssl_err == SSL_ERROR_SYSCALL) {
- if (err == -1) fprintf(stderr, " I/O error (%s)\n", strerror(errno));
- if (err == 0) fprintf(stderr, " SSL peer closed connection\n");
- }
-}
-
-static int ssl_accept(int port, supl_ctx_t *client_ctx) {
- int err;
- int listen_sd;
- int sd;
- struct sockaddr_in sa_serv;
- struct sockaddr_in sa_cli;
- socklen_t client_len;
- SSL_CTX* ctx;
- SSL* ssl;
- X509* client_cert;
- char* str;
- SSL_METHOD *meth;
-
- /* SSL preliminaries. We keep the certificate and key with the context. */
-
- SSL_load_error_strings();
- SSLeay_add_ssl_algorithms();
- // meth = TLSv1_server_method();
- meth = SSLv23_server_method();
- ctx = SSL_CTX_new (meth);
- if (!ctx) {
- return 0;
- }
-
- if (SSL_CTX_use_certificate_file(ctx, CERTF, SSL_FILETYPE_PEM) <= 0) {
- fprintf(stderr, "Error: Valid server certificate not found in " CERTF "\n");
- return 0;
- }
- if (SSL_CTX_use_PrivateKey_file(ctx, KEYF, SSL_FILETYPE_PEM) <= 0) {
- fprintf(stderr, "Error: Valid server private key not found in " CERTF "\n");
- return 0;
- }
-
- if (!SSL_CTX_check_private_key(ctx)) {
- fprintf(stderr, "Error: Private key does not match the certificate public key\n");
- return 0;
- }
-
- /* ----------------------------------------------- */
- /* Prepare TCP socket for receiving connections */
-
- listen_sd = socket(AF_INET, SOCK_STREAM, 0);
- if (listen_sd == -1) return 0;
-
- memset(&sa_serv, '\0', sizeof(sa_serv));
- sa_serv.sin_family = AF_INET;
- sa_serv.sin_addr.s_addr = INADDR_ANY;
- sa_serv.sin_port = htons(port); /* Server Port number */
-
- err = bind(listen_sd, (struct sockaddr*) &sa_serv, sizeof (sa_serv));
- if (err == -1) {
- fprintf(stderr, "Error: Could not bind to port %d (%s)\n", port, strerror(errno));
- return 0;
- }
-
- err = listen(listen_sd, 5);
- if (err == -1) {
- fprintf(stderr, "Error: listen() (%s)\n", strerror(errno));
- return 0;
- }
-
- client_len = sizeof(sa_cli);
- sd = accept(listen_sd, (struct sockaddr*)&sa_cli, &client_len);
- if (sd == -1) {
- fprintf(stderr, "Error: accept() (%s)\n", strerror(errno));
- return 0;
- }
- close(listen_sd);
-
- {
- char buffer[INET_ADDRSTRLEN];
- inet_ntop(AF_INET, &sa_cli.sin_addr.s_addr, buffer, sizeof(buffer));
- fprintf(stderr, "Connection from %s:%d\n", buffer, ntohs(sa_cli.sin_port));
- }
-
- /* ----------------------------------------------- */
- /* TCP connection is ready. Do server side SSL. */
-
- ssl = SSL_new(ctx);
- SSL_set_fd(ssl, sd);
- err = SSL_accept(ssl);
- if (err != 1) {
- ssl_error(ssl, err);
- return 0;
- }
-
- printf ("SSL connection using %s\n", SSL_get_cipher (ssl));
-
- /* Get client's certificate */
-
- client_cert = SSL_get_peer_certificate (ssl);
- if (client_cert != NULL) {
- printf ("Client certificate:\n");
-
- str = X509_NAME_oneline (X509_get_subject_name (client_cert), 0, 0);
- if (!str) return 0;
- printf ("\t subject: %s\n", str);
- OPENSSL_free (str);
-
- str = X509_NAME_oneline (X509_get_issuer_name (client_cert), 0, 0);
- if (!str) return 0;
- printf ("\t issuer: %s\n", str);
- OPENSSL_free (str);
-
- /* We could do all sorts of certificate verification stuff here before
- deallocating the certificate. */
-
- X509_free (client_cert);
- } else {
- printf ("Client does not have certificate.\n");
- }
-
- client_ctx->ssl = ssl;
- client_ctx->ssl_ctx = ctx;
-
- return 1;
-}
-
-int main(int argc, char *argv[])
-{
- supl_ctx_t server_ctx;
- supl_ctx_t client_ctx;
-
- if (argc != 2) {
- fprintf(stderr, "Usage: %s supl-server\n", argv[0]);
- exit(1);
- }
-
- supl_set_debug(stderr, SUPL_DEBUG_DEBUG | SUPL_DEBUG_SUPL);
-
- supl_ctx_new(&server_ctx);
- supl_ctx_new(&client_ctx);
-
- /* get a client */
-
- if (!ssl_accept(7275, &client_ctx)) {
- return 42;
- }
-
- /* connect to the server */
-
- if (supl_server_connect(&server_ctx, argv[1]) < 0) {
- fprintf(stderr, "Error: Could not connect to server\n");
- return E_SUPL_CONNECT;
- }
-
- /* DATA EXCHANGE - Receive message and send reply. */
-
- while (1) {
- supl_ulp_t pdu;
- PDU_t *rrlp;
-
- /* read from mobile */
-
- if (supl_ulp_recv(&client_ctx, &pdu) < 0) {
- return -42;
- }
-
- fprintf(stdout, "mobile => server\n");
- xer_fprint(stdout, &asn_DEF_ULP_PDU, pdu.pdu);
- fprintf(stdout, "\n");
-
- /* write to server */
-
- (void)supl_ulp_send(&server_ctx, &pdu);
-
- if (pdu.pdu->message.present == UlpMessage_PR_msSUPLEND)
- break;
-
- supl_ulp_free(&pdu);
-
- /* get answer from server */
-
- if (supl_ulp_recv(&server_ctx, &pdu) < 0) {
- return -44;
- }
-
- fprintf(stdout, "server => mobile\n");
- xer_fprint(stdout, &asn_DEF_ULP_PDU, pdu.pdu);
- fprintf(stdout, "\n");
-
- if (pdu.pdu->message.present == UlpMessage_PR_msSUPLPOS) {
- if (supl_decode_rrlp(&pdu, &rrlp) < 0) {
- supl_ulp_free(&pdu);
- return E_SUPL_DECODE_RRLP;
- }
-
- fprintf(stdout, "=== Embedded RRLP message ===\n");
- xer_fprint(stdout, &asn_DEF_PDU, rrlp);
- fprintf(stdout, "\n");
- }
-
- /* and hand over to client */
- (void)supl_ulp_send(&client_ctx, &pdu);
-
- supl_ulp_free(&pdu);
- }
-
- supl_close(&server_ctx);
- supl_close(&client_ctx);
-
- supl_ctx_free(&server_ctx);
- supl_ctx_free(&client_ctx);
-
- return 0;
-}
diff --git a/.svn/pristine/53/53e6fe7ee4ae21b38b5579ef8ef444beebee05b3.svn-base b/.svn/pristine/53/53e6fe7ee4ae21b38b5579ef8ef444beebee05b3.svn-base
deleted file mode 100644
index edcf35f..0000000
--- a/.svn/pristine/53/53e6fe7ee4ae21b38b5579ef8ef444beebee05b3.svn-base
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/usr/bin/make -f
-# -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-# GNU copyright 1997 to 1999 by Joey Hess.
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-# These are used for cross-compiling and for saving the configure script
-# from having to guess our platform (since we know it already)
-DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-
-ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
- INSTALL_PROGRAM += -s
-endif
-
-ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
- CFLAGS += -g -O0
-endif
-
-configure: configure-stamp
-configure-stamp:
- dh_testdir
- # Add here commands to configure the package.
- CFLAGS="$(CFLAGS)" ./configure --prefix=/usr --precompiled-asn1
- touch configure-stamp
-
-build: build-stamp
-
-build-stamp: configure-stamp
- dh_testdir
-
- # Add here commands to compile the package.
- $(MAKE)
-
- touch build-stamp
-
-clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp configure-stamp
-
- # Add here commands to clean up after the build process.
- -$(MAKE) clean
-
- dh_clean
-
-install: build
- dh_testdir
- dh_testroot
- dh_prep
- dh_installdirs
-
- # Add here commands to install the package
- install -d debian/tmp
- $(MAKE) install DEB_PREFIX="$(CURDIR)/debian/tmp"
- for pkg in supl libsupl libsupl-dev ; do \
- for file in `cat debian/$$pkg.files` ; do \
- cp -a debian/tmp/$$file debian/$$pkg/$$file ; \
- done ; \
- done
-
-# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
- dh_testdir
- dh_testroot
-# dh_installchangelogs
-# dh_installdocs
-# dh_installexamples
-# dh_install
-# dh_installmenu
-# dh_installdebconf
-# dh_installlogrotate
-# dh_installemacsen
-# dh_installpam
-# dh_installmime
-# dh_installinit
-# dh_installcron
-# dh_installinfo
-# dh_installman
- dh_link
- dh_strip --dbg-package=libsupl-dbg
- dh_compress
- dh_fixperms
-# dh_perl
-# dh_python
- dh_makeshlibs
- dh_installdeb
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
diff --git a/.svn/pristine/58/586aedd24173a28693f6f1676b42f6ea9f17ddd7.svn-base b/.svn/pristine/58/586aedd24173a28693f6f1676b42f6ea9f17ddd7.svn-base
deleted file mode 100644
index ff81aa5..0000000
--- a/.svn/pristine/58/586aedd24173a28693f6f1676b42f6ea9f17ddd7.svn-base
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
-** SUPL library
-**
-** Copyright (c) 2007 Tatu Mannisto <tatu a-t tajuma d-o-t com>
-** All rights reserved.
-** Redistribution and modifications are permitted subject to BSD license.
-**
-*/
-
-#ifndef SUPL_H
-#define SUPL_H
-
-#ifdef USE_EXPORT
-#define EXPORT __attribute__((visibility("default")))
-#else
-#define EXPORT
-#endif
-
-#include <openssl/ssl.h>
-#include <PDU.h>
-#include <ULP-PDU.h>
-
-#define SUPL_PORT "7275"
-
-/* error messages */
-
-#define E_SUPL_CONNECT (-1)
-#define E_SUPL_ENCODE_START (-2)
-#define E_SUPL_RECV_RESPONSE (-3)
-#define E_SUPL_SUPLRESPONSE (-4)
-#define E_SUPL_ENCODE_POSINIT (-5)
-#define E_SUPL_RECV_SUPLPOS (-6)
-#define E_SUPL_SUPLPOS (-7)
-#define E_SUPL_DECODE_RRLP (-8)
-#define E_SUPL_RRLP_ACK (-9)
-#define E_SUPL_ENCODE (-10)
-#define E_SUPL_WRITE (-11)
-#define E_SUPL_READ (-12)
-#define E_SUPL_INTERNAL (-13)
-#define E_SUPL_DECODE (-14)
-#define E_SUPL_ENCODE_RRLP (-15)
-
-/* diagnostic & debug values */
-#define SUPL_DEBUG_RRLP 1
-#define SUPL_DEBUG_SUPL 2
-#define SUPL_DEBUG_DEBUG 4
-
-/* flags for additional assistance requests */
-#define SUPL_REQUEST_ALMANAC 1
-
-/* flags for collected assist data elements */
-#define SUPL_RRLP_ASSIST_REFTIME (1)
-#define SUPL_RRLP_ASSIST_REFLOC (2)
-#define SUPL_RRLP_ASSIST_IONO (4)
-#define SUPL_RRLP_ASSIST_EPHEMERIS (8)
-#define SUPL_RRLP_ASSIST_UTC (16)
-
-#define SUPL_ACQUIS_DOPPLER (1)
-#define SUPL_ACQUIS_ANGLE (2)
-
-#define MAX_EPHEMERIS 32
-
-struct supl_acquis_s {
- u_int8_t prn;
- u_int8_t parts;
- int16_t doppler0;
- int8_t doppler1;
- u_int8_t d_win;
- u_int16_t code_ph;
- u_int8_t code_ph_int;
- u_int8_t bit_num;
- u_int16_t code_ph_win;
- u_int8_t az;
- u_int8_t el;
- u_int8_t fill[2];
-};
-
-struct supl_almanac_s {
- u_int8_t prn;
- u_int16_t e;
- u_int8_t toa;
- int16_t Ksii;
- int16_t OMEGA_dot;
- u_int32_t A_sqrt;
- int32_t OMEGA_0;
- int32_t w;
- int32_t M0;
- int16_t AF0;
- int16_t AF1;
- // int32_t health;
-};
-
-struct supl_ephemeris_s {
- u_int8_t prn;
- u_int8_t fill1;
- u_int16_t delta_n;
- int32_t M0;
- u_int32_t e;
- u_int32_t A_sqrt;
- int32_t OMEGA_0;
- int32_t i0;
- int32_t w;
- int32_t OMEGA_dot;
- int16_t i_dot;
- int16_t Cuc;
- int16_t Cus;
- int16_t Crc;
- int16_t Crs;
- int16_t Cic;
- int16_t Cis;
- u_int16_t toe;
- u_int16_t IODC;
- u_int16_t toc;
- int32_t AF0;
- int16_t AF1;
- int8_t AF2;
- u_int8_t nav_model;
-
- /* nav model */
- u_int8_t bits;
- u_int8_t ura;
- u_int8_t health;
- char reserved[11];
- int8_t tgd;
- u_int8_t AODA;
-};
-
-struct supl_ionospheric_s {
- int8_t a0, a1, a2, b0, b1, b2, b3;
-};
-
-struct supl_utc_s {
- int32_t a0;
- int32_t a1;
- int8_t delta_tls;
- u_int8_t tot;
- u_int8_t wnt;
- u_int8_t wnlsf;
- u_int8_t dn;
- u_int8_t delta_tlsf;
- u_int8_t fill[8];
-};
-
-typedef struct supl_rrlp_ctx_s {
- int set;
-
- struct {
- long gps_tow, gps_week;
- struct timeval stamp;
- } time;
-
- struct {
- int uncertainty;
- double lat, lon; /* of the base station */
- } pos;
-
- struct supl_ionospheric_s iono;
-
- struct supl_utc_s utc;
-
- int cnt_eph;
- struct supl_ephemeris_s eph[MAX_EPHEMERIS];
-
- int cnt_alm;
- int alm_week;
- struct supl_almanac_s alm[MAX_EPHEMERIS];
-
- int cnt_acq;
- int acq_time;
- struct supl_acquis_s acq[MAX_EPHEMERIS];
-
-} supl_assist_t;
-
-typedef struct supl_param_s {
- int set;
- int request;
-
- struct {
- int mcc, mnc, lac, ci;
- } gsm;
-
- struct {
- int mcc, mnc, uc;
- } wcdma;
-
- struct {
- int mcc, mnc, lac, ci;
- double lat, lon;
- int uncert;
- } known;
-
- char msisdn[8];
-} supl_param_t;
-
-typedef struct supl_ctx_s {
- supl_param_t p;
-
- int fd;
- SSL *ssl;
- SSL_CTX *ssl_ctx;
-
- struct {
- void *buf;
- size_t size;
- } slp_session_id;
-
-} supl_ctx_t;
-
-int supl_ctx_new(supl_ctx_t *ctx);
-int supl_ctx_free(supl_ctx_t *ctx);
-
-void supl_set_gsm_cell(supl_ctx_t *ctx, int mcc, int mns, int lac, int ci);
-void supl_set_wcdma_cell(supl_ctx_t *ctx, int mcc, int mns, int uc);
-void supl_set_gsm_cell_known(supl_ctx_t *ctx, int mcc, int mns, int lac, int ci, double lat, double lon, int uncert);
-void supl_set_server(supl_ctx_t *ctx, char *server);
-void supl_set_fd(supl_ctx_t *ctx, int fd);
-void supl_request(supl_ctx_t *ctx, int flags);
-
-int supl_get_assist(supl_ctx_t *ctx, char *server, supl_assist_t *assist);
-void supl_set_debug(FILE *log, int flags);
-
-/*
-** stuff above should be enough for supl client implementation
-*/
-
-typedef void (*supl_debug_cb)(char format, ...);
-
-typedef struct supl_ulp_s {
- ULP_PDU_t *pdu;
- size_t size;
- unsigned char buffer[8192];
-} supl_ulp_t;
-
-typedef struct supl_rrlp_s {
- PDU_t *pdu;
- size_t size;
- unsigned char buffer[8192];
-} supl_rrlp_t;
-
-void supl_ulp_free(supl_ulp_t *pdu);
-int supl_ulp_encode(supl_ulp_t *pdu);
-int supl_ulp_decode(supl_ulp_t *pdu);
-int supl_decode_rrlp(supl_ulp_t *pdu, PDU_t **rrlp);
-int supl_collect_rrlp(supl_assist_t *assist, PDU_t *rrlp, struct timeval *t);
-
-int supl_server_connect(supl_ctx_t *ctx, char *server);
-void supl_close(supl_ctx_t *ctx);
-int supl_ulp_send(supl_ctx_t *ctx, supl_ulp_t *pdu);
-int supl_ulp_recv(supl_ctx_t *ctx, supl_ulp_t *pdu);
-
-#endif
diff --git a/.svn/pristine/5c/5c792402b4fd218d424b5ad7a17c01644cc2fea8.svn-base b/.svn/pristine/5c/5c792402b4fd218d424b5ad7a17c01644cc2fea8.svn-base
deleted file mode 100644
index da07fdd..0000000
--- a/.svn/pristine/5c/5c792402b4fd218d424b5ad7a17c01644cc2fea8.svn-base
+++ /dev/null
@@ -1,2 +0,0 @@
-usr/include
-usr/lib
diff --git a/.svn/pristine/62/6283064b7036d58a2767e3eabee6f48ef9f3fc4c.svn-base b/.svn/pristine/62/6283064b7036d58a2767e3eabee6f48ef9f3fc4c.svn-base
deleted file mode 100644
index aa6284c..0000000
--- a/.svn/pristine/62/6283064b7036d58a2767e3eabee6f48ef9f3fc4c.svn-base
+++ /dev/null
@@ -1,23 +0,0 @@
-SUPL-RESPONSE DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-EXPORTS SUPLRESPONSE;
-
-IMPORTS PosMethod, SLPAddress
- FROM ULP-Components;
-
-SUPLRESPONSE ::= SEQUENCE {
- posMethod PosMethod,
- sLPAddress SLPAddress OPTIONAL,
- sETAuthKey SETAuthKey OPTIONAL,
- keyIdentity4 KeyIdentity4 OPTIONAL,
- ...}
-
-SETAuthKey ::= CHOICE {
- shortKey BIT STRING(SIZE (128)),
- longKey BIT STRING(SIZE (256)),
- ...}
-
-KeyIdentity4 ::= BIT STRING(SIZE (128))
-
-END
diff --git a/.svn/pristine/62/62b3afd7e4434aa7830496e975cdc5746c3b63d8.svn-base b/.svn/pristine/62/62b3afd7e4434aa7830496e975cdc5746c3b63d8.svn-base
deleted file mode 100644
index 75f507d..0000000
--- a/.svn/pristine/62/62b3afd7e4434aa7830496e975cdc5746c3b63d8.svn-base
+++ /dev/null
@@ -1,917 +0,0 @@
-/*
-** SUPL library with some RRLP
-**
-** Copyright (c) 2007 Tatu Mannisto <tatu a-t tajuma d-o-t com>
-** All rights reserved.
-** Redistribution and modifications are permitted subject to BSD license.
-**
-*/
-
-#include <stdio.h>
-#include <fcntl.h>
-#include <netdb.h>
-#include <errno.h>
-#include <time.h>
-#include <unistd.h>
-#include <sys/socket.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <openssl/crypto.h>
-#include <openssl/x509.h>
-#include <openssl/pem.h>
-#include <openssl/ssl.h>
-#include <openssl/err.h>
-
-#include "ULP-PDU.h"
-#include "PDU.h"
-
-#include "supl.h"
-
-#define PARAM_GSM_CELL_CURRENT 1
-#define PARAM_GSM_CELL_KNOWN 2
-#define PARAM_WCDMA_CELL_CURRENT 4
-
-#define OPTIONAL_MISSING ((void*)0)
-
-#ifdef SUPL_DEBUG
-static struct supl_debug_s {
- FILE *log;
- int verbose_rrlp, verbose_supl, debug;
- int sent,recv, out_msg, in_msg;
-} debug;
-#endif
-
-static int server_connect(char *server);
-static int pdu_make_ulp_start(supl_ctx_t *ctx, supl_ulp_t *pdu);
-static int pdu_make_ulp_pos_init(supl_ctx_t *ctx, supl_ulp_t *pdu);
-static int pdu_make_ulp_rrlp_ack(supl_ctx_t *ctx, supl_ulp_t *pdu, PDU_t *rrlp);
-static int supl_more_rrlp(PDU_t *rrlp);
-static int supl_response_harvest(supl_ctx_t *ctx, supl_ulp_t *pdu);
-
-int EXPORT supl_ulp_decode(supl_ulp_t *pdu) {
- ULP_PDU_t *ulp;
- asn_codec_ctx_t ctx;
- asn_dec_rval_t rval;
-
- ulp = calloc(1, sizeof(ULP_PDU_t));
- pdu->pdu = ulp;
-
- ctx.max_stack_size = 0;
- rval = uper_decode_complete(&ctx, &asn_DEF_ULP_PDU, (void **)&ulp, pdu->buffer, pdu->size);
- if (rval.code == RC_OK) {
- return 0;
- }
-
- free(ulp);
- pdu->pdu = 0;
-
- return E_SUPL_DECODE;
-}
-
-int EXPORT supl_ulp_encode(supl_ulp_t *pdu) {
- asn_enc_rval_t ret;
- int pdu_len;
-
- ret = uper_encode_to_buffer(&asn_DEF_ULP_PDU, pdu->pdu, pdu->buffer, sizeof(pdu->buffer));
- if (ret.encoded != -1) {
- memset(pdu->buffer, 0, sizeof(pdu->buffer));
-
- pdu_len = (ret.encoded + 7) >> 3;
- ((ULP_PDU_t *)pdu->pdu)->length = pdu_len;
-
- ret = uper_encode_to_buffer(&asn_DEF_ULP_PDU, pdu->pdu, pdu->buffer, sizeof(pdu->buffer));
- if (ret.encoded > 0) {
- int len = (ret.encoded + 7) >> 3;
-
- if (len == pdu_len) {
- pdu->size = pdu_len;
- return 0;
- }
- }
- }
-
- return E_SUPL_ENCODE;
-}
-
-void EXPORT supl_ulp_free(supl_ulp_t *pdu) {
- asn_DEF_ULP_PDU.free_struct(&asn_DEF_ULP_PDU, pdu->pdu, 0);
-}
-
-int EXPORT supl_ulp_send(supl_ctx_t *ctx, supl_ulp_t *pdu) {
- int err;
-
-#if SUPL_DEBUG
- if (debug.verbose_supl) {
- fprintf(debug.log, "Send %lu bytes\n", pdu->size);
- xer_fprint(debug.log, &asn_DEF_ULP_PDU, pdu->pdu);
- }
-#endif
-
- err = SSL_write(ctx->ssl, pdu->buffer, pdu->size);
- if (err <= 0) {
-#if SUPL_DEBUG
- if (debug.debug) fprintf(debug.log, "Error: SSL_write error: %s\n", strerror(errno));
-#endif
- return E_SUPL_WRITE;
- }
-
-#ifdef SUPL_DEBUG
- debug.sent += pdu->size;
- debug.out_msg++;
-#endif
-
- return 0;
-}
-
-int EXPORT supl_ulp_recv(supl_ctx_t *ctx, supl_ulp_t *pdu) {
- int err;
- int n;
- asn_dec_rval_t rval;
- ULP_PDU_t *length;
-
- err = SSL_read(ctx->ssl, pdu->buffer, sizeof(pdu->buffer));
- if (err <= 0) {
-#ifdef SUPL_DEBUG
- if (debug.debug) fprintf(debug.log, "Error: SSL_read error: %s\n", strerror(errno));
-#endif
- return E_SUPL_READ;
- }
- n = err;
-
- length = calloc(1, sizeof(ULP_PDU_t));
- // decode the very first bytes of the ULP_PDU message, just enough to the get message length
- rval = uper_decode_complete(0, &asn_DEF_ULP_PDU, (void **)&length, pdu->buffer, n < 6 ? n : 6);
- if (rval.code == RC_WMORE) {
- // read the missing data
- for (n = err; n < length->length; n += err) {
-#ifdef SUPL_DEBUG
- if (debug.debug) fprintf(debug.log, "SSL_read got %u bytes (total %lu)\n", n, length->length);
-#endif
- err = SSL_read(ctx->ssl, &pdu->buffer[n], sizeof(pdu->buffer)-n);
- if (err <= 0) {
-#ifdef SUPL_DEBUG
- if (debug.debug) fprintf(debug.log, "Error: SSL_read (again) error: %s\n", strerror(errno));
-#endif
- return E_SUPL_READ;
- }
- }
- }
-
- asn_DEF_ULP_PDU.free_struct(&asn_DEF_ULP_PDU, length, 0);
-
- pdu->size = n;
-
- if (supl_ulp_decode(pdu)) {
- return E_SUPL_DECODE;
- }
-
-#ifdef SUPL_DEBUG
- if (debug.verbose_supl) {
- fprintf(debug.log, "Recv %lu bytes\n", pdu->size);
- xer_fprint(debug.log, &asn_DEF_ULP_PDU, pdu->pdu);
- }
-#endif
-
-#ifdef SUPL_DEBUG
- debug.recv += err;
- debug.in_msg++;
-#endif
-
- return 0;
-}
-
-int EXPORT supl_decode_rrlp(supl_ulp_t *ulp_pdu, PDU_t **ret_rrlp) {
- asn_dec_rval_t rval;
- OCTET_STRING_t *rrlp_pdu;
- PDU_t *rrlp;
- ULP_PDU_t *ulp;
-
- ulp = ulp_pdu->pdu;
-
- if (!(ulp->message.present == UlpMessage_PR_msSUPLPOS &&
- ulp->message.choice.msSUPLPOS.posPayLoad.present == PosPayLoad_PR_rrlpPayload)) {
- return 0;
- }
- rrlp_pdu = &ulp->message.choice.msSUPLPOS.posPayLoad.choice.rrlpPayload;
-
- rrlp = calloc(1, sizeof(PDU_t));
- rval = uper_decode_complete(0, &asn_DEF_PDU, (void **)&rrlp, rrlp_pdu->buf, rrlp_pdu->size);
- switch (rval.code) {
- case RC_OK:
-#ifdef SUPL_DEBUG
- if (rval.consumed != rrlp_pdu->size) {
- if (debug.debug) fprintf(debug.log, "Warning: %lu bytes left over in RRLP decoding\n", rval.consumed);
- }
-#endif
-
- *ret_rrlp = rrlp;
- return 0;
-
- case RC_WMORE:
- asn_DEF_PDU.free_struct(&asn_DEF_PDU, rrlp, 0);
- ret_rrlp = 0;
- return E_SUPL_DECODE_RRLP;
-
- default:
- asn_DEF_PDU.free_struct(&asn_DEF_PDU, rrlp, 0);
- ret_rrlp = 0;
- return E_SUPL_DECODE_RRLP;
- }
-
- return E_SUPL_INTERNAL;
-}
-
-int EXPORT supl_server_connect(supl_ctx_t *ctx, char *server) {
- int err;
- const SSL_METHOD *meth;
-
- SSLeay_add_ssl_algorithms();
- // meth = TLSv1_client_method();
- meth = SSLv23_client_method();
- SSL_load_error_strings();
- ctx->ssl_ctx = SSL_CTX_new(meth);
- if (!ctx->ssl_ctx) return E_SUPL_CONNECT;
-
- ctx->ssl = SSL_new(ctx->ssl_ctx);
- if (!ctx->ssl) return E_SUPL_CONNECT;
-
- if (server) {
- ctx->fd = server_connect(server);
- if (ctx->fd == -1) return E_SUPL_CONNECT;
- }
-
- SSL_set_fd(ctx->ssl, ctx->fd);
- err = SSL_connect(ctx->ssl);
- if (err == -1) return E_SUPL_CONNECT;
-
-#if 0
- {
- X509 *s_cert = SSL_get_peer_certificate(ctx->ssl);
- FILE *fp = fopen("/tmp/s_cert.pem", "w");
- if (fp)
- PEM_write_X509(fp, s_cert);
- fclose(fp);
- X509_free(s_cert);
- }
-#endif
-
- return 0;
-}
-
-void EXPORT supl_close(supl_ctx_t *ctx) {
- SSL_shutdown(ctx->ssl);
- SSL_free(ctx->ssl);
- SSL_CTX_free(ctx->ssl_ctx);
- close(ctx->fd);
-}
-
-
-static int server_connect(char *server) {
- int fd = -1;
- struct addrinfo *ailist, *aip;
- struct addrinfo hint;
- int err;
-
- memset(&hint, 0, sizeof(struct addrinfo));
- hint.ai_socktype = SOCK_STREAM;
- err = getaddrinfo(server, SUPL_PORT, &hint, &ailist);
- if (err != 0) {
- return -1;
- }
-
- for (aip = ailist; aip; aip = aip->ai_next) {
- if ((fd = socket(aip->ai_family, SOCK_STREAM, 0)) < 0) {
- err = errno;
- }
- if (connect(fd, aip->ai_addr, aip->ai_addrlen) != 0) {
- return -1;
- }
- break;
- }
-
- return fd;
-}
-
-static int pdu_make_ulp_start(supl_ctx_t *ctx, supl_ulp_t *pdu) {
- ULP_PDU_t *ulp;
- SetSessionID_t *session_id;
- int err;
-
- ulp = calloc(1, sizeof(ULP_PDU_t));
- session_id = calloc(1, sizeof(SetSessionID_t));
-
- ulp->length = 0;
- ulp->version.maj = 1;
- ulp->version.min = 0;
- ulp->version.servind = 0;
-
- session_id->sessionId = 1;
- // session_id->setId.present = SETId_PR_msisdn;
- // (void)OCTET_STRING_fromBuf(&session_id->setId.choice.msisdn, ctx->p.msisdn, 8);
- session_id->setId.present = SETId_PR_imsi;
- (void)OCTET_STRING_fromBuf(&session_id->setId.choice.imsi, ctx->p.msisdn, 8);
-
- ulp->sessionID.setSessionID = session_id;
- ulp->sessionID.slpSessionID = OPTIONAL_MISSING;
-
- ulp->message.present = UlpMessage_PR_msSUPLSTART;
- ulp->message.choice.msSUPLSTART.sETCapabilities.posTechnology.agpsSETBased = 1;
- // (void)asn_long2INTEGER(&ulp->message.choice.msSUPLSTART.sETCapabilities.prefMethod, PrefMethod_noPreference);
- (void)asn_long2INTEGER(&ulp->message.choice.msSUPLSTART.sETCapabilities.prefMethod, PrefMethod_agpsSETBasedPreferred);
- ulp->message.choice.msSUPLSTART.sETCapabilities.posProtocol.rrlp = 1;
-
- if (ctx->p.set & PARAM_GSM_CELL_CURRENT) {
- ulp->message.choice.msSUPLSTART.locationId.cellInfo.present = CellInfo_PR_gsmCell;
- ulp->message.choice.msSUPLSTART.locationId.cellInfo.choice.gsmCell.refMCC = ctx->p.gsm.mcc;
- ulp->message.choice.msSUPLSTART.locationId.cellInfo.choice.gsmCell.refMNC = ctx->p.gsm.mnc;
- ulp->message.choice.msSUPLSTART.locationId.cellInfo.choice.gsmCell.refLAC = ctx->p.gsm.lac;
- ulp->message.choice.msSUPLSTART.locationId.cellInfo.choice.gsmCell.refCI = ctx->p.gsm.ci;
- ulp->message.choice.msSUPLSTART.locationId.cellInfo.choice.gsmCell.nMR = OPTIONAL_MISSING;
- ulp->message.choice.msSUPLSTART.locationId.cellInfo.choice.gsmCell.tA = OPTIONAL_MISSING;
- } else if (ctx->p.set & PARAM_WCDMA_CELL_CURRENT) {
- ulp->message.choice.msSUPLSTART.locationId.cellInfo.present = CellInfo_PR_wcdmaCell;
- ulp->message.choice.msSUPLSTART.locationId.cellInfo.choice.wcdmaCell.refMCC = ctx->p.wcdma.mcc;
- ulp->message.choice.msSUPLSTART.locationId.cellInfo.choice.wcdmaCell.refMNC = ctx->p.wcdma.mnc;
- ulp->message.choice.msSUPLSTART.locationId.cellInfo.choice.wcdmaCell.refUC = ctx->p.wcdma.uc;
- }
-
- (void)asn_long2INTEGER(&ulp->message.choice.msSUPLSTART.locationId.status, Status_current);
-
- ulp->message.choice.msSUPLSTART.qoP = OPTIONAL_MISSING;
-
- pdu->pdu = ulp;
-
- err = supl_ulp_encode(pdu);
- if (err < 0) {
- asn_DEF_ULP_PDU.free_struct(&asn_DEF_ULP_PDU, ulp, 0);
- return err;
- }
-
- return 0;
-}
-
-// get slpSessionID from SUPLRESPONSE pdu if preset
-static int supl_response_harvest(supl_ctx_t *ctx, supl_ulp_t *pdu) {
- int ret;
- ULP_PDU_t *ulp = pdu->pdu;
- void *buf;
-
- ctx->slp_session_id.buf = 0;
-
- ret = uper_encode_to_new_buffer(&asn_DEF_SlpSessionID, 0, (void *)ulp->sessionID.slpSessionID, &buf);
- if (ret == -1) return -1;
-
- ctx->slp_session_id.buf = buf;
- ctx->slp_session_id.size = ret;
-
- return 0;
-}
-
-static int pdu_make_ulp_pos_init(supl_ctx_t *ctx, supl_ulp_t *pdu) {
- int err;
- ULP_PDU_t *ulp;
- SetSessionID_t *session_id;
- RequestedAssistData_t *req_adata;
-
- ulp = calloc(1, sizeof(ULP_PDU_t));
- session_id = calloc(1, sizeof(SetSessionID_t));
- req_adata = calloc(1, sizeof(RequestedAssistData_t));
-
- ulp->length = 0;
- ulp->version.maj = 1;
- ulp->version.min = 0;
- ulp->version.servind = 0;
-
- session_id->sessionId = 1;
- // session_id->setId.present = SETId_PR_msisdn;
- // (void)OCTET_STRING_fromBuf(&session_id->setId.choice.msisdn, ctx->p.msisdn, 8);
- session_id->setId.present = SETId_PR_imsi;
- (void)OCTET_STRING_fromBuf(&session_id->setId.choice.imsi, ctx->p.msisdn, 8);
-
- ulp->sessionID.setSessionID = session_id;
- // ulp->sessionID.slpSessionID = OPTIONAL_MISSING;
- if (ctx->slp_session_id.buf) {
- (void)uper_decode_complete(0, &asn_DEF_SlpSessionID, (void **)&ulp->sessionID.slpSessionID, ctx->slp_session_id.buf, ctx->slp_session_id.size);
- } else {
- ulp->sessionID.slpSessionID = OPTIONAL_MISSING;
- }
-
- ulp->message.present = UlpMessage_PR_msSUPLPOSINIT;
- ulp->message.choice.msSUPLPOSINIT.sETCapabilities.posTechnology.agpsSETBased = 1;
- // (void)asn_long2INTEGER(&ulp->message.choice.msSUPLPOSINIT.sETCapabilities.prefMethod, PrefMethod_noPreference);
- (void)asn_long2INTEGER(&ulp->message.choice.msSUPLPOSINIT.sETCapabilities.prefMethod, PrefMethod_agpsSETBasedPreferred);
- ulp->message.choice.msSUPLPOSINIT.sETCapabilities.posProtocol.rrlp = 1;
-
- req_adata->acquisitionAssistanceRequested = 0; // 1
- req_adata->navigationModelRequested = 0; // 1
- req_adata->referenceTimeRequested = 1;
- req_adata->utcModelRequested = 0; //1
- req_adata->ionosphericModelRequested = 0; // 1
- req_adata->referenceLocationRequested = 1;
- req_adata->almanacRequested = ctx->p.request & SUPL_REQUEST_ALMANAC;
- req_adata->realTimeIntegrityRequested = 0; // 1
- ulp->message.choice.msSUPLPOSINIT.requestedAssistData = req_adata;
-
- if (ctx->p.set & PARAM_GSM_CELL_CURRENT) {
- ulp->message.choice.msSUPLPOSINIT.locationId.cellInfo.present = CellInfo_PR_gsmCell;
- ulp->message.choice.msSUPLPOSINIT.locationId.cellInfo.choice.gsmCell.refMCC = ctx->p.gsm.mcc;
- ulp->message.choice.msSUPLPOSINIT.locationId.cellInfo.choice.gsmCell.refMNC = ctx->p.gsm.mnc;
- ulp->message.choice.msSUPLPOSINIT.locationId.cellInfo.choice.gsmCell.refLAC = ctx->p.gsm.lac;
- ulp->message.choice.msSUPLPOSINIT.locationId.cellInfo.choice.gsmCell.refCI = ctx->p.gsm.ci;
- ulp->message.choice.msSUPLPOSINIT.locationId.cellInfo.choice.gsmCell.nMR = OPTIONAL_MISSING;
- ulp->message.choice.msSUPLPOSINIT.locationId.cellInfo.choice.gsmCell.tA = OPTIONAL_MISSING;
- } else if (ctx->p.set & PARAM_WCDMA_CELL_CURRENT) {
- ulp->message.choice.msSUPLPOSINIT.locationId.cellInfo.present = CellInfo_PR_wcdmaCell;
- ulp->message.choice.msSUPLPOSINIT.locationId.cellInfo.choice.wcdmaCell.refMCC = ctx->p.wcdma.mcc;
- ulp->message.choice.msSUPLPOSINIT.locationId.cellInfo.choice.wcdmaCell.refMNC = ctx->p.wcdma.mnc;
- ulp->message.choice.msSUPLPOSINIT.locationId.cellInfo.choice.wcdmaCell.refUC = ctx->p.wcdma.uc;
- }
-
- if (ctx->p.set & PARAM_GSM_CELL_KNOWN) {
- Position_t *pos = calloc(1, sizeof(Position_t));
- struct tm *tm;
- time_t t;
-
- (void)asn_long2INTEGER(&ulp->message.choice.msSUPLPOSINIT.locationId.status, Status_stale);
-
- t = time(0);
- tm = gmtime(&t);
- asn_UT2time(&pos->timestamp, tm ,1);
- (void)asn_long2INTEGER(&pos->positionEstimate.latitudeSign, latitudeSign_north);
- pos->positionEstimate.latitude = (1 << 23) / 90.0 * ctx->p.known.lat;
- pos->positionEstimate.longitude = (1 << 24) / 360.0 * ctx->p.known.lon;
- // TODO: set position estimate
-
- ulp->message.choice.msSUPLPOSINIT.position = pos;
- } else {
- (void)asn_long2INTEGER(&ulp->message.choice.msSUPLPOSINIT.locationId.status, Status_current);
- ulp->message.choice.msSUPLPOSINIT.position = OPTIONAL_MISSING;
- }
-
- ulp->message.choice.msSUPLPOSINIT.sUPLPOS = OPTIONAL_MISSING;
-
- ulp->message.choice.msSUPLPOSINIT.ver = OPTIONAL_MISSING;
-
- pdu->pdu = ulp;
-
- err = supl_ulp_encode(pdu);
- if (err < 0) {
- asn_DEF_ULP_PDU.free_struct(&asn_DEF_ULP_PDU, ulp, 0);
- return err;
- }
-
- return 0;
-}
-
-static int pdu_make_ulp_rrlp_ack(supl_ctx_t *ctx, supl_ulp_t *pdu, PDU_t *rrlp) {
- int err;
- PDU_t *rrlp_ack;
- ULP_PDU_t *ulp;
- SetSessionID_t *session_id;
- asn_enc_rval_t ret;
- int pdu_len;
- char buffer[1024];
-
- rrlp_ack = calloc(1, sizeof(PDU_t));
-
- /* create RRLP assistanceDataAck */
-
- rrlp_ack->referenceNumber = rrlp->referenceNumber;
- rrlp_ack->component.present = RRLP_Component_PR_assistanceDataAck;
-
- ret = uper_encode_to_buffer(&asn_DEF_PDU, rrlp_ack, buffer, sizeof(buffer));
- asn_DEF_ULP_PDU.free_struct(&asn_DEF_PDU, rrlp_ack, 0);
- if (ret.encoded == -1) {
- return E_SUPL_ENCODE_RRLP;
- }
- pdu_len = (ret.encoded + 7) >> 3;
-
- /* embedded it in SUPLPOS */
-
- ulp = calloc(1, sizeof(ULP_PDU_t));
- session_id = calloc(1, sizeof(SetSessionID_t));
-
- ulp->length = 0;
- ulp->version.maj = 1;
- ulp->version.min = 0;
- ulp->version.servind = 0;
-
- session_id->sessionId = 1;
- // session_id->setId.present = SETId_PR_msisdn;
- // (void)OCTET_STRING_fromBuf(&session_id->setId.choice.msisdn, ctx->p.msisdn, 8);
- session_id->setId.present = SETId_PR_imsi;
- (void)OCTET_STRING_fromBuf(&session_id->setId.choice.imsi, ctx->p.msisdn, 8);
-
- ulp->sessionID.setSessionID = session_id;
- // ulp->sessionID.slpSessionID = OPTIONAL_MISSING;
- if (ctx->slp_session_id.buf) {
- (void)uper_decode_complete(0, &asn_DEF_SlpSessionID, (void **)&ulp->sessionID.slpSessionID, ctx->slp_session_id.buf, ctx->slp_session_id.size);
- } else {
- ulp->sessionID.slpSessionID = OPTIONAL_MISSING;
- }
-
- ulp->message.present = UlpMessage_PR_msSUPLPOS;
- ulp->message.choice.msSUPLPOS.posPayLoad.present = PosPayLoad_PR_rrlpPayload;
- (void)OCTET_STRING_fromBuf(&ulp->message.choice.msSUPLPOS.posPayLoad.choice.rrlpPayload, buffer, pdu_len);
-
- pdu->pdu = ulp;
-
- err = supl_ulp_encode(pdu);
- if (err < 0) {
- supl_ulp_free(pdu);
- return err;
- }
-
- return 0;
-}
-
-/*
-**
-**
-*/
-
-int EXPORT supl_collect_rrlp(supl_assist_t *assist, PDU_t *rrlp, struct timeval *t) {
- ControlHeader_t *hdr;
-
- if (rrlp->component.present != RRLP_Component_PR_assistanceData) return 0;
- if (!rrlp->component.choice.assistanceData.gps_AssistData) return 0;
-
- hdr = &rrlp->component.choice.assistanceData.gps_AssistData->controlHeader;
-
- if (hdr->referenceTime) {
- assist->set |= SUPL_RRLP_ASSIST_REFTIME;
- assist->time.gps_tow = hdr->referenceTime->gpsTime.gpsTOW23b;
- assist->time.gps_week = hdr->referenceTime->gpsTime.gpsWeek;
- memcpy(&assist->time.stamp, t, sizeof(struct timeval));
- }
-
- if (hdr->refLocation) {
- OCTET_STRING_t *loc;
-
- loc = &hdr->refLocation->threeDLocation;
- if (loc->size == 14 && loc->buf[0] == 0x90) {
- double lat, lon;
- long l;
-
- /* from 3GPP TS 23.032 V4.0.0 (2001-04) */
-
- l = (loc->buf[1] & 0x7f) << 16 |
- (loc->buf[2] << 8) |
- loc->buf[3];
- if (loc->buf[1] & 0x80) l *= -1;
- lat = 90.0 / (1 << 23) * l;
-
- l = (loc->buf[4] << 16) |
- (loc->buf[5] << 8) |
- loc->buf[6];
- lon = 360.0 / (1 << 24) * l;
-
- /* max of uncertainty ellipsoid axis */
- /* uncert in meters = 10 * (1.1 ^ l - 1) */
- /* l == 96 => 100 km uncertainty => not usable */
- l = loc->buf[9];
- if (loc->buf[10] > l) l = loc->buf[10];
-
- assist->set |= SUPL_RRLP_ASSIST_REFLOC;
- assist->pos.lat = lat;
- assist->pos.lon = lon;
- assist->pos.uncertainty = l;
- }
- }
-
- if (hdr->acquisAssist) {
- int n;
-
- assist->acq_time = hdr->acquisAssist->timeRelation.gpsTOW;
-
- for (n = 0; n < hdr->acquisAssist->acquisList.list.count; n++) {
- struct AcquisElement *e = hdr->acquisAssist->acquisList.list.array[n];
- int i = assist->cnt_acq++;
-
- assist->acq[i].prn = e->svid + 1;
- assist->acq[i].parts = 0;
- assist->acq[i].doppler0 = e->doppler0;
-
- if (e->addionalDoppler) {
- assist->acq[i].parts |= SUPL_ACQUIS_DOPPLER;
- assist->acq[i].doppler1 = e->addionalDoppler->doppler1;
- assist->acq[i].d_win = e->addionalDoppler->dopplerUncertainty;
- }
-
- assist->acq[i].code_ph = e->codePhase;
- assist->acq[i].code_ph_int = e->intCodePhase;
- assist->acq[i].bit_num = e->gpsBitNumber;
- assist->acq[i].code_ph_win = e->codePhaseSearchWindow;
-
- if (e->addionalAngle) {
- assist->acq[i].parts |= SUPL_ACQUIS_ANGLE;
- assist->acq[i].az = e->addionalAngle->azimuth;
- assist->acq[i].el = e->addionalAngle->elevation;
- }
- }
- }
-
- if (hdr->almanac) {
- int n;
-
- for (n = 0; n < hdr->almanac->almanacList.list.count; n++) {
- struct AlmanacElement *e = hdr->almanac->almanacList.list.array[n];
- int i = assist->cnt_alm++;
-
- assist->alm[i].prn = e->satelliteID + 1;
- assist->alm[i].e = e->almanacE;
- assist->alm[i].toa = e->alamanacToa; // nice touch 3gpp
- assist->alm[i].Ksii = e->almanacKsii;
- assist->alm[i].OMEGA_dot = e->almanacOmegaDot;
- assist->alm[i].A_sqrt = e->almanacAPowerHalf;
- assist->alm[i].OMEGA_0 = e->almanacOmega0;
- assist->alm[i].w = e->almanacW;
- assist->alm[i].M0 = e->almanacM0;
- assist->alm[i].AF0 = e->almanacAF0;
- assist->alm[i].AF1 = e->almanacAF1;
- }
- }
-
- if (hdr->navigationModel) {
- UncompressedEphemeris_t *ue;
- int n;
-
- for (n = 0; n < hdr->navigationModel->navModelList.list.count; n++) {
- struct NavModelElement *e = hdr->navigationModel->navModelList.list.array[n];
- int i = assist->cnt_eph++;
-
- assist->eph[i].prn = e->satelliteID + 1;
-
- /* what is the difference between these two */
- ue = 0;
- if (e->satStatus.present == SatStatus_PR_newNaviModelUC)
- ue = &e->satStatus.choice.newNaviModelUC;
- if (e->satStatus.present == SatStatus_PR_newSatelliteAndModelUC)
- ue = &e->satStatus.choice.newSatelliteAndModelUC;
-
- if (ue) {
-#if 0
- assist->eph_x[i].L2P = ue->ephemL2Pflag;
- assist->eph_x[i].fit = ue->ephemFitFlag;
-#endif
- assist->eph[i].delta_n = ue->ephemDeltaN;
- assist->eph[i].M0 = ue->ephemM0;
-#if 0
- // this is needed for asn1c version 0.9.22
- {
- long v;
- asn_INTEGER2long((INTEGER_t *)&ue->ephemE, &v);
- assist->eph[i].e = v;
- asn_INTEGER2long((INTEGER_t *)&ue->ephemAPowerHalf, &v);
- assist->eph[i].e = v;
- }
-#else
- assist->eph[i].e = ue->ephemE;
- assist->eph[i].A_sqrt = ue->ephemAPowerHalf;
-#endif
- assist->eph[i].OMEGA_0 = ue->ephemOmegaA0;
- assist->eph[i].i0 = ue->ephemI0;
- assist->eph[i].w = ue->ephemW;
- assist->eph[i].OMEGA_dot = ue->ephemOmegaADot;
- assist->eph[i].i_dot = ue->ephemIDot;
- assist->eph[i].Cuc = ue->ephemCuc;
- assist->eph[i].Cus = ue->ephemCus;
- assist->eph[i].Crc = ue->ephemCrc;
- assist->eph[i].Crs = ue->ephemCrs;
- assist->eph[i].Cic = ue->ephemCic;
- assist->eph[i].Cis = ue->ephemCis;
- assist->eph[i].toe = ue->ephemToe;
- assist->eph[i].IODC = ue->ephemIODC;
- assist->eph[i].toc = ue->ephemToc;
- assist->eph[i].AF0 = ue->ephemAF0;
- assist->eph[i].AF1 = ue->ephemAF1;
- assist->eph[i].AF2 = ue->ephemAF2;
-
- assist->eph[i].nav_model = 1;
- assist->eph[i].bits = ue->ephemCodeOnL2;
- assist->eph[i].ura = ue->ephemURA;
- assist->eph[i].health = ue->ephemSVhealth;
- assist->eph[i].AODA = ue->ephemAODA;
- assist->eph[i].tgd = ue->ephemTgd;
- }
- }
- }
-
- if (hdr->ionosphericModel) {
- assist->set |= SUPL_RRLP_ASSIST_IONO;
- assist->iono.a0 = hdr->ionosphericModel->alfa0;
- assist->iono.a1 = hdr->ionosphericModel->alfa1;
- assist->iono.a2 = hdr->ionosphericModel->alfa2;
- assist->iono.b0 = hdr->ionosphericModel->beta0;
- assist->iono.b1 = hdr->ionosphericModel->beta1;
- assist->iono.b2 = hdr->ionosphericModel->beta2;
- assist->iono.b3 = hdr->ionosphericModel->beta3;
- }
-
- if (hdr->utcModel) {
- assist->set |= SUPL_RRLP_ASSIST_UTC;
- assist->utc.a0 = hdr->utcModel->utcA0;
- assist->utc.a1 = hdr->utcModel->utcA1;
- assist->utc.tot = hdr->utcModel->utcTot;
- assist->utc.wnt = hdr->utcModel->utcWNt;
- assist->utc.delta_tls = hdr->utcModel->utcDeltaTls;
- assist->utc.wnlsf = hdr->utcModel->utcWNlsf;
- assist->utc.dn = hdr->utcModel->utcDN;
- assist->utc.delta_tlsf = hdr->utcModel->utcDeltaTlsf;
- }
-
- return 1;
-}
-
-int EXPORT supl_ctx_new(supl_ctx_t *ctx) {
- memset(ctx, 0, sizeof(supl_ctx_t));
-#ifdef SUPL_DEBUG
- memset(&debug, 0, sizeof(struct supl_debug_s));
-#endif
-
- return 0;
-}
-
-int EXPORT supl_ctx_free(supl_ctx_t *ctx) {
- if (ctx->slp_session_id.buf) {
- free(ctx->slp_session_id.buf);
- ctx->slp_session_id.buf = 0;
- }
-
- return 0;
-}
-
-static int supl_more_rrlp(PDU_t *rrlp) {
- long value;
-
- return (rrlp->component.present == RRLP_Component_PR_assistanceData &&
- rrlp->component.choice.assistanceData.moreAssDataToBeSent &&
- asn_INTEGER2long((INTEGER_t *)rrlp->component.choice.assistanceData.moreAssDataToBeSent, &value) == 0 &&
- value == MoreAssDataToBeSent_moreMessagesOnTheWay);
-}
-
-int EXPORT supl_get_assist(supl_ctx_t *ctx, char *server, supl_assist_t *assist) {
- supl_ulp_t ulp;
-
- // memcpy(ctx->p.msisdn, "\xde\xad\xbe\xef\xf0\x0b\xaa\x42", 8);
- memcpy(ctx->p.msisdn, "\xFF\xFF\x91\x94\x48\x45\x83\x98", 8);
-
- /*
- ** connect to server
- */
-
- if (supl_server_connect(ctx, server) < 0) return E_SUPL_CONNECT;
-
- /*
- ** send SUPL_START
- */
-
- if (pdu_make_ulp_start(ctx, &ulp) < 0) {
- return E_SUPL_ENCODE_START;
- }
-
- (void)supl_ulp_send(ctx, &ulp);
- supl_ulp_free(&ulp);
-
- /*
- ** should receive SUPL_RESPONSE back
- */
-
- if (supl_ulp_recv(ctx, &ulp) < 0) {
- return E_SUPL_RECV_RESPONSE;
- }
-
- if (ulp.pdu->message.present != UlpMessage_PR_msSUPLRESPONSE) {
- supl_ulp_free(&ulp);
- return E_SUPL_SUPLRESPONSE;
- }
-
- // get and copy slpSessionID if present
- supl_response_harvest(ctx, &ulp);
-
- supl_ulp_free(&ulp);
-
- /*
- ** send SUPL_POS_INIT
- */
-
- if (pdu_make_ulp_pos_init(ctx, &ulp) < 0) {
- return E_SUPL_ENCODE_POSINIT;
- }
-
- (void)supl_ulp_send(ctx, &ulp);
-
- /*
- ** should get SUPLPOS back - bounce back and forth until all messages have arrived
- */
-
- memset(assist, 0, sizeof(supl_assist_t));
-
- while (1) {
- struct timeval t;
- PDU_t *rrlp;
-
- supl_ulp_free(&ulp);
-
- /* record packet recv time */
- gettimeofday(&t, 0);
-
- if (supl_ulp_recv(ctx, &ulp) < 0) {
- return E_SUPL_RECV_SUPLPOS;
- }
-
- if (ulp.pdu->message.present == UlpMessage_PR_msSUPLEND) {
- break;
- }
-
- if (ulp.pdu->message.present != UlpMessage_PR_msSUPLPOS) {
- supl_ulp_free(&ulp);
- return E_SUPL_SUPLPOS;
- }
-
- /* get the beef, the RRLP payload */
-
- if (supl_decode_rrlp(&ulp, &rrlp) < 0) {
- supl_ulp_free(&ulp);
- return E_SUPL_DECODE_RRLP;
- }
-
-#ifdef SUPL_DEBUG
- if (debug.verbose_rrlp) {
- fprintf(debug.log, "Embedded RRLP message\n");
- xer_fprint(debug.log, &asn_DEF_PDU, rrlp);
- }
-#endif
-
- /* remember important stuff from it */
-
- supl_collect_rrlp(assist, rrlp, &t);
-
- if (!supl_more_rrlp(rrlp)) {
- asn_DEF_ULP_PDU.free_struct(&asn_DEF_PDU, rrlp, 0);
- break;
- }
-
- /* More data coming in, send SUPLPOS + RRLP ACK */
-
- if (pdu_make_ulp_rrlp_ack(ctx, &ulp, rrlp) < 0) {
- return E_SUPL_RRLP_ACK;
- }
-
- supl_ulp_send(ctx, &ulp);
- asn_DEF_ULP_PDU.free_struct(&asn_DEF_PDU, rrlp, 0);
- }
-
- supl_ulp_free(&ulp);
-
- /*
- ** send SUPL_END (but who really cares)
- */
-
- supl_close(ctx);
-
- return 0;
-}
-
-void EXPORT supl_set_gsm_cell(supl_ctx_t *ctx, int mcc, int mns, int lac, int ci) {
- ctx->p.set |= PARAM_GSM_CELL_CURRENT;
-
- ctx->p.gsm.mcc = mcc;
- ctx->p.gsm.mnc = mns;
- ctx->p.gsm.lac = lac;
- ctx->p.gsm.ci = ci;
-}
-
-void EXPORT supl_set_gsm_cell_known(supl_ctx_t *ctx, int mcc, int mns, int lac, int ci, double lat, double lon, int uncert) {
- ctx->p.set |= PARAM_GSM_CELL_KNOWN;
-
- ctx->p.known.mcc = mcc;
- ctx->p.known.mnc = mns;
- ctx->p.known.lac = lac;
- ctx->p.known.ci = ci;
- ctx->p.known.lat = lat;
- ctx->p.known.lon = lon;
- ctx->p.known.uncert = uncert;
-}
-
-void EXPORT supl_set_wcdma_cell(supl_ctx_t *ctx, int mcc, int mns, int uc) {
- ctx->p.set |= PARAM_WCDMA_CELL_CURRENT;
-
- ctx->p.wcdma.mcc = mcc;
- ctx->p.wcdma.mnc = mns;
- ctx->p.wcdma.uc = uc;
-}
-
-void EXPORT supl_request(supl_ctx_t *ctx, int request) {
- ctx->p.request = request;
-}
-
-void EXPORT supl_set_debug(FILE *log, int flags) {
-#ifdef SUPL_DEBUG
- debug.log = log;
- if (flags & SUPL_DEBUG_RRLP) debug.verbose_rrlp = 1;
- if (flags & SUPL_DEBUG_SUPL) debug.verbose_supl = 1;
- if (flags & SUPL_DEBUG_DEBUG) debug.debug = 1;
-#endif
-}
-
diff --git a/.svn/pristine/64/644f7c32fbcfc86a1119a32b8310fd29031ad574.svn-base b/.svn/pristine/64/644f7c32fbcfc86a1119a32b8310fd29031ad574.svn-base
deleted file mode 100644
index 4def2b9..0000000
--- a/.svn/pristine/64/644f7c32fbcfc86a1119a32b8310fd29031ad574.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-See file README.
diff --git a/.svn/pristine/67/67a512783cf0da7cb6adf6a8cc9f5c5c5f62929a.svn-base b/.svn/pristine/67/67a512783cf0da7cb6adf6a8cc9f5c5c5f62929a.svn-base
deleted file mode 100644
index c9ab8a9..0000000
--- a/.svn/pristine/67/67a512783cf0da7cb6adf6a8cc9f5c5c5f62929a.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-Tatu Mannisto <tatu -a-t- tajuma -d-o-t- com>
diff --git a/.svn/pristine/69/69d9b510df8eb488fb7c3dd9c53b62ce6612c1ce.svn-base b/.svn/pristine/69/69d9b510df8eb488fb7c3dd9c53b62ce6612c1ce.svn-base
deleted file mode 100644
index 24a5755..0000000
--- a/.svn/pristine/69/69d9b510df8eb488fb7c3dd9c53b62ce6612c1ce.svn-base
+++ /dev/null
@@ -1,9 +0,0 @@
-usr/lib/libsupl.so.1
-usr/lib/libsupl.so.1.0
-usr/lib/libasnrrlp.so
-usr/lib/libasnrrlp.so.1
-usr/lib/libasnrrlp.so.1.0
-usr/lib/libasnsupl.so
-usr/lib/libasnsupl.so.1
-usr/lib/libasnsupl.so.1.0
-
diff --git a/.svn/pristine/6a/6ac26590a6fb9993e715fa35684334cc0e1b7ebe.svn-base b/.svn/pristine/6a/6ac26590a6fb9993e715fa35684334cc0e1b7ebe.svn-base
deleted file mode 100644
index ba9d8c3..0000000
--- a/.svn/pristine/6a/6ac26590a6fb9993e715fa35684334cc0e1b7ebe.svn-base
+++ /dev/null
@@ -1,52 +0,0 @@
-SUPL-INIT DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-EXPORTS SUPLINIT;
-
-IMPORTS SLPAddress, QoP, PosMethod
- FROM ULP-Components;
-
-SUPLINIT ::= SEQUENCE {
- posMethod PosMethod,
- notification Notification OPTIONAL,
- sLPAddress SLPAddress OPTIONAL,
- qoP QoP OPTIONAL,
- sLPMode SLPMode,
- mAC MAC OPTIONAL,
- keyIdentity KeyIdentity OPTIONAL,
- ...}
-
-Notification ::= SEQUENCE {
- notificationType NotificationType,
- encodingType EncodingType OPTIONAL,
- requestorId OCTET STRING(SIZE (1..maxReqLength)) OPTIONAL,
- requestorIdType FormatIndicator OPTIONAL,
- clientName OCTET STRING(SIZE (1..maxClientLength)) OPTIONAL,
- clientNameType FormatIndicator OPTIONAL,
- ...}
-
-NotificationType ::= ENUMERATED {
- noNotificationNoVerification(0), notificationOnly(1),
- notificationAndVerficationAllowedNA(2),
- notificationAndVerficationDeniedNA(3), privacyOverride(4), ...
- }
-
-EncodingType ::= ENUMERATED {ucs2(0), gsmDefault(1), utf8(2), ...
- }
-
-maxReqLength INTEGER ::= 50
-
-maxClientLength INTEGER ::= 50
-
-FormatIndicator ::= ENUMERATED {
- logicalName(0), e-mailAddress(1), msisdn(2), url(3), sipUrl(4), min(5),
- mdn(6), imsPublicIdentity(7), ...
- }
-
-SLPMode ::= ENUMERATED {proxy(0), nonProxy(1)}
-
-MAC ::= BIT STRING(SIZE (64))
-
-KeyIdentity ::= BIT STRING(SIZE (128))
-
-END
diff --git a/.svn/pristine/6b/6b164192860b2811ad4f9cc1664522ea341764e9.svn-base b/.svn/pristine/6b/6b164192860b2811ad4f9cc1664522ea341764e9.svn-base
deleted file mode 100644
index a365124..0000000
--- a/.svn/pristine/6b/6b164192860b2811ad4f9cc1664522ea341764e9.svn-base
+++ /dev/null
@@ -1,47 +0,0 @@
-ULP DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-IMPORTS
- Version, SessionID
- FROM ULP-Components
- SUPLINIT
- FROM SUPL-INIT
- SUPLSTART
- FROM SUPL-START
- SUPLRESPONSE
- FROM SUPL-RESPONSE
- SUPLPOSINIT
- FROM SUPL-POS-INIT
- SUPLPOS
- FROM SUPL-POS
- SUPLEND
- FROM SUPL-END
--- SUPLAUTHREQ
--- FROM SUPL-AUTH-REQ
--- SUPLAUTHRESP
--- FROM SUPL-AUTH-RESP;
-;
-
--- general ULP PDU layout;
-ULP-PDU ::= SEQUENCE {
- length INTEGER(0..65535),
- version Version,
- sessionID SessionID,
- message UlpMessage}
-
-UlpMessage ::= CHOICE {
- msSUPLINIT SUPLINIT,
- msSUPLSTART SUPLSTART,
- msSUPLRESPONSE SUPLRESPONSE,
- msSUPLPOSINIT SUPLPOSINIT,
- msSUPLPOS SUPLPOS,
- msSUPLEND SUPLEND,
--- msSUPLAUTHREQ SUPLAUTHREQ,
- msDUMMY2 DUMMY,
--- msSUPLAUTHRESP SUPLAUTHRESP,
- msDUMMY3 DUMMY,
- ...}
-
-DUMMY ::= INTEGER
-
-END
diff --git a/.svn/pristine/84/84585b212604ab2241de3a70f20097deee732cc3.svn-base b/.svn/pristine/84/84585b212604ab2241de3a70f20097deee732cc3.svn-base
deleted file mode 100644
index 26408d5..0000000
--- a/.svn/pristine/84/84585b212604ab2241de3a70f20097deee732cc3.svn-base
+++ /dev/null
@@ -1,45 +0,0 @@
-Source: supl
-Section: utils
-Priority: optional
-Maintainer: Tatu Mannisto <tatu -at- tajuma -dot- com>
-Build-Depends: debhelper (>= 4.0.0), libssl-dev
-Standards-Version: 3.6.0
-
-Package: supl
-Architecture: any
-Priority: optional
-Section: utils
-Depends: libsupl, ${shlibs:Depends}
-Suggests:
-Description: AGPS SUPL (Secure User Plane) client
- Provided the client side (non-network initiated case)
- for OMA SUPL/RRLP user applications, supl-client and
- supl-proxy.
-
-Package: libsupl
-Architecture: any
-Priority: optional
-Section: libs
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Suggests:
-Description: AGPS SUPL (Secure User Plane) library
- Provides the client side (non-network initiated case)
- SUPL library.
-
-Package: libsupl-dev
-Section: libdevel
-Priority: optional
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Suggests:
-Description: AGPS SUPL (Secure User Plane) library
- Provides the development files for SUPL protocol.
-
-Package: libsupl-dbg
-Section: debug
-Priority: extra
-Architecture: any
-Depends: libsupl (= ${binary:Version})
-Description: Debug symbols for the SUPL library
- This package provides the debugging info for SUPL
- libraries and user utilities.
diff --git a/.svn/pristine/8b/8bf1d39de369fb0af002d7e0aa987b913f50a77b.svn-base b/.svn/pristine/8b/8bf1d39de369fb0af002d7e0aa987b913f50a77b.svn-base
deleted file mode 100644
index 69060e4..0000000
--- a/.svn/pristine/8b/8bf1d39de369fb0af002d7e0aa987b913f50a77b.svn-base
+++ /dev/null
@@ -1,40 +0,0 @@
-SUPL-START DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-EXPORTS SUPLSTART, SETCapabilities;
-
-IMPORTS LocationId, QoP
- FROM ULP-Components;
-
-SUPLSTART ::= SEQUENCE {
- sETCapabilities SETCapabilities,
- locationId LocationId,
- qoP QoP OPTIONAL,
- ...}
-
-SETCapabilities ::= SEQUENCE {
- posTechnology PosTechnology,
- prefMethod PrefMethod,
- posProtocol PosProtocol,
- ...}
-
-PosTechnology ::= SEQUENCE {
- agpsSETassisted BOOLEAN,
- agpsSETBased BOOLEAN,
- autonomousGPS BOOLEAN,
- aFLT BOOLEAN,
- eCID BOOLEAN,
- eOTD BOOLEAN,
- oTDOA BOOLEAN,
- ...}
-
-PrefMethod ::= ENUMERATED {
- agpsSETassistedPreferred, agpsSETBasedPreferred, noPreference}
-
-PosProtocol ::= SEQUENCE {
- tia801 BOOLEAN,
- rrlp BOOLEAN,
- rrc BOOLEAN,
- ...}
-
-END
diff --git a/.svn/pristine/92/92470bd3eae1e4543881248ffbc718ceb8fd5806.svn-base b/.svn/pristine/92/92470bd3eae1e4543881248ffbc718ceb8fd5806.svn-base
deleted file mode 100644
index 9ed51b8..0000000
--- a/.svn/pristine/92/92470bd3eae1e4543881248ffbc718ceb8fd5806.svn-base
+++ /dev/null
Binary files differ
diff --git a/.svn/pristine/98/98a74fe8ac00cd1860e6db3b06ff1c50daa07286.svn-base b/.svn/pristine/98/98a74fe8ac00cd1860e6db3b06ff1c50daa07286.svn-base
deleted file mode 100644
index 6845771..0000000
--- a/.svn/pristine/98/98a74fe8ac00cd1860e6db3b06ff1c50daa07286.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib
diff --git a/.svn/pristine/9e/9e3148e22fabc41578258e73fbfc1f2869549279.svn-base b/.svn/pristine/9e/9e3148e22fabc41578258e73fbfc1f2869549279.svn-base
deleted file mode 100644
index 108714a..0000000
--- a/.svn/pristine/9e/9e3148e22fabc41578258e73fbfc1f2869549279.svn-base
+++ /dev/null
@@ -1,276 +0,0 @@
-TOP = ../..
-SUBDIRS =
-
-include $(TOP)/config.mk
-
-ASN1_SOURCE = ../supl-common.asn ../supl-end.asn ../supl-pos.asn \
- ../supl-response.asn ../supl-start.asn ../supl-ulp.asn \
- ../supl-init.asn ../supl-posinit.asn
-
-ASN_MODULE_SOURCE = \
- Version.c \
- SessionID.c \
- SetSessionID.c \
- SETId.c \
- SlpSessionID.c \
- IPAddress.c \
- SLPAddress.c \
- FQDN.c \
- Ver.c \
- LocationId.c \
- Status.c \
- CellInfo.c \
- Position.c \
- PositionEstimate.c \
- AltitudeInfo.c \
- CdmaCellInformation.c \
- GsmCellInformation.c \
- WcdmaCellInformation.c \
- FrequencyInfo.c \
- FrequencyInfoFDD.c \
- FrequencyInfoTDD.c \
- UARFCN.c \
- NMR.c \
- NMRelement.c \
- MeasuredResultsList.c \
- MeasuredResults.c \
- CellMeasuredResultsList.c \
- UTRA-CarrierRSSI.c \
- CellMeasuredResults.c \
- CellParametersID.c \
- TGSN.c \
- PrimaryCCPCH-RSCP.c \
- TimeslotISCP.c \
- TimeslotISCP-List.c \
- PrimaryCPICH-Info.c \
- CPICH-Ec-N0.c \
- CPICH-RSCP.c \
- Pathloss.c \
- QoP.c \
- Velocity.c \
- Horvel.c \
- Horandvervel.c \
- Horveluncert.c \
- Horandveruncert.c \
- StatusCode.c \
- PosMethod.c \
- SUPLEND.c \
- SUPLINIT.c \
- Notification.c \
- NotificationType.c \
- EncodingType.c \
- FormatIndicator.c \
- SLPMode.c \
- MAC.c \
- KeyIdentity.c \
- SUPLPOS.c \
- PosPayLoad.c \
- SUPLPOSINIT.c \
- RequestedAssistData.c \
- XNavigationModel.c \
- SatelliteInfo.c \
- SatelliteInfoElement.c \
- SUPLRESPONSE.c \
- SETAuthKey.c \
- KeyIdentity4.c \
- SUPLSTART.c \
- SETCapabilities.c \
- PosTechnology.c \
- PrefMethod.c \
- PosProtocol.c \
- ULP-PDU.c \
- UlpMessage.c \
- DUMMY.c
-
-ASN_MODULE_HEADER= \
- Version.h \
- SessionID.h \
- SetSessionID.h \
- SETId.h \
- SlpSessionID.h \
- IPAddress.h \
- SLPAddress.h \
- FQDN.h \
- Ver.h \
- LocationId.h \
- Status.h \
- CellInfo.h \
- Position.h \
- PositionEstimate.h \
- AltitudeInfo.h \
- CdmaCellInformation.h \
- GsmCellInformation.h \
- WcdmaCellInformation.h \
- FrequencyInfo.h \
- FrequencyInfoFDD.h \
- FrequencyInfoTDD.h \
- UARFCN.h \
- NMR.h \
- NMRelement.h \
- MeasuredResultsList.h \
- MeasuredResults.h \
- CellMeasuredResultsList.h \
- UTRA-CarrierRSSI.h \
- CellMeasuredResults.h \
- CellParametersID.h \
- TGSN.h \
- PrimaryCCPCH-RSCP.h \
- TimeslotISCP.h \
- TimeslotISCP-List.h \
- PrimaryCPICH-Info.h \
- CPICH-Ec-N0.h \
- CPICH-RSCP.h \
- Pathloss.h \
- QoP.h \
- Velocity.h \
- Horvel.h \
- Horandvervel.h \
- Horveluncert.h \
- Horandveruncert.h \
- StatusCode.h \
- PosMethod.h \
- SUPLEND.h \
- SUPLINIT.h \
- Notification.h \
- NotificationType.h \
- EncodingType.h \
- FormatIndicator.h \
- SLPMode.h \
- MAC.h \
- KeyIdentity.h \
- SUPLPOS.h \
- PosPayLoad.h \
- SUPLPOSINIT.h \
- RequestedAssistData.h \
- XNavigationModel.h \
- SatelliteInfo.h \
- SatelliteInfoElement.h \
- SUPLRESPONSE.h \
- SETAuthKey.h \
- KeyIdentity4.h \
- SUPLSTART.h \
- SETCapabilities.h \
- PosTechnology.h \
- PrefMethod.h \
- PosProtocol.h \
- ULP-PDU.h \
- UlpMessage.h \
- DUMMY.h
-
-ASN_MODULE_HEADER+=BOOLEAN.h
-ASN_MODULE_SOURCE+=BOOLEAN.c
-ASN_MODULE_HEADER+=ENUMERATED.h
-ASN_MODULE_SOURCE+=ENUMERATED.c
-ASN_MODULE_HEADER+=INTEGER.h
-ASN_MODULE_HEADER+=NativeEnumerated.h
-ASN_MODULE_HEADER+=GeneralizedTime.h
-ASN_MODULE_SOURCE+=GeneralizedTime.c
-ASN_MODULE_HEADER+=IA5String.h
-ASN_MODULE_SOURCE+=IA5String.c
-ASN_MODULE_SOURCE+=INTEGER.c
-ASN_MODULE_SOURCE+=NativeEnumerated.c
-ASN_MODULE_HEADER+=NativeInteger.h
-ASN_MODULE_SOURCE+=NativeInteger.c
-ASN_MODULE_HEADER+=UTCTime.h
-ASN_MODULE_SOURCE+=UTCTime.c
-ASN_MODULE_HEADER+=VisibleString.h
-ASN_MODULE_SOURCE+=VisibleString.c
-ASN_MODULE_HEADER+=asn_SEQUENCE_OF.h
-ASN_MODULE_SOURCE+=asn_SEQUENCE_OF.c
-ASN_MODULE_HEADER+=asn_SET_OF.h
-ASN_MODULE_SOURCE+=asn_SET_OF.c
-ASN_MODULE_HEADER+=constr_CHOICE.h
-ASN_MODULE_SOURCE+=constr_CHOICE.c
-ASN_MODULE_HEADER+=constr_SEQUENCE.h
-ASN_MODULE_SOURCE+=constr_SEQUENCE.c
-ASN_MODULE_HEADER+=constr_SEQUENCE_OF.h
-ASN_MODULE_SOURCE+=constr_SEQUENCE_OF.c
-ASN_MODULE_HEADER+=constr_SET_OF.h
-ASN_MODULE_SOURCE+=constr_SET_OF.c
-ASN_MODULE_HEADER+=asn_application.h
-ASN_MODULE_HEADER+=asn_system.h
-ASN_MODULE_HEADER+=asn_codecs.h
-ASN_MODULE_HEADER+=asn_internal.h
-ASN_MODULE_HEADER+=OCTET_STRING.h
-ASN_MODULE_SOURCE+=OCTET_STRING.c
-ASN_MODULE_HEADER+=BIT_STRING.h
-ASN_MODULE_SOURCE+=BIT_STRING.c
-ASN_MODULE_SOURCE+=asn_codecs_prim.c
-ASN_MODULE_HEADER+=asn_codecs_prim.h
-ASN_MODULE_HEADER+=ber_tlv_length.h
-ASN_MODULE_SOURCE+=ber_tlv_length.c
-ASN_MODULE_HEADER+=ber_tlv_tag.h
-ASN_MODULE_SOURCE+=ber_tlv_tag.c
-ASN_MODULE_HEADER+=ber_decoder.h
-ASN_MODULE_SOURCE+=ber_decoder.c
-ASN_MODULE_HEADER+=der_encoder.h
-ASN_MODULE_SOURCE+=der_encoder.c
-ASN_MODULE_HEADER+=constr_TYPE.h
-ASN_MODULE_SOURCE+=constr_TYPE.c
-ASN_MODULE_HEADER+=constraints.h
-ASN_MODULE_SOURCE+=constraints.c
-ASN_MODULE_HEADER+=xer_support.h
-ASN_MODULE_SOURCE+=xer_support.c
-ASN_MODULE_HEADER+=xer_decoder.h
-ASN_MODULE_SOURCE+=xer_decoder.c
-ASN_MODULE_HEADER+=xer_encoder.h
-ASN_MODULE_SOURCE+=xer_encoder.c
-ASN_MODULE_HEADER+=per_support.h
-ASN_MODULE_SOURCE+=per_support.c
-ASN_MODULE_HEADER+=per_decoder.h
-ASN_MODULE_SOURCE+=per_decoder.c
-ASN_MODULE_HEADER+=per_encoder.h
-ASN_MODULE_SOURCE+=per_encoder.c
-ASN_MODULE_HEADER+=per_opentype.h
-ASN_MODULE_SOURCE+=per_opentype.c
-
-BUILT_SOURCES = asn1.stamp
-CLEANFILES = asn1.stamp
-
-EXTRA_DIST = asn1c-files.tgz
-
-ASN_MODULE_OBJS = $(ASN_MODULE_SOURCE:.c=.o)
-
-DIST = Makefile asn1c-files.tgz
-
-ifeq ($(strip $(CONF_PRECOMPILED_ASN)),yes)
-ASN1 = asn1-precompiled.stamp
-else
-ASN1 = asn1.stamp
-endif
-
-all: $(ASN1)
- $(MAKE) libs
-
-libs: CFLAGS += $(CONF_ASN_CFLAGS) -I. -fPIC
-
-libs: libasnsupl.a libasnsupl.so
-
-libasnsupl.a: $(ASN_MODULE_OBJS)
- ar rc $@ $(ASN_MODULE_OBJS)
-
-libasnsupl.so: libasnsupl.so.1.0
- ln -sf libasnsupl.so.1 libasnsupl.so
-
-libasnsupl.so.1.0: $(ASN_MODULE_OBJS)
- $(CC) -shared -Wl,-soname,libasnsupl.so.1 -o $@ $^
- ln -sf libasnsupl.so.1.0 libasnsupl.so.1
-
-asn1.stamp: $(ASN1_SOURCE)
- asn1c $(CONF_ASN1C_SKELETONS) -gen-PER $(ASN1_SOURCE)
- touch asn1.stamp
-
-asn1-precompiled.stamp:
- tar xzf asn1c-files.tgz
- touch asn1-precompiled.stamp
-
-asn1c-files.tgz:
- tar zhcf asn1c-files.tgz $(ASN_MODULE_SOURCE) $(ASN_MODULE_HEADER)
-
-distfiles:
- echo $(addprefix src/asn-supl/,$(DIST)) >> $(TOP)/distfiles
-
-clean:
- /bin/rm -f *.o lib*.so* lib*.a *.c *.h *~ *.stamp Makefile.am.sample
-
-.PHONY: clean distfiles asn1c-files.tgz
diff --git a/.svn/pristine/b6/b6dd16077d891747b0f582127fc5875e95f60f19.svn-base b/.svn/pristine/b6/b6dd16077d891747b0f582127fc5875e95f60f19.svn-base
deleted file mode 100644
index b4b8d19..0000000
--- a/.svn/pristine/b6/b6dd16077d891747b0f582127fc5875e95f60f19.svn-base
+++ /dev/null
Binary files differ
diff --git a/.svn/pristine/c0/c0045c48d7eacdf642146f636ee62bc4c64b3e07.svn-base b/.svn/pristine/c0/c0045c48d7eacdf642146f636ee62bc4c64b3e07.svn-base
deleted file mode 100644
index 1e9199e..0000000
--- a/.svn/pristine/c0/c0045c48d7eacdf642146f636ee62bc4c64b3e07.svn-base
+++ /dev/null
@@ -1,549 +0,0 @@
-TOP = ../..
-SUBDIR =
-
-include $(TOP)/config.mk
-
-ASN1_SOURCE = ../rrlp-components.asn ../rrlp-messages.asn
-
-ASN_MODULE_SOURCE= \
- VelocityEstimate.c \
- ExtensionContainer.c \
- Ext-GeographicalInformation.c \
- MsrPosition-Req.c \
- MsrPosition-Rsp.c \
- AssistanceData.c \
- ProtocolError.c \
- PositionInstruct.c \
- MethodType.c \
- AccuracyOpt.c \
- Accuracy.c \
- PositionMethod.c \
- MeasureResponseTime.c \
- UseMultipleSets.c \
- EnvironmentCharacter.c \
- ReferenceAssistData.c \
- BTSPosition.c \
- BCCHCarrier.c \
- BSIC.c \
- TimeSlotScheme.c \
- ModuloTimeSlot.c \
- MsrAssistData.c \
- SeqOfMsrAssistBTS.c \
- MsrAssistBTS.c \
- MultiFrameOffset.c \
- RoughRTD.c \
- SystemInfoAssistData.c \
- SeqOfSystemInfoAssistBTS.c \
- SystemInfoAssistBTS.c \
- AssistBTSData.c \
- CalcAssistanceBTS.c \
- ReferenceWGS84.c \
- FineRTD.c \
- RelDistance.c \
- RelativeAlt.c \
- MultipleSets.c \
- ReferenceRelation.c \
- ReferenceIdentity.c \
- SeqOfReferenceIdentityType.c \
- ReferenceIdentityType.c \
- BSICAndCarrier.c \
- RequestIndex.c \
- SystemInfoIndex.c \
- CellIDAndLAC.c \
- CellID.c \
- LAC.c \
- OTD-MeasureInfo.c \
- SeqOfOTD-MsrElementRest.c \
- OTD-MsrElementFirst.c \
- SeqOfOTD-FirstSetMsrs.c \
- OTD-MsrElementRest.c \
- SeqOfOTD-MsrsOfOtherSets.c \
- TOA-MeasurementsOfRef.c \
- RefQuality.c \
- NumOfMeasurements.c \
- StdResolution.c \
- OTD-FirstSetMsrs.c \
- OTD-MsrsOfOtherSets.c \
- OTD-Measurement.c \
- OTD-MeasurementWithID.c \
- EOTDQuality.c \
- NeighborIdentity.c \
- MultiFrameCarrier.c \
- OTDValue.c \
- LocationInfo.c \
- FixType.c \
- GPS-MeasureInfo.c \
- SeqOfGPS-MsrSetElement.c \
- GPS-MsrSetElement.c \
- GPSTOW24b.c \
- SeqOfGPS-MsrElement.c \
- GPS-MsrElement.c \
- MpathIndic.c \
- LocationError.c \
- LocErrorReason.c \
- AdditionalAssistanceData.c \
- GPSAssistanceData.c \
- GANSSAssistanceData.c \
- ErrorCodes.c \
- GPS-AssistData.c \
- MoreAssDataToBeSent.c \
- ControlHeader.c \
- ReferenceTime.c \
- GPSTime.c \
- GPSTOW23b.c \
- GPSWeek.c \
- GPSTOWAssist.c \
- GPSTOWAssistElement.c \
- TLMWord.c \
- AntiSpoofFlag.c \
- AlertFlag.c \
- TLMReservedBits.c \
- GSMTime.c \
- FrameNumber.c \
- TimeSlot.c \
- BitNumber.c \
- RefLocation.c \
- DGPSCorrections.c \
- SeqOfSatElement.c \
- SatElement.c \
- SatelliteID.c \
- NavigationModel.c \
- SeqOfNavModelElement.c \
- NavModelElement.c \
- SatStatus.c \
- UncompressedEphemeris.c \
- EphemerisSubframe1Reserved.c \
- IonosphericModel.c \
- UTCModel.c \
- Almanac.c \
- SeqOfAlmanacElement.c \
- AlmanacElement.c \
- AcquisAssist.c \
- SeqOfAcquisElement.c \
- TimeRelation.c \
- AcquisElement.c \
- AddionalDopplerFields.c \
- AddionalAngleFields.c \
- SeqOf-BadSatelliteSet.c \
- Rel98-MsrPosition-Req-Extension.c \
- Rel98-AssistanceData-Extension.c \
- Rel98-Ext-ExpOTD.c \
- MsrAssistData-R98-ExpOTD.c \
- SeqOfMsrAssistBTS-R98-ExpOTD.c \
- MsrAssistBTS-R98-ExpOTD.c \
- SystemInfoAssistData-R98-ExpOTD.c \
- SeqOfSystemInfoAssistBTS-R98-ExpOTD.c \
- SystemInfoAssistBTS-R98-ExpOTD.c \
- AssistBTSData-R98-ExpOTD.c \
- ExpectedOTD.c \
- ExpOTDUncertainty.c \
- GPSReferenceTimeUncertainty.c \
- GPSTimeAssistanceMeasurements.c \
- Rel-98-MsrPosition-Rsp-Extension.c \
- OTD-MeasureInfo-R98-Ext.c \
- OTD-MsrElementFirst-R98-Ext.c \
- SeqOfOTD-FirstSetMsrs-R98-Ext.c \
- Rel-5-MsrPosition-Rsp-Extension.c \
- Extended-reference.c \
- OTD-MeasureInfo-5-Ext.c \
- UlPseudoSegInd.c \
- Rel5-MsrPosition-Req-Extension.c \
- Rel5-AssistanceData-Extension.c \
- Rel-5-ProtocolError-Extension.c \
- Rel7-MsrPosition-Req-Extension.c \
- GANSSPositioningMethod.c \
- GANSS-AssistData.c \
- GANSS-ControlHeader.c \
- GANSSCommonAssistData.c \
- SeqOfGANSSGenericAssistDataElement.c \
- GANSSGenericAssistDataElement.c \
- GANSSReferenceTime.c \
- GANSSRefTimeInfo.c \
- GANSSTOD.c \
- GANSSTODUncertainty.c \
- GANSSTOD-GSMTimeAssociation.c \
- FrameDrift.c \
- GANSSRefLocation.c \
- GANSSIonosphericModel.c \
- GANSSIonosphereModel.c \
- GANSSIonoStormFlags.c \
- SeqOfGANSSTimeModel.c \
- GANSSTimeModelElement.c \
- TA0.c \
- TA1.c \
- TA2.c \
- GANSSDiffCorrections.c \
- SeqOfSgnTypeElement.c \
- SgnTypeElement.c \
- GANSSSignalID.c \
- SeqOfDGANSSSgnElement.c \
- DGANSSSgnElement.c \
- SVID.c \
- GANSSNavModel.c \
- SeqOfGANSSSatelliteElement.c \
- GANSSSatelliteElement.c \
- GANSSOrbitModel.c \
- NavModel-KeplerianSet.c \
- GANSSClockModel.c \
- SeqOfStandardClockModelElement.c \
- StandardClockModelElement.c \
- GANSSRealTimeIntegrity.c \
- SeqOfBadSignalElement.c \
- BadSignalElement.c \
- GANSSDataBitAssist.c \
- SeqOf-GANSSDataBits.c \
- GANSSDataBit.c \
- GANSSRefMeasurementAssist.c \
- SeqOfGANSSRefMeasurementElement.c \
- GANSSRefMeasurementElement.c \
- AdditionalDopplerFields.c \
- GANSSAlmanacModel.c \
- SVIDMASK.c \
- SeqOfGANSSAlmanacElement.c \
- GANSSAlmanacElement.c \
- Almanac-KeplerianSet.c \
- GANSSUTCModel.c \
- RequiredResponseTime.c \
- Rel-7-MsrPosition-Rsp-Extension.c \
- GANSSLocationInfo.c \
- PositionData.c \
- GANSSTODm.c \
- ReferenceFrame.c \
- GANSSMeasureInfo.c \
- SeqOfGANSS-MsrSetElement.c \
- GANSS-MsrSetElement.c \
- SeqOfGANSS-SgnTypeElement.c \
- GANSS-SgnTypeElement.c \
- SeqOfGANSS-SgnElement.c \
- GANSS-SgnElement.c \
- Rel7-AssistanceData-Extension.c \
- PDU.c \
- RRLP-Component.c
-
-ASN_MODULE_HEADER= \
- VelocityEstimate.h \
- ExtensionContainer.h \
- Ext-GeographicalInformation.h \
- MsrPosition-Req.h \
- MsrPosition-Rsp.h \
- AssistanceData.h \
- ProtocolError.h \
- PositionInstruct.h \
- MethodType.h \
- AccuracyOpt.h \
- Accuracy.h \
- PositionMethod.h \
- MeasureResponseTime.h \
- UseMultipleSets.h \
- EnvironmentCharacter.h \
- ReferenceAssistData.h \
- BTSPosition.h \
- BCCHCarrier.h \
- BSIC.h \
- TimeSlotScheme.h \
- ModuloTimeSlot.h \
- MsrAssistData.h \
- SeqOfMsrAssistBTS.h \
- MsrAssistBTS.h \
- MultiFrameOffset.h \
- RoughRTD.h \
- SystemInfoAssistData.h \
- SeqOfSystemInfoAssistBTS.h \
- SystemInfoAssistBTS.h \
- AssistBTSData.h \
- CalcAssistanceBTS.h \
- ReferenceWGS84.h \
- FineRTD.h \
- RelDistance.h \
- RelativeAlt.h \
- MultipleSets.h \
- ReferenceRelation.h \
- ReferenceIdentity.h \
- SeqOfReferenceIdentityType.h \
- ReferenceIdentityType.h \
- BSICAndCarrier.h \
- RequestIndex.h \
- SystemInfoIndex.h \
- CellIDAndLAC.h \
- CellID.h \
- LAC.h \
- OTD-MeasureInfo.h \
- SeqOfOTD-MsrElementRest.h \
- OTD-MsrElementFirst.h \
- SeqOfOTD-FirstSetMsrs.h \
- OTD-MsrElementRest.h \
- SeqOfOTD-MsrsOfOtherSets.h \
- TOA-MeasurementsOfRef.h \
- RefQuality.h \
- NumOfMeasurements.h \
- StdResolution.h \
- OTD-FirstSetMsrs.h \
- OTD-MsrsOfOtherSets.h \
- OTD-Measurement.h \
- OTD-MeasurementWithID.h \
- EOTDQuality.h \
- NeighborIdentity.h \
- MultiFrameCarrier.h \
- OTDValue.h \
- LocationInfo.h \
- FixType.h \
- GPS-MeasureInfo.h \
- SeqOfGPS-MsrSetElement.h \
- GPS-MsrSetElement.h \
- GPSTOW24b.h \
- SeqOfGPS-MsrElement.h \
- GPS-MsrElement.h \
- MpathIndic.h \
- LocationError.h \
- LocErrorReason.h \
- AdditionalAssistanceData.h \
- GPSAssistanceData.h \
- GANSSAssistanceData.h \
- ErrorCodes.h \
- GPS-AssistData.h \
- MoreAssDataToBeSent.h \
- ControlHeader.h \
- ReferenceTime.h \
- GPSTime.h \
- GPSTOW23b.h \
- GPSWeek.h \
- GPSTOWAssist.h \
- GPSTOWAssistElement.h \
- TLMWord.h \
- AntiSpoofFlag.h \
- AlertFlag.h \
- TLMReservedBits.h \
- GSMTime.h \
- FrameNumber.h \
- TimeSlot.h \
- BitNumber.h \
- RefLocation.h \
- DGPSCorrections.h \
- SeqOfSatElement.h \
- SatElement.h \
- SatelliteID.h \
- NavigationModel.h \
- SeqOfNavModelElement.h \
- NavModelElement.h \
- SatStatus.h \
- UncompressedEphemeris.h \
- EphemerisSubframe1Reserved.h \
- IonosphericModel.h \
- UTCModel.h \
- Almanac.h \
- SeqOfAlmanacElement.h \
- AlmanacElement.h \
- AcquisAssist.h \
- SeqOfAcquisElement.h \
- TimeRelation.h \
- AcquisElement.h \
- AddionalDopplerFields.h \
- AddionalAngleFields.h \
- SeqOf-BadSatelliteSet.h \
- Rel98-MsrPosition-Req-Extension.h \
- Rel98-AssistanceData-Extension.h \
- Rel98-Ext-ExpOTD.h \
- MsrAssistData-R98-ExpOTD.h \
- SeqOfMsrAssistBTS-R98-ExpOTD.h \
- MsrAssistBTS-R98-ExpOTD.h \
- SystemInfoAssistData-R98-ExpOTD.h \
- SeqOfSystemInfoAssistBTS-R98-ExpOTD.h \
- SystemInfoAssistBTS-R98-ExpOTD.h \
- AssistBTSData-R98-ExpOTD.h \
- ExpectedOTD.h \
- ExpOTDUncertainty.h \
- GPSReferenceTimeUncertainty.h \
- GPSTimeAssistanceMeasurements.h \
- Rel-98-MsrPosition-Rsp-Extension.h \
- OTD-MeasureInfo-R98-Ext.h \
- OTD-MsrElementFirst-R98-Ext.h \
- SeqOfOTD-FirstSetMsrs-R98-Ext.h \
- Rel-5-MsrPosition-Rsp-Extension.h \
- Extended-reference.h \
- OTD-MeasureInfo-5-Ext.h \
- UlPseudoSegInd.h \
- Rel5-MsrPosition-Req-Extension.h \
- Rel5-AssistanceData-Extension.h \
- Rel-5-ProtocolError-Extension.h \
- Rel7-MsrPosition-Req-Extension.h \
- GANSSPositioningMethod.h \
- GANSS-AssistData.h \
- GANSS-ControlHeader.h \
- GANSSCommonAssistData.h \
- SeqOfGANSSGenericAssistDataElement.h \
- GANSSGenericAssistDataElement.h \
- GANSSReferenceTime.h \
- GANSSRefTimeInfo.h \
- GANSSTOD.h \
- GANSSTODUncertainty.h \
- GANSSTOD-GSMTimeAssociation.h \
- FrameDrift.h \
- GANSSRefLocation.h \
- GANSSIonosphericModel.h \
- GANSSIonosphereModel.h \
- GANSSIonoStormFlags.h \
- SeqOfGANSSTimeModel.h \
- GANSSTimeModelElement.h \
- TA0.h \
- TA1.h \
- TA2.h \
- GANSSDiffCorrections.h \
- SeqOfSgnTypeElement.h \
- SgnTypeElement.h \
- GANSSSignalID.h \
- SeqOfDGANSSSgnElement.h \
- DGANSSSgnElement.h \
- SVID.h \
- GANSSNavModel.h \
- SeqOfGANSSSatelliteElement.h \
- GANSSSatelliteElement.h \
- GANSSOrbitModel.h \
- NavModel-KeplerianSet.h \
- GANSSClockModel.h \
- SeqOfStandardClockModelElement.h \
- StandardClockModelElement.h \
- GANSSRealTimeIntegrity.h \
- SeqOfBadSignalElement.h \
- BadSignalElement.h \
- GANSSDataBitAssist.h \
- SeqOf-GANSSDataBits.h \
- GANSSDataBit.h \
- GANSSRefMeasurementAssist.h \
- SeqOfGANSSRefMeasurementElement.h \
- GANSSRefMeasurementElement.h \
- AdditionalDopplerFields.h \
- GANSSAlmanacModel.h \
- SVIDMASK.h \
- SeqOfGANSSAlmanacElement.h \
- GANSSAlmanacElement.h \
- Almanac-KeplerianSet.h \
- GANSSUTCModel.h \
- RequiredResponseTime.h \
- Rel-7-MsrPosition-Rsp-Extension.h \
- GANSSLocationInfo.h \
- PositionData.h \
- GANSSTODm.h \
- ReferenceFrame.h \
- GANSSMeasureInfo.h \
- SeqOfGANSS-MsrSetElement.h \
- GANSS-MsrSetElement.h \
- SeqOfGANSS-SgnTypeElement.h \
- GANSS-SgnTypeElement.h \
- SeqOfGANSS-SgnElement.h \
- GANSS-SgnElement.h \
- Rel7-AssistanceData-Extension.h \
- PDU.h \
- RRLP-Component.h
-
-ASN_MODULE_HEADER+=BOOLEAN.h
-ASN_MODULE_SOURCE+=BOOLEAN.c
-ASN_MODULE_HEADER+=ENUMERATED.h
-ASN_MODULE_SOURCE+=ENUMERATED.c
-ASN_MODULE_HEADER+=INTEGER.h
-ASN_MODULE_HEADER+=NativeEnumerated.h
-ASN_MODULE_SOURCE+=INTEGER.c
-ASN_MODULE_HEADER+=NULL.h
-ASN_MODULE_SOURCE+=NULL.c
-ASN_MODULE_SOURCE+=NativeEnumerated.c
-ASN_MODULE_HEADER+=NativeInteger.h
-ASN_MODULE_SOURCE+=NativeInteger.c
-ASN_MODULE_HEADER+=asn_SEQUENCE_OF.h
-ASN_MODULE_SOURCE+=asn_SEQUENCE_OF.c
-ASN_MODULE_HEADER+=asn_SET_OF.h
-ASN_MODULE_SOURCE+=asn_SET_OF.c
-ASN_MODULE_HEADER+=constr_CHOICE.h
-ASN_MODULE_SOURCE+=constr_CHOICE.c
-ASN_MODULE_HEADER+=constr_SEQUENCE.h
-ASN_MODULE_SOURCE+=constr_SEQUENCE.c
-ASN_MODULE_HEADER+=constr_SEQUENCE_OF.h
-ASN_MODULE_SOURCE+=constr_SEQUENCE_OF.c
-ASN_MODULE_HEADER+=constr_SET_OF.h
-ASN_MODULE_SOURCE+=constr_SET_OF.c
-ASN_MODULE_HEADER+=asn_application.h
-ASN_MODULE_HEADER+=asn_system.h
-ASN_MODULE_HEADER+=asn_codecs.h
-ASN_MODULE_HEADER+=asn_internal.h
-ASN_MODULE_HEADER+=OCTET_STRING.h
-ASN_MODULE_SOURCE+=OCTET_STRING.c
-ASN_MODULE_HEADER+=BIT_STRING.h
-ASN_MODULE_SOURCE+=BIT_STRING.c
-ASN_MODULE_SOURCE+=asn_codecs_prim.c
-ASN_MODULE_HEADER+=asn_codecs_prim.h
-ASN_MODULE_HEADER+=ber_tlv_length.h
-ASN_MODULE_SOURCE+=ber_tlv_length.c
-ASN_MODULE_HEADER+=ber_tlv_tag.h
-ASN_MODULE_SOURCE+=ber_tlv_tag.c
-ASN_MODULE_HEADER+=ber_decoder.h
-ASN_MODULE_SOURCE+=ber_decoder.c
-ASN_MODULE_HEADER+=der_encoder.h
-ASN_MODULE_SOURCE+=der_encoder.c
-ASN_MODULE_HEADER+=constr_TYPE.h
-ASN_MODULE_SOURCE+=constr_TYPE.c
-ASN_MODULE_HEADER+=constraints.h
-ASN_MODULE_SOURCE+=constraints.c
-ASN_MODULE_HEADER+=xer_support.h
-ASN_MODULE_SOURCE+=xer_support.c
-ASN_MODULE_HEADER+=xer_decoder.h
-ASN_MODULE_SOURCE+=xer_decoder.c
-ASN_MODULE_HEADER+=xer_encoder.h
-ASN_MODULE_SOURCE+=xer_encoder.c
-ASN_MODULE_HEADER+=per_support.h
-ASN_MODULE_SOURCE+=per_support.c
-ASN_MODULE_HEADER+=per_decoder.h
-ASN_MODULE_SOURCE+=per_decoder.c
-ASN_MODULE_HEADER+=per_encoder.h
-ASN_MODULE_SOURCE+=per_encoder.c
-ASN_MODULE_HEADER+=per_opentype.h
-ASN_MODULE_SOURCE+=per_opentype.c
-
-BUILT_SOURCE = asn1.stamp
-CLEANFILES = asn1.stamp
-
-EXTRA_DIST = asn1c-files.tgz
-
-ASN_MODULE_OBJS = $(ASN_MODULE_SOURCE:.c=.o)
-
-DIST = Makefile asn1c-files.tgz
-
-ifeq ($(strip $(CONF_PRECOMPILED_ASN)),yes)
-ASN1 = asn1-precompiled.stamp
-else
-ASN1 = asn1.stamp
-endif
-
-all: $(ASN1)
- $(MAKE) libs
-
-libs: CFLAGS += $(CONF_ASN_CFLAGS) -I. -fPIC
-
-libs: libasnrrlp.a libasnrrlp.so
-
-libasnrrlp.a: $(ASN_MODULE_OBJS)
- ar rc $@ $(ASN_MODULE_OBJS)
-
-libasnrrlp.so: libasnrrlp.so.1.0
- ln -sf libasnrrlp.so.1 libasnrrlp.so
-
-libasnrrlp.so.1.0: $(ASN_MODULE_OBJS)
- $(CC) -shared -Wl,-soname,libasnrrlp.so.1 -o $@ $^
- ln -sf libasnrrlp.so.1.0 libasnrrlp.so.1
-
-asn1.stamp: $(ASN1_SOURCE)
- asn1c $(CONF_ASN1C_SKELETONS) -gen-PER $(ASN1_SOURCE)
- touch asn1.stamp
-
-asn1-precompiled.stamp:
- tar xzf asn1c-files.tgz
- touch asn1-precompiled.stamp
-
-asn1c-files.tgz:
- tar zhcf asn1c-files.tgz $(ASN_MODULE_SOURCE) $(ASN_MODULE_HEADER)
-
-distfiles:
- echo $(addprefix src/asn-rrlp/,$(DIST)) >> $(TOP)/distfiles
-
-clean:
- /bin/rm -f *.o lib*.so* lib*.a *.c *.h *~ *.stamp Makefile.am.sample
-
-.PHONY: clean distfiles asn1c-files asn1c-files.tgz
-
diff --git a/.svn/pristine/c5/c5c6ef224a25dc7f08a48db4976c9f5693c74e43.svn-base b/.svn/pristine/c5/c5c6ef224a25dc7f08a48db4976c9f5693c74e43.svn-base
deleted file mode 100644
index a5320b3..0000000
--- a/.svn/pristine/c5/c5c6ef224a25dc7f08a48db4976c9f5693c74e43.svn-base
+++ /dev/null
@@ -1,114 +0,0 @@
-.\"EMACS: -*- nroff -*-
-
-.TH SUPL-CLIENT 1 "version 1.0"
-.SH NAME
-supl-client \- client to get GPS assistance data from SUPL server
-.SH SYNOPISIS
-.B supl-client
-[OPTIONS...] \fIsupl-server\fP
-.br
-.SH DESCRIPTION
-\fBsupl-client\fP connects over the Internet to the SUPL
-\fIsupl-server\fP (default supl.nokia.com) TCP/IP port 7275 and sends
-SUPL/RRLP request over the Internet to get GPS assistance data, such
-as almanac and ephemeris.
-.SH OPTIONS
-.TP
-.B \-\-cell=gsm:\fIMMC\fP,\fIMNS\fP,\fILAC\fP,\fIci\FP
-Client position estimate based on GSM cellular tower identification.
-.TP
-.B \-\-cell=wcdma:\fIMMC\fP,\fIMNS\fP,\fIUC\FP
-Client position estimate based on WCDMA cellular tower identification.
-.TP
-.B \-\-cell=gsm:\fIMMC\fP,\fIMNS\fP,\fILAC\fP,\fIci\fP:\fIlat\fP,\fIlon\fP,\fIuncertainty\fP
-Client position estimate based on GSM cellular tower identification
-with position update of the tower.
-.TP
-.B \-\-format human
-Output format for the received GPS assistance data. Format argument
-\fIhuman\fP specifies somewhat more human parseable output format. The
-default format more suitable for machines.
-.TP
-.B \-t 0|1|2|3
-These options allows to test client by using some sane defaults. Most
-likely the output is not useful as the location given the SUPL server
-does not agree your current location.
-.SH EXAMPLES
-
-.nf
-supl-client --cell=gsm:244,5:0x59e2,0x31b0:60.169995,24.939995,127
-supl-client --cell=gsm:244,5:0x59e2,0x31b0
-supl-client -t 3 --format human
-.fi
-.SH OUTPUT FORMAT
-The default output format consists of lines prefixed with a letter
-indicating the type of the line followed by space separated
-values. For the meaning of most of the parameters see GPS documentation.
-
-\fBT\fP Reference time
-.br
-.B T gps_week gps_tow timestamp_sec timestamp_usec
-
-\fBU\fP UTC time
-.br
-.B U a0 a1 delta_tls tot wnt wnlsf dn delta_tlsf
-
-\fBL\fP Reference location
-.br
-.B L lat lon uncertainty
-.br
-Position estimate (lat,lon) and position uncertainty of the client
-given by the SUPL server.
-
-\fBI\fP Ionospheric model
-.br
-.B I a0 a1 a2 b0 b1 b2 b3
-
-\fBE\fP Epemeris date per satellite
-.br
-.B E prn delta_n M0 A_sqrt OMEGA_0 i0 w OMEGA_dot i_dot e
-.B Cuc Cus Crc Crs Cic Cis toe IODC toc AF0 AF1 AF2
-.B bits ura health tgd AODA
-.br
-The ephemeris line is repeated for every GPS satellite.
-
-\fBA\fP Almanac data
-.br
-.B A prn e toa Ksii OMEGA_dot A_sqrt OMEGA_0 w M0 AF0 AF1
-.br
-The almanac line is repeated for every GPS satellite.
-
-.SH NOTES
-Some SUPL servers may be very picky if given the position estimate of
-the cell tower and may simply not give any output. Just try with it.
-
-Cellular cell paramaters can be found from a cellular phone with the
-following AT-commands
-
-.nf
-at+cops?
-+COPS: 0,2,"24405",2
-OK
-at+creg=2
-OK
-at+creg?
-+CREG: 2,1,"59E2","31B0"
-OK
-at+creg=0
-OK
-.fi
-
-Here the needed values for \fIcell\fP option are then:
-
-.nf
-MCC = 244
-MCN = 05
-LAC = 0x59e2
-CI = 0x31b0
-.fi
-.SH BUGS
-Please send any comments or bug reports to \fBtatu -at- tajuma.com\fP.
-.SH HOMEPAGE
-http://www.tajuma.com/supl
-.SH AUTHOR
-Tatu Männistö <tatu -at- tajuma.com>
diff --git a/.svn/pristine/c6/c6d29c4c092b0eefb3e2cadbaeca039b656d3e9e.svn-base b/.svn/pristine/c6/c6d29c4c092b0eefb3e2cadbaeca039b656d3e9e.svn-base
deleted file mode 100644
index c0ce4a9..0000000
--- a/.svn/pristine/c6/c6d29c4c092b0eefb3e2cadbaeca039b656d3e9e.svn-base
+++ /dev/null
@@ -1,54 +0,0 @@
-SUPL-POS-INIT DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-EXPORTS SUPLPOSINIT;
-
-IMPORTS
- SUPLPOS
- FROM SUPL-POS
- SETCapabilities
- FROM SUPL-START
- LocationId, Position, Ver
- FROM ULP-Components;
-
-SUPLPOSINIT ::= SEQUENCE {
- sETCapabilities SETCapabilities,
- requestedAssistData RequestedAssistData OPTIONAL,
- locationId LocationId,
- position Position OPTIONAL,
- sUPLPOS SUPLPOS OPTIONAL,
- ver Ver OPTIONAL,
- ...}
-
-RequestedAssistData ::= SEQUENCE {
- almanacRequested BOOLEAN,
- utcModelRequested BOOLEAN,
- ionosphericModelRequested BOOLEAN,
- dgpsCorrectionsRequested BOOLEAN,
- referenceLocationRequested BOOLEAN,
- referenceTimeRequested BOOLEAN,
- acquisitionAssistanceRequested BOOLEAN,
- realTimeIntegrityRequested BOOLEAN,
- navigationModelRequested BOOLEAN,
- navigationModelData XNavigationModel OPTIONAL,
- ...}
-
--- name clash with RRLP stuff
-XNavigationModel ::= SEQUENCE {
- gpsWeek INTEGER(0..1023),
- gpsToe INTEGER(0..167),
- nSAT INTEGER(0..31),
- toeLimit INTEGER(0..10),
- satInfo SatelliteInfo OPTIONAL,
- ...}
-
--- Further information on this fields can be found
--- in 3GPP TS 44.031 and 49.031
-SatelliteInfo ::= SEQUENCE (SIZE (1..31)) OF SatelliteInfoElement
-
-SatelliteInfoElement ::= SEQUENCE {
- satId INTEGER(0..63),
- iODE INTEGER(0..255),
- ...}
-
-END
diff --git a/.svn/pristine/d1/d129322f1c542d746152eea3bfc700cc38cb45e3.svn-base b/.svn/pristine/d1/d129322f1c542d746152eea3bfc700cc38cb45e3.svn-base
deleted file mode 100644
index 643d41d..0000000
--- a/.svn/pristine/d1/d129322f1c542d746152eea3bfc700cc38cb45e3.svn-base
+++ /dev/null
@@ -1,15 +0,0 @@
-SUPL-END DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-EXPORTS SUPLEND;
-
-IMPORTS StatusCode, Position, Ver
- FROM ULP-Components;
-
-SUPLEND ::= SEQUENCE {
- position Position OPTIONAL,
- statusCode StatusCode OPTIONAL,
- ver Ver OPTIONAL,
- ...}
-
-END
diff --git a/.svn/pristine/d1/d1cf9cebc716bd3cba3d3031af8e192782a89031.svn-base b/.svn/pristine/d1/d1cf9cebc716bd3cba3d3031af8e192782a89031.svn-base
deleted file mode 100644
index 1637ca8..0000000
--- a/.svn/pristine/d1/d1cf9cebc716bd3cba3d3031af8e192782a89031.svn-base
+++ /dev/null
@@ -1,25 +0,0 @@
-
-Copyright (c) 2007 Tatu Mannisto <tatu -a-t- tajuma -d-o-t- com>
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
diff --git a/.svn/pristine/d3/d3964f9dad9f60363c81b688324d95b4ec7c8038.svn-base b/.svn/pristine/d3/d3964f9dad9f60363c81b688324d95b4ec7c8038.svn-base
deleted file mode 100644
index 7f8f011..0000000
--- a/.svn/pristine/d3/d3964f9dad9f60363c81b688324d95b4ec7c8038.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-7
diff --git a/.svn/pristine/d6/d61ef4b15cdd349fb908dd6f5ec2e792f53d89d8.svn-base b/.svn/pristine/d6/d61ef4b15cdd349fb908dd6f5ec2e792f53d89d8.svn-base
deleted file mode 100644
index af12df2..0000000
--- a/.svn/pristine/d6/d61ef4b15cdd349fb908dd6f5ec2e792f53d89d8.svn-base
+++ /dev/null
@@ -1,12 +0,0 @@
-usr/include/supl.h
-usr/lib/libsupl.so
-usr/lib/libsupl.so.1
-usr/lib/libsupl.so.1.0
-usr/lib/libasnrrlp.a
-usr/lib/libasnrrlp.so
-usr/lib/libasnrrlp.so.1
-usr/lib/libasnrrlp.so.1.0
-usr/lib/libasnsupl.a
-usr/lib/libasnsupl.so
-usr/lib/libasnsupl.so.1
-usr/lib/libasnsupl.so.1.0
diff --git a/.svn/pristine/d8/d89274fedb214dafe992b9a8f88d79cc8e82d5a5.svn-base b/.svn/pristine/d8/d89274fedb214dafe992b9a8f88d79cc8e82d5a5.svn-base
deleted file mode 100644
index 7e6ec70..0000000
--- a/.svn/pristine/d8/d89274fedb214dafe992b9a8f88d79cc8e82d5a5.svn-base
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2007 Tatu Mannisto <tatu -a-t- tajuma -d-o-t- com>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- */
diff --git a/.svn/pristine/da/da39a3ee5e6b4b0d3255bfef95601890afd80709.svn-base b/.svn/pristine/da/da39a3ee5e6b4b0d3255bfef95601890afd80709.svn-base
deleted file mode 100644
index e69de29..0000000
--- a/.svn/pristine/da/da39a3ee5e6b4b0d3255bfef95601890afd80709.svn-base
+++ /dev/null
diff --git a/.svn/pristine/dc/dc997cb0a576d43649a7c44cab71d891768a9780.svn-base b/.svn/pristine/dc/dc997cb0a576d43649a7c44cab71d891768a9780.svn-base
deleted file mode 100644
index 14ed939..0000000
--- a/.svn/pristine/dc/dc997cb0a576d43649a7c44cab71d891768a9780.svn-base
+++ /dev/null
@@ -1,1502 +0,0 @@
-RRLP-Components
--- { RRLP-Components }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
---IMPORTS
--- Ext-GeographicalInformation , VelocityEstimate
---FROM
--- MAP-LCS-DataTypes {
--- ccitt identified-organization (4) etsi (0) mobileDomain (0)
--- gsm-Network (1) modules (3) map-LCS-DataTypes (25) version5 (5)}
---
--- ExtensionContainer
---FROM MAP-ExtensionDataTypes {
--- ccitt identified-organization (4) etsi (0) mobileDomain (0)
--- gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version4 (4)}
---;
-
-VelocityEstimate ::= INTEGER
-ExtensionContainer ::= INTEGER
-
--- Add here other ASN.1 definitions presented below
--- in chapters 4 and 5.
-
--- add this definition to RRLP-Components module
-
--- Measurement Position request component
-MsrPosition-Req ::= SEQUENCE {
- positionInstruct PositionInstruct,
- referenceAssistData ReferenceAssistData OPTIONAL,
- msrAssistData MsrAssistData OPTIONAL,
- systemInfoAssistData SystemInfoAssistData OPTIONAL,
- gps-AssistData GPS-AssistData OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- -- Release 98 extension element
-rel98-MsrPosition-Req-extension Rel98-MsrPosition-Req-Extension OPTIONAL,
- -- Release 5 extension element
-rel5-MsrPosition-Req-extension Rel5-MsrPosition-Req-Extension OPTIONAL
- -- Release 7 extension element
--- rel7-MsrPosition-Req-extension Rel7-MsrPosition-Req-Extension OPTIONAL
-}
-
-
--- add this defintion to RRLP-Components module
-
--- Measurement Position response component
-MsrPosition-Rsp ::= SEQUENCE {
- multipleSets MultipleSets OPTIONAL,
- referenceIdentity ReferenceIdentity OPTIONAL,
- otd-MeasureInfo OTD-MeasureInfo OPTIONAL,
- locationInfo LocationInfo OPTIONAL,
- gps-MeasureInfo GPS-MeasureInfo OPTIONAL,
- locationError LocationError OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- -- Release extension here
- rel-98-MsrPosition-Rsp-Extension
- Rel-98-MsrPosition-Rsp-Extension OPTIONAL,
- rel-5-MsrPosition-Rsp-Extension
- Rel-5-MsrPosition-Rsp-Extension OPTIONAL
- -- rel-5-MsrPosition-Rsp-Extension and other possible future extensions
- -- are the only information elements that may be included in the 2nd
- -- MsrPosition-Rsp component when RRLP pseudo-segmentation is
--- rel-7-MsrPosition-Rsp-Extension Rel-7-MsrPosition-Rsp-Extension OPTIONAL
-}
-
-
--- add this defintion to RRLP-Components module
-
--- Assistance Data component
-AssistanceData ::= SEQUENCE {
- referenceAssistData ReferenceAssistData OPTIONAL,
- msrAssistData MsrAssistData OPTIONAL,
- systemInfoAssistData SystemInfoAssistData OPTIONAL,
- gps-AssistData GPS-AssistData OPTIONAL,
- moreAssDataToBeSent MoreAssDataToBeSent OPTIONAL, -- If not present, interpret as only
- -- Assistance Data component used to
- -- deliver entire set of assistance
- -- data.
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- -- Release extension here
- rel98-AssistanceData-Extension Rel98-AssistanceData-Extension OPTIONAL,
- rel5-AssistanceData-Extension Rel5-AssistanceData-Extension OPTIONAL
--- rel7-AssistanceData-Extension Rel7-AssistanceData-Extension OPTIONAL
-}
-
-
--- add this defintion to RRLP-Components module
-
--- Protocol Error component
-ProtocolError ::= SEQUENCE {
- errorCause ErrorCodes,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- -- Release extensions here
- rel-5-ProtocolError-Extension Rel-5-ProtocolError-Extension OPTIONAL
-}
-
-
--- add these defintions to RRLP-Components module
--- Position instructions
-PositionInstruct ::= SEQUENCE {
- -- Method type
- methodType MethodType,
- positionMethod PositionMethod,
- measureResponseTime MeasureResponseTime,
- useMultipleSets UseMultipleSets,
- environmentCharacter EnvironmentCharacter OPTIONAL
-}
-
---
-MethodType ::= CHOICE {
- msAssisted AccuracyOpt, -- accuracy is optional
- msBased Accuracy, -- accuracy is mandatory
- msBasedPref Accuracy, -- accuracy is mandatory
- msAssistedPref Accuracy -- accuracy is mandatory
-}
-
--- Accuracy of the location estimation
-AccuracyOpt ::= SEQUENCE {
- accuracy Accuracy OPTIONAL
-}
-
--- The values of this field are defined in 3GPP TS 23.032 (Uncertainty code)
-Accuracy ::= INTEGER (0..127)
-
--- Position Method
-PositionMethod ::= ENUMERATED {
- eotd (0),
- gps (1),
- gpsOrEOTD (2)
-}
-
--- Measurement request response time
-MeasureResponseTime ::= INTEGER (0..7)
-
--- useMultiple Sets, FFS!
-UseMultipleSets ::= ENUMERATED {
- multipleSets (0), -- multiple sets are allowed
- oneSet (1) -- sending of multiple is not allowed
-}
-
--- Environment characterization
-EnvironmentCharacter ::= ENUMERATED {
- badArea (0), -- bad urban or suburban, heavy multipath and NLOS
- notBadArea (1), -- light multipath and NLOS
- mixedArea (2), -- not defined or mixed environment
- ...
-}
-
--- E-OTD reference BTS for Assitance data IE
-ReferenceAssistData ::= SEQUENCE {
- bcchCarrier BCCHCarrier, -- BCCH carrier
- bsic BSIC, -- BSIC
- timeSlotScheme TimeSlotScheme, -- Timeslot scheme
- btsPosition BTSPosition OPTIONAL
-}
-
-
--- ellipsoid point and
--- ellipsoid point with altitude and uncertainty ellipsoid shapes are supported
-BTSPosition ::= Ext-GeographicalInformation
-
--- RF channel number of BCCH
-BCCHCarrier ::= INTEGER (0..1023)
-
--- Base station Identity Code
-BSIC ::= INTEGER (0..63)
-
--- Timeslot scheme
-TimeSlotScheme ::= ENUMERATED {
- equalLength (0),
- variousLength (1)
-}
-
--- Time slot (modulo)
-ModuloTimeSlot ::= INTEGER (0..3)
-
--- E-OTD measurement assistance data IE
--- The total number of neighbors in this element (MsrAssistData)
--- and in SystemInfoAssistData element (presented neighbors
--- can be at a maximum 15!)
-MsrAssistData ::= SEQUENCE {
- msrAssistList SeqOfMsrAssistBTS
-}
-SeqOfMsrAssistBTS ::= SEQUENCE (SIZE(1..15)) OF MsrAssistBTS
-
-MsrAssistBTS ::= SEQUENCE {
- bcchCarrier BCCHCarrier, -- BCCH carrier
- bsic BSIC, -- BSIC
- multiFrameOffset MultiFrameOffset, -- multiframe offset
- timeSlotScheme TimeSlotScheme, -- Timeslot scheme
- roughRTD RoughRTD, -- rough RTD value
-
- -- Location Calculation Assistance data is moved here
- calcAssistanceBTS CalcAssistanceBTS OPTIONAL
-}
-
--- Multiframe offset
-MultiFrameOffset ::= INTEGER (0..51)
--- The Multiframe Offset value 51 shall not be encoded by the transmitting entity and
--- shall be treated by the receiving entity as 0.
-
--- Rough RTD value between one base station and reference BTS
-RoughRTD ::= INTEGER (0..1250)
--- The RoughRTD value 1250 shall not be encoded by the transmitting entity and shall
--- be treated by the receiving entity as 0.
-
--- E-OTD Measurement assistance data for system information List IE
--- The total number of base stations in this element (SystemInfoAssistData
--- presented neighbors) and in MsrAssistData element can be at a maximum 15.
-SystemInfoAssistData ::= SEQUENCE {
- systemInfoAssistList SeqOfSystemInfoAssistBTS
-}
-SeqOfSystemInfoAssistBTS::= SEQUENCE (SIZE(1..32)) OF SystemInfoAssistBTS
-
--- whether n.th is present or not ?
-SystemInfoAssistBTS ::= CHOICE {
- notPresent NULL,
- present AssistBTSData
-}
-
--- Actual assistance data for system information base station
-AssistBTSData ::= SEQUENCE {
- bsic BSIC, -- BSIC
- multiFrameOffset MultiFrameOffset, -- multiframe offset
- timeSlotScheme TimeSlotScheme, -- Timeslot scheme
- roughRTD RoughRTD, -- rough RTD value
-
- -- Location Calculation Assistance data
- calcAssistanceBTS CalcAssistanceBTS OPTIONAL
-}
-
--- E-OTD Location calculation assistance data,
--- CalcAssistanceBTS element is optional not subfields
-CalcAssistanceBTS ::= SEQUENCE {
- fineRTD FineRTD, -- fine RTD value between base stations
- referenceWGS84 ReferenceWGS84 -- reference coordinates
-}
-
--- Coordinates of neighbour BTS, WGS-84 ellipsoid
-ReferenceWGS84 ::= SEQUENCE {
- relativeNorth RelDistance, -- relative distance (south negative)
- relativeEast RelDistance, -- relative distance (west negative)
- -- Relative Altitude is not always known
- relativeAlt RelativeAlt OPTIONAL -- relative altitude
-}
-
--- Fine RTD value between this BTS and the reference BTS
-FineRTD ::= INTEGER (0..255)
-
--- Relative north/east distance
-RelDistance ::= INTEGER (-200000..200000)
-
--- Relative altitude
-RelativeAlt ::= INTEGER (-4000..4000)
-
--- Measure position response IEs
--- Reference Identity
--- Multiple sets
-MultipleSets ::= SEQUENCE {
- -- number of reference sets
- nbrOfSets INTEGER (2..3),
-
- -- This field actually tells the number of reference BTSs
- nbrOfReferenceBTSs INTEGER (1..3),
-
- -- This field is conditional and included optionally only if
- -- nbrOfSets is 3 and number of reference BTSs is 2.
- referenceRelation ReferenceRelation OPTIONAL
-}
-
--- Relation between refence BTSs and sets
-ReferenceRelation ::= ENUMERATED {
- secondBTSThirdSet (0), -- 1st BTS related to 1st and 2nd sets
- secondBTSSecondSet (1), -- 1st BTS related to 1st and 3rd sets
- firstBTSFirstSet (2) -- 1st BTS related to 1st set
-}
-
--- Reference BTS Identity, this element contains number of
--- BTSs told nbrOfReferenceBTSs field in Multiple sets element)
-ReferenceIdentity ::= SEQUENCE {
- -- Reference BTS list
- refBTSList SeqOfReferenceIdentityType
-}
-SeqOfReferenceIdentityType ::= SEQUENCE (SIZE(1..3)) OF ReferenceIdentityType
-
--- Cell identity
-ReferenceIdentityType ::= CHOICE {
- bsicAndCarrier BSICAndCarrier, -- BSIC and Carrier
- ci CellID, -- Cell ID, LAC not needed
- requestIndex RequestIndex, -- Index to Requested Neighbor List
- systemInfoIndex SystemInfoIndex, -- Index to System info list, this type of ref. identity
- -- shall not be used by the MS unless it has received
- -- the SystemInfoAssistData from the SMLC for this cell.
- ciAndLAC CellIDAndLAC -- CI and LAC
-}
-
-BSICAndCarrier ::= SEQUENCE {
- carrier BCCHCarrier,
- bsic BSIC
-}
-
-RequestIndex ::= INTEGER (1..16)
-
-SystemInfoIndex ::= INTEGER (1..32)
-
-CellIDAndLAC ::= SEQUENCE {
- referenceLAC LAC, -- Location area code
- referenceCI CellID -- Cell identity
-}
-CellID ::= INTEGER (0..65535)
-LAC ::= INTEGER (0..65535)
-
--- OTD-MeasureInfo
-OTD-MeasureInfo ::= SEQUENCE {
- -- Measurement info elements, OTD-MsrElement is repeated number of times
- -- told in nbrOfReferenceBTSs in MultipleSets, default value is 1
- otdMsrFirstSets OTD-MsrElementFirst,
-
- -- if more than one sets are present this element is repeated
- -- NumberOfSets - 1 (-1 = first set)
- otdMsrRestSets SeqOfOTD-MsrElementRest OPTIONAL
-}
-
-SeqOfOTD-MsrElementRest ::= SEQUENCE (SIZE(1..2)) OF OTD-MsrElementRest
-
--- OTD measurent information for 1 set
-OTD-MsrElementFirst ::= SEQUENCE {
- refFrameNumber INTEGER (0..42431), -- Frame number modulo 42432
- referenceTimeSlot ModuloTimeSlot,
- toaMeasurementsOfRef TOA-MeasurementsOfRef OPTIONAL,
- stdResolution StdResolution,
- taCorrection INTEGER (0..960) OPTIONAL, -- TA correction
-
- -- measured neighbors in OTD measurements
- otd-FirstSetMsrs SeqOfOTD-FirstSetMsrs OPTIONAL
-}
-SeqOfOTD-FirstSetMsrs ::= SEQUENCE (SIZE(1..10)) OF OTD-FirstSetMsrs
-
--- OTD measurent information 2 and 3 sets if exist
-OTD-MsrElementRest ::= SEQUENCE {
- refFrameNumber INTEGER (0..42431), -- Frame number modulo 42432
- referenceTimeSlot ModuloTimeSlot,
- toaMeasurementsOfRef TOA-MeasurementsOfRef OPTIONAL,
- stdResolution StdResolution,
- taCorrection INTEGER (0..960) OPTIONAL, -- TA correction
-
- -- measured neighbors in OTD measurements
- otd-MsrsOfOtherSets SeqOfOTD-MsrsOfOtherSets OPTIONAL
-}
-SeqOfOTD-MsrsOfOtherSets ::= SEQUENCE (SIZE(1..10)) OF OTD-MsrsOfOtherSets
-
--- Standard deviation of the TOA measurements from the reference BTS
-TOA-MeasurementsOfRef ::= SEQUENCE {
- refQuality RefQuality,
- numOfMeasurements NumOfMeasurements
-}
-
-RefQuality ::= INTEGER (0..31) -- St Dev of TOA of reference as defined in annex
-NumOfMeasurements ::= INTEGER (0..7) -- No. of measurements for RefQuality as defined in annex
-StdResolution ::= INTEGER (0..3) -- Values of resolution are defined in annex
-
-OTD-FirstSetMsrs ::= OTD-MeasurementWithID
-
--- Neighbour info in OTD measurements 0-10 times in TD measurement info
-OTD-MsrsOfOtherSets ::= CHOICE {
- identityNotPresent OTD-Measurement,
- identityPresent OTD-MeasurementWithID
-}
-
--- For this OTD measurement identity is same as the identity of BTS
--- in the first set with same sequence number
-OTD-Measurement ::= SEQUENCE {
- nborTimeSlot ModuloTimeSlot,
- eotdQuality EOTDQuality,
- otdValue OTDValue
-}
-
--- This measurement contains the BTS identity and measurement
-OTD-MeasurementWithID ::=SEQUENCE {
- neighborIdentity NeighborIdentity,
- nborTimeSlot ModuloTimeSlot,
- eotdQuality EOTDQuality,
- otdValue OTDValue
-}
-
-EOTDQuality ::= SEQUENCE {
- nbrOfMeasurements INTEGER (0..7),
- stdOfEOTD INTEGER (0..31)
-}
-
-NeighborIdentity ::= CHOICE {
- bsicAndCarrier BSICAndCarrier, -- BSIC and Carrier
- ci CellID, -- Cell ID, LAC not needed
- multiFrameCarrier MultiFrameCarrier, -- MultiFrameOffest and BSIC
- requestIndex RequestIndex, -- Index to Requested Neighbor List
- systemInfoIndex SystemInfoIndex, -- Index to System info list, this type of neighbour
- -- identity shall not be used by the MS unless it has
- -- received the SystemInfoAssistData from the SMLC for
- -- this cell.
- ciAndLAC CellIDAndLAC -- CI and LAC
-}
-
--- Multiframe and carrier
-MultiFrameCarrier ::= SEQUENCE {
- bcchCarrier BCCHCarrier,
- multiFrameOffset MultiFrameOffset
-}
-
--- OTD measurement value for neighbour
-OTDValue ::= INTEGER (0..39999)
-
--- Location information IE
-LocationInfo ::= SEQUENCE {
- refFrame INTEGER (0..65535), -- Reference Frame number
- -- If refFrame is within (42432..65535), it shall be ignored by the receiver
- -- in that case the MS should provide GPS TOW if available
- gpsTOW INTEGER (0..14399999) OPTIONAL, -- GPS TOW
- fixType FixType,
- -- Note that applicable range for refFrame is 0 - 42431
- -- Possible shapes carried in posEstimate are
- -- ellipsoid point,
- -- ellipsoid point with uncertainty circle
- -- ellipsoid point with uncertainty ellipse
- -- ellipsoid point with altitude and uncertainty ellipsoid
- posEstimate Ext-GeographicalInformation
-}
-
-FixType ::= INTEGER {
- twoDFix (0),
- threeDFix (1)
-} (0..1)
-
--- GPS-Measurement information
-GPS-MeasureInfo ::= SEQUENCE {
- -- Measurement info elements
- -- user has to make sure that in this element is number of elements
- -- defined in reference BTS identity
- gpsMsrSetList SeqOfGPS-MsrSetElement
-}
-SeqOfGPS-MsrSetElement ::= SEQUENCE (SIZE(1..3)) OF GPS-MsrSetElement
-
--- OTD measurent information 1-3 times in message
-GPS-MsrSetElement ::= SEQUENCE {
- refFrame INTEGER (0..65535) OPTIONAL, -- Reference Frame number
- gpsTOW GPSTOW24b, -- GPS TOW
- -- Note that applicable range for refFrame is 0 - 42431
-
---N_SAT can be read from number of elements of gps-msrList
-
- gps-msrList SeqOfGPS-MsrElement
-}
-
--- 24 bit presentation for GPSTOW
-GPSTOW24b ::= INTEGER (0..14399999)
-
--- measured elements in measurement parameters field
-SeqOfGPS-MsrElement ::= SEQUENCE (SIZE(1..16)) OF GPS-MsrElement
-
-GPS-MsrElement ::= SEQUENCE {
- satelliteID SatelliteID, -- Satellite identifier
- cNo INTEGER (0..63), -- carrier noise ratio
- doppler INTEGER (-32768..32767), -- doppler, mulltiply by 0.2
- wholeChips INTEGER (0..1022), -- whole value of the code phase measurement
- fracChips INTEGER (0..1024), -- fractional value of the code phase measurement
- -- a value of 1024 shall not be encoded by the sender
- -- the receiver shall consider a value of 1024 to be
- -- invalid data
- mpathIndic MpathIndic, -- multipath indicator
- pseuRangeRMSErr INTEGER (0..63) -- index
-}
-
--- Multipath indicator
-MpathIndic ::= ENUMERATED {
- notMeasured (0),
- low (1),
- medium (2),
- high (3)
-}
-
--- Location error IE
-LocationError ::= SEQUENCE {
- locErrorReason LocErrorReason,
- additionalAssistanceData AdditionalAssistanceData OPTIONAL,
- ...
-}
-
-LocErrorReason ::= ENUMERATED {
- unDefined (0),
- notEnoughBTSs (1),
- notEnoughSats (2),
- eotdLocCalAssDataMissing (3),
- eotdAssDataMissing (4),
- gpsLocCalAssDataMissing (5),
- gpsAssDataMissing (6),
- methodNotSupported (7),
- notProcessed (8),
- refBTSForGPSNotServingBTS (9),
- refBTSForEOTDNotServingBTS (10),
- ...,
- notEnoughGANSSSats (11),
- ganssAssDataMissing (12),
- refBTSForGANSSNotServingBTS (13)
-}
-
-
-
--- exception handling:
--- an unrecognized value shall be treated the same as value 0
-
-
--- defines additional assistance data needed for any new location attempt
--- MS shall retain any assistance data already received
-AdditionalAssistanceData ::= SEQUENCE {
- gpsAssistanceData GPSAssistanceData OPTIONAL,
- extensionContainer ExtensionContainer OPTIONAL,
- ...,
- ganssAssistanceData GANSSAssistanceData OPTIONAL
-}
-
-GPSAssistanceData ::= OCTET STRING (SIZE (1..maxGPSAssistanceData))
--- GPSAssistanceData has identical structure and encoding to octets 3 to n of the
--- GPS Assistance Data IE in 3GPP TS 49.031
-
-maxGPSAssistanceData INTEGER ::= 40
-
-GANSSAssistanceData ::= OCTET STRING (SIZE (1..maxGANSSAssistanceData))
--- GANSSAssistanceData has identical structure and encoding to octets 3 to n of the
--- GANSS Assistance Data IE in 3GPP TS 49.031
-
-maxGANSSAssistanceData INTEGER ::= 40
-
-
--- Protocol Error Causes
-ErrorCodes ::= ENUMERATED {
- unDefined (0),
-missingComponet (1),
-incorrectData (2),
-missingIEorComponentElement (3),
-messageTooShort (4),
-unknowReferenceNumber (5),
-...
-}
-
--- exception handling:
--- an unrecognized value shall be treated the same as value 0
-
--- GPS assistance data IE
-GPS-AssistData ::= SEQUENCE {
- controlHeader ControlHeader
-}
-
--- More Assistance Data To Be Sent IE
--- More Assistance Data Components On the Way indication for delivery of an entire set of assistance
--- data in multiple Assistance Data components.
-
-MoreAssDataToBeSent ::= ENUMERATED {
- noMoreMessages (0), -- This is the only or last Assistance Data message used to deliver
- -- the entire set of assistance data.
- moreMessagesOnTheWay (1) -- The SMLC will send more Assistance Data messages or a final RRLP
- -- Measure Position Request message to deliver the
- -- the entire set of assistance data.
-}
-
--- Control header of the GPS assistance data
-ControlHeader ::= SEQUENCE {
-
- -- Field type Present information
- referenceTime ReferenceTime OPTIONAL,
- refLocation RefLocation OPTIONAL,
- dgpsCorrections DGPSCorrections OPTIONAL,
- navigationModel NavigationModel OPTIONAL,
- ionosphericModel IonosphericModel OPTIONAL,
- utcModel UTCModel OPTIONAL,
- almanac Almanac OPTIONAL,
- acquisAssist AcquisAssist OPTIONAL,
- realTimeIntegrity SeqOf-BadSatelliteSet OPTIONAL
-}
-
-ReferenceTime ::= SEQUENCE {
- gpsTime GPSTime,
- gsmTime GSMTime OPTIONAL,
- gpsTowAssist GPSTOWAssist OPTIONAL
-}
-
-
--- GPS Time includes week number and time-of-week (TOW)
-GPSTime ::= SEQUENCE {
- gpsTOW23b GPSTOW23b,
- gpsWeek GPSWeek
-}
-
--- GPSTOW, range 0-604799.92, resolution 0.08 sec, 23-bit presentation
-GPSTOW23b ::= INTEGER (0..7559999)
-
--- GPS week number
-GPSWeek ::= INTEGER (0..1023)
-
--- GPSTOWAssist consists of TLM message, Anti-spoof flag, Alert flag, and 2 reserved bits in TLM Word
--- for each visible satellite.
--- N_SAT can be read from number of elements in GPSTOWAssist
-GPSTOWAssist ::= SEQUENCE (SIZE(1..12)) OF GPSTOWAssistElement
-
-GPSTOWAssistElement ::= SEQUENCE {
- satelliteID SatelliteID,
- tlmWord TLMWord,
- antiSpoof AntiSpoofFlag,
- alert AlertFlag,
- tlmRsvdBits TLMReservedBits
-}
-
--- TLM Word, 14 bits
-TLMWord ::= INTEGER (0..16383)
-
--- Anti-Spoof flag
-AntiSpoofFlag ::= INTEGER (0..1)
-
--- Alert flag
-AlertFlag ::= INTEGER (0..1)
-
--- Reserved bits in TLM word, MSB occurs earlier in TLM Word transmitted by satellite
-TLMReservedBits ::= INTEGER (0..3)
-
-GSMTime ::= SEQUENCE {
- bcchCarrier BCCHCarrier, -- BCCH carrier
- bsic BSIC, -- BSIC
- frameNumber FrameNumber,
- timeSlot TimeSlot,
- bitNumber BitNumber
-}
-
--- Frame number
-FrameNumber ::= INTEGER (0..2097151)
-
--- Time slot number
-TimeSlot ::= INTEGER (0..7)
-
--- Bit number
-BitNumber ::= INTEGER (0..156)
-
-
--- Reference Location IE
-RefLocation ::= SEQUENCE {
- threeDLocation Ext-GeographicalInformation
-}
-
--- DGPS Corrections IE
-DGPSCorrections ::= SEQUENCE {
-
- gpsTOW INTEGER (0..604799), -- DGPS reference time
- status INTEGER (0..7),
- -- N_SAT can be read from number of elements of satList
- satList SeqOfSatElement
-}
-SeqOfSatElement ::= SEQUENCE (SIZE (1..16)) OF SatElement
-
--- number of correction for satellites
-SatElement ::= SEQUENCE {
- satelliteID SatelliteID,
-
---- Sequence number for ephemeris
- iode INTEGER (0..239),
- -- User Differential Range Error
- udre INTEGER (0..3),
-
- -- Pseudo Range Correction, range is
- -- -655.04 - +655.04,
- pseudoRangeCor INTEGER (-2047..2047),
-
- -- Pseudo Range Rate Correction, range is
- -- -4.064 - +4.064,
- rangeRateCor INTEGER (-127..127),
-
--- Delta Pseudo Range Correction 2
- deltaPseudoRangeCor2 INTEGER (-127..127), -- This IE shall be ignored by the receiver and
- -- set to zero by the sender
- -- Delta Pseudo Range Correction 2
- deltaRangeRateCor2 INTEGER (-7..7), -- This IE shall be ignored by the receiver and
- -- set to zero by the sender
- -- Delta Pseudo Range Correction 3
- deltaPseudoRangeCor3 INTEGER (-127..127), -- This IE shall be ignored by the receiver and
- -- set to zero by the sender
- -- Delta Pseudo Range Correction 3
- deltaRangeRateCor3 INTEGER (-7..7) -- This IE shall be ignored by the receiver and
- -- set to zero by the sender
-}
-
-SatelliteID ::= INTEGER (0..63) -- identifies satellite
--- Navigation Model IE
-NavigationModel ::= SEQUENCE {
- navModelList SeqOfNavModelElement
-}
-
--- navigation model satellite list
-SeqOfNavModelElement ::= SEQUENCE (SIZE(1..16)) OF NavModelElement
-
-NavModelElement ::= SEQUENCE {
- satelliteID SatelliteID,
- satStatus SatStatus -- satellite status
-}
-
--- the Status of the navigation model
-SatStatus ::= CHOICE {
- -- New satellite, new Navigation Model
- newSatelliteAndModelUC UncompressedEphemeris,
-
- -- Existing satellite, Existing Navigation Model
- oldSatelliteAndModel NULL,
-
- -- Existing satellite, new Navigation Model
- newNaviModelUC UncompressedEphemeris,
- ...
-}
-
--- Uncompressed satellite emhemeris and clock corrections
-UncompressedEphemeris ::= SEQUENCE {
- ephemCodeOnL2 INTEGER (0..3),
- ephemURA INTEGER (0..15),
- ephemSVhealth INTEGER (0..63),
- ephemIODC INTEGER (0..1023),
- ephemL2Pflag INTEGER (0..1),
- ephemSF1Rsvd EphemerisSubframe1Reserved,
- ephemTgd INTEGER (-128..127),
- ephemToc INTEGER (0..37799),
- ephemAF2 INTEGER (-128..127),
- ephemAF1 INTEGER (-32768..32767),
- ephemAF0 INTEGER (-2097152..2097151),
- ephemCrs INTEGER (-32768..32767),
- ephemDeltaN INTEGER (-32768..32767),
- ephemM0 INTEGER (-2147483648..2147483647),
- ephemCuc INTEGER (-32768..32767),
- ephemE INTEGER (0..4294967295),
- ephemCus INTEGER (-32768..32767),
- ephemAPowerHalf INTEGER (0..4294967295),
- ephemToe INTEGER (0..37799),
- ephemFitFlag INTEGER (0..1),
- ephemAODA INTEGER (0..31),
- ephemCic INTEGER (-32768..32767),
- ephemOmegaA0 INTEGER (-2147483648..2147483647),
- ephemCis INTEGER (-32768..32767),
- ephemI0 INTEGER (-2147483648..2147483647),
- ephemCrc INTEGER (-32768..32767),
- ephemW INTEGER (-2147483648..2147483647),
- ephemOmegaADot INTEGER (-8388608..8388607),
- ephemIDot INTEGER (-8192..8191)
-}
-
--- Reserved bits in subframe 1 of navigation message
-EphemerisSubframe1Reserved ::= SEQUENCE {
- reserved1 INTEGER (0..8388607), -- 23-bit field
- reserved2 INTEGER (0..16777215), -- 24-bit field
- reserved3 INTEGER (0..16777215), -- 24-bit field
- reserved4 INTEGER (0..65535) -- 16-bit field
-}
-
--- Ionospheric Model IE
-IonosphericModel ::= SEQUENCE {
- alfa0 INTEGER (-128..127),
- alfa1 INTEGER (-128..127),
- alfa2 INTEGER (-128..127),
- alfa3 INTEGER (-128..127),
- beta0 INTEGER (-128..127),
- beta1 INTEGER (-128..127),
- beta2 INTEGER (-128..127),
- beta3 INTEGER (-128..127)
-}
-
--- Universal Time Coordinate Model
-UTCModel ::= SEQUENCE {
- utcA1 INTEGER (-8388608..8388607),
- utcA0 INTEGER (-2147483648..2147483647),
- utcTot INTEGER (0..255),
- utcWNt INTEGER (0..255),
- utcDeltaTls INTEGER (-128..127),
- utcWNlsf INTEGER (0..255),
- utcDN INTEGER (-128..127),
- utcDeltaTlsf INTEGER (-128..127)
-}
-
--- Almanac, Long term model
--- NOTE: These are parameters are subset of the ephemeris
--- NOTE: But with reduced resolution and accuracy
-Almanac ::= SEQUENCE {
- alamanacWNa INTEGER (0..255), -- Once per message
-
- -- navigation model satellite list.
- -- The size of almanacList is actually Nums_Sats_Total field
- almanacList SeqOfAlmanacElement
-}
-SeqOfAlmanacElement ::= SEQUENCE (SIZE(1..64)) OF AlmanacElement
-
--- Almanac info once per satellite
-AlmanacElement ::= SEQUENCE {
- satelliteID SatelliteID,
- almanacE INTEGER (0..65535),
- alamanacToa INTEGER (0..255),
- almanacKsii INTEGER (-32768..32767),
- almanacOmegaDot INTEGER (-32768..32767),
- almanacSVhealth INTEGER (0..255),
- almanacAPowerHalf INTEGER (0..16777215),
- almanacOmega0 INTEGER (-8388608..8388607),
- almanacW INTEGER (-8388608..8388607),
- almanacM0 INTEGER (-8388608..8388607),
- almanacAF0 INTEGER (-1024..1023),
- almanacAF1 INTEGER (-1024..1023)
-}
-
--- Acquisition Assistance
-AcquisAssist ::= SEQUENCE {
-
- -- Number of Satellites can be read from acquistList
- timeRelation TimeRelation,
-
- -- Acquisition assistance list
- -- The size of Number of Satellites is actually Number of Satellites field
- acquisList SeqOfAcquisElement
-}
-SeqOfAcquisElement ::= SEQUENCE (SIZE(1..16)) OF AcquisElement
-
--- the relationship between GPS time and air-interface timing
-TimeRelation ::= SEQUENCE {
- --
- gpsTOW GPSTOW23b, -- 23b presentation
- gsmTime GSMTime OPTIONAL
-}
-
--- data occuring per number of satellites
-AcquisElement ::= SEQUENCE {
- svid SatelliteID,
-
- -- Doppler 0th order term,
- -- -5120.0 - 5117.5 Hz (= -2048 - 2047 with 2.5 Hz resolution)
- doppler0 INTEGER (-2048..2047),
- addionalDoppler AddionalDopplerFields OPTIONAL,
- codePhase INTEGER (0..1022), -- Code Phase
- intCodePhase INTEGER (0..19), -- Integer Code Phase
- gpsBitNumber INTEGER (0..3), -- GPS bit number
- codePhaseSearchWindow INTEGER (0..15), -- Code Phase Search Window
- addionalAngle AddionalAngleFields OPTIONAL
-}
-
-AddionalDopplerFields ::= SEQUENCE {
- -- Doppler 1st order term, -1.0 - +0.5 Hz/sec
- -- (= -42 + (0 to 63) with 1/42 Hz/sec. resolution)
- doppler1 INTEGER (0..63),
- dopplerUncertainty INTEGER (0..7)
- -- a sender shall not encode any DopplerUncertainty value in the range 5 to 7
- -- a receiver shall ignore any value between 5 and 7.
-}
-
-AddionalAngleFields ::= SEQUENCE {
- -- azimuth angle, 0 - 348.75 deg (= 0 - 31 with 11.25 deg resolution)
- azimuth INTEGER (0..31),
- -- elevation angle, 0 - 78.75 deg (= 0 - 7 with 11.25 deg resolution)
- elevation INTEGER (0..7)
-}
-
--- Real-Time Integrity
--- number of bad satellites can be read from this element
-SeqOf-BadSatelliteSet ::= SEQUENCE (SIZE(1..16)) OF SatelliteID
-
--- Extension Elements
-
--- Release 98 Extensions here
-Rel98-MsrPosition-Req-Extension ::= SEQUENCE {
- rel98-Ext-ExpOTD Rel98-Ext-ExpOTD OPTIONAL, -- ExpectedOTD extension
- ...,
- gpsTimeAssistanceMeasurementRequest NULL OPTIONAL,
- gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
-
--- Further R98 extensions here
-}
-Rel98-AssistanceData-Extension ::= SEQUENCE {
- rel98-Ext-ExpOTD Rel98-Ext-ExpOTD OPTIONAL, -- ExpectedOTD extension
- ...,
- gpsTimeAssistanceMeasurementRequest NULL OPTIONAL,
- gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
-
--- Further R98 extensions here
-}
-
--- Release 98 ExpOTD extension
-Rel98-Ext-ExpOTD ::= SEQUENCE {
--- If MsrAssistBTS is included in message, msrAssistData-R98-ExpOTD shall be included.
- msrAssistData-R98-ExpOTD MsrAssistData-R98-ExpOTD OPTIONAL,
-
--- If SystemInfoAssistaData is included in message, systemInfoAssistData-R98-ExpOTD shall be
--- included.
- systemInfoAssistData-R98-ExpOTD SystemInfoAssistData-R98-ExpOTD OPTIONAL
-}
-
--- MsrAssistData R98 extension
-MsrAssistData-R98-ExpOTD ::= SEQUENCE {
- msrAssistList-R98-ExpOTD SeqOfMsrAssistBTS-R98-ExpOTD
-}
-
--- Indexes in SeqOfMsrAssistBTS-R98-ExpOTD refer to SeqOfMsrAssistBTS
--- If the index exceeds the SegOfMsrAssistBTS range or if there is other
--- inconsistencies between the BTS indices, the MS shall apply protocol
--- error cause incorrectData
-SeqOfMsrAssistBTS-R98-ExpOTD ::= SEQUENCE (SIZE(1..15)) OF MsrAssistBTS-R98-ExpOTD
-
--- This element completes MsrAssistBTS IE
-MsrAssistBTS-R98-ExpOTD ::= SEQUENCE {
- expectedOTD ExpectedOTD,
- expOTDUncertainty ExpOTDUncertainty
-}
-
--- SystemInfoAssistData R98 extension
-SystemInfoAssistData-R98-ExpOTD ::= SEQUENCE {
- systemInfoAssistListR98-ExpOTD SeqOfSystemInfoAssistBTS-R98-ExpOTD
-}
-
--- SeqOfSystemInfoAssistBTS-R98-ExpOTD index refer to SeqOfSystemInfoAssistBTS
--- If the index exceeds the SegOfSystemInfoAssistBTS range or if there is other
--- inconsistencies between the BTS indices, the MS shall apply protocol
--- error cause incorrectData
-SeqOfSystemInfoAssistBTS-R98-ExpOTD ::= SEQUENCE (SIZE(1..32)) OF SystemInfoAssistBTS-R98-ExpOTD
-
--- whether n.th is present or not ?
-SystemInfoAssistBTS-R98-ExpOTD ::= CHOICE {
- notPresent NULL,
- present AssistBTSData-R98-ExpOTD
-}
-
--- This element completes AssistBTSData IE
-AssistBTSData-R98-ExpOTD ::= SEQUENCE {
- expectedOTD ExpectedOTD,
- expOTDuncertainty ExpOTDUncertainty -- Uncertainty of expected OTD
-}
-
--- Expected OTD value between nbor base station and reference BTS
--- at MS's current estimated location.
-ExpectedOTD ::= INTEGER (0..1250)
--- The ExpectedOTD value 1250 shall not be encoded by the transmitting entity and
--- shall be treated by the receiving entity as 0.
--- Uncertainty of Exptected OTD in bits
-ExpOTDUncertainty ::= INTEGER(0..7)
-
--- Release 98 extensions
-
-GPSReferenceTimeUncertainty ::= INTEGER (0 .. 127) -- Coding according to Annex
-
-GPSTimeAssistanceMeasurements ::= SEQUENCE {
- referenceFrameMSB INTEGER (0 .. 63), -- MSB of frame number
- gpsTowSubms INTEGER (0 .. 9999) OPTIONAL, -- in units of 100ns, for MS based AGPS
- deltaTow INTEGER (0 .. 127) OPTIONAL, -- for MS assisted AGPS
- gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
-}
-
-Rel-98-MsrPosition-Rsp-Extension ::= SEQUENCE {
-
- -- First extension to Release 98
- rel-98-Ext-MeasureInfo SEQUENCE {
- otd-MeasureInfo-R98-Ext OTD-MeasureInfo-R98-Ext OPTIONAL
- },
- ...,
- timeAssistanceMeasurements GPSTimeAssistanceMeasurements OPTIONAL
- -- Further R98 extensions here
-}
-
--- This is an addition to OTD-MeasureInfo element defined in original message,
--- If OTD-MeasureInfo is absent, or if one or more OTD-MsrElementRest are present
--- OTD-MeasureInfo-R98-Ext shall be absent.
--- OTD-MeasureInfo-R98-Ext
-OTD-MeasureInfo-R98-Ext ::= SEQUENCE {
- -- Measurement info elements
- otdMsrFirstSets-R98-Ext OTD-MsrElementFirst-R98-Ext
-}
-
--- OTD measurement information Ext for the first set only
-OTD-MsrElementFirst-R98-Ext ::= SEQUENCE {
- -- additional measured neighbors in OTD measurements
- otd-FirstSetMsrs-R98-Ext SeqOfOTD-FirstSetMsrs-R98-Ext OPTIONAL
-}
-SeqOfOTD-FirstSetMsrs-R98-Ext ::= SEQUENCE (SIZE(1..5)) OF OTD-FirstSetMsrs
-
-Rel-5-MsrPosition-Rsp-Extension ::= SEQUENCE {
-
- extended-reference Extended-reference OPTIONAL,
- -- The extended-reference shall be included by the MS if and only if previously
- -- received from the SMLC in a Measure Position Request. When included, the value sent
- -- by the MS shall equal the value received from the SMLC.
-
- -- extension to Release 5, for RRLP pseudo-segmentation here
- otd-MeasureInfo-5-Ext OTD-MeasureInfo-5-Ext OPTIONAL,
- ulPseudoSegInd UlPseudoSegInd OPTIONAL, -- Included when uplink RRLP
- -- Pseudo-segmentation is used, not included when no uplink pseudo-segmentation is used
- ...
- -- Possibly more extensions for Release 5 here later
-}
-
-Extended-reference ::= SEQUENCE {
- smlc-code INTEGER (0..63),
- transaction-ID INTEGER (0..262143)
-}
-
-OTD-MeasureInfo-5-Ext ::= SeqOfOTD-MsrElementRest
- -- if more than one measurement sets are present this element is repeated
- -- NumberOfSets - 1 (-1 = first set) combined in OTD-MeasureInfo-5-Ext and
- -- OTD-MeasureInfo (e.g. if NumberOfSets is 3, then one otdMsrRestSets may
- -- be sent in OTD-MeasureInfo-5-Ext and one in OTD-MeasureInfo)
-
--- First part of Uplink RRLP Pseudo-segmentation indication, possibly more may be defined
--- in the future for segmentation with more than two segments.
-UlPseudoSegInd ::= ENUMERATED {
- firstOfMany (0),
- secondOfMany(1)
-}
-
-Rel5-MsrPosition-Req-Extension ::= SEQUENCE {
- extended-reference Extended-reference,
- ...
- -- Possibly more extensions for Release 5 here later
-}
-
-Rel5-AssistanceData-Extension ::= SEQUENCE {
- extended-reference Extended-reference,
- ...
-
--- Possibly more extensions for Release 5 here later
-}
-
-Rel-5-ProtocolError-Extension::= SEQUENCE {
- extended-reference Extended-reference OPTIONAL,
- -- The extended-reference shall be included by the MS if and only if previously
- -- received from the SMLC.
- -- When included, the value sent by the MS shall equal the value received from the SMLC.
- ...
-
- -- Possibly more extensions for Release 5 here later
-}
-
-
-
-
--- Release 7 Extensions here
-
-Rel7-MsrPosition-Req-Extension ::= SEQUENCE {
-velocityRequested NULL OPTIONAL,
- ganssPositionMethod GANSSPositioningMethod OPTIONAL,
- ganss-AssistData GANSS-AssistData OPTIONAL,
- ganssCarrierPhaseMeasurementRequest NULL OPTIONAL,
- ganssTODGSMTimeAssociationMeasurementRequest NULL OPTIONAL,
-requiredResponseTime RequiredResponseTime OPTIONAL,
- ...
- -- Further Release 7 extentions here
-}
-
--- additional satellite systems may be added in future versions of the protocol
-GANSSPositioningMethod ::= BIT STRING {
- gps (0),
- galileo (1)} (SIZE (2..16))
-
-GANSS-AssistData ::= SEQUENCE {
- ganss-controlHeader GANSS-ControlHeader
-}
-
-GANSS-ControlHeader ::= SEQUENCE {
- ganssCommonAssistData GANSSCommonAssistData OPTIONAL,
- ganssGenericAssistDataList SeqOfGANSSGenericAssistDataElement OPTIONAL
-}
-
--- GANSS Common Assistance Data Elements
-GANSSCommonAssistData ::= SEQUENCE {
- ganssReferenceTime GANSSReferenceTime OPTIONAL,
- ganssRefLocation GANSSRefLocation OPTIONAL,
- ganssIonosphericModel GANSSIonosphericModel OPTIONAL,
- ...
-}
-
--- List of GANSS Generic Assistance Data Elements, up to 8 GANSS
-SeqOfGANSSGenericAssistDataElement ::= SEQUENCE (SIZE (1..8)) OF GANSSGenericAssistDataElement
-
--- GANSS Generic Assistance Data Elements
-GANSSGenericAssistDataElement ::= SEQUENCE {
- ganssID INTEGER (0..7) OPTIONAL, -- Coding according to Annex
- ganssTimeModel SeqOfGANSSTimeModel OPTIONAL,
- ganssDiffCorrections GANSSDiffCorrections OPTIONAL,
- ganssNavigationModel GANSSNavModel OPTIONAL,
- ganssRealTimeIntegrity GANSSRealTimeIntegrity OPTIONAL,
- ganssDataBitAssist GANSSDataBitAssist OPTIONAL,
- ganssRefMeasurementAssist GANSSRefMeasurementAssist OPTIONAL,
- ganssAlmanacModel GANSSAlmanacModel OPTIONAL,
- ganssUTCModel GANSSUTCModel OPTIONAL,
- ...
-}
-
--- GANSS COMMON ASSISTANCE DATA ELEMENTS
-
--- GANSS Reference Time IE
-GANSSReferenceTime ::= SEQUENCE {
- ganssRefTimeInfo GANSSRefTimeInfo,
- ganssTOD-GSMTimeAssociation GANSSTOD-GSMTimeAssociation OPTIONAL
-}
-
--- GANSS Reference Time includes GANSS TOD, GANSS Day, uncertainty
-GANSSRefTimeInfo ::= SEQUENCE {
- ganssDay INTEGER(0 .. 8191) OPTIONAL,
- ganssTOD GANSSTOD,
- ganssTODUncertainty GANSSTODUncertainty OPTIONAL,
- ganssTimeID INTEGER (0 .. 7) OPTIONAL
-}
-
--- GANSS TOD integer seconds
-GANSSTOD ::= INTEGER (0 .. 86399)
-
--- GANSS TOD uncertainty
-GANSSTODUncertainty ::= INTEGER (0 .. 127) -- Coding according to Annex
-
--- GANSS TOD-GSM Time association
-GANSSTOD-GSMTimeAssociation ::= SEQUENCE {
- bcchCarrier BCCHCarrier, -- BCCH carrier
- bsic BSIC, -- BSIC
- frameNumber FrameNumber,
- timeSlot TimeSlot,
- bitNumber BitNumber,
- frameDrift FrameDrift OPTIONAL
-}
-
--- Frame drift
-FrameDrift ::= INTEGER(-64 .. 63)
-
--- GANSS Reference Location IE
-GANSSRefLocation ::= SEQUENCE {
- threeDLocation Ext-GeographicalInformation
-}
-
--- GANSS Ionospheric Model IE
--- GANSS Ionospheric Model consists of NeQuick model parameters and storm flags
-
-GANSSIonosphericModel ::= SEQUENCE {
- ganssIonoModel GANSSIonosphereModel,
- ganssIonoStormFlags GANSSIonoStormFlags OPTIONAL,
- ...
-}
-
--- GANSS ionosphere model. Coding according to Annex
-GANSSIonosphereModel ::= SEQUENCE {
- ai0 INTEGER (0 .. 4095),
- ai1 INTEGER (0 .. 4095),
- ai2 INTEGER (0 .. 4095)
-}
-
--- GANSS ionosphere storm flags
-GANSSIonoStormFlags ::= SEQUENCE {
- ionoStormFlag1 INTEGER (0 .. 1),
- ionoStormFlag2 INTEGER (0 .. 1),
- ionoStormFlag3 INTEGER (0 .. 1),
- ionoStormFlag4 INTEGER (0 .. 1),
- ionoStormFlag5 INTEGER (0 .. 1)
-}
-
--- GANSS GENERIC ASSISTANCE DATA ELEMENTS
-
--- GANSS Time Model IE consists of time offset and first and second order parameters to relate GNSS
--- specific system time to selected time reference
--- SeqOf GANSSTimeModel ::= SEQUENCE (SIZE(1..7)) OF GANSSTimeModelElement
-SeqOfGANSSTimeModel ::= SEQUENCE (SIZE(1..7)) OF GANSSTimeModelElement
-
-GANSSTimeModelElement ::= SEQUENCE {
- ganssTimeModelRefTime INTEGER(0 .. 65535),
- tA0 TA0,
- tA1 TA1 OPTIONAL,
- tA2 TA2 OPTIONAL,
- gnssTOID INTEGER (0 .. 7),
- weekNumber INTEGER (0 .. 8191) OPTIONAL
-}
-
--- GANSS time model parameter A0
-TA0 ::= INTEGER (-2147483648 .. 2147483647)
-
--- GANSS time model parameter A1
-TA1 ::= INTEGER (-8388608 .. 8388607)
-
--- GANSS time model parameter A2
-TA2 ::= INTEGER (-64 .. 63)
-
--- DGANSS Corrections IE
-GANSSDiffCorrections ::= SEQUENCE {
- dganssRefTime INTEGER (0 .. 119), -- DGANSS reference time
-
- -- N_SGN_TYPE can be read from number of elements of sgnTypeList
- sgnTypeList SeqOfSgnTypeElement
-}
-
-SeqOfSgnTypeElement ::= SEQUENCE (SIZE (1..3)) OF SgnTypeElement -- max three signals per GNSS
-
--- DGANSS signal type element, once per GNSS signal type included in DGANSS
-SgnTypeElement ::= SEQUENCE {
- ganssSignalID GANSSSignalID OPTIONAL, -- signal type identity
- ganssStatusHealth INTEGER (0 .. 7),
- -- N_SGN can be read from number of elements of dganssSgnList
- dganssSgnList SeqOfDGANSSSgnElement
-}
-
-GANSSSignalID ::= INTEGER (0 .. 3) -- Coding according to Annex
-SeqOfDGANSSSgnElement ::= SEQUENCE (SIZE (1..16)) OF DGANSSSgnElement
-
--- number of correction for signals
-DGANSSSgnElement ::= SEQUENCE {
- svID SVID, -- Satellite identity
-
---- Sequence number for GANSS Navigation Model that matches the DGANSS correction set
- iod INTEGER (0 .. 1023),
-
- -- User Differential Range Error
- udre INTEGER (0..3),
-
- -- Pseudo Range Correction, range is
- -- -655.04 - +655.04,
- pseudoRangeCor INTEGER (-2047..2047),
-
- -- Pseudo Range Rate Correction, range is
- -- -4.064 - +4.064,
- rangeRateCor INTEGER (-127..127)
-}
-
-SVID ::= INTEGER (0 .. 63) -- Coding according to Annex
-
--- GANSS Navigation Model IE
-GANSSNavModel ::= SEQUENCE {
- nonBroadcastIndFlag INTEGER (0 .. 1),
- toeMSB INTEGER (0 .. 31) OPTIONAL, -- 5 MSB of toe and toc
- eMSB INTEGER (0 .. 127) OPTIONAL,
- sqrtAMBS INTEGER (0 .. 63) OPTIONAL,
- ganssSatelliteList SeqOfGANSSSatelliteElement
-}
-
-SeqOfGANSSSatelliteElement ::= SEQUENCE (SIZE(1..32)) OF GANSSSatelliteElement
-
-GANSSSatelliteElement ::= SEQUENCE {
- svID SVID,
- svHealth INTEGER (-7 .. 13), -- Coding according to Annex
- iod INTEGER (0 .. 1023), -- Coding according to Annex
- ganssClockModel GANSSClockModel,
- ganssOrbitModel GANSSOrbitModel,
- ...
-}
-
--- GANSS orbit model for the GNSS satellite according to the choice
-GANSSOrbitModel ::= CHOICE {
- keplerianSet NavModel-KeplerianSet,
- ...
-}
-
--- Navigation model in Keplerian parameters
-NavModel-KeplerianSet ::= SEQUENCE {
- keplerToeLSB INTEGER (0 .. 511), -- 9LSB are given in GANSSNavigationModel
- keplerW INTEGER (-2147483648..2147483647),
- keplerDeltaN INTEGER (-32768..32767),
- keplerM0 INTEGER (-2147483648..2147483647),
- keplerOmegaDot INTEGER (-8388608..8388607),
- keplerELSB INTEGER (0..33554431),
- keplerIDot INTEGER (-8192..8191),
- keplerAPowerHalfLSB INTEGER (0.. 67108863),
- keplerI0 INTEGER (-2147483648..2147483647),
- keplerOmega0 INTEGER (-2147483648..2147483647),
- keplerCrs INTEGER (-32768..32767),
- keplerCis INTEGER (-32768..32767),
- keplerCus INTEGER (-32768..32767),
- keplerCrc INTEGER (-32768..32767),
- keplerCic INTEGER (-32768..32767),
- keplerCuc INTEGER (-32768..32767)
-}
-
--- GANSS clock model for the GNSS satellite according to the choice
-GANSSClockModel ::= CHOICE {
- standardClockModelList SeqOfStandardClockModelElement,
- ...
-}
-
-SeqOfStandardClockModelElement ::= SEQUENCE (SIZE(1..2)) OF StandardClockModelElement
-
-StandardClockModelElement ::= SEQUENCE {
- stanClockTocLSB INTEGER (0 .. 511), -- 9LSB of time of clock
- stanClockAF2 INTEGER (-2048 .. 2047),
- stanClockAF1 INTEGER (-131072 .. 131071),
- stanClockAF0 INTEGER (-134217728 .. 134217727),
- stanClockTgd INTEGER (-512 .. 511) OPTIONAL,
- stanModelID INTEGER (0 .. 1) OPTIONAL,
- ...
-}
-
--- GANSS Real-Time Integrity IE
-GANSSRealTimeIntegrity ::= SEQUENCE {
- -- list of bad signals
- -- NBS can be read from number of elements in SeqOf-BadSignalSet
- ganssBadSignalList SeqOfBadSignalElement
-}
-
-SeqOfBadSignalElement ::= SEQUENCE (SIZE(1..16)) OF BadSignalElement
-
-BadSignalElement ::= SEQUENCE {
- badSVID SVID, -- Coding according to Annex
- badSignalID INTEGER (0 .. 3) OPTIONAL -- Coding according to Annex
-}
-
-
--- GANSS Data Bit Assistance IE
-GANSSDataBitAssist ::= SEQUENCE {
- ganssTOD INTEGER (0 .. 59),
- svID SVID,
- ganssDataTypeID INTEGER (0 .. 2), -- Coding according to Annex
- -- list of navigation data bits
- -- N_BIT can be read from number of elements in SeqOf-DataBits
- ganssDataBits SeqOf-GANSSDataBits
-}
-
-SeqOf-GANSSDataBits ::= SEQUENCE (SIZE(1 .. 1024)) OF GANSSDataBit
-GANSSDataBit ::= INTEGER(0 .. 1)
-
--- GANSS Reference Measurement Assistance IE
--- Code and Doppler assistance from the network.
-GANSSRefMeasurementAssist ::= SEQUENCE {
- ganssSignalID INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex
- ganssRefMeasAssitList SeqOfGANSSRefMeasurementElement
-}
-
-SeqOfGANSSRefMeasurementElement ::= SEQUENCE (SIZE(1 .. 16)) OF GANSSRefMeasurementElement
-
-GANSSRefMeasurementElement ::= SEQUENCE {
- svID SVID,
- -- Doppler 0th order term,
- -- -1024 m/s to 1023.5 m/s with 0.5 m/s resolution)
- doppler0 INTEGER (-2048 .. 2047), -- Coding according to Annex
- additionalDoppler AdditionalDopplerFields OPTIONAL,
- codePhase INTEGER (0 .. 1022), -- Code Phase in ms
- intCodePhase INTEGER (0 .. 127), -- Integer Code Phase in ms
- codePhaseSearchWindow INTEGER (0 .. 31), -- Code Phase Search Window, see Annex
- additionalAngle AddionalAngleFields OPTIONAL,
- ...
-}
-
-AdditionalDopplerFields ::= SEQUENCE {
- -- Doppler 1st order term, -0.2 - +0.1 m/s2
- doppler1 INTEGER (0..63),
- dopplerUncertainty INTEGER (0..4)
-}
-
--- GANSS Almanac Model IE
-GANSSAlmanacModel ::= SEQUENCE {
- weekNumber INTEGER (0 .. 255),
- svIDMask SVIDMASK,
- toa INTEGER (0 .. 255) OPTIONAL,
- ioda INTEGER (0 .. 3) OPTIONAL,
- ganssAlmanacList SeqOfGANSSAlmanacElement
-}
-
--- SV ID Mask, LSB for ID 1 and MSB for ID 36
-SVIDMASK ::= BIT STRING (SIZE (1..36))
-
-SeqOfGANSSAlmanacElement ::= SEQUENCE (SIZE(1 .. 36)) OF GANSSAlmanacElement
-
--- GANSS Almanac Model
-GANSSAlmanacElement ::= CHOICE {
- keplerianAlmanacSet Almanac-KeplerianSet,
- ...
-}
-
--- Almanac parameters according to Keplerian parameters
-Almanac-KeplerianSet ::= SEQUENCE {
- kepAlmanacE INTEGER (0 .. 2047),
- kepAlmanacDeltaI INTEGER (-1024 .. 1023),
- kepAlmanacOmegaDot INTEGER (-1024 .. 1023),
- kepSVHealth INTEGER (0 .. 15), -- Coding according to Annex
- kepAlmanacAPowerHalf INTEGER (-65536 .. 65535),
- kepAlmanacOmega0 INTEGER (-32768 .. 32767),
- kepAlmanacW INTEGER (-32768 .. 32767),
- kepAlmanacM0 INTEGER (-32768 .. 32767),
- kepAlmanacAF0 INTEGER (-8192 .. 8191),
- kepAlmanacAF1 INTEGER (-1024..1023)
-}
-
--- GANSS Universal Time Coordinate Model
-GANSSUTCModel ::= SEQUENCE {
- ganssUtcA1 INTEGER (-8388608..8388607),
- ganssUtcA0 INTEGER (-2147483648..2147483647),
- ganssUtcTot INTEGER (0..255),
- ganssUtcWNt INTEGER (0..255),
- ganssUtcDeltaTls INTEGER (-128..127),
- ganssUtcWNlsf INTEGER (0..255),
- ganssUtcDN INTEGER (-128..127),
- ganssUtcDeltaTlsf INTEGER (-128..127)
-}
-
---Required Measurement Request Response Time, range is 1 to 128 seconds.
-RequiredResponseTime ::= INTEGER (1..128)
-
-Rel-7-MsrPosition-Rsp-Extension ::= SEQUENCE {
-
- velEstimate VelocityEstimate OPTIONAL,
- -- Horizontal Velocity
- -- Horizontal with Vertical Velocity
- -- Horizontal Velocity with Uncertainty
- -- Horizontal with Vertical Velocity and Uncertainty
- ganssLocationInfo GANSSLocationInfo OPTIONAL,
- ganssMeasureInfo GANSSMeasureInfo OPTIONAL,
- ...
--- Further Release 7 extensions here
-}
-
--- GANSS Location Information contains location estimate, time stamp with uncertainty
--- and optionally Reference Frame field
-GANSSLocationInfo ::= SEQUENCE {
- referenceFrame ReferenceFrame OPTIONAL, -- Reference Frame Number
- ganssTODm GANSSTODm OPTIONAL, -- GNSS TOD modulo
- ganssTODFrac INTEGER (0 .. 16384) OPTIONAL, -- Coding according to Annex
- ganssTODUncertainty GANSSTODUncertainty OPTIONAL, -- Coding according to Annex
- ganssTimeID INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex
- fixType FixType,
- posData PositionData,
- stationaryIndication INTEGER(0 .. 1) OPTIONAL, -- ‘0’ if moving or motion not known
- -- Possible shapes carried in posEstimate are
- -- ellipsoid point,
- -- ellipsoid point with uncertainty circle
- -- ellipsoid point with uncertainty ellipse
- -- ellipsoid point with altitude and uncertainty ellipsoid
- posEstimate Ext-GeographicalInformation,
- ...
-}
-
-PositionData ::= BIT STRING {
- e-otd(0),
- gps (1),
- galileo (2) } (SIZE (3..16))
-
-
--- GANSS TOD modulo 1 hour
-GANSSTODm ::= INTEGER (0 .. 3599999)
-
-ReferenceFrame ::= SEQUENCE {
- referenceFN INTEGER (0 .. 65535),
- -- Note that applicable range for referenceFN is 0 - 42431
- referenceFNMSB INTEGER (0 .. 63) OPTIONAL -- MSB of Reference Frame Number
-}
-
-
-
--- GANSS Measurement Information
-GANSSMeasureInfo ::= SEQUENCE {
- -- Measurement info elements
- -- user has to make sure that in this element is number of elements
- -- defined in reference BTS identity
- ganssMsrSetList SeqOfGANSS-MsrSetElement
-}
-SeqOfGANSS-MsrSetElement ::= SEQUENCE (SIZE(1..3)) OF GANSS-MsrSetElement
-
--- GANSS measurement information 1-3 times in a message
-GANSS-MsrSetElement ::= SEQUENCE {
- referenceFrame ReferenceFrame OPTIONAL, -- Reference Frame Number
- ganssTODm GANSSTODm OPTIONAL, -- GANSS TOD modulo
- deltaGNASSTOD INTEGER (0 .. 127) OPTIONAL,
- ganssTODUncertainty GANSSTODUncertainty OPTIONAL, -- Coding accoring to Annex
-
- --N_SGN_TYPE can be read from number of elements of SeqOfGANSS-SgnTypeElement
- ganss-SgnTypeList SeqOfGANSS-SgnTypeElement
-}
-
--- Measurements can be returned up to 6 different signal types
-SeqOfGANSS-SgnTypeElement ::= SEQUENCE (SIZE(1..6)) OF GANSS-SgnTypeElement
-
-GANSS-SgnTypeElement ::= SEQUENCE {
- ganssSignalID INTEGER (0 .. 15), -- Coding accroding to Annex
- --N_SGN can be read from number of elements of SeqOfGANSS-SgnElement
- ganss-SgnList SeqOfGANSS-SgnElement
-}
-
--- Measurements can be returned up to 16 per signal types
-SeqOfGANSS-SgnElement ::= SEQUENCE (SIZE(1..16)) OF GANSS-SgnElement
-
-
-GANSS-SgnElement ::= SEQUENCE {
- svID SVID,
- cNo INTEGER (0 .. 63),
- mpathDet MpathIndic, -- Coding according to Annex
- carrierQualityInd INTEGER (0 .. 3) OPTIONAL, -- Coding according to Annex
- codePhase INTEGER (0 .. 2097151),
- integerCodePhase INTEGER (0 .. 63) OPTIONAL,
- codePhaseRMSError INTEGER (0..63), -- Coding accoring to Annex
- doppler INTEGER (-32768 .. 32767) OPTIONAL,
- adr INTEGER (0 .. 33554431) OPTIONAL
-}
-
-Rel7-AssistanceData-Extension ::= SEQUENCE {
- ganss-AssistData GANSS-AssistData OPTIONAL,
- ganssCarrierPhaseMeasurementRequest NULL OPTIONAL,
- ganssTODGSMTimeAssociationMeasurementRequest NULL OPTIONAL,
- ...
--- Possibly more extensions for Release 7 here
-}
-
-
-Ext-GeographicalInformation ::= OCTET STRING (SIZE (1..maxExt-GeographicalInformation))
-maxExt-GeographicalInformation INTEGER ::= 20
-
-END
diff --git a/.svn/pristine/df/df617689bfc14ffc8bcdc783ef6fdacbce7683de.svn-base b/.svn/pristine/df/df617689bfc14ffc8bcdc783ef6fdacbce7683de.svn-base
deleted file mode 100644
index e52f153..0000000
--- a/.svn/pristine/df/df617689bfc14ffc8bcdc783ef6fdacbce7683de.svn-base
+++ /dev/null
@@ -1,456 +0,0 @@
-/*
-** SUPL clinet cli code
-**
-** Copyright (c) 2007 Tatu Mannisto <tatu a-t tajuma d-o-t com>
-** All rights reserved.
-** Redistribution and modifications are permitted subject to BSD license.
-**
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <time.h>
-#include <math.h>
-#include <getopt.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/types.h>
-
-#include "supl.h"
-
-typedef enum { FORMAT_DEFAULT, FORMAT_HUMAN } format_t;
-
-static struct fake_pos_s {
- int valid;
- double lat, lon;
- int uncertainty;
-} fake_pos = {
- 0, 0.0, 0.0, 0
-};
-
-static time_t utc_time(int week, long tow) {
- time_t t;
-
- /* Jan 5/6 midnight 1980 - beginning of GPS time as Unix time */
- t = 315964801;
-
- /* soon week will wrap again, uh oh... */
- /* TS 44.031: GPSTOW, range 0-604799.92, resolution 0.08 sec, 23-bit presentation */
- t += (1024 + week) * 604800 + tow*0.08;
-
- return t;
-}
-
-static int supl_consume_1(supl_assist_t *ctx) {
- if (ctx->set & SUPL_RRLP_ASSIST_REFLOC) {
- fprintf(stdout, "Reference Location:\n");
- fprintf(stdout, " Lat: %f\n", ctx->pos.lat);
- fprintf(stdout, " Lon: %f\n", ctx->pos.lon);
- fprintf(stdout, " Uncertainty: %d (%.1f m)\n",
- ctx->pos.uncertainty, 10.0*(pow(1.1, ctx->pos.uncertainty)-1));
- }
-
- if (ctx->set & SUPL_RRLP_ASSIST_REFTIME) {
- time_t t;
-
- t = utc_time(ctx->time.gps_week, ctx->time.gps_tow);
-
- fprintf(stdout, "Reference Time:\n");
- fprintf(stdout, " GPS Week: %ld\n", ctx->time.gps_week);
- fprintf(stdout, " GPS TOW: %ld %lf\n", ctx->time.gps_tow, ctx->time.gps_tow*0.08);
- fprintf(stdout, " ~ UTC: %s", ctime(&t));
- }
-
- if (ctx->set & SUPL_RRLP_ASSIST_IONO) {
- fprintf(stdout, "Ionospheric Model:\n");
- fprintf(stdout, " # a0 a1 a2 b0 b1 b2 b3\n");
- fprintf(stdout, " %g, %g, %g",
- ctx->iono.a0 * pow(2.0, -30),
- ctx->iono.a1 * pow(2.0, -27),
- ctx->iono.a2 * pow(2.0, -24));
- fprintf(stdout, " %g, %g, %g, %g\n",
- ctx->iono.b0 * pow(2.0, 11),
- ctx->iono.b1 * pow(2.0, 14),
- ctx->iono.b2 * pow(2.0, 16),
- ctx->iono.b3 * pow(2.0, 16));
- }
-
- if (ctx->set & SUPL_RRLP_ASSIST_UTC) {
- fprintf(stdout, "UTC Model:\n");
- fprintf(stdout, " # a0, a1 delta_tls tot dn\n");
- fprintf(stdout, " %g %g %d %d %d %d %d %d\n",
- ctx->utc.a0 * pow(2.0, -30),
- ctx->utc.a1 * pow(2.0, -50),
- ctx->utc.delta_tls,
- ctx->utc.tot, ctx->utc.wnt, ctx->utc.wnlsf,
- ctx->utc.dn, ctx->utc.delta_tlsf);
- }
-
- if (ctx->cnt_eph) {
- int i;
-
- fprintf(stdout, "Ephemeris:");
- fprintf(stdout, " %d satellites\n", ctx->cnt_eph);
- fprintf(stdout, " # prn delta_n M0 A_sqrt OMEGA_0 i0 w OMEGA_dot i_dot Cuc Cus Crc Crs Cic Cis");
- fprintf(stdout, " toe IODC toc AF0 AF1 AF2 bits ura health tgd OADA\n");
-
- for (i = 0; i < ctx->cnt_eph; i++) {
- struct supl_ephemeris_s *e = &ctx->eph[i];
-
- fprintf(stdout, " %d %g %g %g %g %g %g %g %g",
- e->prn,
- e->delta_n * pow(2.0, -43),
- e->M0 * pow(2.0, -31),
- e->A_sqrt * pow(2.0, -19),
- e->OMEGA_0 * pow(2.0, -31),
- e->i0 * pow(2.0, -31),
- e->w * pow(2.0, -31),
- e->OMEGA_dot * pow(2.0, -43),
- e->i_dot * pow(2.0, -43));
- fprintf(stdout, " %g %g %g %g %g %g",
- e->Cuc * pow(2.0, -29),
- e->Cus * pow(2.0, -29),
- e->Crc * pow(2.0, -5),
- e->Crs * pow(2.0, -5),
- e->Cic * pow(2.0, -29),
- e->Cis * pow(2.0, -29));
- fprintf(stdout, " %g %u %g %g %g %g",
- e->toe * pow(2.0, 4),
- e->IODC,
- e->toc * pow(2.0, 4),
- e->AF0 * pow(2.0, -31),
- e->AF1 * pow(2.0, -43),
- e->AF2 * pow(2.0, -55));
- fprintf(stdout, " %d %d %d %d %d\n",
- e->bits,
- e->ura,
- e->health,
- e->tgd,
- e->AODA * 900);
- }
- }
-
- if (ctx->cnt_alm) {
- int i;
-
- fprintf(stdout, "Almanac:");
- fprintf(stdout, " %d satellites\n", ctx->cnt_alm);
- fprintf(stdout, " # prn e toa Ksii OMEGA_dot A_sqrt OMEGA_0 w M0 AF0 AF1\n");
-
- for (i = 0; i < ctx->cnt_alm; i++) {
- struct supl_almanac_s *a = &ctx->alm[i];
-
- fprintf(stdout, " %d %g %g %g %g ",
- a->prn,
- a->e * pow(2.0, -21),
- a->toa * pow(2.0, 12),
- a->Ksii * pow(2.0, -19),
- a->OMEGA_dot * pow(2.0, -38));
- fprintf(stdout, "%g %g %g %g %g %g\n",
- a->A_sqrt * pow(2.0, -11),
- a->OMEGA_0 * pow(2.0, -23),
- a->w * pow(2.0, -23),
- a->M0 * pow(2.0, -23),
- a->AF0 * pow(2.0, -20),
- a->AF1 * pow(2.0, -38));
- }
- }
-
- return 1;
-}
-
-static int supl_consume_2(supl_assist_t *ctx) {
- if (ctx->set & SUPL_RRLP_ASSIST_REFTIME) {
- fprintf(stdout, "T %ld %ld %ld %ld\n", ctx->time.gps_week, ctx->time.gps_tow,
- ctx->time.stamp.tv_sec, ctx->time.stamp.tv_usec);
- }
-
- if (ctx->set & SUPL_RRLP_ASSIST_UTC) {
- fprintf(stdout, "U %d %d %d %d %d %d %d %d\n",
- ctx->utc.a0, ctx->utc.a1, ctx->utc.delta_tls,
- ctx->utc.tot, ctx->utc.wnt, ctx->utc.wnlsf,
- ctx->utc.dn, ctx->utc.delta_tlsf);
- }
-
- if (ctx->set & SUPL_RRLP_ASSIST_REFLOC) {
- fprintf(stdout, "L %f %f %d\n", ctx->pos.lat, ctx->pos.lon, ctx->pos.uncertainty);
- } else if (fake_pos.valid) {
- fprintf(stdout, "L %f %f %d\n", fake_pos.lat, fake_pos.lon, fake_pos.uncertainty);
- }
-
- if (ctx->set & SUPL_RRLP_ASSIST_IONO) {
- fprintf(stdout, "I %d %d %d %d %d %d %d\n",
- ctx->iono.a0, ctx->iono.a1, ctx->iono.a2,
- ctx->iono.b0, ctx->iono.b1, ctx->iono.b2, ctx->iono.b3);
- }
-
- if (ctx->cnt_eph) {
- int i;
-
- fprintf(stdout, "E %d\n", ctx->cnt_eph);
-
- for (i = 0; i < ctx->cnt_eph; i++) {
- struct supl_ephemeris_s *e = &ctx->eph[i];
-
- fprintf(stdout, "e %d %d %d %d %d %d %d %d %d %d",
- e->prn, e->delta_n, e->M0, e->A_sqrt, e->OMEGA_0, e->i0, e->w, e->OMEGA_dot, e->i_dot, e->e);
- fprintf(stdout, " %d %d %d %d %d %d",
- e->Cuc, e->Cus, e->Crc, e->Crs, e->Cic, e->Cis);
- fprintf(stdout, " %d %d %d %d %d %d",
- e->toe, e->IODC, e->toc, e->AF0, e->AF1, e->AF2);
- fprintf(stdout, " %d %d %d %d %d\n",
- e->bits, e->ura, e->health, e->tgd, e->AODA);
- }
- }
-
- if (ctx->cnt_alm) {
- int i;
-
- fprintf(stdout, "A %d\n", ctx->cnt_alm);
- for (i = 0; i < ctx->cnt_alm; i++) {
- struct supl_almanac_s *a = &ctx->alm[i];
-
- fprintf(stdout, "a %d %d %d %d %d ",
- a->prn, a->e, a->toa, a->Ksii, a->OMEGA_dot);
- fprintf(stdout, "%d %d %d %d %d %d\n",
- a->A_sqrt, a->OMEGA_0, a->w, a->M0, a->AF0, a->AF1);
- }
- }
-
- if (ctx->cnt_acq) {
- int i;
-
- fprintf(stdout, "Q %d %d\n", ctx->cnt_acq, ctx->acq_time);
- for (i = 0; i < ctx->cnt_acq; i++) {
- struct supl_acquis_s *q = &ctx->acq[i];
-
- fprintf(stdout, "q %d %d %d ",
- q->prn, q->parts, q->doppler0);
- if (q->parts & SUPL_ACQUIS_DOPPLER) {
- fprintf(stdout, "%d %d ", q->doppler1, q->d_win);
- } else {
- fprintf(stdout, "0 0 ");
- }
- fprintf(stdout, "%d %d %d %d ",
- q->code_ph, q->code_ph_int, q->bit_num, q->code_ph_win);
- if (q->parts & SUPL_ACQUIS_ANGLE) {
- fprintf(stdout, "%d %d\n", q->az, q->el);
- } else {
- fprintf(stdout, "0 0\n");
- }
- }
- }
-
- return 1;
-}
-
-static char *usage_str =
-"Usage:\n"
-"%s options [supl-server]\n"
-"Options:\n"
-" --almanac|-a request also almanac data\n"
-" --cell gsm:mcc,mns:lac,ci|wcdma:mcc,msn,uc set current gsm/wcdma cell id\n"
-" --cell gsm:mcc,mns:lac,ci:lat,lon,uncert set known gsm cell id with position\n"
-" --format|-f human machine parseable output\n"
-" --debug|-d <n> 1 == RRLP, 2 == SUPL, 4 == DEBUG\n"
-" --debug-file file write debug to file\n"
-" --help|-h show this help\n"
-"Example:\n"
-"%1$s --cell=gsm:244,5:0x59e2,0x31b0:60.169995,24.939995,127 --cell=gsm:244,5:0x59e2,0x31b0\n"
-;
-
-static void usage(char *progname) {
- printf(usage_str, progname);
-}
-
-static struct option long_opts[] = {
- { "cell", 1, 0, 0 },
- { "debug", 1, 0, 'd' },
- { "format", 1, 0, 'f' },
- { "test", 1, 0, 't' },
- { "set-pos", 1, 0, 0 },
- { "pos-helper", 1, 0, 0 },
- { "debug-file", 1, 0, 0 },
- { "help", 0, 0, 'h' },
- { "almanac", 0, 0, 'a' },
- { 0, 0, 0 }
-};
-
-static int parse_fake_pos(char *str, struct fake_pos_s *fake_pos) {
- if (sscanf(str, "%lf,%lf,%d",
- &fake_pos->lat, &fake_pos->lon, &fake_pos->uncertainty) == 3) {
- fake_pos->valid = 1;
- return 0;
- }
-
- if (sscanf(str, "%lf,%lf",
- &fake_pos->lat, &fake_pos->lon) == 2) {
- fake_pos->uncertainty = 121; /* 1000 km */
- fake_pos->valid = 1;
- return 0;
- }
-
- return 1;
-}
-
-int main(int argc, char *argv[]) {
- int err;
- format_t format = FORMAT_DEFAULT;
- int debug_flags = 0;
- FILE *debug_f = 0;
- int request = 0;
- supl_assist_t assist;
- char *server;
- supl_ctx_t ctx;
-
- supl_ctx_new(&ctx);
- server = "supl.nokia.com";
-
- while (1) {
- int opt_index;
- int c;
-
- c = getopt_long(argc, argv, "ad:f:t:", long_opts, &opt_index);
- if (c == -1) break;
- switch (c) {
- case 0:
- switch (opt_index) {
-
- case 0: /* gsm/wcdma cell */
- {
- int mcc, mns, lac, ci, uc, uncertainty;
- double lat, lon;
-
- if (sscanf(optarg, "gsm:%d,%d:%x,%x:%lf,%lf,%d",
- &mcc, &mns, &lac, &ci, &lat, &lon, &uncertainty) == 7) {
- supl_set_gsm_cell_known(&ctx, mcc, mns, lac, ci, lat, lon, uncertainty);
- break;
- }
-
- if (sscanf(optarg, "gsm:%d,%d:%x,%x",
- &mcc, &mns, &lac, &ci) == 4) {
- supl_set_gsm_cell(&ctx, mcc, mns, lac, ci);
- break;
- }
-
- if (sscanf(optarg, "wcdma:%d,%d,%x",
- &mcc, &mns, &uc) == 3) {
- supl_set_wcdma_cell(&ctx, mcc, mns, uc);
- break;
- }
- }
-
- fprintf(stderr, "Ugh, cell\n");
- break;
-
- case 4: /* set-pos */
- if (parse_fake_pos(optarg, &fake_pos)) {
- fprintf(stderr, "Ugh, set-pos\n");
- }
- break;
-
- case 5: /* pos-helper */
-
- break;
-
- case 6: /* debug-file */
- debug_f = fopen(optarg, "w");
- if (!debug_f) {
- fprintf(stderr, "Error: open debug file %s (%s)\n", optarg, strerror(errno));
- }
- break;
-
- }
-
- break;
-
- case 'a':
- request |= SUPL_REQUEST_ALMANAC;
- break;
-
- case 'f':
- if (strcmp(optarg, "human") == 0) {
- format = FORMAT_HUMAN;
- }
- break;
-
- case 'd':
- {
- int debug = atoi(optarg);
-
- if (debug & 0x01)
- debug_flags |= SUPL_DEBUG_RRLP;
- if (debug & 0x02)
- debug_flags |= SUPL_DEBUG_SUPL;
- if (debug & 0x04)
- debug_flags |= SUPL_DEBUG_DEBUG;
- }
- break;
-
- case 't':
- switch (atoi(optarg)) {
- case 0:
- supl_set_gsm_cell(&ctx, 244, 5, 0x59e2, 0x31b0);
- break;
- case 1:
- supl_set_gsm_cell_known(&ctx, 244, 5, 995763, 0, 60.169995, 24.939995, 121);
- break;
- case 2:
- supl_set_gsm_cell(&ctx, 244, 5, 995763, 0x31b0);
- supl_set_gsm_cell_known(&ctx, 244, 5, 995763, 0x31b0, 60.169995, 24.939995, 121);
- break;
- case 3:
- supl_set_wcdma_cell(&ctx, 244, 5, 995763);
- break;
- }
- break;
-
- case 'h':
- usage(argv[0]);
- exit(1);
-
- default:
- usage(argv[0]);
- exit(1);
- }
- }
-
- if (optind + 1 == argc) {
- server = argv[optind];
- }
-
- if (!fake_pos.valid && getenv("SUPL_FAKE_POS")) {
- parse_fake_pos(getenv("SUPL_FAKE_POS"), &fake_pos);
- }
-
-#ifdef SUPL_DEBUG
- if (debug_flags) {
- supl_set_debug(debug_f ? debug_f : stderr, debug_flags);
- }
-#endif
-
- supl_request(&ctx, request);
-
- err = supl_get_assist(&ctx, server, &assist);
- if (err < 0) {
- fprintf(stderr, "SUPL protocol error %d\n", err);
- exit(1);
- }
-
- if (debug_f) {
- fclose(debug_f);
- }
-
- switch (format) {
- case FORMAT_DEFAULT:
- supl_consume_2(&assist);
- break;
- case FORMAT_HUMAN:
- supl_consume_1(&assist);
- break;
- }
-
- supl_ctx_free(&ctx);
-
- return 0;
-}
diff --git a/.svn/pristine/e8/e8fd7880c0033c56a4159200a752d0bde43a8798.svn-base b/.svn/pristine/e8/e8fd7880c0033c56a4159200a752d0bde43a8798.svn-base
deleted file mode 100644
index 8ab124a..0000000
--- a/.svn/pristine/e8/e8fd7880c0033c56a4159200a752d0bde43a8798.svn-base
+++ /dev/null
@@ -1,20 +0,0 @@
-SUPL-POS DEFINITIONS AUTOMATIC TAGS ::=
-BEGIN
-
-EXPORTS SUPLPOS;
-
-IMPORTS Velocity
- FROM ULP-Components;
-
-SUPLPOS ::= SEQUENCE {
- posPayLoad PosPayLoad,
- velocity Velocity OPTIONAL,
- ...}
-
-PosPayLoad ::= CHOICE {
- tia801payload OCTET STRING(SIZE (1..8192)),
- rrcPayload OCTET STRING(SIZE (1..8192)),
- rrlpPayload OCTET STRING(SIZE (1..8192)),
- ...}
-
-END
diff --git a/.svn/pristine/f8/f8738a6566306ae25f93456a019426af51ccc827.svn-base b/.svn/pristine/f8/f8738a6566306ae25f93456a019426af51ccc827.svn-base
deleted file mode 100644
index 89ae9db..0000000
--- a/.svn/pristine/f8/f8738a6566306ae25f93456a019426af51ccc827.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-3.0 (native)
diff --git a/.svn/pristine/ff/ffcb02416ec395ad809866ac645217f8a7a2ecd5.svn-base b/.svn/pristine/ff/ffcb02416ec395ad809866ac645217f8a7a2ecd5.svn-base
deleted file mode 100644
index 91253cf..0000000
--- a/.svn/pristine/ff/ffcb02416ec395ad809866ac645217f8a7a2ecd5.svn-base
+++ /dev/null
@@ -1,70 +0,0 @@
-supl (1.0.6) unstable; urgency=low
-
- * Fixed BUG#3427808 again...
-
- -- Tatu Mannisto <tatu -at- tajuma -dot- com> Mon, 27 Oct 2011 21:55:00 -0400
-
-supl (1.0.5) unstable; urgency=low
-
- * Fixed BUG#3427808, symlinks is asn1-tarballs
-
- -- Tatu Mannisto <tatu -at- tajuma -dot- com> Mon, 22 Oct 2011 22:45:00 -0400
-
-supl (1.0.4) unstable; urgency=low
-
- * Fixed failing to decode too long messages
- * Added proper scaling factors for --format human
-
- -- Tatu Mannisto <tatu -at- tajuma -dot- com> Mon, 22 Oct 2011 22:45:00 -0400
-
-supl (1.0.3) unstable; urgency=low
-
- * Update precompiled asn1c files using asn1c version 0.9.23
- * Fix README to reflect these changes, fix few other bugs there too
- * Add asn1 and supl debugging configuration options to configure
-
- -- Tatu Mannisto <tatu -at- tajuma -dot- com> Mon, 20 Oct 2011 22:15:00 -0400
-
-supl (1.0.2) unstable; urgency=low
-
- * Bug#3425862 Fixes command line option parsing bug
-
- -- Tatu Mannisto <tatu -at- tajuma -dot- com> Mon, 19 Oct 2011 18:02:00 -0400
-
-supl (1.0.1) unstable; urgency=low
-
- * Fixes reading ephemeris for all satellites
- * Add -a flag to request almanac data from the server
-
- -- Tatu Mannisto <tatu -at- tajuma -dot- com> Mon, 17 Oct 2011 22:41:00 -0400
-
-supl (1.0) unstable; urgency=low
-
- * Fixes multiple build issues, warnings, etc.
- * Uses now plain Makefiles instead of autotools.
- * Got rid of cert utilities and combined them into supl-cert.
- * Manual pages added.
-
- -- Tatu Mannisto <tatu -at- tajuma -dot- com> Mon, 28 Mar 2011 16:54:00 -0400
-
-supl (0.9.2) unstable; urgency=low
-
- * Uses slpSessionID if given by the supl server.
- * Uses wcdma and gsm cell info.
- * Fixed few bugs all round.
-
- -- Tatu Mannisto <tatu -at- tajuma -dot- com> Wed, 2 Mar 2011 16:02:00 -0400
-
-supl (0.9.1) unstable; urgency=low
-
- * Added almanac and acquisition assistance support.
- * Fixed few build errors.
-
- -- Tatu Mannisto <tatu -at- tajuma -dot- com> Mon, 1 Oct 2007 22:02:00 -0400
-
-supl (0.9) unstable; urgency=low
-
- * First semi-public release.
-
- -- Tatu Mannisto <tatu -at- tajuma -dot- com> Sun, 30 Sep 2007 14:15:00 -0400
-
diff --git a/.svn/wc.db b/.svn/wc.db
deleted file mode 100644
index 6982132..0000000
--- a/.svn/wc.db
+++ /dev/null
Binary files differ