summaryrefslogtreecommitdiff
path: root/source4/libcli/raw
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@samba.org>2015-03-13 00:46:21 +0100
committerJeremy Allison <jra@samba.org>2015-03-18 18:57:20 +0100
commit664dca2b44c96a6ef1fd5fb920adbf274a3a6c01 (patch)
tree7c59e9f6589c0383f93da7282156ded1311daf98 /source4/libcli/raw
parentba9fd54bdf32009f725006660bb81965885501b9 (diff)
downloadsamba-664dca2b44c96a6ef1fd5fb920adbf274a3a6c01.tar.gz
s4/client: add FS_SECTOR_SIZE_INFORMATION query support
Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source4/libcli/raw')
-rw-r--r--source4/libcli/raw/interfaces.h20
-rw-r--r--source4/libcli/raw/trans2.h8
2 files changed, 27 insertions, 1 deletions
diff --git a/source4/libcli/raw/interfaces.h b/source4/libcli/raw/interfaces.h
index 5804a6beff9..7e8258e9f8b 100644
--- a/source4/libcli/raw/interfaces.h
+++ b/source4/libcli/raw/interfaces.h
@@ -1167,7 +1167,9 @@ enum smb_fsinfo_level {
RAW_QFS_ATTRIBUTE_INFORMATION = SMB_QFS_ATTRIBUTE_INFORMATION,
RAW_QFS_QUOTA_INFORMATION = SMB_QFS_QUOTA_INFORMATION,
RAW_QFS_FULL_SIZE_INFORMATION = SMB_QFS_FULL_SIZE_INFORMATION,
- RAW_QFS_OBJECTID_INFORMATION = SMB_QFS_OBJECTID_INFORMATION};
+ RAW_QFS_OBJECTID_INFORMATION = SMB_QFS_OBJECTID_INFORMATION,
+ RAW_QFS_SECTOR_SIZE_INFORMATION = SMB_QFS_SECTOR_SIZE_INFORMATION,
+};
/* union for fsinfo() backend call. Note that there are no in
@@ -1331,6 +1333,22 @@ union smb_fsinfo {
uint64_t unknown[6];
} out;
} objectid_information;
+
+ /* trans2 RAW_QFS_SECTOR_SIZE_INFORMATION interface */
+ struct {
+ enum smb_fsinfo_level level;
+ struct smb2_handle handle; /* only for smb2 */
+
+ struct {
+ uint32_t logical_bytes_per_sector;
+ uint32_t phys_bytes_per_sector_atomic;
+ uint32_t phys_bytes_per_sector_perf;
+ uint32_t fs_effective_phys_bytes_per_sector_atomic;
+ uint32_t flags;
+ uint32_t byte_off_sector_align;
+ uint32_t byte_off_partition_align;
+ } out;
+ } sector_size_info;
};
diff --git a/source4/libcli/raw/trans2.h b/source4/libcli/raw/trans2.h
index c1ec3ae214b..b7cfc6d0e8b 100644
--- a/source4/libcli/raw/trans2.h
+++ b/source4/libcli/raw/trans2.h
@@ -63,6 +63,7 @@ Found 4 aliased levels
#define SMB_QFS_QUOTA_INFORMATION 1006
#define SMB_QFS_FULL_SIZE_INFORMATION 1007
#define SMB_QFS_OBJECTID_INFORMATION 1008
+#define SMB_QFS_SECTOR_SIZE_INFORMATION 1011
/* trans2 qfileinfo/qpathinfo */
@@ -283,6 +284,13 @@ Found 0 aliased levels
#define QFS_TYPE_MOUNTED 0x20
#define QFS_TYPE_VIRTUAL 0x40
+/* SMB_QFS_SECTOR_SIZE_INFORMATION values */
+#define QFS_SSINFO_FLAGS_ALIGNED_DEVICE 0x00000001
+#define QFS_SSINFO_FLAGS_PARTITION_ALIGNED_ON_DEVICE 0x00000002
+#define QFS_SSINFO_FLAGS_NO_SEEK_PENALTY 0x00000004
+#define QFS_SSINFO_FLAGS_TRIM_ENABLED 0x00000008
+
+#define QFS_SSINFO_OFFSET_UNKNOWN 0xffffffff
/*
* Thursby MAC extensions....