Index: /trunk/ntripclient/ReadmeLinuxClient.txt
===================================================================
--- /trunk/ntripclient/ReadmeLinuxClient.txt	(revision 466)
+++ /trunk/ntripclient/ReadmeLinuxClient.txt	(revision 466)
@@ -0,0 +1,112 @@
+----------------------------------------------------------------------
+                NTRIP Client for Linux/Unix Version
+----------------------------------------------------------------------
+
+Easy example NTRIP client for Linux/Unix.
+Copyright (C) 2003-2007 by Dirk Stoecker <soft@dstoecker.de>
+    
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+or read http://www.gnu.org/licenses/gpl.txt
+
+Files in NtripLinuxClient.zip
+-----------------------------
+NtripLinuxClient.c:          Ntrip Linux/UNIX client source code
+ReadmeLinuxClient.txt:       Readme file for 'NtripLinuxClient'
+StartNtripLinuxClient:       Shell script to start 'NtripLinuxClient'
+makefile:                    Easy makefile to build source
+
+Ntrip
+-----
+The NtripLinuxClient is an HTTP client based on 'Networked Transport
+of RTCM via Internet Protocol' (Ntrip). This is an application-level 
+protocol streaming Global Navigation Satellite System (GNSS) data over 
+the Internet. Ntrip is a generic, stateless protocol based on the 
+Hypertext Transfer Protocol HTTP/1.1. The HTTP objects are enhanced 
+to GNSS data streams.
+
+Ntrip is designed for disseminating differential correction data 
+(e.g in the RTCM-104 format) or other kinds of GNSS streaming data to
+stationary or mobile users over the Internet, allowing simultaneous PC,
+Laptop, PDA, or receiver connections to a broadcasting host. Ntrip 
+supports Wireless Internet access through Mobile IP Networks like GSM, 
+GPRS, EDGE, or UMTS.
+
+Ntrip is implemented in three system software components: NtripClients, 
+NtripServers and NtripCasters. The NtripCaster is the actual HTTP 
+server program whereas NtripClient and NtripServer are acting as HTTP 
+clients.
+
+NtripLinuxClient
+----------------
+This Linux/UNIX NtripClient program is written under GNU General Public 
+License in C programming language. The program reads data from an Ntrip 
+Broadcaster and writes on standard output for further redirection 
+of data to a file or COM-port. PLEASE NOTE THAT THIS PROGRAM VERSION
+DOES NOT HANDLE POTENTIALLY OCCURRING INTERRUPTIONS OF COMMUNICATION
+OR NETWORK CONGESTION SITUATIONS. Its distribution may stimulate
+those intending to write their own client program.
+
+Call the program with following arguments:
+
+NtripLinuxClient -d mountpoint
+                 -s Ntrip Broadcaster IP adress         
+                 -p password
+                 -r Ntrip Broadcaster Port number
+                 -u username
+		 -n NMEA string for sending to server
+		 -b output bitrate
+
+or using an URL:
+./NtripLinuxClient ntrip:mountpoint[/username[:password]][@server[:port]][;nmea]
+		 
+
+The argument '-h' will cause a HELP on the screen.
+Without any argument NtripLinuxClient will provide the a table of
+available resources (source table).
+
+Compilation/Installation
+------------------------
+Please unzip the archive and copy its contents into an appropriate
+directory. Compile the source code under Linux through entering e.g.
+the command 'cc -o NtripLinuxClient NtripLinuxClient.c'.
+
+Registration
+------------
+Some of the data streams (mountpoints) from an NtripCaster may be
+available for test, demonstration, and evaluation purposes and
+accessible without authentication/authorization. For accessing other
+data streams (mountpoints) the user needs a user-ID and a
+user password. Authorization can be provided for a single stream,
+for a group of streams (network) or for all available streams.
+Currently, registration can be requested via the registration form
+on http://igs.ifag.de/ntrip/ntrip_register.htm.
+
+Ntrip Broadaster Address and Port
+---------------------------------
+The current Internet address of the Ntrip Broadcaster is
+www.euref-ip.net. The port number is 80.
+
+Disclaimer
+----------
+Note that this NtripLinuxClient program is for experimental use
+only. The BKG disclaims any liability nor responsibility to any 
+person or entity with respect to any loss or damage caused, or alleged 
+to be caused, directly or indirectly by the use and application of the 
+Ntrip technology.
+
+Further Information
+-------------------
+http://igs.ifag.de/index_ntrip.htm
+euref-ip@bkg.bund.de
Index: /trunk/ntripclient/StartNtripLinuxClient
===================================================================
--- /trunk/ntripclient/StartNtripLinuxClient	(revision 466)
+++ /trunk/ntripclient/StartNtripLinuxClient	(revision 466)
@@ -0,0 +1,22 @@
+#!/bin/bash
+# Purpose: Start NtripLinuxClient
+
+# change these 3 according to your needs
+Stream='FFMT0'
+User='user'
+Password='password'
+
+DateStart=`date -u '+%s'`
+SleepMin=10     # Wait min sec for next reconnect try
+SleepMax=10000  # Wait max sec for next reconnect try
+(while true; do
+  ./NtripLinuxClient -s www.euref-ip.net -r 80 -d $Stream -u $User -p $Password
+  if test $? -eq 0; then DateStart=`date -u '+%s'`; fi
+  DateCurrent=`date -u '+%s'`
+  SleepTime=`echo $DateStart $DateCurrent | awk '{printf("%d",($2-$1)*0.02)}'`
+  if test $SleepTime -lt $SleepMin; then SleepTime=$SleepMin; fi
+  if test $SleepTime -gt $SleepMax; then SleepTime=$SleepMax; fi
+  # Sleep 2 percent of outage time before next reconnect try
+  sleep $SleepTime
+done) 
+
Index: /trunk/ntripclient/makefile
===================================================================
--- /trunk/ntripclient/makefile	(revision 466)
+++ /trunk/ntripclient/makefile	(revision 466)
@@ -0,0 +1,9 @@
+
+# probably works not with all compilers. Thought this should be easy
+# fixable. There is nothing special at this source.
+
+NtripLinuxClient: NtripLinuxClient.c
+	$(CC) -Wall -W -O3 $? -o $@
+
+archive:
+	zip -9 NtripLinuxClient.zip NtripLinuxClient.c makefile ReadmeLinuxClient.txt StartNtripLinuxClient
Index: /trunk/ntripserver/NtripLinuxServer.c
===================================================================
--- /trunk/ntripserver/NtripLinuxServer.c	(revision 465)
+++ /trunk/ntripserver/NtripLinuxServer.c	(revision 466)
@@ -1,4 +1,4 @@
 /*
- * NtripServerLinux.c
+ * $Id: NtripLinuxClient.c,v 1.27 2007/05/16 14:16:21 stoecker Exp $
  *
  * Copyright (c) 2003...2007
@@ -10,5 +10,4 @@
  * Designed by Informatik Centrum Dortmund http://www.icd.de
  *
- * NTRIP is currently an experimental technology.
  * The BKG disclaims any liability nor responsibility to any person or
  * entity with respect to any loss or damage caused, or alleged to be 
@@ -41,73 +40,7 @@
  */
 
