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.

112 lines
2.4 KiB

  1. /**********************************************************************/
  2. /** Microsoft Windows NT **/
  3. /** Copyright(c) Microsoft Corp., 1994-1997 **/
  4. /**********************************************************************/
  5. /*
  6. uspud.h
  7. This module contains usermode interface to the spud.sys driver.
  8. */
  9. #ifndef _USPUD_H_
  10. #define _USPUD_H_
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14. extern
  15. NTSTATUS
  16. NTAPI
  17. SPUDTransmitFileAndRecv(
  18. HANDLE hSocket, // Socket handle to use for operation
  19. PAFD_TRANSMIT_FILE_INFO transmitInfo, // transmit file req info
  20. PAFD_RECV_INFO recvInfo, // recv req info
  21. PSPUD_REQ_CONTEXT reqContext // context info for req
  22. );
  23. extern
  24. NTSTATUS
  25. NTAPI
  26. SPUDSendAndRecv(
  27. HANDLE hSocket, // Socket handle to use for operation
  28. PAFD_SEND_INFO sendInfo, // send req info
  29. PAFD_RECV_INFO recvInfo, // recv req info
  30. PSPUD_REQ_CONTEXT reqContext // context info for req
  31. );
  32. extern
  33. NTSTATUS
  34. NTAPI
  35. SPUDCancel(
  36. PSPUD_REQ_CONTEXT reqContext // context info for req
  37. );
  38. extern
  39. NTSTATUS
  40. NTAPI
  41. SPUDCheckStatus(
  42. PSPUD_REQ_CONTEXT reqContext // context info for req
  43. );
  44. extern
  45. NTSTATUS
  46. NTAPI
  47. SPUDGetCounts(
  48. PSPUD_COUNTERS SpudCounts, // Counters
  49. DWORD ClearCounts
  50. );
  51. extern
  52. NTSTATUS
  53. NTAPI
  54. SPUDInitialize(
  55. DWORD Version, // Version information from Spud.h
  56. HANDLE hIoPort, // Handle of IO completion port for ATQ
  57. HANDLE hOplockPort // Handle of oplock completion port for ATQ
  58. );
  59. extern
  60. NTSTATUS
  61. NTAPI
  62. SPUDTerminate(
  63. VOID
  64. );
  65. extern
  66. NTSTATUS
  67. NTAPI
  68. SPUDCreateFile(
  69. OUT PHANDLE FileHandle,
  70. IN POBJECT_ATTRIBUTES ObjectAttributes,
  71. OUT PIO_STATUS_BLOCK IoStatusBlock,
  72. IN ULONG FileAttributes,
  73. IN ULONG ShareAccess,
  74. IN ULONG CreateOptions,
  75. IN SECURITY_INFORMATION SecurityInformation,
  76. OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
  77. IN ULONG Length,
  78. OUT PULONG LengthNeeded,
  79. IN PVOID pOplock
  80. );
  81. extern
  82. NTSTATUS
  83. NTAPI
  84. SPUDOplockAcknowledge(
  85. IN HANDLE FileHandle,
  86. IN PVOID pOplock
  87. );
  88. #ifdef __cplusplus
  89. }
  90. #endif
  91. #endif //!_USPUD_H_