pub struct IoctlRequest {
pub ctl_code: u32,
pub file_id: FileId,
pub max_input_response: u32,
pub max_output_response: u32,
pub flags: IoctlRequestFlags,
pub buffer: IoctlReqData,
}Expand description
SMB2 IOCTL request packet for issuing file system control or device control commands.
Used to send implementation-specific FSCTL/IOCTL commands across the network. The structure size is fixed at 57 bytes regardless of the buffer size.
MS-SMB2 2.2.31
Fields§
§ctl_code: u32Control code of the FSCTL/IOCTL method to execute
file_id: FileIdFile identifier on which to perform the command
max_input_response: u32Maximum bytes server can return for input data in response
max_output_response: u32Maximum bytes server can return for output data in response
flags: IoctlRequestFlagsIndicates whether this is an IOCTL (0x00000000) or FSCTL (0x00000001) request
buffer: IoctlReqDataVariable-length buffer containing input data for the FSCTL/IOCTL command
Trait Implementations§
Source§impl BinRead for IoctlRequest
impl BinRead for IoctlRequest
Source§fn read_options<R: Read + Seek>(
__binrw_generated_var_reader: &mut R,
__binrw_generated_var_endian: Endian,
__binrw_generated_var_arguments: Self::Args<'_>,
) -> BinResult<Self>
fn read_options<R: Read + Seek>( __binrw_generated_var_reader: &mut R, __binrw_generated_var_endian: Endian, __binrw_generated_var_arguments: Self::Args<'_>, ) -> BinResult<Self>
Source§fn read_be<R>(reader: &mut R) -> Result<Self, Error>
fn read_be<R>(reader: &mut R) -> Result<Self, Error>
Read
Self from the reader using default arguments and assuming
big-endian byte order. Read moreSource§fn read_le<R>(reader: &mut R) -> Result<Self, Error>
fn read_le<R>(reader: &mut R) -> Result<Self, Error>
Read
Self from the reader using default arguments and assuming
little-endian byte order. Read moreSource§fn read_ne<R>(reader: &mut R) -> Result<Self, Error>
fn read_ne<R>(reader: &mut R) -> Result<Self, Error>
Read
T from the reader assuming native-endian byte order. Read moreSource§fn read_be_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>
fn read_be_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>
Read
Self from the reader, assuming big-endian byte order, using the
given arguments. Read moreSource§impl BinWrite for IoctlRequest
impl BinWrite for IoctlRequest
Source§fn write_options<W: Write + Seek>(
&self,
__binrw_generated_var_writer: &mut W,
__binrw_generated_var_endian: Endian,
__binrw_generated_var_arguments: Self::Args<'_>,
) -> BinResult<()>
fn write_options<W: Write + Seek>( &self, __binrw_generated_var_writer: &mut W, __binrw_generated_var_endian: Endian, __binrw_generated_var_arguments: Self::Args<'_>, ) -> BinResult<()>
Source§fn write_be<W>(&self, writer: &mut W) -> Result<(), Error>
fn write_be<W>(&self, writer: &mut W) -> Result<(), Error>
Write
Self to the writer assuming big-endian byte order. Read moreSource§fn write_le<W>(&self, writer: &mut W) -> Result<(), Error>
fn write_le<W>(&self, writer: &mut W) -> Result<(), Error>
Write
Self to the writer assuming little-endian byte order. Read moreSource§fn write_ne<W>(&self, writer: &mut W) -> Result<(), Error>
fn write_ne<W>(&self, writer: &mut W) -> Result<(), Error>
Write
Self to the writer assuming native-endian byte order. Read moreSource§fn write_be_args<W>(
&self,
writer: &mut W,
args: Self::Args<'_>,
) -> Result<(), Error>
fn write_be_args<W>( &self, writer: &mut W, args: Self::Args<'_>, ) -> Result<(), Error>
Write
Self to the writer, assuming big-endian byte order, using the
given arguments. Read moreSource§impl Debug for IoctlRequest
impl Debug for IoctlRequest
Source§impl From<IoctlRequest> for RequestContent
impl From<IoctlRequest> for RequestContent
Source§fn from(req: IoctlRequest) -> Self
fn from(req: IoctlRequest) -> Self
Converts to this type from the input type.
Source§impl PartialEq for IoctlRequest
impl PartialEq for IoctlRequest
impl Eq for IoctlRequest
impl StructuralPartialEq for IoctlRequest
Auto Trait Implementations§
impl !Freeze for IoctlRequest
impl RefUnwindSafe for IoctlRequest
impl Send for IoctlRequest
impl Sync for IoctlRequest
impl Unpin for IoctlRequest
impl UnwindSafe for IoctlRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more