-/*
- * Changes - Version 0.7
- * Sep 22 2003  Steffen Tschirpke <St.Tschirpke@actina.de>
- *           - socket support
- *           - command line option handling
- *           - error handling
- *           - help screen
- *
- * Changes - Version 0.9
- * Feb 15 2005  Dirk Stoecker <soft@dstoecker.de>
- *           - some minor updates, fixed serial baudrate settings
- *
- * Changes - Version 0.10
- * Apr 05 2005  Dirk Stoecker <soft@dstoecker.de>
- *           - some cleanup and miscellaneous fixes
- *           - replaced non-working simulate with file input (stdin)
- *           - TCP sending now somewhat more stable
- *           - cleanup of error handling
- *           - Modes may be symbolic and not only numeric
- *
- * Changes - Version 0.11
- * Jun 02 2005  Dirk Stoecker <soft@dstoecker.de>
- *           - added SISNeT support
- *           - added UDP support
- *           - cleanup of host and port handling
- *           - added inactivity alarm of 60 seconds
- *
- * Changes - Version 0.12
- * Jun 07 2005  Dirk Stoecker <soft@dstoecker.de>
- *           - added UDP bindmode
- *
- * Changes - Version 0.13
- * Apr 25 2006  Andrea Stuerze <andrea.stuerze@bkg.bund.de>
- *           - added stream retrieval from caster
- *
- * Changes - Version 0.14
- * May 16 2006  Andrea Stuerze <andrea.stuerze@bkg.bund.de>
- *           - bug fixed in base64_encode-function
- *
- * Changes - Version 0.15
- * Jun 02 2006  Georg Weber <georg.weber@bkg.bund.de>
- *           - modification for SISNeT 3.1 protocol
- *
- * Changes - Version 0.16
- * Jul 06 2006 Andrea Stuerze <andrea.stuerze@bkg.bund.de>
- *           - more flexible caster's response
- *
- * Changes - Version 0.17
- * Jul 27 2006  Dirk Stoecker <soft@dstoecker.de>
- *           - fixed some problems with caster download
- *           - some minor cosmetic changes
- *
- * Changes - Version 0.18
- * Oct 30 2006 Andrea Stuerze <andrea.stuerze@bkg.bund.de>
- *           - added possibility to send receiver ID with password 
- *             restricted to mode UDPSOCKET and TCPSOCKET.
- *
- * Changes - Version 0.19
- * Nov 30 2006 Andrea Stuerze <andrea.stuerze@bkg.bund.de>
- *           - bug fixed in Mode 2 
- *
- * Changes - Version 0.20
- * Feb 13 2007  Dirk Stoecker <soft@dstoecker.de>
- *           - default port changed from 80 to 2101
- *           - fixed illegal memory access
- *           - cleanup of no data alarm timer
- *           - fixed zero byte handling in buffers
- *
- */
+/* CVS revision and version */
+static char revisionstr[] = "$Revision: 1.27 $";
+static char datestr[]     = "$Date: 2007/05/16 14:16:21 $";
 
 #include <ctype.h>
@@ -141,5 +74,5 @@
 CASTER = 6, LAST};
 
-#define VERSION         "NTRIP NtripServerLinux/0.20"
+#define AGENTSTRING     "NTRIP NtripServerLinux"
 #define BUFSZ           1024
 
@@ -168,5 +101,5 @@
 static int openserial(const char * tty, int blocksz, int baud);
 static void send_receive_loop(int sock, int fd);
-static void usage(int);
+static void usage(int, char*);
 static int encode(char *buf, int size, const char *user, const char *pwd);
 
@@ -230,4 +163,24 @@
   struct sockaddr_in addr;
 
+  setbuf(stdout, 0);
+  setbuf(stdin, 0);
+  setbuf(stderr, 0);
+
+  char *a;
+  int i = 0;
+  for(a = revisionstr+11; *a && *a != ' '; ++a)
+    revisionstr[i++] = *a;
+  revisionstr[i] = 0;
+  datestr[0] = datestr[7];
+  datestr[1] = datestr[8];
+  datestr[2] = datestr[9];
+  datestr[3] = datestr[10];
+  datestr[5] = datestr[12];
+  datestr[6] = datestr[13];
+  datestr[8] = datestr[15];
+  datestr[9] = datestr[16];
+  datestr[4] = datestr[7] = '-';
+  datestr[10] = 0;
+
   signal(SIGALRM,sighandler_alarm);
   alarm(ALARMTIME);
