Index: posix_time/conversion.hpp

===================================================================

--- posix_time/conversion.hpp	(revision 49063)

+++ posix_time/conversion.hpp	(working copy)

@@ -77,7 +77,7 @@

    */
   template<class time_type>
   inline
-  time_type from_ftime(const FILETIME& ft)
+  time_type from_ftime(const boost::detail::win32::file_time& ft)
   {
     return boost::date_time::time_from_ftime<time_type>(ft);
   }
Index: microsec_time_clock.hpp

===================================================================

--- microsec_time_clock.hpp	(revision 49063)

+++ microsec_time_clock.hpp	(working copy)

@@ -19,11 +19,8 @@

 #include "boost/date_time/time_clock.hpp"
 #include "boost/cstdint.hpp"
 #include "boost/shared_ptr.hpp"
+#include "boost/date_time/filetime.hpp"
 
-#ifdef BOOST_HAS_FTIME
-#include <windows.h>
-#endif
-
 #ifdef BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK
 
 namespace boost {
@@ -114,42 +111,42 @@

 #ifdef BOOST_HAS_FTIME
     //! Return the local time based on computer clock settings
     static time_type local_time() {
-      FILETIME ft;
+      detail::win32::file_time ft;
       #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
       // Some runtime library implementations expect local times as the norm for ctime.
-      FILETIME ft_utc;
-      GetSystemTimeAsFileTime(&ft_utc);
-      FileTimeToLocalFileTime(&ft_utc,&ft);
+      detail::win32::file_time ft_utc;
+      detail::win32::GetSystemTimeAsFileTime(&ft_utc);
+      detail::win32::FileTimeToLocalFileTime(&ft_utc,&ft);
       #elif defined(BOOST_NO_GETSYSTEMTIMEASFILETIME)
-      SYSTEMTIME st;
-      GetSystemTime( &st );
-      SystemTimeToFileTime( &st, &ft );
+      detail::win32::system_time st;
+      detail::win32::GetSystemTime( &st );
+      detail::win32::SystemTimeToFileTime( &st, &ft );
       #else
-      GetSystemTimeAsFileTime(&ft);
+      detail::win32::GetSystemTimeAsFileTime(&ft);
       #endif
       return create_time(ft, LOCAL);
     }
     
     //! Return the UTC time based on computer settings
     static time_type universal_time() {
-      FILETIME ft;
+      detail::win32::file_time ft;
       #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
       // Some runtime library implementations expect local times as the norm for ctime.
-      FILETIME ft_utc;
-      GetSystemTimeAsFileTime(&ft_utc);
-      FileTimeToLocalFileTime(&ft_utc,&ft);
+      detail::win32::file_time ft_utc;
+      detail::win32::GetSystemTimeAsFileTime(&ft_utc);
+      detail::win32::FileTimeToLocalFileTime(&ft_utc,&ft);
       #elif defined(BOOST_NO_GETSYSTEMTIMEASFILETIME)
-      SYSTEMTIME st;
-      GetSystemTime( &st );
-      SystemTimeToFileTime( &st, &ft );
+      detail::win32::system_time st;
+      detail::win32::GetSystemTime( &st );
+      detail::win32::SystemTimeToFileTime( &st, &ft );
       #else
-      GetSystemTimeAsFileTime(&ft);
+      detail::win32::GetSystemTimeAsFileTime(&ft);
       #endif
       return create_time(ft, GMT);
     }
 
   private:
-    static time_type create_time(FILETIME& ft, TZ_FOR_CREATE tz) {
+    static time_type create_time(detail::win32::file_time& ft, TZ_FOR_CREATE tz) {
       // offset is difference (in 100-nanoseconds) from
       // 1970-Jan-01 to 1601-Jan-01
       boost::uint64_t c1 = 27111902;
Index: filetime_functions.hpp

===================================================================

--- filetime_functions.hpp	(revision 49063)

+++ filetime_functions.hpp	(working copy)

@@ -17,7 +17,7 @@

 
 #include <boost/date_time/compiler_config.hpp>
 #if defined(BOOST_HAS_FTIME) // skip this file if no FILETIME
-#include <windows.h>
+#include <boost/date_time/filetime.hpp>
 #include <boost/cstdint.hpp>
 #include <boost/date_time/time.hpp>
 
@@ -33,7 +33,7 @@

    * will be truncated. Nanosecond resolution has no truncation. */
   template<class time_type>
   inline
-  time_type time_from_ftime(const FILETIME& ft){
+  time_type time_from_ftime(const detail::win32::file_time& ft){
     typedef typename time_type::date_type date_type;
     typedef typename time_type::date_duration_type date_duration_type;
     typedef typename time_type::time_duration_type time_duration_type;
