#ifndef _COMMON_SMB2PDU_H
#define _COMMON_SMB2PDU_H
#define SMB2_NEGOTIATE_HE …
#define SMB2_SESSION_SETUP_HE …
#define SMB2_LOGOFF_HE …
#define SMB2_TREE_CONNECT_HE …
#define SMB2_TREE_DISCONNECT_HE …
#define SMB2_CREATE_HE …
#define SMB2_CLOSE_HE …
#define SMB2_FLUSH_HE …
#define SMB2_READ_HE …
#define SMB2_WRITE_HE …
#define SMB2_LOCK_HE …
#define SMB2_IOCTL_HE …
#define SMB2_CANCEL_HE …
#define SMB2_ECHO_HE …
#define SMB2_QUERY_DIRECTORY_HE …
#define SMB2_CHANGE_NOTIFY_HE …
#define SMB2_QUERY_INFO_HE …
#define SMB2_SET_INFO_HE …
#define SMB2_OPLOCK_BREAK_HE …
#define SMB2_SERVER_TO_CLIENT_NOTIFICATION …
#define SMB2_NEGOTIATE …
#define SMB2_SESSION_SETUP …
#define SMB2_LOGOFF …
#define SMB2_TREE_CONNECT …
#define SMB2_TREE_DISCONNECT …
#define SMB2_CREATE …
#define SMB2_CLOSE …
#define SMB2_FLUSH …
#define SMB2_READ …
#define SMB2_WRITE …
#define SMB2_LOCK …
#define SMB2_IOCTL …
#define SMB2_CANCEL …
#define SMB2_ECHO …
#define SMB2_QUERY_DIRECTORY …
#define SMB2_CHANGE_NOTIFY …
#define SMB2_QUERY_INFO …
#define SMB2_SET_INFO …
#define SMB2_OPLOCK_BREAK …
#define SMB2_INTERNAL_CMD …
#define NUMBER_OF_SMB2_COMMANDS …
#define SMB2_NTLMV2_SESSKEY_SIZE …
#define SMB2_SIGNATURE_SIZE …
#define SMB2_HMACSHA256_SIZE …
#define SMB2_CMACAES_SIZE …
#define SMB3_GCM128_CRYPTKEY_SIZE …
#define SMB3_GCM256_CRYPTKEY_SIZE …
#define SMB3_ENC_DEC_KEY_SIZE …
#define SMB3_SIGN_KEY_SIZE …
#define CIFS_CLIENT_CHALLENGE_SIZE …
#define SMB2_MAX_BUFFER_SIZE …
#define SMB3_DEFAULT_IOSIZE …
#define __SMB2_HEADER_STRUCTURE_SIZE …
#define SMB2_HEADER_STRUCTURE_SIZE …
#define SMB2_PROTO_NUMBER …
#define SMB2_TRANSFORM_PROTO_NUM …
#define SMB2_COMPRESSION_TRANSFORM_ID …
#define SMB2_FLAGS_SERVER_TO_REDIR …
#define SMB2_FLAGS_ASYNC_COMMAND …
#define SMB2_FLAGS_RELATED_OPERATIONS …
#define SMB2_FLAGS_SIGNED …
#define SMB2_FLAGS_PRIORITY_MASK …
#define SMB2_FLAGS_DFS_OPERATIONS …
#define SMB2_FLAGS_REPLAY_OPERATION …
struct smb2_hdr { … } __packed;
struct smb3_hdr_req { … } __packed;
struct smb2_pdu { … } __packed;
#define SMB2_ERROR_STRUCTURE_SIZE2 …
#define SMB2_ERROR_STRUCTURE_SIZE2_LE …
struct smb2_err_rsp { … } __packed;
#define SMB3_AES_CCM_NONCE …
#define SMB3_AES_GCM_NONCE …
#define TRANSFORM_FLAG_ENCRYPTED …
struct smb2_transform_hdr { … } __packed;
#define SMB2_COMPRESSION_FLAG_NONE …
#define SMB2_COMPRESSION_FLAG_CHAINED …
struct smb2_compression_hdr { … } __packed;
struct smb2_compression_payload_hdr { … } __packed;
struct smb2_compression_pattern_v1 { … } __packed;
#define SMB2_RESERVED_TREE_CONNECT_CONTEXT_ID …
#define SMB2_REMOTED_IDENTITY_TREE_CONNECT_CONTEXT_ID …
struct tree_connect_contexts { … } __packed;
struct smb3_blob_data { … } __packed;
#define SE_GROUP_MANDATORY …
#define SE_GROUP_ENABLED_BY_DEFAULT …
#define SE_GROUP_ENABLED …
#define SE_GROUP_OWNER …
#define SE_GROUP_USE_FOR_DENY_ONLY …
#define SE_GROUP_INTEGRITY …
#define SE_GROUP_INTEGRITY_ENABLED …
#define SE_GROUP_RESOURCE …
#define SE_GROUP_LOGON_ID …
struct sid_array_data { … } __packed;
struct sid_attr_data { … } __packed;
struct privilege_array_data { … } __packed;
struct remoted_identity_tcon_context { … } __packed;
struct smb2_tree_connect_req_extension { … } __packed;
#define SMB2_TREE_CONNECT_FLAG_CLUSTER_RECONNECT …
#define SMB2_TREE_CONNECT_FLAG_REDIRECT_TO_OWNER …
#define SMB2_TREE_CONNECT_FLAG_EXTENSION_PRESENT …
struct smb2_tree_connect_req { … } __packed;
#define SMB2_SHARE_TYPE_DISK …
#define SMB2_SHARE_TYPE_PIPE …
#define SMB2_SHARE_TYPE_PRINT …
#define SMB2_SHAREFLAG_MANUAL_CACHING …
#define SMB2_SHAREFLAG_AUTO_CACHING …
#define SMB2_SHAREFLAG_VDO_CACHING …
#define SMB2_SHAREFLAG_NO_CACHING …
#define SHI1005_FLAGS_DFS …
#define SHI1005_FLAGS_DFS_ROOT …
#define SMB2_SHAREFLAG_RESTRICT_EXCLUSIVE_OPENS …
#define SMB2_SHAREFLAG_FORCE_SHARED_DELETE …
#define SMB2_SHAREFLAG_ALLOW_NAMESPACE_CACHING …
#define SMB2_SHAREFLAG_ACCESS_BASED_DIRECTORY_ENUM …
#define SMB2_SHAREFLAG_FORCE_LEVELII_OPLOCK …
#define SMB2_SHAREFLAG_ENABLE_HASH_V1 …
#define SMB2_SHAREFLAG_ENABLE_HASH_V2 …
#define SHI1005_FLAGS_ENCRYPT_DATA …
#define SMB2_SHAREFLAG_IDENTITY_REMOTING …
#define SMB2_SHAREFLAG_COMPRESS_DATA …
#define SMB2_SHAREFLAG_ISOLATED_TRANSPORT …
#define SHI1005_FLAGS_ALL …
#define SMB2_SHARE_CAP_DFS …
#define SMB2_SHARE_CAP_CONTINUOUS_AVAILABILITY …
#define SMB2_SHARE_CAP_SCALEOUT …
#define SMB2_SHARE_CAP_CLUSTER …
#define SMB2_SHARE_CAP_ASYMMETRIC …
#define SMB2_SHARE_CAP_REDIRECT_TO_OWNER …
struct smb2_tree_connect_rsp { … } __packed;
struct smb2_tree_disconnect_req { … } __packed;
struct smb2_tree_disconnect_rsp { … } __packed;
#define SMB2_NEGOTIATE_SIGNING_ENABLED …
#define SMB2_NEGOTIATE_SIGNING_ENABLED_LE …
#define SMB2_NEGOTIATE_SIGNING_REQUIRED …
#define SMB2_NEGOTIATE_SIGNING_REQUIRED_LE …
#define SMB2_SEC_MODE_FLAGS_ALL …
#define SMB2_GLOBAL_CAP_DFS …
#define SMB2_GLOBAL_CAP_LEASING …
#define SMB2_GLOBAL_CAP_LARGE_MTU …
#define SMB2_GLOBAL_CAP_MULTI_CHANNEL …
#define SMB2_GLOBAL_CAP_PERSISTENT_HANDLES …
#define SMB2_GLOBAL_CAP_DIRECTORY_LEASING …
#define SMB2_GLOBAL_CAP_ENCRYPTION …
#define SMB2_GLOBAL_CAP_NOTIFICATIONS …
#define SMB2_NT_FIND …
#define SMB2_LARGE_FILES …
#define SMB2_CLIENT_GUID_SIZE …
#define SMB2_CREATE_GUID_SIZE …
#define SMB10_PROT_ID …
#define SMB20_PROT_ID …
#define SMB21_PROT_ID …
#define SMB2X_PROT_ID …
#define SMB30_PROT_ID …
#define SMB302_PROT_ID …
#define SMB311_PROT_ID …
#define BAD_PROT_ID …
#define SMB311_SALT_SIZE …
#define SMB2_PREAUTH_INTEGRITY_SHA512 …
#define SMB2_PREAUTH_HASH_SIZE …
#define SMB2_PREAUTH_INTEGRITY_CAPABILITIES …
#define SMB2_ENCRYPTION_CAPABILITIES …
#define SMB2_COMPRESSION_CAPABILITIES …
#define SMB2_NETNAME_NEGOTIATE_CONTEXT_ID …
#define SMB2_TRANSPORT_CAPABILITIES …
#define SMB2_RDMA_TRANSFORM_CAPABILITIES …
#define SMB2_SIGNING_CAPABILITIES …
#define SMB2_POSIX_EXTENSIONS_AVAILABLE …
struct smb2_neg_context { … } __packed;
#define MIN_PREAUTH_CTXT_DATA_LEN …
struct smb2_preauth_neg_context { … } __packed;
#define SMB2_ENCRYPTION_AES128_CCM …
#define SMB2_ENCRYPTION_AES128_GCM …
#define SMB2_ENCRYPTION_AES256_CCM …
#define SMB2_ENCRYPTION_AES256_GCM …
#define MIN_ENCRYPT_CTXT_DATA_LEN …
struct smb2_encryption_neg_context { … } __packed;
#define SMB3_COMPRESS_NONE …
#define SMB3_COMPRESS_LZNT1 …
#define SMB3_COMPRESS_LZ77 …
#define SMB3_COMPRESS_LZ77_HUFF …
#define SMB3_COMPRESS_PATTERN …
#define SMB3_COMPRESS_LZ4 …
#define SMB2_COMPRESSION_CAPABILITIES_FLAG_NONE …
#define SMB2_COMPRESSION_CAPABILITIES_FLAG_CHAINED …
struct smb2_compression_capabilities_context { … } __packed;
struct smb2_netname_neg_context { … } __packed;
#define SMB2_ACCEPT_TRANSPORT_LEVEL_SECURITY …
struct smb2_transport_capabilities_context { … } __packed;
#define SMB2_RDMA_TRANSFORM_NONE …
#define SMB2_RDMA_TRANSFORM_ENCRYPTION …
#define SMB2_RDMA_TRANSFORM_SIGNING …
struct smb2_rdma_transform_capabilities_context { … } __packed;
#define SIGNING_ALG_HMAC_SHA256 …
#define SIGNING_ALG_HMAC_SHA256_LE …
#define SIGNING_ALG_AES_CMAC …
#define SIGNING_ALG_AES_CMAC_LE …
#define SIGNING_ALG_AES_GMAC …
#define SIGNING_ALG_AES_GMAC_LE …
struct smb2_signing_capabilities { … } __packed;
#define POSIX_CTXT_DATA_LEN …
struct smb2_posix_neg_context { … } __packed;
struct smb2_negotiate_req { … } __packed;
struct smb2_negotiate_rsp { … } __packed;
#define SMB2_SESSION_REQ_FLAG_BINDING …
#define SMB2_SESSION_REQ_FLAG_ENCRYPT_DATA …
struct smb2_sess_setup_req { … } __packed;
#define SMB2_SESSION_FLAG_IS_GUEST …
#define SMB2_SESSION_FLAG_IS_GUEST_LE …
#define SMB2_SESSION_FLAG_IS_NULL …
#define SMB2_SESSION_FLAG_IS_NULL_LE …
#define SMB2_SESSION_FLAG_ENCRYPT_DATA …
#define SMB2_SESSION_FLAG_ENCRYPT_DATA_LE …
struct smb2_sess_setup_rsp { … } __packed;
struct smb2_logoff_req { … } __packed;
struct smb2_logoff_rsp { … } __packed;
#define SMB2_CLOSE_FLAG_POSTQUERY_ATTRIB …
struct smb2_close_req { … } __packed;
#define MAX_SMB2_CLOSE_RESPONSE_SIZE …
struct smb2_close_rsp { … } __packed;
#define SMB2_READFLAG_READ_UNBUFFERED …
#define SMB2_READFLAG_REQUEST_COMPRESSED …
#define SMB2_CHANNEL_NONE …
#define SMB2_CHANNEL_RDMA_V1 …
#define SMB2_CHANNEL_RDMA_V1_INVALIDATE …
#define SMB2_CHANNEL_RDMA_TRANSFORM …
struct smb2_read_req { … } __packed;
#define SMB2_READFLAG_RESPONSE_NONE …
#define SMB2_READFLAG_RESPONSE_RDMA_TRANSFORM …
struct smb2_read_rsp { … } __packed;
#define SMB2_WRITEFLAG_WRITE_THROUGH …
#define SMB2_WRITEFLAG_WRITE_UNBUFFERED …
struct smb2_write_req { … } __packed;
struct smb2_write_rsp { … } __packed;
struct smb2_flush_req { … } __packed;
struct smb2_flush_rsp { … } __packed;
#define SMB2_LOCKFLAG_SHARED …
#define SMB2_LOCKFLAG_EXCLUSIVE …
#define SMB2_LOCKFLAG_UNLOCK …
#define SMB2_LOCKFLAG_FAIL_IMMEDIATELY …
#define SMB2_LOCKFLAG_MASK …
struct smb2_lock_element { … } __packed;
struct smb2_lock_req { … } __packed;
struct smb2_lock_rsp { … } __packed;
struct smb2_echo_req { … } __packed;
struct smb2_echo_rsp { … } __packed;
#define SMB2_RESTART_SCANS …
#define SMB2_RETURN_SINGLE_ENTRY …
#define SMB2_INDEX_SPECIFIED …
#define SMB2_REOPEN …
struct smb2_query_directory_req { … } __packed;
struct smb2_query_directory_rsp { … } __packed;
#define FILE_DEVICE_CD_ROM …
#define FILE_DEVICE_CD_ROM_FILE_SYSTEM …
#define FILE_DEVICE_DFS …
#define FILE_DEVICE_DISK …
#define FILE_DEVICE_DISK_FILE_SYSTEM …
#define FILE_DEVICE_FILE_SYSTEM …
#define FILE_DEVICE_NAMED_PIPE …
#define FILE_DEVICE_NETWORK …
#define FILE_DEVICE_NETWORK_FILE_SYSTEM …
#define FILE_DEVICE_NULL …
#define FILE_DEVICE_PARALLEL_PORT …
#define FILE_DEVICE_PRINTER …
#define FILE_DEVICE_SERIAL_PORT …
#define FILE_DEVICE_STREAMS …
#define FILE_DEVICE_TAPE …
#define FILE_DEVICE_TAPE_FILE_SYSTEM …
#define FILE_DEVICE_VIRTUAL_DISK …
#define FILE_DEVICE_NETWORK_REDIRECTOR …
#define FILE_REMOVABLE_MEDIA …
#define FILE_READ_ONLY_DEVICE …
#define FILE_FLOPPY_DISKETTE …
#define FILE_WRITE_ONCE_MEDIA …
#define FILE_REMOTE_DEVICE …
#define FILE_DEVICE_IS_MOUNTED …
#define FILE_VIRTUAL_VOLUME …
#define FILE_DEVICE_SECURE_OPEN …
#define FILE_CHARACTERISTIC_TS_DEVICE …
#define FILE_CHARACTERISTIC_WEBDAV_DEVICE …
#define FILE_PORTABLE_DEVICE …
#define FILE_DEVICE_ALLOW_APPCONTAINER_TRAVERSAL …
#define SMB2_SET_INFO_IOV_SIZE …
struct smb2_set_info_req { … } __packed;
struct smb2_set_info_rsp { … } __packed;
#define SMB2_WATCH_TREE …
#define FILE_NOTIFY_CHANGE_FILE_NAME …
#define FILE_NOTIFY_CHANGE_DIR_NAME …
#define FILE_NOTIFY_CHANGE_ATTRIBUTES …
#define FILE_NOTIFY_CHANGE_SIZE …
#define FILE_NOTIFY_CHANGE_LAST_WRITE …
#define FILE_NOTIFY_CHANGE_LAST_ACCESS …
#define FILE_NOTIFY_CHANGE_CREATION …
#define FILE_NOTIFY_CHANGE_EA …
#define FILE_NOTIFY_CHANGE_SECURITY …
#define FILE_NOTIFY_CHANGE_STREAM_NAME …
#define FILE_NOTIFY_CHANGE_STREAM_SIZE …
#define FILE_NOTIFY_CHANGE_STREAM_WRITE …
#define FILE_ACTION_ADDED …
#define FILE_ACTION_REMOVED …
#define FILE_ACTION_MODIFIED …
#define FILE_ACTION_RENAMED_OLD_NAME …
#define FILE_ACTION_RENAMED_NEW_NAME …
#define FILE_ACTION_ADDED_STREAM …
#define FILE_ACTION_REMOVED_STREAM …
#define FILE_ACTION_MODIFIED_STREAM …
#define FILE_ACTION_REMOVED_BY_DELETE …
struct smb2_change_notify_req { … } __packed;
struct smb2_change_notify_rsp { … } __packed;
#define SMB2_NOTIFY_SESSION_CLOSED …
struct smb2_server_client_notification { … } __packed;
#define SMB2_OPLOCK_LEVEL_NONE …
#define SMB2_OPLOCK_LEVEL_II …
#define SMB2_OPLOCK_LEVEL_EXCLUSIVE …
#define SMB2_OPLOCK_LEVEL_BATCH …
#define SMB2_OPLOCK_LEVEL_LEASE …
#define SMB2_OPLOCK_LEVEL_NOCHANGE …
#define IL_ANONYMOUS …
#define IL_IDENTIFICATION …
#define IL_IMPERSONATION …
#define IL_DELEGATE …
#define FILE_ATTRIBUTE_READONLY …
#define FILE_ATTRIBUTE_HIDDEN …
#define FILE_ATTRIBUTE_SYSTEM …
#define FILE_ATTRIBUTE_DIRECTORY …
#define FILE_ATTRIBUTE_ARCHIVE …
#define FILE_ATTRIBUTE_NORMAL …
#define FILE_ATTRIBUTE_TEMPORARY …
#define FILE_ATTRIBUTE_SPARSE_FILE …
#define FILE_ATTRIBUTE_REPARSE_POINT …
#define FILE_ATTRIBUTE_COMPRESSED …
#define FILE_ATTRIBUTE_OFFLINE …
#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED …
#define FILE_ATTRIBUTE_ENCRYPTED …
#define FILE_ATTRIBUTE_INTEGRITY_STREAM …
#define FILE_ATTRIBUTE_NO_SCRUB_DATA …
#define FILE_ATTRIBUTE__MASK …
#define FILE_ATTRIBUTE_READONLY_LE …
#define FILE_ATTRIBUTE_HIDDEN_LE …
#define FILE_ATTRIBUTE_SYSTEM_LE …
#define FILE_ATTRIBUTE_DIRECTORY_LE …
#define FILE_ATTRIBUTE_ARCHIVE_LE …
#define FILE_ATTRIBUTE_NORMAL_LE …
#define FILE_ATTRIBUTE_TEMPORARY_LE …
#define FILE_ATTRIBUTE_SPARSE_FILE_LE …
#define FILE_ATTRIBUTE_REPARSE_POINT_LE …
#define FILE_ATTRIBUTE_COMPRESSED_LE …
#define FILE_ATTRIBUTE_OFFLINE_LE …
#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED_LE …
#define FILE_ATTRIBUTE_ENCRYPTED_LE …
#define FILE_ATTRIBUTE_INTEGRITY_STREAM_LE …
#define FILE_ATTRIBUTE_NO_SCRUB_DATA_LE …
#define FILE_ATTRIBUTE_MASK_LE …
#define FILE_READ_DATA_LE …
#define FILE_LIST_DIRECTORY_LE …
#define FILE_WRITE_DATA_LE …
#define FILE_APPEND_DATA_LE …
#define FILE_ADD_SUBDIRECTORY_LE …
#define FILE_READ_EA_LE …
#define FILE_WRITE_EA_LE …
#define FILE_EXECUTE_LE …
#define FILE_DELETE_CHILD_LE …
#define FILE_READ_ATTRIBUTES_LE …
#define FILE_WRITE_ATTRIBUTES_LE …
#define FILE_DELETE_LE …
#define FILE_READ_CONTROL_LE …
#define FILE_WRITE_DAC_LE …
#define FILE_WRITE_OWNER_LE …
#define FILE_SYNCHRONIZE_LE …
#define FILE_ACCESS_SYSTEM_SECURITY_LE …
#define FILE_MAXIMAL_ACCESS_LE …
#define FILE_GENERIC_ALL_LE …
#define FILE_GENERIC_EXECUTE_LE …
#define FILE_GENERIC_WRITE_LE …
#define FILE_GENERIC_READ_LE …
#define DESIRED_ACCESS_MASK …
#define FILE_READ_DESIRED_ACCESS_LE …
#define FILE_WRITE_DESIRE_ACCESS_LE …
#define FILE_SHARE_READ_LE …
#define FILE_SHARE_WRITE_LE …
#define FILE_SHARE_DELETE_LE …
#define FILE_SHARE_ALL_LE …
#define FILE_SUPERSEDE_LE …
#define FILE_OPEN_LE …
#define FILE_CREATE_LE …
#define FILE_OPEN_IF_LE …
#define FILE_OVERWRITE_LE …
#define FILE_OVERWRITE_IF_LE …
#define FILE_CREATE_MASK_LE …
#define FILE_READ_RIGHTS …
#define FILE_WRITE_RIGHTS …
#define FILE_EXEC_RIGHTS …
#define FILE_DIRECTORY_FILE_LE …
#define FILE_WRITE_THROUGH_LE …
#define FILE_SEQUENTIAL_ONLY_LE …
#define FILE_NO_INTERMEDIATE_BUFFERING_LE …
#define FILE_NON_DIRECTORY_FILE_LE …
#define FILE_COMPLETE_IF_OPLOCKED_LE …
#define FILE_NO_EA_KNOWLEDGE_LE …
#define FILE_RANDOM_ACCESS_LE …
#define FILE_DELETE_ON_CLOSE_LE …
#define FILE_OPEN_BY_FILE_ID_LE …
#define FILE_OPEN_FOR_BACKUP_INTENT_LE …
#define FILE_NO_COMPRESSION_LE …
#define FILE_OPEN_REPARSE_POINT_LE …
#define FILE_OPEN_NO_RECALL_LE …
#define CREATE_OPTIONS_MASK_LE …
#define FILE_READ_RIGHTS_LE …
#define FILE_WRITE_RIGHTS_LE …
#define FILE_EXEC_RIGHTS_LE …
#define SMB2_CREATE_EA_BUFFER …
#define SMB2_CREATE_SD_BUFFER …
#define SMB2_CREATE_DURABLE_HANDLE_REQUEST …
#define SMB2_CREATE_DURABLE_HANDLE_RECONNECT …
#define SMB2_CREATE_ALLOCATION_SIZE …
#define SMB2_CREATE_QUERY_MAXIMAL_ACCESS_REQUEST …
#define SMB2_CREATE_TIMEWARP_REQUEST …
#define SMB2_CREATE_QUERY_ON_DISK_ID …
#define SMB2_CREATE_REQUEST_LEASE …
#define SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2 …
#define SMB2_CREATE_DURABLE_HANDLE_RECONNECT_V2 …
#define SMB2_CREATE_TAG_POSIX …
#define SMB2_CREATE_APP_INSTANCE_ID …
#define SMB2_CREATE_APP_INSTANCE_VERSION …
#define SVHDX_OPEN_DEVICE_CONTEXT …
#define SMB2_CREATE_TAG_AAPL …
#define SMB2_CREATE_FLAG_REPARSEPOINT …
struct create_context { … } __packed;
static_assert(…);
struct smb2_create_req { … } __packed;
struct smb2_create_rsp { … } __packed;
struct create_posix { … } __packed;
struct create_durable { … } __packed;
struct create_mxac_req { … } __packed;
struct create_mxac_rsp { … } __packed;
#define SMB2_LEASE_NONE_LE …
#define SMB2_LEASE_READ_CACHING_LE …
#define SMB2_LEASE_HANDLE_CACHING_LE …
#define SMB2_LEASE_WRITE_CACHING_LE …
#define SMB2_LEASE_FLAG_BREAK_IN_PROGRESS_LE …
#define SMB2_LEASE_FLAG_PARENT_LEASE_KEY_SET_LE …
#define SMB2_LEASE_KEY_SIZE …
struct lease_context { … } __packed;
struct lease_context_v2 { … } __packed;
struct create_lease { … } __packed;
struct create_lease_v2 { … } __packed;
struct create_disk_id_rsp { … } __packed;
struct create_app_inst_id { … } __packed;
struct create_app_inst_id_vers { … } __packed;
struct smb2_ioctl_req { … } __packed;
struct smb2_ioctl_rsp { … } __packed;
struct file_zero_data_information { … } __packed;
struct duplicate_extents_to_file { … } __packed;
#define DUPLICATE_EXTENTS_DATA_EX_SOURCE_ATOMIC …
struct duplicate_extents_to_file_ex { … } __packed;
struct fsctl_get_integrity_information_rsp { … } __packed;
struct fsctl_query_file_regions_req { … } __packed;
#define FILE_USAGE_INVALID_RANGE …
#define FILE_USAGE_VALID_CACHED_DATA …
#define FILE_USAGE_NONCACHED_DATA …
struct file_region_info { … } __packed;
struct fsctl_query_file_region_rsp { … } __packed;
struct fsctl_query_on_disk_vol_info_rsp { … } __packed;
struct fsctl_set_integrity_information_req { … } __packed;
struct fsctl_set_integrity_info_ex_req { … } __packed;
#define CHECKSUM_TYPE_NONE …
#define CHECKSUM_TYPE_CRC64 …
#define CHECKSUM_TYPE_UNCHANGED …
#define FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF …
struct reparse_data_buffer { … } __packed;
struct reparse_guid_data_buffer { … } __packed;
struct reparse_mount_point_data_buffer { … } __packed;
#define SYMLINK_FLAG_RELATIVE …
struct reparse_symlink_data_buffer { … } __packed;
struct validate_negotiate_info_req { … } __packed;
struct validate_negotiate_info_rsp { … } __packed;
#define SMB2_O_INFO_FILE …
#define SMB2_O_INFO_FILESYSTEM …
#define SMB2_O_INFO_SECURITY …
#define SMB2_O_INFO_QUOTA …
#define FILE_DIRECTORY_INFORMATION …
#define FILE_FULL_DIRECTORY_INFORMATION …
#define FILE_BOTH_DIRECTORY_INFORMATION …
#define FILE_BASIC_INFORMATION …
#define FILE_STANDARD_INFORMATION …
#define FILE_INTERNAL_INFORMATION …
#define FILE_EA_INFORMATION …
#define FILE_ACCESS_INFORMATION …
#define FILE_NAME_INFORMATION …
#define FILE_RENAME_INFORMATION …
#define FILE_LINK_INFORMATION …
#define FILE_NAMES_INFORMATION …
#define FILE_DISPOSITION_INFORMATION …
#define FILE_POSITION_INFORMATION …
#define FILE_FULL_EA_INFORMATION …
#define FILE_MODE_INFORMATION …
#define FILE_ALIGNMENT_INFORMATION …
#define FILE_ALL_INFORMATION …
#define FILE_ALLOCATION_INFORMATION …
#define FILE_END_OF_FILE_INFORMATION …
#define FILE_ALTERNATE_NAME_INFORMATION …
#define FILE_STREAM_INFORMATION …
#define FILE_PIPE_INFORMATION …
#define FILE_PIPE_LOCAL_INFORMATION …
#define FILE_PIPE_REMOTE_INFORMATION …
#define FILE_MAILSLOT_QUERY_INFORMATION …
#define FILE_MAILSLOT_SET_INFORMATION …
#define FILE_COMPRESSION_INFORMATION …
#define FILE_OBJECT_ID_INFORMATION …
#define FILE_MOVE_CLUSTER_INFORMATION …
#define FILE_QUOTA_INFORMATION …
#define FILE_REPARSE_POINT_INFORMATION …
#define FILE_NETWORK_OPEN_INFORMATION …
#define FILE_ATTRIBUTE_TAG_INFORMATION …
#define FILE_TRACKING_INFORMATION …
#define FILEID_BOTH_DIRECTORY_INFORMATION …
#define FILEID_FULL_DIRECTORY_INFORMATION …
#define FILE_VALID_DATA_LENGTH_INFORMATION …
#define FILE_SHORT_NAME_INFORMATION …
#define FILE_SFIO_RESERVE_INFORMATION …
#define FILE_SFIO_VOLUME_INFORMATION …
#define FILE_HARD_LINK_INFORMATION …
#define FILE_NORMALIZED_NAME_INFORMATION …
#define FILEID_GLOBAL_TX_DIRECTORY_INFORMATION …
#define FILE_STANDARD_LINK_INFORMATION …
#define FILE_ID_INFORMATION …
#define FILE_ID_EXTD_DIRECTORY_INFORMATION …
#define SMB_FIND_FILE_POSIX_INFO …
#define OWNER_SECINFO …
#define GROUP_SECINFO …
#define DACL_SECINFO …
#define SACL_SECINFO …
#define LABEL_SECINFO …
#define ATTRIBUTE_SECINFO …
#define SCOPE_SECINFO …
#define BACKUP_SECINFO …
#define UNPROTECTED_SACL_SECINFO …
#define UNPROTECTED_DACL_SECINFO …
#define PROTECTED_SACL_SECINFO …
#define PROTECTED_DACL_SECINFO …
#define SL_RESTART_SCAN …
#define SL_RETURN_SINGLE_ENTRY …
#define SL_INDEX_SPECIFIED …
struct smb2_query_info_req { … } __packed;
struct smb2_query_info_rsp { … } __packed;
struct file_allocated_range_buffer { … } __packed;
struct smb2_file_internal_info { … } __packed;
struct smb2_file_rename_info { … } __packed;
struct smb2_file_link_info { … } __packed;
struct smb2_file_all_info { … } __packed;
struct smb2_file_eof_info { … } __packed;
struct smb311_posix_qinfo { … } __packed;
#define FS_VOLUME_INFORMATION …
#define FS_LABEL_INFORMATION …
#define FS_SIZE_INFORMATION …
#define FS_DEVICE_INFORMATION …
#define FS_ATTRIBUTE_INFORMATION …
#define FS_CONTROL_INFORMATION …
#define FS_FULL_SIZE_INFORMATION …
#define FS_OBJECT_ID_INFORMATION …
#define FS_DRIVER_PATH_INFORMATION …
#define FS_SECTOR_SIZE_INFORMATION …
#define FS_POSIX_INFORMATION …
struct smb2_fs_full_size_info { … } __packed;
#define SSINFO_FLAGS_ALIGNED_DEVICE …
#define SSINFO_FLAGS_PARTITION_ALIGNED_ON_DEVICE …
#define SSINFO_FLAGS_NO_SEEK_PENALTY …
#define SSINFO_FLAGS_TRIM_ENABLED …
struct smb3_fs_ss_info { … } __packed;
struct smb2_fs_control_info { … } __packed;
#define MAX_VOL_LABEL_LEN …
struct smb3_fs_vol_info { … } __packed;
struct smb2_oplock_break { … } __packed;
#define SMB2_NOTIFY_BREAK_LEASE_FLAG_ACK_REQUIRED …
struct smb2_lease_break { … } __packed;
struct smb2_lease_ack { … } __packed;
#define OP_BREAK_STRUCT_SIZE_20 …
#define OP_BREAK_STRUCT_SIZE_21 …
#endif