pub trait UnixFileDescription: FileDescription {
// Provided methods
fn pread<'tcx>(
&self,
_communicate_allowed: bool,
_offset: u64,
_ptr: Pointer,
_len: usize,
_ecx: &mut MiriInterpCx<'tcx>,
_finish: DynMachineCallback<'tcx, Result<usize, IoError>>,
) -> InterpResult<'tcx> { ... }
fn pwrite<'tcx>(
&self,
_communicate_allowed: bool,
_ptr: Pointer,
_len: usize,
_offset: u64,
_ecx: &mut MiriInterpCx<'tcx>,
_finish: DynMachineCallback<'tcx, Result<usize, IoError>>,
) -> InterpResult<'tcx> { ... }
fn flock<'tcx>(
&self,
_communicate_allowed: bool,
_op: FlockOp,
) -> InterpResult<'tcx, Result<()>> { ... }
fn ioctl<'tcx>(
&self,
_op: Scalar,
_arg: Option<&OpTy<'tcx>>,
_ecx: &mut MiriInterpCx<'tcx>,
) -> InterpResult<'tcx, i32> { ... }
fn epoll_active_events<'tcx>(&self) -> InterpResult<'tcx, EpollEvents> { ... }
}Expand description
Represents unix-specific file descriptions.
Provided Methods§
Sourcefn pread<'tcx>(
&self,
_communicate_allowed: bool,
_offset: u64,
_ptr: Pointer,
_len: usize,
_ecx: &mut MiriInterpCx<'tcx>,
_finish: DynMachineCallback<'tcx, Result<usize, IoError>>,
) -> InterpResult<'tcx>
fn pread<'tcx>( &self, _communicate_allowed: bool, _offset: u64, _ptr: Pointer, _len: usize, _ecx: &mut MiriInterpCx<'tcx>, _finish: DynMachineCallback<'tcx, Result<usize, IoError>>, ) -> InterpResult<'tcx>
Reads as much as possible into the given buffer ptr from a given offset.
len indicates how many bytes we should try to read.
dest is where the return value should be stored: number of bytes read, or -1 in case of error.
Sourcefn pwrite<'tcx>(
&self,
_communicate_allowed: bool,
_ptr: Pointer,
_len: usize,
_offset: u64,
_ecx: &mut MiriInterpCx<'tcx>,
_finish: DynMachineCallback<'tcx, Result<usize, IoError>>,
) -> InterpResult<'tcx>
fn pwrite<'tcx>( &self, _communicate_allowed: bool, _ptr: Pointer, _len: usize, _offset: u64, _ecx: &mut MiriInterpCx<'tcx>, _finish: DynMachineCallback<'tcx, Result<usize, IoError>>, ) -> InterpResult<'tcx>
Writes as much as possible from the given buffer ptr starting at a given offset.
ptr is the pointer to the user supplied read buffer.
len indicates how many bytes we should try to write.
dest is where the return value should be stored: number of bytes written, or -1 in case of error.
fn flock<'tcx>( &self, _communicate_allowed: bool, _op: FlockOp, ) -> InterpResult<'tcx, Result<()>>
Sourcefn ioctl<'tcx>(
&self,
_op: Scalar,
_arg: Option<&OpTy<'tcx>>,
_ecx: &mut MiriInterpCx<'tcx>,
) -> InterpResult<'tcx, i32>
fn ioctl<'tcx>( &self, _op: Scalar, _arg: Option<&OpTy<'tcx>>, _ecx: &mut MiriInterpCx<'tcx>, ) -> InterpResult<'tcx, i32>
Modifies device parameters.
op is the device-dependent operation code. It’s either a c_long or c_int, depending on
the target and whether it uses glibc or musl.
arg is the optional third argument which exists depending on the operation code. It’s either
an integer or a pointer.
Sourcefn epoll_active_events<'tcx>(&self) -> InterpResult<'tcx, EpollEvents>
fn epoll_active_events<'tcx>(&self) -> InterpResult<'tcx, EpollEvents>
Return which epoll events are currently active.