Index: trunk/FACT++/src/HeadersFAD.h
===================================================================
--- trunk/FACT++/src/HeadersFAD.h	(revision 10923)
+++ trunk/FACT++/src/HeadersFAD.h	(revision 10924)
@@ -2,4 +2,5 @@
 #define FACT_HeadersFAD
 
+#ifdef __cplusplus
 #include <ostream>
 
@@ -13,4 +14,5 @@
 namespace FAD
 {
+#endif
     enum Enable
     {
@@ -31,10 +33,11 @@
     enum Commands
     {
-        kCmdWrite           = 0x0500,         // write to Config-RAM
-        kCmdWriteRoi        = kCmdWrite|0x00, // Baseaddress ROI-Values
-        kCmdWriteDac        = kCmdWrite|0x24, // Baseaddress DAC-Values
-
-        kCmdWriteRate       = kCmdWrite|0x2c, // Continous trigger rate
-        kCmdWriteRunNumber  = kCmdWrite|0x2d, // 
+        kCmdWrite             = 0x0500,         // write to Config-RAM
+        kCmdWriteRoi          = kCmdWrite|0x00, // Baseaddress ROI-Values
+        kCmdWriteDac          = kCmdWrite|0x24, // Baseaddress DAC-Values
+
+        kCmdWriteRate         = kCmdWrite|0x2c, // Continous trigger rate
+        kCmdWriteRunNumberMSW = kCmdWrite|0x2d, // Run Number most  significant word
+        kCmdWriteRunNumberLSW = kCmdWrite|0x2e, // Run Number least significant word
 
         /*
@@ -71,10 +74,11 @@
     enum
     {
-        kMaxRegAddr  = 0xff,    // Highest address in config-ram
-        kMaxRegValue = 0xffff,
-        kMaxDacAddr  = kNumDac-1,
-        kMaxDacValue = 0xffff,
-        kMaxRoiAddr  = kNumChannels-1,
-        kMaxRoiValue = kMaxBins,
+        kMaxRegAddr   = 0xff,    // Highest address in config-ram
+        kMaxRegValue  = 0xffff,
+        kMaxDacAddr   = kNumDac-1,
+        kMaxDacValue  = 0xffff,
+        kMaxRoiAddr   = kNumChannels-1,
+        kMaxRoiValue  = kMaxBins,
+        kMaxRunNumber = 0xffffffff,
     };
 
@@ -89,4 +93,5 @@
     struct EventHeader
     {
+#ifdef __cplusplus
         enum Bits
         {
@@ -99,5 +104,5 @@
             kSpiSclk       = 1<< 5,
         };
-
+#endif
         // Einmalig:     (new header changes entry in array --> send only if array changed)
         // ----------------------------------
@@ -173,5 +178,5 @@
         uint16_t fDac[kNumDac];
         //
-
+#ifdef __cplusplus
         EventHeader() { init(*this); }
 
@@ -260,4 +265,5 @@
         void clear() { reset(*this); }
         void print(std::ostream &out) const;
+#endif
 
     } __attribute__((__packed__));
@@ -271,4 +277,5 @@
         // uint16_t fData[];
 
+#ifdef __cplusplus
         ChannelHeader() { init(*this); }
 
@@ -289,5 +296,5 @@
         uint16_t Chip() const    { return fId>>4; }
         uint16_t Channel() const { return fId&0xf; }
-
+#endif
     } __attribute__((__packed__));
 
@@ -386,5 +393,5 @@
 */
     // --------------------------------------------------------------------
-
+#ifdef __cplusplus
     inline std::ostream &operator<<(std::ostream &out, const EventHeader &h)
     {
@@ -398,5 +405,9 @@
         return out;
     }
+#endif
+
+#ifdef __cplusplus
 };
-
-#endif
+#endif
+
+#endif
