[][src]Enum r3::kernel::ResultCode

#[repr(i8)]pub enum ResultCode {
    Success,
    NotSupported,
    BadParam,
    BadId,
    BadContext,
    NotOwner,
    WouldDeadlock,
    BadObjectState,
    QueueOverflow,
    Abandoned,
    Interrupted,
    Timeout,
}

All result codes (including success) that the C API can return.

Relation to Other Specifications: All error codes are intentionally matched to their equivalents in μITRON4.0 for no particular reasons.

Rationale: Using the C API result codes internally reduces the interop overhead at an API surface.

Variants

Success

The operation was successful. No additional information is available.

NotSupported

The operation is not supported.

BadParam

A parameter is invalid in a way that is no covered by any other error codes.

BadId

A specified object identifier (Id) is invalid.

BadContext

The current context disallows the operation.

NotOwner

The caller does not own the resource.

WouldDeadlock

Resource deadlock would occur.

BadObjectState

A target object is in a state that disallows the operation.

QueueOverflow

An operation or an object couldn't be enqueued because there are too many of such things that already have been enqueued.

Abandoned

The owner of a mutex exited while holding the mutex lock.

Interrupted

The wait operation was interrupted by Task::interrupt.

Timeout

The operation timed out.

Implementations

impl ResultCode[src]

pub fn as_str(self) -> &'static str[src]

Get the short name of the result code.

Examples

use r3::kernel::ResultCode;
assert_eq!(ResultCode::BadObjectState.as_str(), "BadObjectState");

impl ResultCode[src]

pub fn is_err(self) -> bool[src]

Get a flag indicating whether the code represents a failure.

Failure codes have negative values.

pub fn is_ok(self) -> bool[src]

Get a flag indicating whether the code represents a success.

Success codes have non-negative values.

Trait Implementations

impl Clone for ResultCode[src]

impl Copy for ResultCode[src]

impl Debug for ResultCode[src]

impl Eq for ResultCode[src]

impl From<ActivateTaskError> for ResultCode[src]

impl From<AdjustTimeError> for ResultCode[src]

impl From<BoostPriorityError> for ResultCode[src]

impl From<ClearInterruptLineError> for ResultCode[src]

impl From<CpuLockError> for ResultCode[src]

impl From<DrainSemaphoreError> for ResultCode[src]

impl From<EnableInterruptLineError> for ResultCode[src]

impl From<ExitTaskError> for ResultCode[src]

impl From<GetCurrentTaskError> for ResultCode[src]

impl From<GetEventGroupError> for ResultCode[src]

impl From<GetSemaphoreError> for ResultCode[src]

impl From<GetTaskPriorityError> for ResultCode[src]

impl From<InterruptTaskError> for ResultCode[src]

impl From<LockMutexError> for ResultCode[src]

impl From<LockMutexTimeoutError> for ResultCode[src]

impl From<MarkConsistentMutexError> for ResultCode[src]

impl From<ParkError> for ResultCode[src]

impl From<ParkTimeoutError> for ResultCode[src]

impl From<PendInterruptLineError> for ResultCode[src]

impl From<PollEventGroupError> for ResultCode[src]

impl From<PollSemaphoreError> for ResultCode[src]

impl From<QueryInterruptLineError> for ResultCode[src]

impl From<QueryMutexError> for ResultCode[src]

impl From<Result<(), ActivateTaskError>> for ResultCode[src]

impl From<Result<(), AdjustTimeError>> for ResultCode[src]

impl From<Result<(), BadContextError>> for ResultCode[src]

impl From<Result<(), BadIdError>> for ResultCode[src]

impl From<Result<(), BadObjectStateError>> for ResultCode[src]

impl From<Result<(), BadParamError>> for ResultCode[src]

impl From<Result<(), BoostPriorityError>> for ResultCode[src]

impl From<Result<(), ClearInterruptLineError>> for ResultCode[src]

impl From<Result<(), CpuLockError>> for ResultCode[src]

impl From<Result<(), DrainSemaphoreError>> for ResultCode[src]

impl From<Result<(), EnableInterruptLineError>> for ResultCode[src]

impl From<Result<(), ExitTaskError>> for ResultCode[src]

impl From<Result<(), GetCurrentTaskError>> for ResultCode[src]

