diff options
| author | Garrett D'Amore <garrett@damore.org> | 2017-01-12 20:46:20 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2017-01-12 21:44:44 -0800 |
| commit | 2bb6a23037656474a90d869c5147b32bae1a2e40 (patch) | |
| tree | 90697aa3fba3186296a18decb32691a1a143b50a /src/platform/windows/win_rand.c | |
| parent | 70348e2d4725c9ec43f51811d290c22c782058ac (diff) | |
| download | nng-2bb6a23037656474a90d869c5147b32bae1a2e40.tar.gz nng-2bb6a23037656474a90d869c5147b32bae1a2e40.tar.bz2 nng-2bb6a23037656474a90d869c5147b32bae1a2e40.zip | |
Initial swag at Win32. Much to do still.
Diffstat (limited to 'src/platform/windows/win_rand.c')
| -rw-r--r-- | src/platform/windows/win_rand.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/platform/windows/win_rand.c b/src/platform/windows/win_rand.c new file mode 100644 index 00000000..5ca80782 --- /dev/null +++ b/src/platform/windows/win_rand.c @@ -0,0 +1,32 @@ +// +// Copyright 2017 Garrett D'Amore <garrett@damore.org> +// +// This software is supplied under the terms of the MIT License, a +// copy of which should be located in the distribution where this +// file was obtained (LICENSE.txt). A copy of the license may also be +// found online at https://opensource.org/licenses/MIT. +// + +#include "core/nng_impl.h" + +#ifdef PLATFORM_WINDOWS + +#include <stdlib.h> + +void +nni_plat_seed_prng(void *buf, size_t bufsz) +{ + unsigned val; + // The rand_s routine uses RtlGenRandom to get high quality + // pseudo random numbers (i.e. numbers that should be good enough + // for use with crypto keying.) + while (bufsz > sizeof (val)) { + rand_s(&val); + memcmp(buf, &val); + buf = (((char *)buf) + sizeof (val)); + bufsz -= sizeof (val); + } +} + + +#endif // PLATFORM_WINDOWS |
