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.

93 lines
1.8 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. isorwr.h
  5. Abstract:
  6. Environment:
  7. Kernel mode
  8. Notes:
  9. Copyright (c) 2000 Microsoft Corporation.
  10. All Rights Reserved.
  11. --*/
  12. #ifndef _ISOUSB_RWR_H
  13. #define _ISOUSB_RWR_H
  14. typedef struct _SUB_CONTEXT {
  15. PIRP SubIrp;
  16. PURB SubUrb;
  17. PMDL SubMdl;
  18. } SUB_CONTEXT, *PSUB_CONTEXT;
  19. typedef struct _ISOUSB_RW_CONTEXT {
  20. PIRP RWIrp;
  21. ULONG Lock;
  22. ULONG NumXfer;
  23. ULONG NumIrps;
  24. ULONG IrpsPending;
  25. KSPIN_LOCK SpinLock;
  26. PDEVICE_EXTENSION DeviceExtension;
  27. PSUB_CONTEXT SubContext;
  28. } ISOUSB_RW_CONTEXT, * PISOUSB_RW_CONTEXT;
  29. NTSTATUS
  30. IsoUsb_SinglePairComplete(
  31. IN PDEVICE_OBJECT DeviceObject,
  32. IN PIRP Irp,
  33. IN PVOID Context
  34. );
  35. VOID
  36. IsoUsb_CancelReadWrite(
  37. IN PDEVICE_OBJECT DeviceObject,
  38. IN PIRP Irp
  39. );
  40. ULONG
  41. IsoUsb_GetCurrentFrame(
  42. IN PDEVICE_OBJECT DeviceObject,
  43. IN PIRP Irp
  44. );
  45. NTSTATUS
  46. IsoUsb_StopCompletion(
  47. IN PDEVICE_OBJECT DeviceObject,
  48. IN PIRP Irp,
  49. IN PVOID Context
  50. );
  51. NTSTATUS
  52. IsoUsb_DispatchReadWrite(
  53. IN PDEVICE_OBJECT DeviceObject,
  54. IN PIRP Irp
  55. );
  56. NTSTATUS
  57. PerformFullSpeedIsochTransfer(
  58. IN PDEVICE_OBJECT DeviceObject,
  59. IN PUSBD_PIPE_INFORMATION PipeInformation,
  60. IN PIRP Irp,
  61. IN ULONG TotalLength
  62. );
  63. NTSTATUS
  64. PerformHighSpeedIsochTransfer(
  65. IN PDEVICE_OBJECT DeviceObject,
  66. IN PUSBD_PIPE_INFORMATION PipeInformation,
  67. IN PIRP Irp,
  68. IN ULONG TotalLength
  69. );
  70. #endif