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.

72 lines
1.6 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. Spud.h
  5. Abstract:
  6. Contains structures and declarations for SPUD. SPUD stands for the
  7. Special Purpose Utility Driver. This driver enhances the performance
  8. of IIS.
  9. Author:
  10. John Ballard (jballard) 21-Oct-1996
  11. Revision History:
  12. --*/
  13. #ifndef _SPUD_
  14. #define _SPUD_
  15. #define SPUD_VERSION 0x00010000
  16. typedef enum {
  17. TransmitFileAndRecv,
  18. SendAndRecv,
  19. } REQ_TYPE;
  20. typedef struct _SPUD_REQ_CONTEXT {
  21. REQ_TYPE ReqType;
  22. IO_STATUS_BLOCK IoStatus1;
  23. IO_STATUS_BLOCK IoStatus2;
  24. PVOID KernelReqInfo;
  25. } SPUD_REQ_CONTEXT, *PSPUD_REQ_CONTEXT;
  26. typedef struct _SPUD_COUNTERS {
  27. ULONG CtrTransmitfileAndRecv;
  28. ULONG CtrTransRecvFastTrans;
  29. ULONG CtrTransRecvFastRecv;
  30. ULONG CtrTransRecvSlowTrans;
  31. ULONG CtrTransRecvSlowRecv;
  32. ULONG CtrSendAndRecv;
  33. ULONG CtrSendRecvFastSend;
  34. ULONG CtrSendRecvFastRecv;
  35. ULONG CtrSendRecvSlowSend;
  36. ULONG CtrSendRecvSlowRecv;
  37. } SPUD_COUNTERS, *PSPUD_COUNTERS;
  38. #if 0
  39. typedef struct _SPUD_REQUEST_ITEM {
  40. HANDLE Socket;
  41. DWORD RequestIoctl;
  42. union {
  43. AFD_TRANSMIT_FILE_INFO TransmitFileInfo;
  44. AFD_SEND_INFO SendInfo;
  45. AFD_RECV_INFO RecvInfo;
  46. } AfdRequest;
  47. IO_STATUS_BLOCK StatusBlock;
  48. } SPUD_REQUEST_ITEM, *PSPUD_REQUEST_ITEM;
  49. typedef struct _SPUD_BATCH_REQUEST {
  50. ULONG RequestCount;
  51. PSPUD_REQUEST_ITEM RequestList;
  52. } SPUD_BATCH_REQUEST, *PSPUD_BATCH_REQUEST;
  53. #endif
  54. #endif // ndef _SPUD_