Ronald Kinard
8 years ago
committed by
GitHub
2 changed files with 40 additions and 0 deletions
@ -0,0 +1,38 @@ |
|||||||
|
use libctru::services::sslc::*; |
||||||
|
use Result; |
||||||
|
|
||||||
|
// TODO: Implement remaining functions
|
||||||
|
|
||||||
|
pub struct SslC(()); |
||||||
|
|
||||||
|
impl SslC { |
||||||
|
/// Initialize sslc
|
||||||
|
pub fn init() -> Result<Self> { |
||||||
|
unsafe { |
||||||
|
let r = sslcInit(0); |
||||||
|
if r < 0 { |
||||||
|
Err(r.into()) |
||||||
|
} else { |
||||||
|
Ok(SslC(())) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/// Fill `buf` with `buf.len()` random bytes
|
||||||
|
pub fn generate_random_data(&self, buf: &mut [u8]) -> Result<()> { |
||||||
|
unsafe { |
||||||
|
let r = sslcGenerateRandomData(buf.as_ptr() as _, buf.len() as u32); |
||||||
|
if r < 0 { |
||||||
|
Err(r.into()) |
||||||
|
} else { |
||||||
|
Ok(()) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
impl Drop for SslC { |
||||||
|
fn drop(&mut self) { |
||||||
|
unsafe { sslcExit() }; |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue