pub struct IoctlRequest {
pub ctl_code: u32,
pub file_id: FileId,
pub max_input_response: u32,
pub max_output_response: u32,
pub flags: u32,
pub input_data: Vec<u8>,
}Expand description
SMB2 IOCTL Request (MS-SMB2 section 2.2.31).
Sent by the client to issue a device or file system control command. The fixed part is 56 bytes (StructureSize = 57 indicates 1 byte of variable data is included in the fixed size, per SMB2 convention).
Layout:
- StructureSize (2 bytes, must be 57)
- Reserved (2 bytes)
- CtlCode (4 bytes)
- FileId (16 bytes)
- InputOffset (4 bytes)
- InputCount (4 bytes)
- MaxInputResponse (4 bytes)
- OutputOffset (4 bytes)
- OutputCount (4 bytes)
- MaxOutputResponse (4 bytes)
- Flags (4 bytes)
- Reserved2 (4 bytes)
- Buffer (variable, InputCount bytes)
Fields§
§ctl_code: u32The control code for the operation.
file_id: FileIdThe file handle for the operation.
max_input_response: u32Maximum number of input bytes the server can return.
max_output_response: u32Maximum number of output bytes the server can return.
flags: u32Flags for the request (for example, SMB2_0_IOCTL_IS_FSCTL).
input_data: Vec<u8>Input data buffer.
Implementations§
Source§impl IoctlRequest
impl IoctlRequest
pub const STRUCTURE_SIZE: u16 = 57
Trait Implementations§
Source§impl Clone for IoctlRequest
impl Clone for IoctlRequest
Source§fn clone(&self) -> IoctlRequest
fn clone(&self) -> IoctlRequest
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for IoctlRequest
impl Debug for IoctlRequest
Source§impl Pack for IoctlRequest
impl Pack for IoctlRequest
Source§fn pack(&self, cursor: &mut WriteCursor)
fn pack(&self, cursor: &mut WriteCursor)
Write this value into the cursor.
Source§impl PartialEq for IoctlRequest
impl PartialEq for IoctlRequest
Source§fn eq(&self, other: &IoctlRequest) -> bool
fn eq(&self, other: &IoctlRequest) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Unpack for IoctlRequest
impl Unpack for IoctlRequest
Source§fn unpack(cursor: &mut ReadCursor<'_>) -> Result<Self>
fn unpack(cursor: &mut ReadCursor<'_>) -> Result<Self>
Read a value from the cursor, advancing its position.
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 UnsafeUnpin 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