@@ -235,5 +188,5 @@
   if(argc <= 1)
   {
-    usage(2);
+    usage(2, argv[0]);
     exit(1);
   }
@@ -254,5 +207,5 @@
       {
         fprintf(stderr, "ERROR: can't convert %s to a valid mode\n", optarg);
-        usage(-1);
+        usage(-1, argv[0]);
       }
       break;
@@ -270,5 +223,5 @@
       {
         fprintf(stderr, "ERROR: unknown SISNeT version %s\n", optarg);
-        usage(-2);
+        usage(-2, argv[0]);
       }
       break;
@@ -279,5 +232,5 @@
         fprintf(stderr, "ERROR: can't convert %s to valid serial speed\n",
           optarg);
-        usage(1);
+        usage(1, argv[0]);
       }
       break;
@@ -291,5 +244,5 @@
         fprintf(stderr,
           "ERROR: can't convert %s to a valid HTTP server port\n", optarg);
-        usage(1);
+        usage(1, argv[0]);
       }
       break;
@@ -327,5 +280,5 @@
         fprintf(stderr, "ERROR: can't convert %s to a valid port number\n",
           optarg);
-        usage(1);
+        usage(1, argv[0]);
       }
       break;
@@ -341,8 +294,8 @@
     case 'h':                  /* help */
     case '?':
-      usage(0);
+      usage(0, argv[0]);
       break;
     default:
-      usage(2);
+      usage(2, argv[0]);
       break;
     }
@@ -360,5 +313,5 @@
     }
     fprintf(stderr, "\n");
-    usage(1);                   /* never returns */
+    usage(1, argv[0]);                   /* never returns */
   }
 
@@ -429,5 +382,5 @@
       {
         fprintf(stderr, "ERROR: host %s unknown\n", inhost);
-        usage(-2);
+        usage(-2, argv[0]);
       }
 
@@ -480,6 +433,6 @@
           nBufferBytes=snprintf(szSendBuffer, sizeof(szSendBuffer)-40,
           "GET /%s HTTP/1.0\r\n"
-          "User-Agent: %s\r\n"
-          "Authorization: Basic ", stream_name, VERSION);
+          "User-Agent: %s/%s\r\n"
+          "Authorization: Basic ", stream_name, AGENTSTRING, revisionstr);
           /* second check for old glibc */
           if(nBufferBytes > (int)sizeof(szSendBuffer)-40 || nBufferBytes < 0)
@@ -504,6 +457,6 @@
           nBufferBytes = snprintf(szSendBuffer, sizeof(szSendBuffer),
           "GET /%s HTTP/1.0\r\n"
-          "User-Agent: %s\r\n"
-          "\r\n", stream_name, VERSION);
+          "User-Agent: %s/%s\r\n"
+          "\r\n", stream_name, AGENTSTRING, revisionstr);
         }
         if((send(gpsfd, szSendBuffer, (size_t)nBufferBytes, 0))
@@ -635,5 +588,5 @@
     break;
   default:
-    usage(-1);
+    usage(-1, argv[0]);
     break;
   }
@@ -645,5 +598,5 @@
     {
       fprintf(stderr, "ERROR: host %s unknown\n", outhost);
-      usage(-2);
+      usage(-2, argv[0]);
     }
 
