Type Alias RngComponentType

Source
pub type RngComponentType<E> = RngDriver<'static, Entropy32ToRandom<'static, E>>;

Aliased Type§

struct RngComponentType<E> { /* private fields */ }

Implementations

Source§

impl<'a, R> RngDriver<'a, R>
where R: Rng<'a>,

Source

pub fn new( rng: &'a R, grant: Grant<App, UpcallCount<1>, AllowRoCount<0>, AllowRwCount<capsules_core::::rng::{impl#0}::new::{constant#2}>>, ) -> RngDriver<'a, R>

Trait Implementations

Source§

impl<'a, R> Client for RngDriver<'a, R>
where R: Rng<'a>,

Source§

fn randomness_available( &self, randomness: &mut dyn Iterator<Item = u32>, _error: Result<(), ErrorCode>, ) -> Continue

Called by the (RNG)[trait.RNG.html] when there are one or more random numbers available Read more
Source§

impl<'a, R> SyscallDriver for RngDriver<'a, R>
where R: Rng<'a>,

Source§

fn command( &self, command_num: usize, data: usize, _: usize, processid: ProcessId, ) -> CommandReturn

System call for a process to perform a short synchronous operation or start a long-running split-phase operation (whose completion is signaled with an upcall). Command 0 is a reserved command to detect if a peripheral system call driver is installed and must always return a CommandReturn::success.
Source§

fn allocate_grant(&self, processid: ProcessId) -> Result<(), Error>

Request to allocate a capsule’s grant for a specific process. Read more
Source§

fn allow_userspace_readable( &self, app: ProcessId, which: usize, slice: ReadWriteProcessBuffer, ) -> Result<ReadWriteProcessBuffer, (ReadWriteProcessBuffer, ErrorCode)>

System call for a process to pass a buffer (a UserspaceReadableProcessBuffer) to the kernel that the kernel can either read or write. The kernel calls this method only after it checks that the entire buffer is within memory the process can both read and write. Read more