GNU Linux-libre 5.15.137-gnu
[releases.git] / fs / cifs / smb2glob.h
1 /* SPDX-License-Identifier: LGPL-2.1 */
2 /*
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  */
13 #ifndef _SMB2_GLOB_H
14 #define _SMB2_GLOB_H
15
16 #define SMB2_MAGIC_NUMBER 0xFE534D42
17
18 /*
19  *****************************************************************
20  * Constants go here
21  *****************************************************************
22  */
23
24 /*
25  * Identifiers for functions that use the open, operation, close pattern
26  * in smb2inode.c:smb2_compound_op()
27  */
28 #define SMB2_OP_SET_DELETE 1
29 #define SMB2_OP_SET_INFO 2
30 #define SMB2_OP_QUERY_INFO 3
31 #define SMB2_OP_QUERY_DIR 4
32 #define SMB2_OP_MKDIR 5
33 #define SMB2_OP_RENAME 6
34 #define SMB2_OP_DELETE 7
35 #define SMB2_OP_HARDLINK 8
36 #define SMB2_OP_SET_EOF 9
37 #define SMB2_OP_RMDIR 10
38 #define SMB2_OP_POSIX_QUERY_INFO 11
39
40 /* Used when constructing chained read requests. */
41 #define CHAINED_REQUEST 1
42 #define START_OF_CHAIN 2
43 #define END_OF_CHAIN 4
44 #define RELATED_REQUEST 8
45
46 #define SMB2_SIGNATURE_SIZE (16)
47 #define SMB2_NTLMV2_SESSKEY_SIZE (16)
48 #define SMB2_HMACSHA256_SIZE (32)
49 #define SMB2_CMACAES_SIZE (16)
50 #define SMB3_SIGNKEY_SIZE (16)
51 #define SMB3_GCM128_CRYPTKEY_SIZE (16)
52 #define SMB3_GCM256_CRYPTKEY_SIZE (32)
53
54 /* Maximum buffer size value we can send with 1 credit */
55 #define SMB2_MAX_BUFFER_SIZE 65536
56
57 #endif  /* _SMB2_GLOB_H */