@@ -676,5 +629,5 @@
     /* send message to caster */
     nBufferBytes = sprintf(szSendBuffer, "SOURCE %s /%s\r\nSource-Agent: "
-    VERSION "\r\n\r\n", password, mountpoint);
+    "%s/%s\r\n\r\n", password, mountpoint, AGENTSTRING, revisionstr);
     if((send(sock_id, szSendBuffer, (size_t)nBufferBytes, 0)) != nBufferBytes)
     {
@@ -926,7 +879,8 @@
 __attribute__ ((noreturn))
 #endif /* __GNUC__ */
-void usage(int rc)
+void usage(int rc, char *name)
 {
-  fprintf(stderr, "Usage: " VERSION " [OPTIONS]" COMPILEDATE "\n");
+  fprintf(stderr, "Version %s (%s) GPL" COMPILEDATE "\nUsage:\n%s [OPTIONS]",
+    revisionstr, datestr, name);
   fprintf(stderr, "  Options are: [-]           \n");
   fprintf(stderr, "    -a DestinationCaster name or address (default: %s)\n",
Index: /trunk/ntripserver/ReadmeServerLinux.txt
===================================================================
--- /trunk/ntripserver/ReadmeServerLinux.txt	(revision 466)
+++ /trunk/ntripserver/ReadmeServerLinux.txt	(revision 466)
@@ -0,0 +1,152 @@
+----------------------------------------------------------------------
+                        Ntrip Server Linux
+----------------------------------------------------------------------
+
+(c) German Federal Agency for Cartography and Geodesy (BKG), 2002-2007
+
+
+Files in NtripServerLinux.zip
+-----------------------------
+ReadmeServerLinux.txt: Readme file for NtripServerLinux
+NtripServerLinux.tar: NtripServerLinux program tar archive
+NtripProvider.doc: Server password/mountpoit request form
+SiteLogExample.txt: Example Station Logfile
+SiteLogInstr.txt: Station Logfile Instructions
+
+Ntrip
+-----
+NtripServerLinux is a HTTP client based on "Networked Transport of 
+RTCM via Internet Protocol" (Ntrip). This is an application-level 
+protocol streaming Global Navigation Satellite System (GNSS) data over 
+the Internet. Ntrip is a generic, stateless protocol based on the 
+Hypertext Transfer Protocol HTTP/1.1. The HTTP objects are enhanced 
+to GNSS data streams.
+
+Ntrip is designed for disseminating differential correction data 
+(e.g in the RTCM-104 format) or other kinds of GNSS streaming data to
+stationary or mobile users over the Internet, allowing simultaneous
+PC, Laptop, PDA, or receiver connections to a broadcasting host. Ntrip
+supports wireless Internet access through Mobile IP Networks like GSM,
+GPRS, EDGE, or UMTS.
+
+Ntrip is implemented in three system software components:
+NtripClients, NtripServers and NtripCasters. The NtripCaster is the
+actual HTTP server program whereas NtripClient and NtripServer are
+acting as HTTP clients.
+
+NtripServerLinux
+----------------
+The program NtripServerLinux is designed to provide real-time data
+from a single NtripSource running under a Linux operating system.
+Basically the NtripServerLinux grabs a GNSS byte stream
+from a serial port or tcpsocket port and sends it off over an
+Internet TCP connection to the NtripCaster.
+
+Mind that the NtripServerLinux may not be able to handle your
+proxyserver. When using it in a proxy-protected Local Area Network
+(LAN), a TCP-relay may have to be established connecting the
+proxyserver and the NtripCaster. Establishing the Internet
+connection for an NtripServerLinux by using an Internet Service
+Provider (ISP) is an alternative. 
+
+Installation
+------------
+To install the program 
+- unzip file NtripServerLinux.zip
+- run tar -xf NtripServerLinux.tar
+- change directory to NtripServerLinux
+- run make
+The exacutable will show up as NtripServerLinux.
+
+Usage
+-----
+The user may call the program with the following options:
+
+    -a DestinationCaster name or address (default: www.euref-ip.net)
+    -p DestinationCaster port (default: 80)
+    -m DestinationCaster mountpoint
+    -c DestinationCaster password
+    -h|? print this help screen
+    -M <mode>  sets the input mode
+               (1=serial, 2=tcpsocket, 3=file, 4=sisnet, 5=udpsocket, 6=caster)
+  Mode = file:
+    -s file, simulate data stream by reading log file
+       default/current setting is /dev/stdin
+  Mode = serial:
+    -b baud_rate, sets serial input baud rate
+       default/current value is 19200
+    -i input_device, sets name of serial input device
+       default/current value is /dev/gps
+       (normally a symbolic link to /dev/tty??)
+  Mode = tcpsocket or udpsocket:
+    -P receiver port (default: 1025)
+    -H hostname of TCP server (default: 127.0.0.1)
+    -f initfile send to server
+    -x receiver id
+    -y receiver password
+    -B bindmode: bind to incoming UDP stream
+  Mode = sisnet:
+    -P receiver port (default: 7777)
+    -H hostname of TCP server (default: 131.176.49.142)
+    -u username
+    -l password
+    -V version [2.1 or 3.1] (default: 2.1)
+  Mode = caster:
+    -P SourceCaster port (default: 80)
+    -H SourceCaster hostname (default: www.euref-ip.net)
+    -D SourceCaster mountpoint
+    -U SourceCaster username
+    -W SourceCaster password
+
+Example:
+NtripServerLinux -a www.euref-ip.net -p 2101 -m mountpoint -c password -M 1 -b 19200 -i /dev/ttyS0
+
+It is recommended to start NtripServerLinux through shell script
+StartNtripServerLinux. This shell script ensures that
+NtripServerLinux reconnects to the NtripCaster after a broken
+connection.
+
+NtripCaster IP address
+----------------------
+The current Internet address of the Ntrip Broadcaster which has to be
+introduced in the NtripServerLinux is "www.euref-ip.net". The port
+number is "80" or "2101".
+
+Server password and mountpoint
+------------------------------
+Feeding data streams into the Ntrip system using the
+NtripServerLinux program needs a server password and one mountpoint
+per stream. Currently this is available from
+euref-ip@bkg.bund.de (see "NtripProvider.doc").
+
+Station Logfile
+---------------
+A user of your data stream may need detailed information about the
+GNSS hardware and firmware that generates your signal. This
+information will be made available through a station logfile. Please
+find an example station logfile in "SiteLogExample.txt". Create a
+similar logfile describing your GNSS receiver hardware and firmware
+and include the requested information as far as it is available for
+you. Note that the form of this document follows an IGS
+recommendatation that can be downloaded from
+ftp://igscb.jpl.nasa.gov/pub/station/general/sitelog_instr.txt
+The content of your station logfile has to be kept up to date.
+Thus, please inform the NtripCaster operator about all changes at
+your station by sending an updates version of your station logfile.
+Providing a station logfile is not necessary in case you generate
+a Virtual Reference Station (VRS) data stream.
+
+
+Disclaimer
+----------
+Note that this example server implementation is currently an
+experimental software. The BKG disclaims any liability nor
+responsibility to any person or entity with respect to any loss or
+damage caused, or alleged to be caused, directly or indirectly by the
+use and application of the Ntrip technology.
+
+Further information
+-------------------
+http://igs.bkg.bund.de/index_ntrip.htm
+euref-ip@bkg.bund.de
+
Index: /trunk/ntripserver/SiteLogExample.txt
===================================================================
--- /trunk/ntripserver/SiteLogExample.txt	(revision 466)
+++ /trunk/ntripserver/SiteLogExample.txt	(revision 466)
@@ -0,0 +1,298 @@
+     RTBR Site Information Form
+     International GPS Service
+     See Instructions at:
+       ftp://igscb.jpl.nasa.gov/pub/station/general/sitelog_instr.txt
+
+
+0.   Form
+
+     Prepared by (full name)  : Roosbeek Fabian
+     Date Prepared            : 2003-03-31
+     Report Type              : NEW
+     If Update:
+      Previous Site Log       : 
+      Modified/Added Sections : 
+
+
+1.   Site Identification of the GNSS Monument
+
+     Site Name                : Brussels
+     Four Character ID        : RTBR
+     Monument Inscription     :
+     IERS DOMES Number        :
+     CDP Number               : (A4)
+     Monument Description     : STEEL MAST
+       Height of the Monument : 8 m
+       Monument Foundation    : CONCRETE BLOCK
+       Foundation Depth       : 3 m
+     Marker Description       : BRASS NAIL
+     Date Installed           : 2003-02-28
+     Geologic Characteristic  : SAND
+       Bedrock Type           : SEDIMENTARY
+       Bedrock Condition      : FRESH
+       Fracture Spacing       : 0 cm
+       Fault zones nearby     : NO
+         Distance/activity    : (multiple lines)
+     Additional Information   : (multiple lines)
+
+
+2.   Site Location Information
+
+     City or Town             : Brussels
+     State or Province        : Brabant
+     Country                  : Belgium
+     Tectonic Plate           : Eurasian
+     Approximate Position (ITRF)
+       X coordinate (m)       : 4027862.4040
+       Y coordinate (m)       : 307027.8440
+       Z coordinate (m)       : 4919508.3787
+       Latitude (N is +)      : +50.7982
+       Longitude (E is +)     : +004.3590
+       Elevation (m,ellips.)  : 00154.83
+     Additional Information   : (multiple lines)
+
+
+3.   GNSS Receiver Information
+
+3.1  Receiver Type            : ASHTECH UZ-12
+     Satellite System         : GPS
+     Serial Number            : ZR220023809
+     Firmware Version         : CJ00
+     Elevation Cutoff Setting : 0
+     Date Installed           : 2003-02-28T09:00Z
+     Date Removed             : CCYY-MM-DDThh:mmZ
+     Temperature Stabiliz.    : 0.1
+     Additional Information   : - 2003-03-18T08:09Z Deactivation of smoothing
+                              :   in conversion from raw data to RINEX
+                              :   (XYZAshRx program) on request of IGS CB
+
+3.x  Receiver Type            : (A20, from rcvr_ant.tab; see instructions)
+     Satellite System         : (GPS/GLONASS/GPS+GLONASS)
+     Serial Number            : (A5)
+     Firmware Version         : (A11)
+     Elevation Cutoff Setting : (deg)
+     Date Installed           : (CCYY-MM-DDThh:mmZ)
+     Date Removed             : (CCYY-MM-DDThh:mmZ)
+     Temperature Stabiliz.    : (none or tolerance in degrees C)
+     Additional Information   : (multiple lines)
+
+
+4.   GNSS Antenna Information
+
+4.1  Antenna Type             : ASH701945E_M
+     Serial Number            : CR620023301
+     Antenna Reference Point  : BPA
+     Marker->ARP Up Ecc. (m)  : 000.0000
+     Marker->ARP North Ecc(m) : 000.0000
+     Marker->ARP East Ecc(m)  : 000.0000
+     Alignment from True N    : 
+     Antenna Radome Type      : NONE
+     Radome Serial Number     : 
+     Antenna Cable Type       : RGB233
+     Antenna Cable Length     : 50
+     Date Installed           : 2003-02-28T09:00Z
+     Date Removed             : CCYY-MM-DDThh:mmZ
+     Additional Information   : (multiple lines)
+
+4.x  Antenna Type             : (A20, from rcvr_ant.tab; see instructions)
+     Serial Number            : (A*, but note the first A5 is used in SINEX)
+     Antenna Reference Point  : 
+     Marker->ARP Up Ecc. (m)  : (F8.4)
+     Marker->ARP North Ecc(m) : (F8.4)
+     Marker->ARP East Ecc(m)  : (F8.4)
+     Alignment from True N    : (deg; + is clockwise/east)
+     Antenna Radome Type      : (A4 from rcvr_ant.tab; see instructions)
+     Radome Serial Number     : 
+     Antenna Cable Type       : (vendor & type number)
+     Antenna Cable Length     : (m)
+     Date Installed           : (CCYY-MM-DDThh:mmZ)
+     Date Removed             : (CCYY-MM-DDThh:mmZ)
+     Additional Information   : (multiple lines)
+
+
+5.   Surveyed Local Ties
+
+5.x  Tied Marker Name         : 
+     Tied Marker Usage        : (SLR/VLBI/LOCAL CONTROL/FOOTPRINT/etc)
+     Tied Marker CDP Number   : (A4)
+     Tied Marker DOMES Number : (A9)
+     Differential Components from GNSS Marker to the tied monument (ITRS)
+       dx (m)                 : 
+       dy (m)                 : 
+       dz (m)                 : 
+     Accuracy (mm)            : (mm)
+     Survey method            : (GPS CAMPAIGN/TRILATERATION/TRIANGULATION/etc)
+     Date Measured            : (CCYY-MM-DDThh:mmZ)
+     Additional Information   : (multiple lines)
+
+
+6.   Frequency Standard
+
+6.1  Standard Type            : INTERNAL
+       Input Frequency        :
+       Effective Dates        : 2003-02-28/CCYY-MM-DD
+       Notes                  : (multiple lines)
+
+6.x  Standard Type            : (INTERNAL or EXTERNAL H-MASER/CESIUM/etc)
+       Input Frequency        : (if external)
+       Effective Dates        : (CCYY-MM-DD/CCYY-MM-DD)
+       Notes                  : (multiple lines)
+
+
+7.   Collocation Information
+
+7.x  Instrumentation Type     : (GPS/GLONASS/DORIS/PRARE/SLR/VLBI/TIME/etc)
+       Status                 : (PERMANENT/MOBILE)
+       Effective Dates        : (CCYY-MM-DD/CCYY-MM-DD)
+       Notes                  : (multiple lines)
+
+
+8.   Meteorological Instrumentation
+
+8.1.x Humidity Sensor Model   :
+       Manufacturer           :
+       Serial Number          :
+       Data Sampling Interval : (sec)
+       Accuracy (% rel h)     : (% rel h)
+       Aspiration             : (UNASPIRATED/NATURAL/FAN/etc)
+       Height Diff to Ant     : (m)
+       Calibration date       : (CCYY-MM-DD)
+       Effective Dates        : (CCYY-MM-DD/CCYY-MM-DD)
+       Notes                  : (multiple lines)
+
+8.2.x Pressure Sensor Model   :
+       Manufacturer           :
+       Serial Number          :
+       Data Sampling Interval : (sec)
+       Accuracy               : (hPa)
+       Height Diff to Ant     : (m)
+       Calibration date       : (CCYY-MM-DD)
+       Effective Dates        : (CCYY-MM-DD/CCYY-MM-DD)
+       Notes                  : (multiple lines)
+
+8.3.x Temp. Sensor Model      :
+       Manufacturer           :
+       Serial Number          :
+       Data Sampling Interval : (sec)
+       Accuracy               : (deg C)
+       Aspiration             : (UNASPIRATED/NATURAL/FAN/etc)
+       Height Diff to Ant     : (m)
+       Calibration date       : (CCYY-MM-DD)
+       Effective Dates        : (CCYY-MM-DD/CCYY-MM-DD)
+       Notes                  : (multiple lines)
+
+8.4.x Water Vapor Radiometer  :
+       Manufacturer           :
+       Serial Number          :
+       Distance to Antenna    : (m)
+       Height Diff to Ant     : (m)
+       Calibration date       : (CCYY-MM-DD)
+       Effective Dates        : (CCYY-MM-DD/CCYY-MM-DD)
+       Notes                  : (multiple lines)
+
+8.5.x Other Instrumentation   : (multiple lines)
+
+
+9.   Local Ongoing Conditions Possibly Affecting Computed Position
+
+9.1.x Radio Interferences     : (TV/CELL PHONE ANTENNA/RADAR/etc)
+       Observed Degradations  : (SN RATIO/DATA GAPS/etc)
+       Effective Dates        : (CCYY-MM-DD/CCYY-MM-DD)
+       Additional Information : (multiple lines)
+
+9.2.x Multipath Sources       : (METAL ROOF/DOME/VLBI ANTENNA/etc)
+       Effective Dates        : (CCYY-MM-DD/CCYY-MM-DD)
+       Additional Information : (multiple lines)
+
+9.3.x Signal Obstructions     : (TREES/BUILDLINGS/etc)
+       Effective Dates        : (CCYY-MM-DD/CCYY-MM-DD)
+       Additional Information : (multiple lines)
+
+
+10.  Local Episodic Effects Possibly Affecting Data Quality
+
+10.x Date                     : (CCYY-MM-DDThh:mmZ)
+     Event                    : (TREE CLEARING/CONSTRUCTION/etc)
+
+
+11.  On-Site, Point of Contact Agency Information
+
+     Agency                   : Royal Observatory of Belgium
+     Preferred Abbreviation   : ROB
+     Mailing Address          : Av. Circulaire No 3
+                              : B-1180 Brussels
+     Primary Contact
+       Contact Name           : F. Roosbeek
+       Telephone (primary)    : 32-2-373-02-46
+       Telephone (secondary)  : 32-2-373-02-11
+       Fax                    : 32-2-374-98-22
+       E-mail                 : f.roosbeek@oma.be
+     Secondary Contact
+       Contact Name           : C. Bruyninx
+       Telephone (primary)    : 32-2-373-02-92
+       Telephone (secondary)  : 32-2-373-02-11
+       Fax                    : 32-2-374-98-22
+       E-mail                 : c.bruyninx@oma.be
+     Additional Information   : (multiple lines)
+
+
+12.  Responsible Agency (if different from 11.)
+
+     Agency                   : (multiple lines)
+     Preferred Abbreviation   : (A10)
+     Mailing Address          : (multiple lines)
+     Primary Contact
+       Contact Name           : 
+       Telephone (primary)    : 
+       Telephone (secondary)  : 
+       Fax                    : 
+       E-mail                 : 
+     Secondary Contact
+       Contact Name           : 
+       Telephone (primary)    : 
+       Telephone (secondary)  : 
+       Fax                    : 
+       E-mail                 : 
+     Additional Information   : (multiple lines)
+
+
+13.  More Information
+
+     Primary Data Center      : ROB
+     Secondary Data Center    : 
+     URL for More Information : 
+       Hardcopy on File
+       Site Map               : (Y or URL)
+       Site Diagram           : (Y or URL)
+       Horizon Mask           : 
+       Monument Description   : (Y or URL)
+       Site Pictures          : 
+     Additional Information   : (multiple lines)
+     Antenna Graphics with Dimensions
+
+ASH701945E_M
+Dorne Margolin with chokerings, Model 701945-01 REV E
+
+
+                       +-------+
+                     /     +     \                        <--  0.1280 L2
+                    |      +      |                       <--  0.1100 L1
+  +-----------------+-------------+------------------+    <--  0.1006 TCR
+  |                                                  |
+  |                                                  |
+  |                                                  |
+  |                                                  |
++-+--------------------------------------------------+-+  <--  0.0376
++-------------------+-------------+--------------------+  <--  0.0346 BCR
+                    |             |
+                    |             |
+                    +------x------+                       <--  0.0000 BPA=ARP
+
+<--                      0.3890                      -->
+
+
+   ARP: Antenna Reference Point
+   L1 : L1 Phase Center                   L2 : L2 Phase Center
+   TCR: Top of Chokering                  BCR: Bottom of Chokering
+   BPA: Bottom of Preamplifier
+
Index: /trunk/ntripserver/SiteLogInstr.txt
===================================================================
--- /trunk/ntripserver/SiteLogInstr.txt	(revision 466)
+++ /trunk/ntripserver/SiteLogInstr.txt	(revision 466)
@@ -0,0 +1,217 @@
+Instructions for filling out IGS site logs
+1 Dec 2003 (added Height Diff to Ant instructions)
+
+See log form at ftp://igscb.jpl.nasa.gov/pub/station/general/blank.log
+
+General
+=======
+
+Please prepare site logs in plain ASCII.
+
+Line length is limited to 80 characters.
+
+See http://igscb.jpl.nasa.gov/network/sitelog-submissions.html for
+submission instructions, or email your log to igscb.jpl.nasa.gov if 
+you prefer.  Site logs emailed manually are usually handled by
+the CB within about one business day.
+
+Date and time formats are ISO 8061; see http://www.iso.ch/markete/8601.pdf
+As a summary, CC=2 digit century
+              YY=2 digit year
+              MM=2 digit month
+              DD=2 digit day of month
+              T=date/time separator
+              hh=2 digit hour
+              mm=2 digit minutes of hour
+              Z=UTC indicator
+              /=separator when begin & end times are given
+
+Latitude/Longitude formats are aligned to ISO 6709:
+  Lat:  +/-DDMMSS.SS
+  Long: +/-DDDMMSS.SS
+A + or - sign is required.  Leading zeroes must be used as appropriate
+to maintain the DDMMSS and DDDMMSS format.
+
+"etc" indicates you may enter any relevant answer, not just a choice 
+ofthe suggestions shown.
+
+"F7.4," "A4" and so on indicate the  FORTRAN-style format which the 
+response should have.
+     Example     12345.7 = F7.1
+                    ABCD = A4
+
+Blocks which have a "N.x" definition (namely sections 3-10) should 
+always have the complete historic set of information; when a change is 
+made, the previous information is left (for example in section 3.1) 
+and the new information is placed in a new block numbered 3.2.  Please 
+leave the .x  sections uncompleted to remind yourself of the format 
+when the next change occurs.  
+
+Please remove the response hints  such as "(F7.4 N/S)" as you fill out 
+the log (except in the .x sections and Date Removed fields for 
+currently installed equipment, which you will leave).  If an
+answer in an optional field is unknown, try to learn the answer for 
+the next log update.  
+
+If you have any questions not answered here, please feel free to 
+contact the IGS Central Bureau:igscb@igscb.jpl.nasa.gov
+
+Special Instructions  by section
+================================
+
+0.   Form
+-----------
+
+If Update:
+Previous Site Log       : (ssss_CCYYMMDD.log)
+     If the site already has a log at the IGS Central Bureau, enter 
+     the filename currently found under 
+     ftp://igscb.jpl.nasa.gov/pub/station/log/     
+     ssss = 4 character site name
+
+If Update:
+Modified/Added Sections : (n.n,n.n,...)
+     Enter the sections which have changed from the previous version 
+     of the  log.  Example: 3.2, 4.2
+
+1.   Site Identification of the GNSS Monument
+---------------------------------------------
+
+IERS DOMES Number        : (A9)
+     This is strictly required.  See 
+     http://lareg.ensg.ign.fr/ITRF/domesreq.html to obtain one.
+
+Monument Description     : (PILLAR/BRASS PLATE/STEEL MAST/FICTIVE/etc)
+     Enter one or more elements as necessary to describe the monument.
+
+Additional Information   : (multiple lines)
+     Suggestions: electrical isolation
+
+2. Site Location Information
+-----------------------------
+
+Approximate Position (ITRF)
+     This should be to a one meter precision.  The elevation is to be
+given as an F7.1 number representing an ellipsoidal height.
+     
+3.  GNSS Receiver Information
+--------------------------------------
+
+Receiver Type            : (A20, from rcvr_ant.tab; see instructions)
+     Please find your receiver in 
+     ftp://igscb.jpl.nasa.gov/pub/station/general/rcvr_ant.tab and use 
+     the official name, taking care to get capital letters, hyphens, 
+     etc. exactly correct.  If you do not find a listing for your 
+     receiver, please notify the IGS Central Bureau 
+     (igscb@igscb.jpl.nasa.gov).
+
+Serial Number            : (A20)
+     Keep the 5 significant characters of the serial number field in 
+     SINEX in mind: do not enter "S/N 12345" instead of "12345" since 
+     valuable information will be lost.
+
+Firmware Version         : (A11)
+     Keep the 11 significant characters of the field in SINEX in mind.
+
+ Elevation Cutoff Setting : (deg)
+     Please respond with the tracking cutoff as set in the receiver, 
+     regardless of terrain or obstructions in the area.
+
+Temperature Stabiliz.    : (none or tolerance in degrees C.)
+     This refers to the temperature of the room in which the receiver 
+     is housed.
+
+Date Removed             : (CCYY-MM-DDThh:mmZ)
+     In the block for the receiver currently in operation, leave this 
+     line as is to remind yourselt of the format when the next receiver 
+     change is made.
+
+4.   GNSS Antenna Information
+---------------------------------------
+
+Antenna Type             : (A20 from rcvr_ant.tab; see instructions)
+     Please find your antenna in 
+     ftp://igscb.jpl.nasa.gov/pub/station/general/rcvr_ant.tab and 
+     use the official name, taking care to get capital letters, hyphens, 
+     etc. exactly correct.  If you do not find a listing for your 
+     antenna, please notify the IGS Central Bureau 
+     (igscb@igscb.jpl.nasa.gov).  Please do not use antenna names from a 
+     "Previously valid" section.  Choose the corresponding new antenna 
+     name.  You may indicate a Radome code from rcvr_ant.tab in columns 
+     17-20 of the Antenna Type if desired.
+
+Serial Number            : (A20)
+     Keep the 5 significant characters of the serial number field in 
+     SINEX in mind: do not enter "S/N 12345" instead of "12345" since 
+     valuable information will be lost.
+
+Antenna Reference Point  : (BPA/BCR/XXX from "antenna.gra"; see instructions)
+     Locate your antenna in the file 
+     ftp://igscb.jpl.nasa.gov/pub/station/general/antenna.gra 
+     Indicate the three-letter abbreviation for the point which is 
+     indicated equivalent to ARP for your antenna.  Contact the Central 
+     Bureau (igscb@igscb.jpl.nasa.gov) if your antenna does not appear.
+
+Marker->ARP Up Ecc. (m)  : (F8.4) 
+     This is the antenna height measured to an accuracy of 1mm 
+     and defined as the vertical distance of the ARP from the marker 
+     described in section 1.
+
+Alignment from True N    : (deg; + is clockwise/east)
+     The positive direction is clockwise, so that due east
+     would be equivalent to a response of "+90"
+
+Antenna Radome Type      : (A4 from rcvr_ant.tab; see instructions)
+     Place a Radome code from
+     ftp://igscb.jpl.nasa.gov/pub/station/general/rcvr_ant.tab here.  
+     "NONE" indicates there is no radome.
+
+Date Removed             : (CCYY-MM-DDThh:mmZ)
+     In the block for the antenna currently in operation, leave this 
+     line as is to remind yourselt of the format when the next antenna 
+     change is made.
+
+8. Meterological Information
+-------------------------------------------------------------
+       Height Diff to Ant     : (m)
+This is sensor height minus antenna height.  In other words, positive
+if the sensor is above the antenna.  Please note that this convention
+was used in the Notes.
+
+12.  Responsible Agency (if different from 9.)
+-------------------------------------------------------------
+The primary contacts listed here should always be the first choice for 
+questions about operation of the site.  This person will receive 
+automated emails regarding site log or RINEX errors and should be 
+someone who can answer  questions about the configuration and data 
+delivery for this site.
+
+13.  More Information
+-------------------------------------------------------------
+     Primary Data Center      :
+     Secondary Data Center    :
+Please list the DC where the station's data ordinarily goes first as
+"Primary."  Use "Secondary" either for a second location where
+the station's data always goes, or would go in the case of a
+failure with the Primary DC.
+
+     Additional Information:
+Anything you feel is important.  Some possibilities to consider are:
+- Elevation mask table indicating physical mask effects such as
+ AZ   ELEV    AZ   ELEV    AZ   ELEV    AZ   ELEV
+ 10     8     20    12     30    10     40     8
+ 50     5     60    12     70     8     80     8
+ 90     5    100     5    110     5    120     5
+130     5    140     5    150     8    160     8
+170     5    180     3    190     5    200     8
+210     8    220     8    230     5    240     5
+250     5    260     8    270    10    280    12
+290    12    300    12    310    12    320     8
+330     5    340     5    350     8    360     8
+(This could also be kept at your local www site and referred to
+by URL in the log).
+
+
+ 
+
+
Index: /trunk/ntripserver/StartNtripServerLinux
===================================================================
--- /trunk/ntripserver/StartNtripServerLinux	(revision 466)
+++ /trunk/ntripserver/StartNtripServerLinux	(revision 466)
@@ -0,0 +1,5 @@
+#!/bin/bash
+# Purpose: Start NtripServerLinux
+
+while true; do ./NtripServerLinux -a www.euref-ip.net -p 80 -m Mountpoint -c password -M 1 -b 19200 -i /dev/gps; sleep 20; done
+
Index: /trunk/ntripserver/makefile
===================================================================
--- /trunk/ntripserver/makefile	(revision 466)
+++ /trunk/ntripserver/makefile	(revision 466)
@@ -0,0 +1,10 @@
+#!/bin/make
+
+NtripServerLinux: NtripLinuxServer.c
+	$(CC) -Wall -W -O3 $? -o $@
+
+clean:
+	$(RM) -f NtripServerLinux core
+
+archive:
+	zip NtripServerLinux.zip -9 makefile NtripLinuxServer.c NtripProvider.doc ReadmeServerLinux.txt SiteLogExample.txt SiteLogInstr.txt StartNtripServerLinux
Index: /trunk/rtcm3torinex/makefile
===================================================================
--- /trunk/rtcm3torinex/makefile	(revision 466)
+++ /trunk/rtcm3torinex/makefile	(revision 466)
@@ -0,0 +1,8 @@
+# probably works not with all compilers. Thought this should be easy
+# fixable. There is nothing special at this source.
+
+rtcm3torinex: rtcm3torinex.c
+	$(CC) -Wall -W -O3 -lm $? -o $@
+
+archive:
+	zip -9 rtcm3torinex.zip rtcm3torinex.c rtcm3torinex.h rtcm3torinex.txt makefile
