Skip to main content

EvalContextExt

Trait EvalContextExt 

Source
pub trait EvalContextExt<'tcx>: MiriInterpCxExt<'tcx> {
Show 18 methods // Provided methods fn socket( &mut self, domain: &OpTy<'tcx>, type_: &OpTy<'tcx>, protocol: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar> { ... } fn bind( &mut self, socket: &OpTy<'tcx>, address: &OpTy<'tcx>, address_len: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar> { ... } fn listen( &mut self, socket: &OpTy<'tcx>, backlog: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar> { ... } fn accept4( &mut self, socket: &OpTy<'tcx>, address: &OpTy<'tcx>, address_len: &OpTy<'tcx>, flags: Option<&OpTy<'tcx>>, dest: &MPlaceTy<'tcx>, ) -> InterpResult<'tcx> { ... } fn connect( &mut self, socket: &OpTy<'tcx>, address: &OpTy<'tcx>, address_len: &OpTy<'tcx>, dest: &MPlaceTy<'tcx>, ) -> InterpResult<'tcx> { ... } fn send( &mut self, socket: &OpTy<'tcx>, buffer: &OpTy<'tcx>, length: &OpTy<'tcx>, flags: &OpTy<'tcx>, dest: &MPlaceTy<'tcx>, ) -> InterpResult<'tcx> { ... } fn recv( &mut self, socket: &OpTy<'tcx>, buffer: &OpTy<'tcx>, length: &OpTy<'tcx>, flags: &OpTy<'tcx>, dest: &MPlaceTy<'tcx>, ) -> InterpResult<'tcx> { ... } fn setsockopt( &mut self, socket: &OpTy<'tcx>, level: &OpTy<'tcx>, option_name: &OpTy<'tcx>, option_value: &OpTy<'tcx>, option_len: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar> { ... } fn getsockopt( &mut self, socket: &OpTy<'tcx>, level: &OpTy<'tcx>, option_name: &OpTy<'tcx>, option_value: &OpTy<'tcx>, option_len: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar> { ... } fn getsockname( &mut self, socket: &OpTy<'tcx>, address: &OpTy<'tcx>, address_len: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar> { ... } fn getpeername( &mut self, socket: &OpTy<'tcx>, address: &OpTy<'tcx>, address_len: &OpTy<'tcx>, dest: &MPlaceTy<'tcx>, ) -> InterpResult<'tcx> { ... } fn shutdown( &mut self, socket: &OpTy<'tcx>, how: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar> { ... } fn set_generic_socket_option<T: UnixSocketFileDescription>( &mut self, option: i32, value_ptr: Pointer, value_len: u64, socket: FileDescriptionRef<T>, ) -> InterpResult<'tcx, Result<(), IoError>> { ... } fn set_ip_socket_option( &self, option: i32, value_ptr: Pointer, value_len: u64, socket: SockRef<'_>, ) -> InterpResult<'tcx, Result<(), IoError>> { ... } fn set_tcp_socket_option( &self, option: i32, value_ptr: Pointer, value_len: u64, socket: SockRef<'_>, ) -> InterpResult<'tcx, Result<(), IoError>> { ... } fn get_generic_socket_option<T: UnixSocketFileDescription>( &mut self, option: i32, socket: FileDescriptionRef<T>, ) -> InterpResult<'tcx, Result<MPlaceTy<'tcx>, IoError>> { ... } fn get_ip_socket_option( &mut self, option: i32, socket: SockRef<'_>, ) -> InterpResult<'tcx, Result<MPlaceTy<'tcx>, IoError>> { ... } fn get_tcp_socket_option( &mut self, option: i32, socket: SockRef<'_>, ) -> InterpResult<'tcx, Result<MPlaceTy<'tcx>, IoError>> { ... }
}

Provided Methods§

Source

