1use capsules_core::driver;
8pub const DRIVER_NUM: usize = driver::NUM::Eui64 as usize;
9
10use kernel::syscall::{CommandReturn, SyscallDriver};
11use kernel::{ErrorCode, ProcessId};
12
13pub struct Eui64 {
14    eui64: u64,
15}
16
17impl Eui64 {
18    pub fn new(eui64: u64) -> Eui64 {
19        Eui64 { eui64 }
20    }
21}
22
23impl SyscallDriver for Eui64 {
24    fn command(&self, command_num: usize, _: usize, _: usize, _: ProcessId) -> CommandReturn {
31        match command_num {
32            0 => CommandReturn::success(),
33            1 => CommandReturn::success_u64(self.eui64),
34            _ => CommandReturn::failure(ErrorCode::NOSUPPORT),
35        }
36    }
37
38    fn allocate_grant(&self, _: ProcessId) -> Result<(), kernel::process::Error> {
39        Ok(())
40    }
41}