#ifdef __vxworks
#include "ioLib.h"
+#if ! defined (__VXWORKSMILS__)
#include "dosFsLib.h"
-#if ! defined ( __RTP__) && ! defined (VTHREADS)
+#endif
+#if ! defined (__RTP__) && (! defined (VTHREADS) || defined (__VXWORKSMILS__))
# include "nfsLib.h"
#endif
#include "selectLib.h"
(*Unlock_Task) ();
+ /* Correct the offset if Daylight Saving Time is in effect */
+
if (tp.tm_isdst > 0)
*off = *off + 3600;
}
tz_end = index (tz_start, ':');
tz_end = '\0';
- /* The Ada layer expects an offset in seconds */
+ /* The Ada layer expects an offset in seconds. Note that we must reverse
+ the sign of the result since west is positive and east is negative on
+ VxWorks targets. */
+
+ *off = -atol (tz_start) * 60;
- *off = atol (tz_start) * 60;
+ /* Correct the offset if Daylight Saving Time is in effect */
+
+ if (tp.tm_isdst > 0)
+ *off = *off + 3600;
}
(*Unlock_Task) ();
/* Force VX_FP_TASK because it is almost always required */
options |= VX_FP_TASK;
-#if defined (_SPE_)
+#if defined (__SPE__)
options |= VX_SPE_TASK;
#endif
/* In the case of VxWorks, we also have to take into account various
* filesystem-specific variants of this error.
*/
+#if ! defined (__VXWORKSMILS__)
case S_dosFsLib_FILE_NOT_FOUND:
-#if ! defined (__RTP__) && ! defined (VTHREADS)
+#endif
+#if ! defined (__RTP__) && (! defined (VTHREADS) || defined (__VXWORKSMILS__))
case S_nfsLib_NFSERR_NOENT:
#endif
#endif