Source code of Windows XP (NT5)
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.

97 lines
2.1 KiB

  1. /*++
  2. Copyright (c) 1989 Microsoft Corporation
  3. Module Name:
  4. socket.h
  5. Abstract:
  6. This module contains declarations of functions and globals
  7. for socket file object implemetation in ws2ifsl.sys driver.
  8. Author:
  9. Vadim Eydelman (VadimE) Dec-1996
  10. Revision History:
  11. --*/
  12. // Socket file device IO control function pointer
  13. typedef
  14. VOID // Result is returned via IoStatus
  15. (*PSOCKET_DEVICE_CONTROL) (
  16. IN PFILE_OBJECT SocketFile, // Socket file on which to operate
  17. IN KPROCESSOR_MODE RequestorMode, // Mode of the caller
  18. IN PVOID InputBuffer, // Input buffer pointer
  19. IN ULONG InputBufferLength, // Size of the input buffer
  20. OUT PVOID OutputBuffer, // Output buffer pointer
  21. IN ULONG OutputBufferLength, // Size of output buffer
  22. OUT PIO_STATUS_BLOCK IoStatus // IO status information block
  23. );
  24. PSOCKET_DEVICE_CONTROL SocketIoControlMap[2];
  25. ULONG SocketIoctlCodeMap[2];
  26. NTSTATUS
  27. CreateSocketFile (
  28. IN PFILE_OBJECT SocketFile,
  29. IN KPROCESSOR_MODE RequestorMode,
  30. IN PFILE_FULL_EA_INFORMATION eaInfo
  31. );
  32. NTSTATUS
  33. CleanupSocketFile (
  34. IN PFILE_OBJECT SocketFile,
  35. IN PIRP Irp
  36. );
  37. VOID
  38. CloseSocketFile (
  39. IN PFILE_OBJECT SocketFile
  40. );
  41. NTSTATUS
  42. DoSocketReadWrite (
  43. IN PFILE_OBJECT SocketFile,
  44. IN PIRP Irp
  45. );
  46. NTSTATUS
  47. DoSocketAfdIoctl (
  48. IN PFILE_OBJECT SocketFile,
  49. IN PIRP Irp
  50. );
  51. VOID
  52. FreeSocketCancel (
  53. PIFSL_CANCEL_CTX CancelCtx
  54. );
  55. VOID
  56. CompleteSocketIrp (
  57. PIRP Irp
  58. );
  59. BOOLEAN
  60. InsertProcessedRequest (
  61. PIFSL_SOCKET_CTX SocketCtx,
  62. PIRP Irp
  63. );
  64. VOID
  65. CompleteDrvRequest (
  66. IN PFILE_OBJECT SocketFile,
  67. IN PWS2IFSL_CMPL_PARAMS Params,
  68. IN PVOID OutputBuffer,
  69. IN ULONG OutputBufferLength,
  70. OUT PIO_STATUS_BLOCK IoStatus
  71. );
  72. NTSTATUS
  73. SocketPnPTargetQuery (
  74. IN PFILE_OBJECT SocketFile,
  75. IN PIRP Irp
  76. );