system_windows.odin 259 B

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