[PATCH 2/3] lib: add FSCTL_[GET/SET]_COMPRESSION constants

David Disseldorp ddiss at samba.org
Wed Aug 7 09:16:11 MDT 2013


Values taken from MS-FSCC.

Signed-off-by: David Disseldorp <ddiss at samba.org>
---
 libcli/smb/smb_constants.h |  3 +++
 librpc/idl/ioctl.idl       | 11 +++++++++++
 2 files changed, 14 insertions(+)

diff --git a/libcli/smb/smb_constants.h b/libcli/smb/smb_constants.h
index 6dd7b28..7144413 100644
--- a/libcli/smb/smb_constants.h
+++ b/libcli/smb/smb_constants.h
@@ -390,6 +390,9 @@ enum csc_policy {
 #define FSCTL_OPLOCK_BREAK_ACKNOWLEDGE  (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x000C | FSCTL_METHOD_BUFFERED)
 #define FSCTL_OPBATCH_ACK_CLOSE_PENDING (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0010 | FSCTL_METHOD_BUFFERED)
 #define FSCTL_OPLOCK_BREAK_NOTIFY       (FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0014 | FSCTL_METHOD_BUFFERED)
+#define FSCTL_GET_COMPRESSION		(FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x003C | FSCTL_METHOD_BUFFERED)
+#define FSCTL_SET_COMPRESSION		(FSCTL_FILESYSTEM | FSCTL_ACCESS_READ \
+							  | FSCTL_ACCESS_WRITE | 0x0040 | FSCTL_METHOD_BUFFERED)
 #define FSCTL_FILESYS_GET_STATISTICS	(FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0060 | FSCTL_METHOD_BUFFERED)
 #define FSCTL_GET_NTFS_VOLUME_DATA	(FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0064 | FSCTL_METHOD_BUFFERED)
 #define FSCTL_IS_VOLUME_DIRTY		(FSCTL_FILESYSTEM | FSCTL_ACCESS_ANY | 0x0078 | FSCTL_METHOD_BUFFERED)
diff --git a/librpc/idl/ioctl.idl b/librpc/idl/ioctl.idl
index 4672777..b4485e0 100644
--- a/librpc/idl/ioctl.idl
+++ b/librpc/idl/ioctl.idl
@@ -88,3 +88,14 @@ interface copychunk
 		hyper length_written;
 	} fsctl_offload_write_output;
 }
+
+interface compression
+{
+	const uint16 COMPRESSION_FORMAT_NONE = 0x0000;
+	const uint16 COMPRESSION_FORMAT_DEFAULT = 0x0001;
+	const uint16 COMPRESSION_FORMAT_LZNT1 = 0x0002;
+
+	typedef [public] struct {
+		uint16 format;
+	} compression_state;
+}
-- 
1.8.1.4



More information about the samba-technical mailing list