diff options
Diffstat (limited to 'ACE/ace/OS_NS_macros.h')
-rw-r--r-- | ACE/ace/OS_NS_macros.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/ACE/ace/OS_NS_macros.h b/ACE/ace/OS_NS_macros.h index e901019ddb0..ac1c5e2f941 100644 --- a/ACE/ace/OS_NS_macros.h +++ b/ACE/ace/OS_NS_macros.h @@ -76,7 +76,7 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL LONG -inline ACE_High_Part (ACE_OFF_T value) +inline ACE_High_Part (LONGLONG value) { LARGE_INTEGER new_value; new_value.QuadPart = value; @@ -102,6 +102,18 @@ ACE_END_VERSIONED_NAMESPACE_DECL # endif /* _FILE_OFFSET_BITS==64 */ #endif /* ACE_WIN32 */ +// 64-bit quad-word definitions. +#if defined (ACE_WIN32) +# if defined (_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64) +ACE_BEGIN_VERSIONED_NAMESPACE_DECL +typedef unsigned __int64 ACE_QWORD; +inline ACE_QWORD ACE_Make_QWORD (DWORD lo, DWORD hi) { return ACE_QWORD (lo) | (ACE_QWORD (hi) << 32); } +inline DWORD ACE_Low_DWORD (ACE_QWORD q) { return (DWORD) q; } +inline DWORD ACE_High_DWORD (ACE_QWORD q) { return (DWORD) (q >> 32); } +ACE_END_VERSIONED_NAMESPACE_DECL +# endif /* _FILE_OFFSET_BITS==64 */ +#endif /* ACE_WIN32 */ + # include /**/ "ace/post.h" #endif /* ACE_OS_NS_MACROS_H */ |