Index: trunk/BNC/bncrinex.cpp
===================================================================
--- trunk/BNC/bncrinex.cpp	(revision 544)
+++ trunk/BNC/bncrinex.cpp	(revision 545)
@@ -154,7 +154,14 @@
           line.chop(1);
           if (line.indexOf("RINEX VERSION") != -1) {
-            _headerLines.append("     2.11           OBSERVATION DATA"
-                                "    M (MIXED)"
-                                "           RINEX VERSION / TYPE");
+            if (_rinexVers == 3) {
+              _headerLines.append("     3.00           OBSERVATION DATA"
+                                  "    M (MIXED)"
+                                  "           RINEX VERSION / TYPE");
+            }
+            else {
+              _headerLines.append("     2.11           OBSERVATION DATA"
+                                  "    M (MIXED)"
+                                  "           RINEX VERSION / TYPE");
+            }
             _headerLines.append("PGM / RUN BY / DATE");
             firstLineRead = true;
@@ -355,6 +362,12 @@
       }
       else if (line.indexOf("# / TYPES OF OBSERV") != -1) {
-        _out << "     8    C1    C2    P1    P2    L1    L2    S1    S2"
-                "      # / TYPES OF OBSERV"  << endl;
+        if (_rinexVers == 3) {
+          _out << "G    6 C1C L1C S1C C2P L2P S2P                              SYS / # / OBS TYPES" << endl;
+          _out << "R    6 C1C L1C S1C C2P L2P S2P                              SYS / # / OBS TYPES" << endl;
+        }
+        else { 
+          _out << "     8    C1    C2    P1    P2    L1    L2    S1    S2"
+                  "      # / TYPES OF OBSERV"  << endl;
+        }
       }
       else if (line.indexOf("TIME OF FIRST OBS") != -1) {
@@ -378,5 +391,10 @@
     double antennaNEU[3]; antennaNEU[0] = antennaNEU[1] = antennaNEU[2] = 0.0;
     
-    _out << "     2.11           OBSERVATION DATA    M (MIXED)           RINEX VERSION / TYPE" << endl;
+    if (_rinexVers == 3) {
+      _out << "     3.00           OBSERVATION DATA    M (MIXED)           RINEX VERSION / TYPE" << endl;
+    }
+    else {
+      _out << "     2.11           OBSERVATION DATA    M (MIXED)           RINEX VERSION / TYPE" << endl;
+    }
     QString hlp = QDate::currentDate().toString("dd-MMM-yyyy").leftJustified(20, ' ', true);
     _out << _pgmName.toAscii().data() << _userName.toAscii().data() 