impl From<Result<(), GetEventGroupError>> for ResultCode[src]

impl From<Result<(), GetSemaphoreError>> for ResultCode[src]

impl From<Result<(), GetTaskPriorityError>> for ResultCode[src]

impl From<Result<(), InterruptTaskError>> for ResultCode[src]

impl From<Result<(), LockMutexError>> for ResultCode[src]

impl From<Result<(), LockMutexPrecheckError>> for ResultCode[src]

impl From<Result<(), LockMutexTimeoutError>> for ResultCode[src]

impl From<Result<(), MarkConsistentMutexError>> for ResultCode[src]

impl From<Result<(), ParkError>> for ResultCode[src]

impl From<Result<(), ParkTimeoutError>> for ResultCode[src]

impl From<Result<(), PendInterruptLineError>> for ResultCode[src]

impl From<Result<(), PollEventGroupError>> for ResultCode[src]

impl From<Result<(), PollSemaphoreError>> for ResultCode[src]

impl From<Result<(), QueryInterruptLineError>> for ResultCode[src]

impl From<Result<(), QueryMutexError>> for ResultCode[src]

impl From<Result<(), SetInterruptLinePriorityError>> for ResultCode[src]

impl From<Result<(), SetTaskPriorityError>> for ResultCode[src]

impl From<Result<(), SetTimerDelayError>> for ResultCode[src]

impl From<Result<(), SetTimerPeriodError>> for ResultCode[src]

impl From<Result<(), SignalSemaphoreError>> for ResultCode[src]

impl From<Result<(), SleepError>> for ResultCode[src]

impl From<Result<(), StartTimerError>> for ResultCode[src]

impl From<Result<(), StopTimerError>> for ResultCode[src]

impl From<Result<(), TimeError>> for ResultCode[src]

impl From<Result<(), TryLockMutexError>> for ResultCode[src]

impl From<Result<(), UnlockMutexError>> for ResultCode[src]

impl From<Result<(), UnparkError>> for ResultCode[src]

impl From<Result<(), UnparkExactError>> for ResultCode[src]

impl From<Result<(), UpdateEventGroupError>> for ResultCode[src]

impl From<Result<(), WaitError>> for ResultCode[src]

impl From<Result<(), WaitEventGroupError>> for ResultCode[src]

impl From<Result<(), WaitEventGroupTimeoutError>> for ResultCode[src]

impl From<Result<(), WaitSemaphoreError>> for ResultCode[src]

impl From<Result<(), WaitSemaphoreTimeoutError>> for ResultCode[src]

impl From<Result<(), WaitTimeoutError>> for ResultCode[src]

impl From<SetInterruptLinePriorityError> for ResultCode[src]

impl From<SetTaskPriorityError> for ResultCode[src]

impl From<SetTimerDelayError> for ResultCode[src]

impl From<SetTimerPeriodError> for ResultCode[src]

impl From<SignalSemaphoreError> for ResultCode[src]

impl From<SleepError> for ResultCode[src]

impl From<StartTimerError> for ResultCode[src]

impl From<StopTimerError> for ResultCode[src]

impl From<TimeError> for ResultCode[src]

impl From<TryLockMutexError> for ResultCode[src]

impl From<UnlockMutexError> for ResultCode[src]

impl From<UnparkError> for ResultCode[src]

impl From<UnparkExactError> for ResultCode[src]

impl From<UpdateEventGroupError> for ResultCode[src]

impl From<WaitError> for ResultCode[src]

impl From<WaitEventGroupError> for ResultCode[src]

impl From<WaitEventGroupTimeoutError> for ResultCode[src]

impl From<WaitSemaphoreError> for ResultCode[src]

impl From<WaitSemaphoreTimeoutError> for ResultCode[src]

impl From<WaitTimeoutError> for ResultCode[src]

impl Hash for ResultCode[src]

impl Ord for ResultCode[src]

impl PartialEq<ResultCode> for ResultCode[src]

impl PartialOrd<ResultCode> for ResultCode[src]

impl StructuralEq for ResultCode[src]

impl StructuralPartialEq for ResultCode[src]

Auto Trait Implementations

impl Send for ResultCode

impl Sync for ResultCode

impl Unpin for ResultCode

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.