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.

110 lines
3.2 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992-2000.
  5. //
  6. // File: sslcache.h
  7. //
  8. // Contents: Definitions of functions and data types that can be used
  9. // to view and purge the schannel session cache.
  10. //
  11. // Classes:
  12. //
  13. // Functions:
  14. //
  15. //----------------------------------------------------------------------------
  16. #ifndef __SSLCACHE_H__
  17. #define __SSLCACHE_H__
  18. //
  19. // SCHANNEL LsaCallAuthenticationPackage() submission and response
  20. // message types.
  21. //
  22. #define SSL_PURGE_CLIENT_ENTRIES 0x00000001
  23. #define SSL_PURGE_SERVER_ENTRIES 0x00000002
  24. #define SSL_PURGE_CLIENT_ALL_ENTRIES 0x00010000 // test use only
  25. #define SSL_PURGE_SERVER_ALL_ENTRIES 0x00020000 // test use only
  26. #define SSL_PURGE_SERVER_ENTRIES_DISCARD_LOCATORS 0x00040000 // test use only
  27. #define SSL_RETRIEVE_CLIENT_ENTRIES 0x00000001
  28. #define SSL_RETRIEVE_SERVER_ENTRIES 0x00000002
  29. typedef struct _UNICODE_STRING_WOW64
  30. {
  31. USHORT Length;
  32. USHORT MaximumLength;
  33. DWORD Buffer;
  34. } UNICODE_STRING_WOW64;
  35. // Used to purge entries from the session cache
  36. typedef struct _SSL_PURGE_SESSION_CACHE_REQUEST
  37. {
  38. ULONG MessageType;
  39. LUID LogonId;
  40. UNICODE_STRING ServerName;
  41. DWORD Flags;
  42. } SSL_PURGE_SESSION_CACHE_REQUEST, *PSSL_PURGE_SESSION_CACHE_REQUEST;
  43. typedef struct _SSL_PURGE_SESSION_CACHE_REQUEST_WOW64
  44. {
  45. ULONG MessageType;
  46. LUID LogonId;
  47. UNICODE_STRING_WOW64 ServerName;
  48. DWORD Flags;
  49. } SSL_PURGE_SESSION_CACHE_REQUEST_WOW64, *PSSL_PURGE_SESSION_CACHE_REQUEST_WOW64;
  50. // Used to request session cache info
  51. typedef struct _SSL_SESSION_CACHE_INFO_REQUEST
  52. {
  53. ULONG MessageType;
  54. LUID LogonId;
  55. UNICODE_STRING ServerName;
  56. DWORD Flags;
  57. } SSL_SESSION_CACHE_INFO_REQUEST, *PSSL_SESSION_CACHE_INFO_REQUEST;
  58. typedef struct _SSL_SESSION_CACHE_INFO_REQUEST_WOW64
  59. {
  60. ULONG MessageType;
  61. LUID LogonId;
  62. UNICODE_STRING_WOW64 ServerName;
  63. DWORD Flags;
  64. } SSL_SESSION_CACHE_INFO_REQUEST_WOW64, *PSSL_SESSION_CACHE_INFO_REQUEST_WOW64;
  65. // Used to respond to session cache info request
  66. typedef struct _SSL_SESSION_CACHE_INFO_RESPONSE
  67. {
  68. DWORD CacheSize;
  69. DWORD Entries;
  70. DWORD ActiveEntries;
  71. DWORD Zombies;
  72. DWORD ExpiredZombies;
  73. DWORD AbortedZombies;
  74. DWORD DeletedZombies;
  75. } SSL_SESSION_CACHE_INFO_RESPONSE, *PSSL_SESSION_CACHE_INFO_RESPONSE;
  76. // Used to request information for perfmon
  77. typedef struct _SSL_PERFMON_INFO_REQUEST
  78. {
  79. ULONG MessageType;
  80. DWORD Flags;
  81. } SSL_PERFMON_INFO_REQUEST, *PSSL_PERFMON_INFO_REQUEST;
  82. // Used to respond to perfmon info request
  83. typedef struct _SSL_PERFMON_INFO_RESPONSE
  84. {
  85. DWORD ClientCacheEntries;
  86. DWORD ServerCacheEntries;
  87. DWORD ClientActiveEntries;
  88. DWORD ServerActiveEntries;
  89. DWORD ClientHandshakesPerSecond;
  90. DWORD ServerHandshakesPerSecond;
  91. DWORD ClientReconnectsPerSecond;
  92. DWORD ServerReconnectsPerSecond;
  93. } SSL_PERFMON_INFO_RESPONSE, *PSSL_PERFMON_INFO_RESPONSE;
  94. #endif