Commit 0df444a0 authored by Steve French's avatar Steve French

smb3: missing defines and structs for reparse point handling

We were missing some structs from MS-FSCC relating to
reparse point handling.  Add them to protocol defines
in smb2pdu.h
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
Reviewed-by: default avatarAurelien Aptel <aaptel@suse.com>
parent dfe33f9a
...@@ -1539,6 +1539,9 @@ struct reparse_symlink_data { ...@@ -1539,6 +1539,9 @@ struct reparse_symlink_data {
char PathBuffer[0]; char PathBuffer[0];
} __attribute__((packed)); } __attribute__((packed));
/* Flag above */
#define SYMLINK_FLAG_RELATIVE 0x00000001
/* For IO_REPARSE_TAG_NFS */ /* For IO_REPARSE_TAG_NFS */
#define NFS_SPECFILE_LNK 0x00000000014B4E4C #define NFS_SPECFILE_LNK 0x00000000014B4E4C
#define NFS_SPECFILE_CHR 0x0000000000524843 #define NFS_SPECFILE_CHR 0x0000000000524843
......
...@@ -842,6 +842,41 @@ struct fsctl_get_integrity_information_rsp { ...@@ -842,6 +842,41 @@ struct fsctl_get_integrity_information_rsp {
/* Integrity flags for above */ /* Integrity flags for above */
#define FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF 0x00000001 #define FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF 0x00000001
/* Reparse structures - see MS-FSCC 2.1.2 */
/* struct fsctl_reparse_info_req is empty, only response structs (see below) */
struct reparse_data_buffer {
__le32 ReparseTag;
__le16 ReparseDataLength;
__u16 Reserved;
__u8 DataBuffer[0]; /* Variable Length */
} __packed;
struct reparse_guid_data_buffer {
__le32 ReparseTag;
__le16 ReparseDataLength;
__u16 Reserved;
__u8 ReparseGuid[16];
__u8 DataBuffer[0]; /* Variable Length */
} __packed;
struct reparse_mount_point_data_buffer {
__le32 ReparseTag;
__le16 ReparseDataLength;
__u16 Reserved;
__le16 SubstituteNameOffset;
__le16 SubstituteNameLength;
__le16 PrintNameOffset;
__le16 PrintNameLength;
__u8 PathBuffer[0]; /* Variable Length */
} __packed;
/* See MS-FSCC 2.1.2.4 and cifspdu.h for struct reparse_symlink_data */
/* See MS-FSCC 2.1.2.6 and cifspdu.h for struct reparse_posix_data */
/* See MS-DFSC 2.2.2 */ /* See MS-DFSC 2.2.2 */
struct fsctl_get_dfs_referral_req { struct fsctl_get_dfs_referral_req {
__le16 MaxReferralLevel; __le16 MaxReferralLevel;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment