smb2glob.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. #define SMB2_MAGIC_NUMBER 0xFE534D42
  26. /*
  27. *****************************************************************
  28. * Constants go here
  29. *****************************************************************
  30. */
  31. /*
  32. * Identifiers for functions that use the open, operation, close pattern
  33. * in smb2inode.c:smb2_compound_op()
  34. */
  35. #define SMB2_OP_SET_DELETE 1
  36. #define SMB2_OP_SET_INFO 2
  37. #define SMB2_OP_QUERY_INFO 3
  38. #define SMB2_OP_QUERY_DIR 4
  39. #define SMB2_OP_MKDIR 5
  40. #define SMB2_OP_RENAME 6
  41. #define SMB2_OP_DELETE 7
  42. #define SMB2_OP_HARDLINK 8
  43. #define SMB2_OP_SET_EOF 9
  44. #define SMB2_OP_RMDIR 10
  45. #define SMB2_OP_POSIX_QUERY_INFO 11
  46. /* Used when constructing chained read requests. */
  47. #define CHAINED_REQUEST 1
  48. #define START_OF_CHAIN 2
  49. #define END_OF_CHAIN 4
  50. #define RELATED_REQUEST 8
  51. #define SMB2_SIGNATURE_SIZE (16)
  52. #define SMB2_NTLMV2_SESSKEY_SIZE (16)
  53. #define SMB2_HMACSHA256_SIZE (32)
  54. #define SMB2_CMACAES_SIZE (16)
  55. #define SMB3_SIGNKEY_SIZE (16)
  56. #define SMB3_GCM128_CRYPTKEY_SIZE (16)
  57. #define SMB3_GCM256_CRYPTKEY_SIZE (32)
  58. /* Maximum buffer size value we can send with 1 credit */
  59. #define SMB2_MAX_BUFFER_SIZE 65536
  60. #endif /* _SMB2_GLOB_H */