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_open_op_close() 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 49 /* Used when constructing chained read requests. */ 50 #define CHAINED_REQUEST 1 51 #define START_OF_CHAIN 2 52 #define END_OF_CHAIN 4 53 #define RELATED_REQUEST 8 54 55 #define SMB2_SIGNATURE_SIZE (16) 56 #define SMB2_NTLMV2_SESSKEY_SIZE (16) 57 #define SMB2_HMACSHA256_SIZE (32) 58 #define SMB2_CMACAES_SIZE (16) 59 #define SMB3_SIGNKEY_SIZE (16) 60 61 /* Maximum buffer size value we can send with 1 credit */ 62 #define SMB2_MAX_BUFFER_SIZE 65536 63 64 /* 65 * Maximum number of credits to keep available. 66 * This value is chosen somewhat arbitrarily. The Windows client 67 * defaults to 128 credits, the Windows server allows clients up to 68 * 512 credits, and the NetApp server does not limit clients at all. 69 * Choose a high enough value such that the client shouldn't limit 70 * performance. 71 */ 72 #define SMB2_MAX_CREDITS_AVAILABLE 32000 73 74 #endif /* _SMB2_GLOB_H */ 75