system_windows.odin 278 B

12345678910111213
  1. package rand
  2. import win32 "core:sys/windows"
  3. @(require_results)
  4. _system_random :: proc() -> u32 {
  5. value: u32
  6. status := win32.BCryptGenRandom(nil, ([^]u8)(&value), 4, win32.BCRYPT_USE_SYSTEM_PREFERRED_RNG)
  7. if status < 0 {
  8. panic("BCryptGenRandom failed")
  9. }
  10. return value
  11. }