pub struct CommandReturn(/* private fields */);
Expand description
Possible return values of a command
driver method, as specified in TRD104.
This is just a wrapper around SyscallReturn
since a command
driver
method may only return primitive integer types as payload.
It is important for this wrapper to only be constructable over variants of
SyscallReturn
that are deemed safe for a capsule to construct and return
to an application (e.g. not
SubscribeSuccess
). This
means that the inner value must remain private.
Implementations§
Source§impl CommandReturn
impl CommandReturn
Sourcepub fn failure_u32(rc: ErrorCode, data0: u32) -> Self
pub fn failure_u32(rc: ErrorCode, data0: u32) -> Self
Command error with an additional 32-bit data field
Sourcepub fn failure_u32_u32(rc: ErrorCode, data0: u32, data1: u32) -> Self
pub fn failure_u32_u32(rc: ErrorCode, data0: u32, data1: u32) -> Self
Command error with two additional 32-bit data fields
Sourcepub fn failure_u64(rc: ErrorCode, data0: u64) -> Self
pub fn failure_u64(rc: ErrorCode, data0: u64) -> Self
Command error with an additional 64-bit data field
Sourcepub fn success_u32(data0: u32) -> Self
pub fn success_u32(data0: u32) -> Self
Successful command with an additional 32-bit data field
Sourcepub fn success_u32_u32(data0: u32, data1: u32) -> Self
pub fn success_u32_u32(data0: u32, data1: u32) -> Self
Successful command with two additional 32-bit data fields
Sourcepub fn success_u32_u32_u32(data0: u32, data1: u32, data2: u32) -> Self
pub fn success_u32_u32_u32(data0: u32, data1: u32, data2: u32) -> Self
Successful command with three additional 32-bit data fields
Sourcepub fn success_u64(data0: u64) -> Self
pub fn success_u64(data0: u64) -> Self
Successful command with an additional 64-bit data field
Sourcepub fn success_u32_u64(data0: u32, data1: u64) -> Self
pub fn success_u32_u64(data0: u32, data1: u64) -> Self
Successful command with an additional 64-bit and 32-bit data field
Sourcepub fn is_failure(&self) -> bool
pub fn is_failure(&self) -> bool
Returns true if this CommandReturn
is of type
SyscallReturn::Failure
.
Sourcepub fn is_failure_u32(&self) -> bool
pub fn is_failure_u32(&self) -> bool
Returns true if this CommandReturn
is of type
SyscallReturn::FailureU32
.
Sourcepub fn is_failure_2_u32(&self) -> bool
pub fn is_failure_2_u32(&self) -> bool
Returns true if this CommandReturn
is of type
SyscallReturn::FailureU32U32
.
Sourcepub fn is_failure_u64(&self) -> bool
pub fn is_failure_u64(&self) -> bool
Returns true if this CommandReturn
is of type
SyscallReturn::FailureU64
.
Sourcepub fn is_success(&self) -> bool
pub fn is_success(&self) -> bool
Returns true if this CommandReturn
is of type
SyscallReturn::Success
. Note that this does not return true for
other success types, such as SyscallReturn::SuccessU32
.
Sourcepub fn is_success_u32(&self) -> bool
pub fn is_success_u32(&self) -> bool
Returns true if this CommandReturn
is of type
SyscallReturn::SuccessU32
.
Sourcepub fn is_success_2_u32(&self) -> bool
pub fn is_success_2_u32(&self) -> bool
Returns true if this CommandReturn
is of type
SyscallReturn::SuccessU32U32
.
Sourcepub fn is_success_u64(&self) -> bool
pub fn is_success_u64(&self) -> bool
Returns true if this CommandReturn
is of type
SyscallReturn::SuccessU64
.
Sourcepub fn is_success_3_u32(&self) -> bool
pub fn is_success_3_u32(&self) -> bool
Returns true if this CommandReturn
is of type
SyscallReturn::SuccessU32U32U32
.
Sourcepub fn is_success_u32_u64(&self) -> bool
pub fn is_success_u32_u64(&self) -> bool
Returns true if this CommandReturn is of type
SyscallReturn::SuccessU32U64
.
Sourcepub fn get_failure(&self) -> Option<ErrorCode>
pub fn get_failure(&self) -> Option<ErrorCode>
Returns the ErrorCode
if this CommandReturn
is of type
SyscallReturn::Failure
.
Sourcepub fn get_failure_u32(&self) -> Option<(ErrorCode, u32)>
pub fn get_failure_u32(&self) -> Option<(ErrorCode, u32)>
Returns the ErrorCode
and value if this CommandReturn
is of type
SyscallReturn::FailureU32
.
Sourcepub fn get_failure_2_u32(&self) -> Option<(ErrorCode, u32, u32)>
pub fn get_failure_2_u32(&self) -> Option<(ErrorCode, u32, u32)>
Returns the ErrorCode
and values if this CommandReturn
is of type
SyscallReturn::FailureU32U32
.
Sourcepub fn get_failure_u64(&self) -> Option<(ErrorCode, u64)>
pub fn get_failure_u64(&self) -> Option<(ErrorCode, u64)>
Returns the ErrorCode
and value if this CommandReturn
is of type
SyscallReturn::FailureU64
.
Sourcepub fn get_success_u32(&self) -> Option<u32>
pub fn get_success_u32(&self) -> Option<u32>
Returns the value if this CommandReturn
is of type
SyscallReturn::SuccessU32
.
Sourcepub fn get_success_2_u32(&self) -> Option<(u32, u32)>
pub fn get_success_2_u32(&self) -> Option<(u32, u32)>
Returns the values if this CommandReturn
is of type
SyscallReturn::SuccessU32U32
.
Sourcepub fn get_success_u64(&self) -> Option<u64>
pub fn get_success_u64(&self) -> Option<u64>
Returns the value if this CommandReturn
is of type
SyscallReturn::SuccessU64
.
Sourcepub fn get_success_3_u32(&self) -> Option<(u32, u32, u32)>
pub fn get_success_3_u32(&self) -> Option<(u32, u32, u32)>
Returns the values if this CommandReturn
is of type
SyscallReturn::SuccessU32U32U32
.
Sourcepub fn get_success_u32_u64(&self) -> Option<(u32, u64)>
pub fn get_success_u32_u64(&self) -> Option<(u32, u64)>
Returns the values if this CommandReturn
is of type
SyscallReturn::SuccessU32U64
.