#[repr(usize)]pub enum Error {
Show 40 variants
NoError = 0,
BadAlignment = 1,
BadAddress = 2,
OutOfMemory = 3,
MemoryInUse = 4,
InterruptNotFound = 5,
InterruptInUse = 6,
InvalidString = 7,
ServerExists = 8,
ServerNotFound = 9,
ProcessNotFound = 10,
ProcessNotChild = 11,
ProcessTerminated = 12,
Timeout = 13,
InternalError = 14,
ServerQueueFull = 15,
ThreadNotAvailable = 16,
UnhandledSyscall = 17,
InvalidSyscall = 18,
ShareViolation = 19,
InvalidThread = 20,
InvalidPid = 21,
UnknownError = 22,
AccessDenied = 23,
UseBeforeInit = 24,
DoubleFree = 25,
DebugInProgress = 26,
InvalidLimit = 27,
NotFound = 28,
InvalidCoding = 29,
HardwareError = 30,
SerializationError = 31,
InvalidArgument = 32,
NetworkError = 33,
StorageError = 34,
Unavailable = 35,
ParseError = 36,
InvalidCore = 37,
VerificationError = 38,
SecurityError = 39,
}Expand description
A list of all known errors that may be returned by the Xous kernel.
Variants§
NoError = 0
BadAlignment = 1
BadAddress = 2
OutOfMemory = 3
MemoryInUse = 4
InterruptNotFound = 5
InterruptInUse = 6
InvalidString = 7
ServerExists = 8
ServerNotFound = 9
ProcessNotFound = 10
ProcessNotChild = 11
ProcessTerminated = 12
Timeout = 13
InternalError = 14
ServerQueueFull = 15
ThreadNotAvailable = 16
UnhandledSyscall = 17
InvalidSyscall = 18
InvalidThread = 20
InvalidPid = 21
UnknownError = 22
AccessDenied = 23
UseBeforeInit = 24
DoubleFree = 25
DebugInProgress = 26
InvalidLimit = 27
NotFound = 28
For lookups that result in not found (e.g., searching for keys, resources, names)
InvalidCoding = 29
Used when try_from/try_into can’t map a number into a smaller number of options
HardwareError = 30
Used for ECC errors, glitches, power failures, etc.
SerializationError = 31
Used when buffers & messages fail to serialize or deserialize
InvalidArgument = 32
Used when a call is correct but its arguments are out of bounds, invalid, or otherwise poorly specified
NetworkError = 33
Catch-all for networking related problems (unreachable network, etc.)
StorageError = 34
Catch-all for storage related problems (particularly write/read ECC errors)
Catch-all for resources that are busy or already allocated
ParseError = 36
For failed parsing attempts
InvalidCore = 37
Invalid core number on multi-core APIs
VerificationError = 38
Reports when verification/check steps fail. Thrown when correctly functioning algorithms determine that an object is invalid.
SecurityError = 39
Used to report higher-severity system security/integrity issues, such as glitch attacks, ECC errors, memory violations, bad states for hardened bools. Note that bad passwords/credentials should use “AccessDenied”