Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

95 lines
2.8 KiB

  1. /*++
  2. Copyright (c) 1993 Microsoft Corporation
  3. Module Name:
  4. nllmssp.h
  5. Abstract:
  6. Externally visible definition of the NT Lanman Security Support Provider
  7. (NtLmSsp) Service.
  8. Author:
  9. Cliff Van Dyke (cliffv) 01-Jul-1993
  10. Environment:
  11. User mode only.
  12. Contains NT-specific code.
  13. Requires ANSI C extensions: slash-slash comments, long external names.
  14. Revision History:
  15. Borrowed from the Ciaro's ntlmssp.h by PeterWi.
  16. ChandanS 03-Aug-1996 Stolen from net\svcdlls\ntlmssp\ntlmssp.h
  17. --*/
  18. #ifndef _NTLMSSP_
  19. #define _NTLMSSP_
  20. #include <ntverp.h>
  21. //
  22. // Defines for SecPkgInfo structure returned by SpGetInfo
  23. //
  24. #define NTLMSP_NAME L"NTLM"
  25. #define NTLMSP_COMMENT L"NTLM Security Package"
  26. #define NTLMSP_CAPS (SECPKG_FLAG_TOKEN_ONLY | \
  27. SECPKG_FLAG_MULTI_REQUIRED | \
  28. SECPKG_FLAG_CONNECTION | \
  29. SECPKG_FLAG_INTEGRITY | \
  30. SECPKG_FLAG_PRIVACY | \
  31. SECPKG_FLAG_IMPERSONATION | \
  32. SECPKG_FLAG_ACCEPT_WIN32_NAME | \
  33. SECPKG_FLAG_NEGOTIABLE | \
  34. SECPKG_FLAG_LOGON )
  35. #define NTLMSP_MAX_TOKEN_SIZE 0x770
  36. #define NTLM_CRED_NULLSESSION SECPKG_CRED_RESERVED
  37. // includes that should go elsewhere.
  38. //
  39. // Move to secscode.h
  40. //
  41. #define SEC_E_PACKAGE_UNKNOWN SEC_E_SECPKG_NOT_FOUND
  42. #define SEC_E_INVALID_CONTEXT_REQ SEC_E_NOT_SUPPORTED
  43. #define SEC_E_INVALID_CREDENTIAL_USE SEC_E_NOT_SUPPORTED
  44. #define SEC_I_CALL_NTLMSSP_SERVICE 0xFFFFFFFF
  45. //
  46. // Could be in sspi.h
  47. //
  48. #define SSP_RET_REAUTHENTICATION 0x8000000
  49. //
  50. // client/server versions
  51. //
  52. // the version has the following format: (8 octets, little endian)
  53. //
  54. // 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
  55. // -----------------------------------------------------------------
  56. // | major | minor | build |
  57. // -----------------------------------------------------------------
  58. // | reserved | revision |
  59. // -----------------------------------------------------------------
  60. //
  61. #define NTLMSSP_REVISION_W2K3_RC1 10
  62. #define NTLMSSP_REVISION_W2K3 15
  63. #define NTLMSSP_REVISION_CURRENT NTLMSSP_REVISION_W2K3
  64. #define NTLMSSP_ENGINE_VERSION \
  65. ( ( VER_PRODUCTMAJORVERSION & 0xFF ) \
  66. | ( ( VER_PRODUCTMINORVERSION & 0xFF ) << 8 ) \
  67. | ( ( VER_PRODUCTBUILD & 0xFFFF ) << 16 ) \
  68. | ( ( (ULONG64) NTLMSSP_REVISION_CURRENT & 0xFF ) << 56 ) )
  69. #endif // _NTLMSSP_