Type Alias AlarmDriverComponentType

Source
pub type AlarmDriverComponentType<A> = AlarmDriver<'static, VirtualMuxAlarm<'static, A>>;

Aliased Type§

struct AlarmDriverComponentType<A> { /* private fields */ }

Implementations

Source§

impl<'a, A> AlarmDriver<'a, A>
where A: Alarm<'a>,

Source

pub const fn new( alarm: &'a A, grant: Grant<AlarmData<<A as Time>::Ticks>, UpcallCount<capsules_core::::alarm::{impl#1}::new::{constant#2}>, AllowRoCount<0>, AllowRwCount<0>>, ) -> AlarmDriver<'a, A>

Trait Implementations

Source§

impl<'a, A> AlarmClient for AlarmDriver<'a, A>
where A: Alarm<'a>,

Source§

fn alarm(&self)

Callback indicating the alarm time has been reached. The alarm MUST be disabled when this is called. If a new alarm is needed, the client can call Alarm::set_alarm.
Source§

impl<'a, A> SyscallDriver for AlarmDriver<'a, A>
where A: Alarm<'a>,

Source§

fn command( &self, cmd_type: usize, data: usize, data2: usize, caller_id: ProcessId, ) -> CommandReturn

Setup and read the alarm.

§command_num
  • 0: Driver existence check.
  • 1: Return the clock frequency in Hz.
  • 2: Read the current clock value
  • 3: Stop the alarm if it is outstanding
  • 4: Deprecated
  • 5: Set an alarm to fire at a given clock value time relative to now
  • 6: Set an alarm to fire at a given clock value time relative to a provided reference point.
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