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§
Sourcefn socket(
&mut self,
domain: &OpTy<'tcx>,
type_: &OpTy<'tcx>,
protocol: &OpTy<'tcx>,
) -> InterpResult<'tcx, Scalar>
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
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>
Sourcefn accept4(
&mut self,
socket: &OpTy<'tcx>,
address: &OpTy<'tcx>,
address_len: &OpTy<'tcx>,
flags: Option<&OpTy<'tcx>>,
dest: &MPlaceTy<'tcx>,
) -> InterpResult<'tcx>
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
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>
Sourcefn 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_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.
Sourcefn set_ip_socket_option(
&self,
option: i32,
value_ptr: Pointer,
value_len: u64,
socket: SockRef<'_>,
) -> InterpResult<'tcx, Result<(), IoError>>
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.
Sourcefn set_tcp_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>>
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.
Sourcefn get_generic_socket_option<T: UnixSocketFileDescription>(
&mut self,
option: i32,
socket: FileDescriptionRef<T>,
) -> InterpResult<'tcx, Result<MPlaceTy<'tcx>, IoError>>
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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".