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.

86 lines
1.8 KiB

  1. /*++
  2. Copyright (c) 1989 Microsoft Corporation
  3. Module Name:
  4. process.h
  5. Abstract:
  6. This module contains declarations of functions and globals
  7. for queue processing routines in ws2ifsl.sys driver.
  8. Author:
  9. Vadim Eydelman (VadimE) Dec-1996
  10. Revision History:
  11. Vadim Eydelman (VadimE) Oct-1997, rewrite to properly handle IRP
  12. cancellation
  13. --*/
  14. VOID
  15. InitializeRequestQueue (
  16. IN PIFSL_PROCESS_CTX ProcessCtx,
  17. IN PKTHREAD ApcThread,
  18. IN KPROCESSOR_MODE ApcMode,
  19. IN PKNORMAL_ROUTINE ApcRoutine,
  20. IN PVOID ApcContext
  21. );
  22. VOID
  23. InitializeCancelQueue (
  24. IN PIFSL_PROCESS_CTX ProcessCtx,
  25. IN PKTHREAD ApcThread,
  26. IN KPROCESSOR_MODE ApcMode,
  27. IN PKNORMAL_ROUTINE ApcRoutine,
  28. IN PVOID ApcContext
  29. );
  30. BOOLEAN
  31. QueueRequest (
  32. IN PIFSL_PROCESS_CTX ProcessCtx,
  33. IN PIRP Irp
  34. );
  35. PIRP
  36. DequeueRequest (
  37. PIFSL_PROCESS_CTX ProcessCtx,
  38. ULONG UniqueId,
  39. BOOLEAN *more
  40. );
  41. VOID
  42. CleanupQueuedRequests (
  43. IN PIFSL_PROCESS_CTX ProcessCtx,
  44. IN PFILE_OBJECT SocketFile,
  45. OUT PLIST_ENTRY IrpList
  46. );
  47. VOID
  48. CancelQueuedRequest (
  49. IN PDEVICE_OBJECT DeviceObject,
  50. IN PIRP Irp
  51. );
  52. VOID
  53. QueueCancel (
  54. IN PIFSL_PROCESS_CTX ProcessCtx,
  55. IN PIFSL_CANCEL_CTX CancelCtx
  56. );
  57. PIFSL_CANCEL_CTX
  58. DequeueCancel (
  59. PIFSL_PROCESS_CTX ProcessCtx,
  60. ULONG UniqueId,
  61. BOOLEAN *more
  62. );
  63. BOOLEAN
  64. RemoveQueuedCancel (
  65. PIFSL_PROCESS_CTX ProcessCtx,
  66. PIFSL_CANCEL_CTX CancelCtx
  67. );