mirror of
https://github.com/veracrypt/VeraCrypt
synced 2024-11-28 05:53:29 +01:00
Linux: Fix compilation error on non-x86 platform by providing generic implementation for jent_get_nstime function
This commit is contained in:
parent
3fa636d477
commit
afe6b2f45b
@ -75,6 +75,8 @@ static VC_INLINE void jent_get_nstime(uint64 *out)
|
||||
|
||||
#else
|
||||
|
||||
#if CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64
|
||||
|
||||
/* taken from Linux kernel */
|
||||
#if CRYPTOPP_BOOL_X64
|
||||
#define DECLARE_ARGS(val, low, high) unsigned low, high
|
||||
@ -93,6 +95,29 @@ VC_INLINE void jent_get_nstime(uint64 *out)
|
||||
*out = EAX_EDX_VAL(val, low, high);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#include <time.h>
|
||||
|
||||
VC_INLINE void jent_get_nstime(uint64 *out)
|
||||
{
|
||||
/* we could use CLOCK_MONOTONIC(_RAW), but with CLOCK_REALTIME
|
||||
* we get some nice extra entropy once in a while from the NTP actions
|
||||
* that we want to use as well... though, we do not rely on that
|
||||
* extra little entropy */
|
||||
uint64_t tmp = 0;
|
||||
struct timespec time;
|
||||
if (clock_gettime(CLOCK_REALTIME, &time) == 0)
|
||||
{
|
||||
tmp = time.tv_sec;
|
||||
tmp = tmp << 32;
|
||||
tmp = tmp | time.tv_nsec;
|
||||
}
|
||||
*out = tmp;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef _MSC_VER
|
||||
|
Loading…
Reference in New Issue
Block a user