fn socket( &mut self, domain: &OpTy<'tcx>, type_: &OpTy<'tcx>, protocol: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar>

For more information on the arguments see the socket manpage: https://linux.die.net/man/2/socket

Source

fn bind( &mut self, socket: &OpTy<'tcx>, address: &OpTy<'tcx>, address_len: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar>

Source

fn listen( &mut self, socket: &OpTy<'tcx>, backlog: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar>

Source

fn accept4( &mut self, socket: &OpTy<'tcx>, address: &OpTy<'tcx>, address_len: &OpTy<'tcx>, flags: Option<&OpTy<'tcx>>, dest: &MPlaceTy<'tcx>, ) -> InterpResult<'tcx>

For more information on the arguments see the accept manpage: https://linux.die.net/man/2/accept4

Source

fn connect( &mut self, socket: &OpTy<'tcx>, address: &OpTy<'tcx>, address_len: &OpTy<'tcx>, dest: &MPlaceTy<'tcx>, ) -> InterpResult<'tcx>

Source

fn send( &mut self, socket: &OpTy<'tcx>, buffer: &OpTy<'tcx>, length: &OpTy<'tcx>, flags: &OpTy<'tcx>, dest: &MPlaceTy<'tcx>, ) -> InterpResult<'tcx>

Source

fn recv( &mut self, socket: &OpTy<'tcx>, buffer: &OpTy<'tcx>, length: &OpTy<'tcx>, flags: &OpTy<'tcx>, dest: &MPlaceTy<'tcx>, ) -> InterpResult<'tcx>

Source

fn setsockopt( &mut self, socket: &OpTy<'tcx>, level: &OpTy<'tcx>, option_name: &OpTy<'tcx>, option_value: &OpTy<'tcx>, option_len: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar>

Source

fn getsockopt( &mut self, socket: &OpTy<'tcx>, level: &OpTy<'tcx>, option_name: &OpTy<'tcx>, option_value: &OpTy<'tcx>, option_len: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar>

Source

fn getsockname( &mut self, socket: &OpTy<'tcx>, address: &OpTy<'tcx>, address_len: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar>

Source

fn getpeername( &mut self, socket: &OpTy<'tcx>, address: &OpTy<'tcx>, address_len: &OpTy<'tcx>, dest: &MPlaceTy<'tcx>, ) -> InterpResult<'tcx>

Source

fn shutdown( &mut self, socket: &OpTy<'tcx>, how: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar>

Source

fn set_generic_socket_option<T: UnixSocketFileDescription>( &mut self, option: i32, value_ptr: Pointer, value_len: u64, socket: FileDescriptionRef<T>, ) -> InterpResult<'tcx, Result<(), IoError>>

Set the option socket option on level SOL_SOCKET for socket. value_ptr points to the new value of the socket option, and value_len contains the amount of bytes the value uses at value_ptr.

Source

fn set_ip_socket_option( &self, option: i32, value_ptr: Pointer, value_len: u64, socket: SockRef<'_>, ) -> InterpResult<'tcx, Result<(), IoError>>

Set the option socket option on level IPPROTO_IP for socket. value_ptr points to the new value of the socket option, and value_len contains the amount of bytes the value uses at value_ptr. socket is a [socket2::SockRef] to the underlying host socket of the shimmed socket.

Source

fn set_tcp_socket_option( &self, option: i32, value_ptr: Pointer, value_len: u64, socket: SockRef<'_>, ) -> InterpResult<'tcx, Result<(), IoError>>

Set the option socket option on level IPPROTO_TCP for socket. value_ptr points to the new value of the socket option, and value_len contains the amount of bytes the value uses at value_ptr. socket is a [socket2::SockRef] to the underlying host socket of the shimmed socket.

Source

fn get_generic_socket_option<T: UnixSocketFileDescription>( &mut self, option: i32, socket: FileDescriptionRef<T>, ) -> InterpResult<'tcx, Result<MPlaceTy<'tcx>, IoError>>

Get the option socket option on level SOL_SOCKET for socket.

Source

fn get_ip_socket_option( &mut self, option: i32, socket: SockRef<'_>, ) -> InterpResult<'tcx, Result<MPlaceTy<'tcx>, IoError>>

Get the option socket option on level IPPROTO_IP for socket. socket is a [socket2::SockRef] to the underlying host socket of the shimmed socket.

Source

fn get_tcp_socket_option( &mut self, option: i32, socket: SockRef<'_>, ) -> InterpResult<'tcx, Result<MPlaceTy<'tcx>, IoError>>

Get the option socket option on level IPPROTO_TCP for socket. socket is a [socket2::SockRef] to the underlying host socket of the shimmed socket.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'tcx> EvalContextExt<'tcx> for MiriInterpCx<'tcx>