1 /*
2  *   fs/cifs/smb2glob.h
3  *
4  *   Definitions for various global variables and structures
5  *
6  *   Copyright (C) International Business Machines  Corp., 2002, 2011
7  *                 Etersoft, 2012
8  *   Author(s): Steve French (sfrench@us.ibm.com)
9  *              Jeremy Allison (jra@samba.org)
10  *              Pavel Shilovsky (pshilovsky@samba.org) 2012
11  *
12  *   This library is free software; you can redistribute it and/or modify
13  *   it under the terms of the GNU Lesser General Public License as published
14  *   by the Free Software Foundation; either version 2.1 of the License, or
15  *   (at your option) any later version.
16  *
17  *   This library is distributed in the hope that it will be useful,
18  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
19  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
20  *   the GNU Lesser General Public License for more details.
21  *
22  */
23 #ifndef _SMB2_GLOB_H
24 #define _SMB2_GLOB_H
25 
26 #define SMB2_MAGIC_NUMBER 0xFE534D42
27 
28 /*
29  *****************************************************************
30  * Constants go here
31  *****************************************************************
32  */
33 
34 /*
35  * Identifiers for functions that use the open, operation, close pattern
36  * in smb2inode.c:smb2_compound_op()
37  */
38 #define SMB2_OP_SET_DELETE 1
39 #define SMB2_OP_SET_INFO 2
40 #define SMB2_OP_QUERY_INFO 3
41 #define SMB2_OP_QUERY_DIR 4
42 #define SMB2_OP_MKDIR 5
43 #define SMB2_OP_RENAME 6
44 #define SMB2_OP_DELETE 7
45 #define SMB2_OP_HARDLINK 8
46 #define SMB2_OP_SET_EOF 9
47 #define SMB2_OP_RMDIR 10
48 #define SMB2_OP_POSIX_QUERY_INFO 11
49 
50 /* Used when constructing chained read requests. */
51 #define CHAINED_REQUEST 1
52 #define START_OF_CHAIN 2
53 #define END_OF_CHAIN 4
54 #define RELATED_REQUEST 8
55 
56 #define SMB2_SIGNATURE_SIZE (16)
57 #define SMB2_NTLMV2_SESSKEY_SIZE (16)
58 #define SMB2_HMACSHA256_SIZE (32)
59 #define SMB2_CMACAES_SIZE (16)
60 #define SMB3_SIGNKEY_SIZE (16)
61 #define SMB3_GCM256_CRYPTKEY_SIZE (32)
62 
63 /* Maximum buffer size value we can send with 1 credit */
64 #define SMB2_MAX_BUFFER_SIZE 65536
65 
66 #endif	/* _SMB2_GLOB_H */
67