fs/smb/client/cifs_ioctl.h
Source file repositories/reference/linux-study-clean/fs/smb/client/cifs_ioctl.h
File Facts
- System
- Linux kernel
- Corpus path
fs/smb/client/cifs_ioctl.h- Extension
.h- Size
- 3623 bytes
- Lines
- 125
- Domain
- Core OS
- Bucket
- VFS And Filesystem Core
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct smb_mnt_fs_infostruct smb_mnt_tcon_infostruct smb_snapshot_arraystruct smb_query_infostruct smb3_key_debug_infostruct smb3_full_key_debug_infostruct smb3_notifystruct smb3_notify_info
Annotated Snippet
struct smb_mnt_fs_info {
__u32 version; /* 0001 */
__u16 protocol_id;
__u16 tcon_flags;
__u32 vol_serial_number;
__u32 vol_create_time;
__u32 share_caps;
__u32 share_flags;
__u32 sector_flags;
__u32 optimal_sector_size;
__u32 max_bytes_chunk;
__u32 fs_attributes;
__u32 max_path_component;
__u32 device_type;
__u32 device_characteristics;
__u32 maximal_access;
__u64 cifs_posix_caps;
} __packed;
struct smb_mnt_tcon_info {
__u32 tid;
__u64 session_id;
} __packed;
struct smb_snapshot_array {
__u32 number_of_snapshots;
__u32 number_of_snapshots_returned;
__u32 snapshot_array_size;
/* snapshots[]; */
} __packed;
/* query_info flags */
#define PASSTHRU_QUERY_INFO 0x00000000
#define PASSTHRU_FSCTL 0x00000001
#define PASSTHRU_SET_INFO 0x00000002
struct smb_query_info {
__u32 info_type;
__u32 file_info_class;
__u32 additional_information;
__u32 flags;
__u32 input_buffer_length;
__u32 output_buffer_length;
/* char buffer[]; */
} __packed;
/*
* Dumping the commonly used 16 byte (e.g. CCM and GCM128) keys still supported
* for backlevel compatibility, but is not sufficient for dumping the less
* frequently used GCM256 (32 byte) keys (see the newer "CIFS_DUMP_FULL_KEY"
* ioctl for dumping decryption info for GCM256 mounts)
*/
struct smb3_key_debug_info {
__u64 Suid;
__u16 cipher_type;
__u8 auth_key[SMB2_NTLMV2_SESSKEY_SIZE];
__u8 smb3encryptionkey[SMB3_SIGN_KEY_SIZE];
__u8 smb3decryptionkey[SMB3_SIGN_KEY_SIZE];
} __packed;
/*
* Dump variable-sized keys
*/
struct smb3_full_key_debug_info {
/* INPUT: size of userspace buffer */
__u32 in_size;
/*
* INPUT: 0 for current user, otherwise session to dump
* OUTPUT: session id that was dumped
*/
__u64 session_id;
__u16 cipher_type;
__u8 session_key_length;
__u8 server_in_key_length;
__u8 server_out_key_length;
__u8 data[];
/*
* return this struct with the keys appended at the end:
* __u8 session_key[session_key_length];
* __u8 server_in_key[server_in_key_length];
* __u8 server_out_key[server_out_key_length];
*/
} __packed;
struct smb3_notify {
__u32 completion_filter;
bool watch_tree;
} __packed;
struct smb3_notify_info {
Annotation
- Detected declarations: `struct smb_mnt_fs_info`, `struct smb_mnt_tcon_info`, `struct smb_snapshot_array`, `struct smb_query_info`, `struct smb3_key_debug_info`, `struct smb3_full_key_debug_info`, `struct smb3_notify`, `struct smb3_notify_info`.
- Atlas domain: Core OS / VFS And Filesystem Core.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.