[][src]Struct sunrise_libuser::fs::IFileProxy

pub struct IFileProxy(ClientSession);

Represent a file in a filesystem.

Implementations

impl IFileProxy[src]

pub fn clone_current_object(&self) -> Result<Self, Error>[src]

Clones the current object, returning a new handle. The returned handle has its own IPC buffer - it may be used concurrently with the original.

pub fn read(
    &self,
    option: u32,
    offset: u64,
    size: u64,
    out_buf: &mut [u8]
) -> Result<u64, Error>
[src]

Read the content of a file at a given offset in out_buf. option should be set to 0.

pub fn write(
    &self,
    option: u32,
    offset: u64,
    size: u64,
    in_buf: &[u8]
) -> Result<(), Error>
[src]

Write the content given in_buf at the given offset in the file. If the file is too small to hold the data and the appendable flag is set, it will resize the file and append the data. If the file is too small to hold the data and the appendable flag isn't set, this will return a FileSystemError::NoSpaceLeft. option should be set to 0.

pub fn flush(&self) -> Result<(), Error>[src]

Flush any data not written on the filesystem.

pub fn set_size(&self, size: u64) -> Result<(), Error>[src]

Resize the file with the given size. If the file isn't open with the appendable flag, it will not be extendable and will return a FileSystemError::NoSpaceLeft.

pub fn get_size(&self) -> Result<u64, Error>[src]

Return the current file size.

Trait Implementations

impl Debug for IFileProxy[src]

impl From<ClientSession> for IFileProxy[src]

impl From<IFileProxy> for ClientSession[src]

Auto Trait Implementations

impl RefUnwindSafe for IFileProxy

impl Send for IFileProxy

impl Sync for IFileProxy

impl Unpin for IFileProxy

impl UnwindSafe for IFileProxy

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> SizedIPCBuffer for 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.