]> git.lizzy.rs Git - rust.git/blob - src/libstd/sys/vxworks/rand.rs
vxworks: Remove Linux-specific comments.
[rust.git] / src / libstd / sys / vxworks / rand.rs
1 use crate::mem;
2 use crate::slice;
3
4 pub fn hashmap_random_keys() -> (u64, u64) {
5     let mut v = (0, 0);
6     unsafe {
7         let view = slice::from_raw_parts_mut(&mut v as *mut _ as *mut u8,
8                                              mem::size_of_val(&v));
9         imp::fill_bytes(view);
10     }
11     return v
12 }
13
14 mod imp {
15     use libc;
16     use crate::io;
17
18     extern "C" {
19         fn randBytes (randBuf: *mut libc::c_uchar,
20                       numOfBytes: libc::c_int) -> libc::c_int;
21     }
22
23     pub fn fill_bytes(v: &mut [u8]) {
24         let ret = unsafe {
25             randBytes(v.as_mut_ptr() as *mut libc::c_uchar, v.len() as libc::c_int)
26         };
27         if ret == -1 {
28             panic!("couldn't generate random bytes: {}", io::Error::last_os_error());
29         }
30     }
31 }