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

/***************************************************************************
Copyright (c) 2001 Microsoft Corporation
Module Name:
USBPRIV.H
Abstract:
Private stuff for generic USB routines - must be called at PASSIVE_LEVEL
Environment:
Kernel Mode Only
Notes:
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
PURPOSE.
Copyright (c) 2001 Microsoft Corporation. All Rights Reserved.
Revision History:
03/28/2001 : created
Authors:
Tom Green
****************************************************************************/
#ifndef __USBPRIV_H__
#define __USBPRIV_H__
#include "intread.h"
// private macros
#define ONE_MILLISECOND_TIMEOUT (-10000)
#define SELECTIVE_SUSPEND_HANDLE 0x0001
#define INTERRUPT_READ_HANDLE 0x0002
#define USBLIB_TAG 'LBSU'
// private data structures
typedef struct _USB_WRAPPER_EXTENSION {
PDEVICE_OBJECT LowerDeviceObject;
PDEVICE_OBJECT DeviceObject;
PIO_REMOVE_LOCK RemoveLock;
INTERRUPT_READ_WRAPPER IntReadWrap;
ULONG RemLockSize;
} USB_WRAPPER_EXTENSION, *PUSB_WRAPPER_EXTENSION;
typedef struct _USB_WRAPPER_WORKITEM_CONTEXT {
PIO_WORKITEM WorkItem;
PUSB_WRAPPER_EXTENSION WrapExtension;
PUSB_WRAPPER_PINGPONG PingPong;
} USB_WRAPPER_WORKITEM_CONTEXT, *PUSB_WRAPPER_WORKITEM_CONTEXT;
typedef struct _SELECTIVE_SUSPEND_WRAPPER
{
ULONG WrapperType;
PDEVICE_OBJECT LowerDevObj;
} SELECTIVE_SUSPEND_WRAPPER, *PSELECTIVE_SUSPEND_WRAPPER;
// private prototypes
NTSTATUS
USBCallSyncCompletionRoutine(IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PVOID Context);
// local data
#if DBG
#endif
#endif // __USBPRIV_H__