diff options
author | Pavel Shilovsky <piastry@etersoft.ru> | 2011-12-26 13:53:34 -0500 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2012-07-24 11:25:20 -0400 |
commit | 2dc7e1c03316940dec899fa3206a595de000e99b (patch) | |
tree | c74127806717b23e226b3ee81135d091d859bd7a /fs/cifs/smb2pdu.h | |
parent | ddfbefbd393fb1a935bdf27cba5ad2eb24a76e75 (diff) |
CIFS: Make transport routines work with SMB2
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/smb2pdu.h')
-rw-r--r-- | fs/cifs/smb2pdu.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/fs/cifs/smb2pdu.h b/fs/cifs/smb2pdu.h index d35ac689f24b..c7f52e363d37 100644 --- a/fs/cifs/smb2pdu.h +++ b/fs/cifs/smb2pdu.h | |||
@@ -27,6 +27,65 @@ | |||
27 | #include <net/sock.h> | 27 | #include <net/sock.h> |
28 | 28 | ||
29 | /* | 29 | /* |
30 | * Note that, due to trying to use names similar to the protocol specifications, | ||
31 | * there are many mixed case field names in the structures below. Although | ||
32 | * this does not match typical Linux kernel style, it is necessary to be | ||
33 | * be able to match against the protocol specfication. | ||
34 | * | ||
35 | * SMB2 commands | ||
36 | * Some commands have minimal (wct=0,bcc=0), or uninteresting, responses | ||
37 | * (ie no useful data other than the SMB error code itself) and are marked such. | ||
38 | * Knowing this helps avoid response buffer allocations and copy in some cases. | ||
39 | */ | ||
40 | |||
41 | /* List of commands in host endian */ | ||
42 | #define SMB2_NEGOTIATE_HE 0x0000 | ||
43 | #define SMB2_SESSION_SETUP_HE 0x0001 | ||
44 | #define SMB2_LOGOFF_HE 0x0002 /* trivial request/resp */ | ||
45 | #define SMB2_TREE_CONNECT_HE 0x0003 | ||
46 | #define SMB2_TREE_DISCONNECT_HE 0x0004 /* trivial req/resp */ | ||
47 | #define SMB2_CREATE_HE 0x0005 | ||
48 | #define SMB2_CLOSE_HE 0x0006 | ||
49 | #define SMB2_FLUSH_HE 0x0007 /* trivial resp */ | ||
50 | #define SMB2_READ_HE 0x0008 | ||
51 | #define SMB2_WRITE_HE 0x0009 | ||
52 | #define SMB2_LOCK_HE 0x000A | ||
53 | #define SMB2_IOCTL_HE 0x000B | ||
54 | #define SMB2_CANCEL_HE 0x000C | ||
55 | #define SMB2_ECHO_HE 0x000D | ||
56 | #define SMB2_QUERY_DIRECTORY_HE 0x000E | ||
57 | #define SMB2_CHANGE_NOTIFY_HE 0x000F | ||
58 | #define SMB2_QUERY_INFO_HE 0x0010 | ||
59 | #define SMB2_SET_INFO_HE 0x0011 | ||
60 | #define SMB2_OPLOCK_BREAK_HE 0x0012 | ||
61 | |||
62 | /* The same list in little endian */ | ||
63 | #define SMB2_NEGOTIATE cpu_to_le16(SMB2_NEGOTIATE_HE) | ||
64 | #define SMB2_SESSION_SETUP cpu_to_le16(SMB2_SESSION_SETUP_HE) | ||
65 | #define SMB2_LOGOFF cpu_to_le16(SMB2_LOGOFF_HE) | ||
66 | #define SMB2_TREE_CONNECT cpu_to_le16(SMB2_TREE_CONNECT_HE) | ||
67 | #define SMB2_TREE_DISCONNECT cpu_to_le16(SMB2_TREE_DISCONNECT_HE) | ||
68 | #define SMB2_CREATE cpu_to_le16(SMB2_CREATE_HE) | ||
69 | #define SMB2_CLOSE cpu_to_le16(SMB2_CLOSE_HE) | ||
70 | #define SMB2_FLUSH cpu_to_le16(SMB2_FLUSH_HE) | ||
71 | #define SMB2_READ cpu_to_le16(SMB2_READ_HE) | ||
72 | #define SMB2_WRITE cpu_to_le16(SMB2_WRITE_HE) | ||
73 | #define SMB2_LOCK cpu_to_le16(SMB2_LOCK_HE) | ||
74 | #define SMB2_IOCTL cpu_to_le16(SMB2_IOCTL_HE) | ||
75 | #define SMB2_CANCEL cpu_to_le16(SMB2_CANCEL_HE) | ||
76 | #define SMB2_ECHO cpu_to_le16(SMB2_ECHO_HE) | ||
77 | #define SMB2_QUERY_DIRECTORY cpu_to_le16(SMB2_QUERY_DIRECTORY_HE) | ||
78 | #define SMB2_CHANGE_NOTIFY cpu_to_le16(SMB2_CHANGE_NOTIFY_HE) | ||
79 | #define SMB2_QUERY_INFO cpu_to_le16(SMB2_QUERY_INFO_HE) | ||
80 | #define SMB2_SET_INFO cpu_to_le16(SMB2_SET_INFO_HE) | ||
81 | #define SMB2_OPLOCK_BREAK cpu_to_le16(SMB2_OPLOCK_BREAK_HE) | ||
82 | |||
83 | #define NUMBER_OF_SMB2_COMMANDS 0x0013 | ||
84 | |||
85 | /* BB FIXME - analyze following length BB */ | ||
86 | #define MAX_SMB2_HDR_SIZE 0x78 /* 4 len + 64 hdr + (2*24 wct) + 2 bct + 2 pad */ | ||
87 | |||
88 | /* | ||
30 | * SMB2 Header Definition | 89 | * SMB2 Header Definition |
31 | * | 90 | * |
32 | * "MBZ" : Must be Zero | 91 | * "MBZ" : Must be Zero |