Merge pull request #3912 from akoeplinger/marshal-ptrtostrbstr
[mono.git] / mono / utils / mono-rand-windows.h
1 #ifndef _MONO_UTILS_RAND_WINDOWS_H_
2 #define _MONO_UTILS_RAND_WINDOWS_H_
3
4 #include <config.h>
5 #include <glib.h>
6
7 #ifdef HOST_WIN32
8
9 #if G_HAVE_API_SUPPORT(HAVE_CLASSIC_WINAPI_SUPPORT)
10 #include <wincrypt.h>
11 #define MONO_WIN32_CRYPT_PROVIDER_HANDLE HCRYPTPROV
12
13 #else
14
15 #include <bcrypt.h>
16 #define MONO_WIN32_CRYPT_PROVIDER_HANDLE BCRYPT_ALG_HANDLE
17 #endif
18
19 MONO_WIN32_CRYPT_PROVIDER_HANDLE
20 mono_rand_win_open_provider (void);
21
22 gboolean
23 mono_rand_win_gen (MONO_WIN32_CRYPT_PROVIDER_HANDLE provider, guchar *buffer, size_t buffer_size);
24
25 gboolean
26 mono_rand_win_seed (MONO_WIN32_CRYPT_PROVIDER_HANDLE provider, guchar *seed, size_t seed_size);
27
28 void
29 mono_rand_win_close_provider (MONO_WIN32_CRYPT_PROVIDER_HANDLE provider);
30
31 #endif /* HOST_WIN32 */
32 #endif /* _MONO_UTILS_RAND_WINDOWS_H_ */
33