Index: /trunk/MagicSoft/Cosy/candrv/canopen.cc
===================================================================
--- /trunk/MagicSoft/Cosy/candrv/canopen.cc	(revision 1139)
+++ /trunk/MagicSoft/Cosy/candrv/canopen.cc	(revision 1140)
@@ -16,5 +16,5 @@
 !
 !
-!   Author(s): Thomas Bretz, 2001 <mailto:tbretz@uni-sw.gwdg.de>
+!   Author(s): Thomas Bretz <mailto:tbretz@uni-sw.gwdg.de>, 2001
 !
 !   Copyright: MAGIC Software Development, 2000-2001
@@ -78,5 +78,5 @@
 //  HandlePDO1/2/3/4:handles received PDOs
 //
-void CanOpen::HandleCanMessage(WORD_t cobid, BYTE_t *data, struct timeval *tv)
+void CanOpen::HandleCanMessage(WORD_t cobid, BYTE_t *data, timeval_t *tv)
 {
     const WORD_t fcode = cobid >> 7;
Index: /trunk/MagicSoft/Cosy/candrv/network.cc
===================================================================
--- /trunk/MagicSoft/Cosy/candrv/network.cc	(revision 1139)
+++ /trunk/MagicSoft/Cosy/candrv/network.cc	(revision 1140)
@@ -16,5 +16,5 @@
 !
 !
-!   Author(s): Thomas Bretz, 2001 <mailto:tbretz@uni-sw.gwdg.de>
+!   Author(s): Thomas Bretz <mailto:tbretz@uni-sw.gwdg.de>, 2001
 !
 !   Copyright: MAGIC Software Development, 2000-2001
@@ -85,5 +85,5 @@
 //  HandleSDOError: Handles error occursion (see CanOpen standard)
 //
-void Network::HandleSDO(BYTE_t node, BYTE_t cmd, WORD_t idx, BYTE_t subidx, LWORD_t data, struct timeval *tv)
+void Network::HandleSDO(BYTE_t node, BYTE_t cmd, WORD_t idx, BYTE_t subidx, LWORD_t data, timeval_t *tv)
 {
     switch (cmd)
@@ -139,5 +139,5 @@
 // Distributes PDO1 messages to the correspoding node calling HandlePDO1
 //
-void Network::HandlePDO1(BYTE_t node, BYTE_t *data, struct timeval *tv)
+void Network::HandlePDO1(BYTE_t node, BYTE_t *data, timeval_t *tv)
 {
     if (!fNodes[node])
@@ -157,5 +157,5 @@
 // Distributes PDO2 messages to the correspoding node calling HandlePDO2
 //
-void Network::HandlePDO2(BYTE_t node, BYTE_t *data, struct timeval *tv)
+void Network::HandlePDO2(BYTE_t node, BYTE_t *data, timeval_t *tv)
 {
     if (!fNodes[node])
@@ -175,5 +175,5 @@
 // Distributes PDO3 messages to the correspoding node calling HandlePDO3
 //
-void Network::HandlePDO3(BYTE_t node, BYTE_t *data, struct timeval *tv)
+void Network::HandlePDO3(BYTE_t node, BYTE_t *data, timeval_t *tv)
 {
     if (!fNodes[node])
@@ -193,5 +193,5 @@
 // Distributes PDO4 messages to the correspoding node calling HandlePDO4
 //
-void Network::HandlePDO4(BYTE_t node, BYTE_t *data, struct timeval *tv)
+void Network::HandlePDO4(BYTE_t node, BYTE_t *data, timeval_t *tv)
 {
     if (!fNodes[node])
Index: /trunk/MagicSoft/Cosy/candrv/network.h
===================================================================
--- /trunk/MagicSoft/Cosy/candrv/network.h	(revision 1139)
+++ /trunk/MagicSoft/Cosy/candrv/network.h	(revision 1140)
@@ -11,9 +11,9 @@
     int fNodeInitialized[32];
 
-    void HandleSDO(BYTE_t node, BYTE_t cmd, WORD_t idx, BYTE_t subidx, LWORD_t data, struct timeval *tv);
-    void HandlePDO1(BYTE_t node, BYTE_t *data, struct timeval *tv);
-    void HandlePDO2(BYTE_t node, BYTE_t *data, struct timeval *tv);
-    void HandlePDO3(BYTE_t node, BYTE_t *data, struct timeval *tv);
-    void HandlePDO4(BYTE_t node, BYTE_t *data, struct timeval *tv);
+    void HandleSDO(BYTE_t node, BYTE_t cmd, WORD_t idx, BYTE_t subidx, LWORD_t data, timeval *tv);
+    void HandlePDO1(BYTE_t node, BYTE_t *data, timeval_t *tv);
+    void HandlePDO2(BYTE_t node, BYTE_t *data, timeval_t *tv);
+    void HandlePDO3(BYTE_t node, BYTE_t *data, timeval_t *tv);
+    void HandlePDO4(BYTE_t node, BYTE_t *data, timeval_t *tv);
 
     void InitNodes();
Index: /trunk/MagicSoft/Cosy/candrv/nodedrv.cc
===================================================================
--- /trunk/MagicSoft/Cosy/candrv/nodedrv.cc	(revision 1139)
+++ /trunk/MagicSoft/Cosy/candrv/nodedrv.cc	(revision 1140)
@@ -16,5 +16,5 @@
 !
 !
-!   Author(s): Thomas Bretz, 2001 <mailto:tbretz@uni-sw.gwdg.de>
+!   Author(s): Thomas Bretz <mailto:tbretz@uni-sw.gwdg.de>, 2001
 !
 !   Copyright: MAGIC Software Development, 2000-2001
@@ -32,11 +32,11 @@
 //  virtual void InitDevice(Network *net)
 //  virtual void StopDevice()
-//  virtual void HandleSDO(WORD_t idx, BYTE_t subidx, LWORD_t val, struct timeval *tv)
+//  virtual void HandleSDO(WORD_t idx, BYTE_t subidx, LWORD_t val, timeval_t *tv)
 //  virtual void HandleSDOOK(WORD_t idx, BYTE_t subidx)
 //  virtual void HandleSDOError(LWORD_t data)
-//  virtual void HandlePDO1(BYTE_t *data, struct timeval *tv)
-//  virtual void HandlePDO2(BYTE_t *data, struct timeval *tv)
-//  virtual void HandlePDO3(BYTE_t *data, struct timeval *tv)
-//  virtual void HandlePDO4(BYTE_t *data, struct timeval *tv)
+//  virtual void HandlePDO1(BYTE_t *data, timeval_t *tv)
+//  virtual void HandlePDO2(BYTE_t *data, timeval_t *tv)
+//  virtual void HandlePDO3(BYTE_t *data, timeval_t *tv)
+//  virtual void HandlePDO4(BYTE_t *data, timeval_t *tv)
 //
 ///////////////////////////////////////////////////////////////////////
@@ -141,5 +141,5 @@
 // Prints the received SDo from this device
 //
-void NodeDrv::HandleSDO(WORD_t idx, BYTE_t subidx, LWORD_t val, struct timeval *tv)
+void NodeDrv::HandleSDO(WORD_t idx, BYTE_t subidx, LWORD_t val, timeval_t *tv)
 {
     cout << "SdoRx: Idx=0x"<< hex << idx << "/" << (int)subidx;
Index: /trunk/MagicSoft/Cosy/candrv/nodedrv.h
===================================================================
--- /trunk/MagicSoft/Cosy/candrv/nodedrv.h	(revision 1139)
+++ /trunk/MagicSoft/Cosy/candrv/nodedrv.h	(revision 1140)
@@ -12,8 +12,9 @@
 typedef UInt_t   LWORD_t;
 typedef Int_t    LWORDS_t;
-struct timeval;
 #else
 #include "gendef.h"
 #endif
+
+typedef struct timeval timeval_t;
 
 class Network;
@@ -47,12 +48,12 @@
     bool HasError()       { return fError; }
 
-    virtual void HandleSDO(WORD_t idx, BYTE_t subidx, LWORD_t val, struct timeval *tv);
+    virtual void HandleSDO(WORD_t idx, BYTE_t subidx, LWORD_t val, timeval_t *tv);
     virtual void HandleSDOOK(WORD_t idx, BYTE_t subidx);
     virtual void HandleSDOError(LWORD_t data);
 
-    virtual void HandlePDO1(BYTE_t *data, struct timeval *tv) {};
-    virtual void HandlePDO2(BYTE_t *data, struct timeval *tv) {};
-    virtual void HandlePDO3(BYTE_t *data, struct timeval *tv) {};
-    virtual void HandlePDO4(BYTE_t *data, struct timeval *tv) {};
+    virtual void HandlePDO1(BYTE_t *data, timeval_t *tv) {};
+    virtual void HandlePDO2(BYTE_t *data, timeval_t *tv) {};
+    virtual void HandlePDO3(BYTE_t *data, timeval_t *tv) {};
+    virtual void HandlePDO4(BYTE_t *data, timeval_t *tv) {};
 
     void SendPDO1(BYTE_t data[8]);
Index: /trunk/MagicSoft/Cosy/candrv/vmodican.cc
===================================================================
--- /trunk/MagicSoft/Cosy/candrv/vmodican.cc	(revision 1139)
+++ /trunk/MagicSoft/Cosy/candrv/vmodican.cc	(revision 1140)
@@ -16,5 +16,5 @@
 !
 !
-!   Author(s): Thomas Bretz, 2001 <mailto:tbretz@uni-sw.gwdg.de>
+!   Author(s): Thomas Bretz <mailto:tbretz@uni-sw.gwdg.de>, 2001
 !
 !   Copyright: MAGIC Software Development, 2000-2001
@@ -110,5 +110,5 @@
     {
         unsigned char c;
-        struct timeval tv;
+        timeval_t tv;
 
         //
@@ -183,5 +183,5 @@
 // by the can interface
 //
-void VmodIcan::HandleMessage(Message *msg, struct timeval *tv)
+void VmodIcan::HandleMessage(Message *msg, timeval_t *tv)
 {
     //
Index: /trunk/MagicSoft/Cosy/candrv/vmodican.h
===================================================================
--- /trunk/MagicSoft/Cosy/candrv/vmodican.h	(revision 1139)
+++ /trunk/MagicSoft/Cosy/candrv/vmodican.h	(revision 1140)
@@ -4,5 +4,5 @@
 #include <pthread.h>
 
-#include "unistd.h"          // gettimeofday
+#include <unistd.h>          // gettimeofday
 
 #include "log.h"
@@ -21,4 +21,6 @@
 class FastMessage;
 
+typedef struct timeval timeval_t;
+
 class VmodIcan : public Log, protected MThread
 {
@@ -32,6 +34,6 @@
     void *Thread();
 
-    void HandleMessage(Message *msg, struct timeval *tv);
-    virtual void HandleCanMessage(WORD_t cobid, BYTE_t *data, struct timeval *tv) {}
+    void HandleMessage(Message *msg, timeval_t *tv);
+    virtual void HandleCanMessage(WORD_t cobid, BYTE_t *data, timeval_t *tv) {}
 
     int Receive(Message *pm);
Index: /trunk/MagicSoft/Cosy/devdrv/macs.cc
===================================================================
--- /trunk/MagicSoft/Cosy/devdrv/macs.cc	(revision 1139)
+++ /trunk/MagicSoft/Cosy/devdrv/macs.cc	(revision 1140)
@@ -24,5 +24,5 @@
 }
 
-void Macs::HandleSDO(WORD_t idx, BYTE_t subidx, LWORD_t val, struct timeval *tv)
+void Macs::HandleSDO(WORD_t idx, BYTE_t subidx, LWORD_t val, timeval_t *tv)
 {
     switch (idx)
@@ -325,5 +325,5 @@
 }
 
-void Macs::HandlePDO1(BYTE_t *data, struct timeval *tv)
+void Macs::HandlePDO1(BYTE_t *data, timeval_t *tv)
 {
     fPdoPos    = (data[4]<<24) | (data[5]<<16) | (data[6]<<8) | data[7];
@@ -335,5 +335,5 @@
 }
 
-void Macs::HandlePDO2(BYTE_t *data, struct timeval *tv)
+void Macs::HandlePDO2(BYTE_t *data, timeval_t *tv)
 {
     LWORDS_t errnum = (data[0]<<24) | (data[1]<<16) | (data[2]<<8) | data[3];
Index: /trunk/MagicSoft/Cosy/devdrv/macs.h
===================================================================
--- /trunk/MagicSoft/Cosy/devdrv/macs.h	(revision 1139)
+++ /trunk/MagicSoft/Cosy/devdrv/macs.h	(revision 1140)
@@ -46,10 +46,10 @@
     void StopDevice();
 
-    void HandleSDO(WORD_t idx, BYTE_t subidx, LWORD_t val, struct timeval *tv);
+    void HandleSDO(WORD_t idx, BYTE_t subidx, LWORD_t val, timeval_t *tv);
     void HandleSDOOK(WORD_t idx, BYTE_t subidx);
     void HandleSDOError(LWORD_t data)           { NodeDrv::HandleSDOError(data); }
 
-    void HandlePDO1(BYTE_t *data, struct timeval *tv);
-    void HandlePDO2(BYTE_t *data, struct timeval *tv);
+    void HandlePDO1(BYTE_t *data, timeval_t *tv);
+    void HandlePDO2(BYTE_t *data, timeval_t *tv);
 
     void SendMsg(BYTE_t data[6]);
Index: /trunk/MagicSoft/Cosy/devdrv/shaftencoder.cc
===================================================================
--- /trunk/MagicSoft/Cosy/devdrv/shaftencoder.cc	(revision 1139)
+++ /trunk/MagicSoft/Cosy/devdrv/shaftencoder.cc	(revision 1140)
@@ -24,5 +24,5 @@
 }
 
-void ShaftEncoder::HandleSDO(WORD_t idx, BYTE_t subidx, LWORD_t val, struct timeval *tv)
+void ShaftEncoder::HandleSDO(WORD_t idx, BYTE_t subidx, LWORD_t val, timeval_t *tv)
 {
     switch (idx)
@@ -115,5 +115,5 @@
 }
 
-void ShaftEncoder::HandlePDOType0(BYTE_t *data, struct timeval *tv)
+void ShaftEncoder::HandlePDOType0(BYTE_t *data, timeval_t *tv)
 {
     //
@@ -129,5 +129,5 @@
 }
 
-void ShaftEncoder::HandlePDOType1(BYTE_t *data, struct timeval *tv)
+void ShaftEncoder::HandlePDOType1(BYTE_t *data, timeval_t *tv)
 {
     //
@@ -147,5 +147,5 @@
 }
 
-void ShaftEncoder::HandlePDOType2(BYTE_t *data, struct timeval *tv)
+void ShaftEncoder::HandlePDOType2(BYTE_t *data, timeval_t *tv)
 {
     //
Index: /trunk/MagicSoft/Cosy/devdrv/shaftencoder.h
===================================================================
--- /trunk/MagicSoft/Cosy/devdrv/shaftencoder.h	(revision 1139)
+++ /trunk/MagicSoft/Cosy/devdrv/shaftencoder.h	(revision 1140)
@@ -26,7 +26,7 @@
     Timer fTime;
 
-    void HandlePDOType0(BYTE_t *data, struct timeval *tv);
-    void HandlePDOType1(BYTE_t *data, struct timeval *tv);
-    void HandlePDOType2(BYTE_t *data, struct timeval *tv);
+    void HandlePDOType0(BYTE_t *data, timeval_t *tv);
+    void HandlePDOType1(BYTE_t *data, timeval_t *tv);
+    void HandlePDOType2(BYTE_t *data, timeval_t *tv);
 
     void ReqPos();
@@ -43,10 +43,10 @@
     void SetDisplay(TGLabel **label) { fLabel = label; }
 
-    void HandleSDO(WORD_t idx, BYTE_t subidx, LWORD_t val, struct timeval *tv);
+    void HandleSDO(WORD_t idx, BYTE_t subidx, LWORD_t val, timeval_t *tv);
     void HandleSDOOK(WORD_t idx, BYTE_t subidx) { NodeDrv::HandleSDOOK(idx, subidx); }
     void HandleSDOError(LWORD_t data)           { NodeDrv::HandleSDOError(data); }
 
-    void HandlePDO1(BYTE_t *data, struct timeval *tv) { HandlePDOType2(data, tv); }
-    void HandlePDO2(BYTE_t *data, struct timeval *tv) { HandlePDOType2(data, tv); }
+    void HandlePDO1(BYTE_t *data, timeval_t *tv) { HandlePDOType2(data, tv); }
+    void HandlePDO2(BYTE_t *data, timeval_t *tv) { HandlePDOType2(data, tv); }
 
     LWORDS_t GetPos() { return fPos+fTurn*fTicks; }
