diff options
Diffstat (limited to 'getrandom/src/ios.rs')
-rw-r--r-- | getrandom/src/ios.rs | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/getrandom/src/ios.rs b/getrandom/src/ios.rs deleted file mode 100644 index 30c008c..0000000 --- a/getrandom/src/ios.rs +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2018 Developers of the Rand project. -// -// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or -// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -//! Implementation for iOS -use crate::{error::SEC_RANDOM_FAILED, Error}; - -// TODO: Make extern once extern_types feature is stabilized. See: -// https://github.com/rust-lang/rust/issues/43467 -#[repr(C)] -struct SecRandom([u8; 0]); - -#[link(name = "Security", kind = "framework")] -extern "C" { - static kSecRandomDefault: *const SecRandom; - - fn SecRandomCopyBytes(rnd: *const SecRandom, count: usize, bytes: *mut u8) -> i32; -} - -pub fn getrandom_inner(dest: &mut [u8]) -> Result<(), Error> { - let ret = unsafe { SecRandomCopyBytes(kSecRandomDefault, dest.len(), dest.as_mut_ptr()) }; - if ret == -1 { - Err(SEC_RANDOM_FAILED) - } else { - Ok(()) - } -} |