Skip to main content

FsCoreErrorCode

Enum FsCoreErrorCode 

Source
#[repr(i32)]
pub enum FsCoreErrorCode { Ok = 0, Io = 1, ShortRead = 2, ReadOnly = 3, OutOfBounds = 4, Custom = 5, NullArg = 6, Panic = 7, BadString = 8, }
Expand description

Numeric error codes mirrored across every sister crate’s C ABI.

#[repr(i32)] so the layout is identical to the matching C enum.

Variants§

§

Ok = 0

Success.

§

Io = 1

Underlying I/O failed.

§

ShortRead = 2

A read the source could not satisfy in full — it ran out of data. What a file-backed handle returns for a read off the end of the file, and what a slice returns for a read past its own end.

§

ReadOnly = 3

Write attempted on a read-only device.

§

OutOfBounds = 4

A request refused up front because its range lies outside the device’s declared size; nothing was transferred.

This crate returns it only for a write past the end of an RW slice. It reaches reads from sister crates whose container declares a virtual size (the img-* readers), and from this crate’s caching / read-only / slice wrappers when they forward such a parent’s error. A C consumer that only wants to know “the read overran the device”, and does not control which crate opened the handle, should accept this and FS_CORE_SHORT_READ alike — and should not treat the pair as exhaustive, since a callback-backed handle reports its host’s refusal as FS_CORE_IO.

§

Custom = 5

Driver-specific error — message in the thread-local last-error.

§

NullArg = 6

One of the input pointers was null.

§

Panic = 7

catch_unwind caught a panic crossing the FFI boundary.

§

BadString = 8

Reserved. Never returned.

It was meant for a path that is not valid UTF-8, but the one function that meets that case — fs_core_open_file — returns a POINTER, not a code, so it reports the failure as NULL plus a message and cannot return this. No other entry point takes a path.

Kept rather than removed because the numbering is published in include/fs_core.h and a consumer may already switch on 8; renumbering the codes after it would be an ABI break for a tidiness gain. A future path-taking function that returns a code should use this rather than invent another.

Trait Implementations§

Source§

impl Clone for FsCoreErrorCode

Source§

fn clone(&self) -> FsCoreErrorCode

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for FsCoreErrorCode

Source§

impl Debug for FsCoreErrorCode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for FsCoreErrorCode

Source§

impl PartialEq for FsCoreErrorCode

Source§

fn eq(&self, other: &FsCoreErrorCode) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for FsCoreErrorCode

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.