// rdrand.cpp - written and placed in public domain by Jeffrey Walton and Uri Blumenthal. /* modified for VeraCrypt */ #include "chacha256.h" #include "cpu.h" #include "misc.h" void CRYPTOPP_FASTCALL MASM_RDRAND_GenerateBlock(byte*, size_t); void CRYPTOPP_FASTCALL MASM_RDSEED_GenerateBlock(byte*, size_t); int RDRAND_getBytes(unsigned char* buf, size_t bufLen) { if (!buf || !HasRDRAND()) return 0; if (bufLen) MASM_RDRAND_GenerateBlock(buf, bufLen); return 1; } int RDSEED_getBytes(unsigned char* buf, size_t bufLen) { if (!buf || !HasRDSEED()) return 0; if (bufLen) MASM_RDSEED_GenerateBlock(buf, bufLen); return 1; }