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.

103 lines
1.8 KiB

  1. /*++
  2. Copyright (c) 2000-2002 Microsoft Corporation
  3. Module Name:
  4. httpconnp.h
  5. Abstract:
  6. This module contains private declarations for manipulation of
  7. HTTP_CONNECTION objects.
  8. Author:
  9. Eric Stenson (ericsten) 01-Nov-2000
  10. Revision History:
  11. --*/
  12. #ifndef __HTTPCONNP_H__
  13. #define __HTTPCONNP_H__
  14. //
  15. // private types
  16. //
  17. #define ERROR_LOG_INFO_FOR_ZOMBIE_DROP "Connection_Dropped"
  18. #define ERROR_LOG_INFO_FOR_ZOMBIE_DROP_SIZE \
  19. (sizeof(ERROR_LOG_INFO_FOR_ZOMBIE_DROP) - sizeof(CHAR))
  20. //
  21. // for binding connections to app pool processes
  22. //
  23. #define IS_VALID_PROC_BINDING(pObject) \
  24. HAS_VALID_SIGNATURE(pObject, UL_APOOL_PROC_BINDING_POOL_TAG)
  25. typedef struct _UL_APOOL_PROC_BINDING
  26. {
  27. ULONG Signature; // UL_APOOL_PROC_BINDING_POOL_TAG
  28. LIST_ENTRY BindingEntry;
  29. PUL_APP_POOL_OBJECT pAppPool;
  30. PUL_APP_POOL_PROCESS pProcess;
  31. } UL_APOOL_PROC_BINDING, *PUL_APOOL_PROC_BINDING;
  32. //
  33. // Private prototypes.
  34. //
  35. VOID
  36. UlpSetZombieTimer(
  37. VOID
  38. );
  39. VOID
  40. UlpTerminateZombieList(
  41. VOID
  42. );
  43. NTSTATUS
  44. UlpZombifyHttpConnection(
  45. IN PUL_HTTP_CONNECTION pHttpConnection
  46. );
  47. VOID
  48. UlpZombieTimerWorker(
  49. IN PUL_WORK_ITEM pWorkItem
  50. );
  51. VOID
  52. UlpRemoveZombieHttpConnection(
  53. IN PUL_HTTP_CONNECTION pHttpConnection
  54. );
  55. VOID
  56. UlpCleanupZombieHttpConnection(
  57. IN PUL_HTTP_CONNECTION pHttpConnection
  58. );
  59. PUL_APOOL_PROC_BINDING
  60. UlpCreateProcBinding(
  61. IN PUL_APP_POOL_OBJECT pAppPool,
  62. IN PUL_APP_POOL_PROCESS pProcess
  63. );
  64. VOID
  65. UlpFreeProcBinding(
  66. IN PUL_APOOL_PROC_BINDING pBinding
  67. );
  68. PUL_APOOL_PROC_BINDING
  69. UlpFindProcBinding(
  70. IN PUL_HTTP_CONNECTION pHttpConnection,
  71. IN PUL_APP_POOL_OBJECT pAppPool
  72. );
  73. #endif // __HTTPCONNP_H__