Index: trunk/BNC/src/RTCM3/RTCM3coDecoder.h
===================================================================
--- trunk/BNC/src/RTCM3/RTCM3coDecoder.h	(revision 11038)
+++ trunk/BNC/src/RTCM3/RTCM3coDecoder.h	(revision 11047)
@@ -30,4 +30,5 @@
 #include <QList>
 #include <QMap>
+#include <QSet>
 #include "GPSDecoder.h"
 #include "../RTCM3/clock_and_orbit/clock_orbit_igs.h"
@@ -75,4 +76,9 @@
   void checkProviderID();
   bool corrIsOutOfRange(const SsrCorr::ClockOrbit::SatData& coSat);
+  // Log (once per satellite) a satellite number outside BNC's supported
+  // range (t_prn::MAXPRN_*); such satellites map to the unused index 0.
+  void checkPrnRange(const t_prn& prn);
+  QSet<QString>                         _prnOutOfRangeLogged;
+
 
   struct t_stateSnapshot {
@@ -111,5 +117,17 @@
   QMap<bncTime, QList<t_satAntenna> >   _satAntennas;
   unsigned int                          _phaseBiasSentEpoch[CLOCKORBIT_SATNUM];
-  unsigned int                          _antennaSentIOD[CLOCKORBIT_SATNUM];
+  bool                                  _antennaReceived[CLOCKORBIT_SATNUM];
+  unsigned int                          _antennaSentProviderID[CLOCKORBIT_COUNTSAT];
+  unsigned int                          _antennaSentIOD[CLOCKORBIT_COUNTSAT];
+  bncTime                               _antennaSentTime[CLOCKORBIT_COUNTSAT];
+  // per GNSS: Satellite Antenna IOD currently in use and the one it replaced,
+  // to detect messages of one GNSS using different IODs (see checkAntennaIOD())
+  void checkAntennaIOD(unsigned s);
+  bool                                  _antennaIODKnown[CLOCKORBIT_SATNUM];
+  unsigned int                          _antennaIODProvider[CLOCKORBIT_SATNUM];
+  unsigned int                          _antennaIODCur[CLOCKORBIT_SATNUM];
+  unsigned int                          _antennaIODPrev[CLOCKORBIT_SATNUM];
+  bncTime                               _antennaIODPrevTime[CLOCKORBIT_SATNUM]; // when _antennaIODPrev was last seen
+  QSet<QString>                         _antennaIODLogged;
 };
 
