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.

107 lines
2.2 KiB

  1. /***************************************************************************
  2. Copyright (c) 2001 Microsoft Corporation
  3. Module Name:
  4. USBPRIV.H
  5. Abstract:
  6. Private stuff for generic USB routines - must be called at PASSIVE_LEVEL
  7. Environment:
  8. Kernel Mode Only
  9. Notes:
  10. THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  11. KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  12. IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  13. PURPOSE.
  14. Copyright (c) 2001 Microsoft Corporation. All Rights Reserved.
  15. Revision History:
  16. 03/28/2001 : created
  17. Authors:
  18. Tom Green
  19. ****************************************************************************/
  20. #ifndef __USBPRIV_H__
  21. #define __USBPRIV_H__
  22. #include "intread.h"
  23. // private macros
  24. #define ONE_MILLISECOND_TIMEOUT (-10000)
  25. #define SELECTIVE_SUSPEND_HANDLE 0x0001
  26. #define INTERRUPT_READ_HANDLE 0x0002
  27. #define USBLIB_TAG 'LBSU'
  28. // private data structures
  29. typedef struct _USB_WRAPPER_EXTENSION {
  30. PDEVICE_OBJECT LowerDeviceObject;
  31. PDEVICE_OBJECT DeviceObject;
  32. PIO_REMOVE_LOCK RemoveLock;
  33. INTERRUPT_READ_WRAPPER IntReadWrap;
  34. ULONG RemLockSize;
  35. } USB_WRAPPER_EXTENSION, *PUSB_WRAPPER_EXTENSION;
  36. typedef struct _USB_WRAPPER_WORKITEM_CONTEXT {
  37. PIO_WORKITEM WorkItem;
  38. PUSB_WRAPPER_EXTENSION WrapExtension;
  39. PUSB_WRAPPER_PINGPONG PingPong;
  40. } USB_WRAPPER_WORKITEM_CONTEXT, *PUSB_WRAPPER_WORKITEM_CONTEXT;
  41. typedef struct _SELECTIVE_SUSPEND_WRAPPER
  42. {
  43. ULONG WrapperType;
  44. PDEVICE_OBJECT LowerDevObj;
  45. } SELECTIVE_SUSPEND_WRAPPER, *PSELECTIVE_SUSPEND_WRAPPER;
  46. // private prototypes
  47. NTSTATUS
  48. USBCallSyncCompletionRoutine(IN PDEVICE_OBJECT DeviceObject,
  49. IN PIRP Irp,
  50. IN PVOID Context);
  51. // local data
  52. #if DBG
  53. #endif
  54. #endif // __USBPRIV_H__