Author: akhaldi Date: Fri Mar 5 13:25:38 2010 New Revision: 45867
URL: http://svn.reactos.org/svn/reactos?rev=45867&view=rev Log: More work on USB related definitions
Modified: branches/header-work/include/psdk/usb200.h branches/header-work/include/psdk/usbcamdi.h
Modified: branches/header-work/include/psdk/usb200.h URL: http://svn.reactos.org/svn/reactos/branches/header-work/include/psdk/usb200.... ============================================================================== --- branches/header-work/include/psdk/usb200.h [iso-8859-1] (original) +++ branches/header-work/include/psdk/usb200.h [iso-8859-1] Fri Mar 5 13:25:38 2010 @@ -23,6 +23,16 @@ UsbFullSpeed, UsbHighSpeed } USB_DEVICE_SPEED; + +#define USB_PORT_STATUS_CONNECT 0x0001 +#define USB_PORT_STATUS_ENABLE 0x0002 +#define USB_PORT_STATUS_SUSPEND 0x0004 +#define USB_PORT_STATUS_OVER_CURRENT 0x0008 +#define USB_PORT_STATUS_RESET 0x0010 +#define USB_PORT_STATUS_POWER 0x0100 +#define USB_PORT_STATUS_LOW_SPEED 0x0200 +#define USB_PORT_STATUS_HIGH_SPEED 0x0400 +
typedef union _BM_REQUEST_TYPE { struct _BM { @@ -56,6 +66,9 @@
C_ASSERT(sizeof(USB_DEFAULT_PIPE_SETUP_PACKET) == 8);
+#define USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE 0x06 +#define USB_OTHER_SPEED_CONFIGURATION_DESCRIPTOR_TYPE 0x07 + typedef struct _USB_DEVICE_QUALIFIER_DESCRIPTOR { UCHAR bLength; UCHAR bDescriptorType; @@ -77,6 +90,8 @@ USHORT us; } USB_HIGH_SPEED_MAXPACKET, *PUSB_HIGH_SPEED_MAXPACKET;
+#define USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE 0x0B + typedef struct _USB_INTERFACE_ASSOCIATION_DESCRIPTOR { UCHAR bLength; UCHAR bDescriptorType; @@ -88,16 +103,4 @@ UCHAR iFunction; } USB_INTERFACE_ASSOCIATION_DESCRIPTOR, *PUSB_INTERFACE_ASSOCIATION_DESCRIPTOR;
-#define USB_PORT_STATUS_CONNECT 0x0001 -#define USB_PORT_STATUS_ENABLE 0x0002 -#define USB_PORT_STATUS_SUSPEND 0x0004 -#define USB_PORT_STATUS_OVER_CURRENT 0x0008 -#define USB_PORT_STATUS_RESET 0x0010 -#define USB_PORT_STATUS_POWER 0x0100 -#define USB_PORT_STATUS_LOW_SPEED 0x0200 -#define USB_PORT_STATUS_HIGH_SPEED 0x0400 -#define USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE 0x06 -#define USB_OTHER_SPEED_CONFIGURATION_DESCRIPTOR_TYPE 0x07 -#define USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE 0x0B - #include <poppack.h>
Modified: branches/header-work/include/psdk/usbcamdi.h URL: http://svn.reactos.org/svn/reactos/branches/header-work/include/psdk/usbcamd... ============================================================================== --- branches/header-work/include/psdk/usbcamdi.h [iso-8859-1] (original) +++ branches/header-work/include/psdk/usbcamdi.h [iso-8859-1] Fri Mar 5 13:25:38 2010 @@ -21,10 +21,6 @@ */
#pragma once - -#if !defined(__USB_H) && !defined(__USBDI_H) -#error include usb.h or usbdi.h before usbcamdi.h -#else
#ifdef __cplusplus extern "C" { @@ -36,12 +32,10 @@ #define USBCAMAPI DECLSPEC_IMPORT #endif
-DEFINE_GUID(GUID_USBCAMD_INTERFACE, - 0x2bcb75c0, 0xb27f, 0x11d1, 0xba, 0x41, 0x0, 0xa0, 0xc9, 0xd, 0x2b, 0x5); - -#define USBCAMD_PROCESSPACKETEX_DropFrame 0x0002 -#define USBCAMD_PROCESSPACKETEX_NextFrameIsStill 0x0004 -#define USBCAMD_PROCESSPACKETEX_CurrentFrameIsStill 0x0008 +typedef struct _pipe_config_descriptor { + CHAR StreamAssociation; + UCHAR PipeConfigFlags; +} USBCAMD_Pipe_Config_Descriptor, *PUSBCAMD_Pipe_Config_Descriptor;
#define USBCAMD_DATA_PIPE 0x0001 #define USBCAMD_MULTIPLEX_PIPE 0x0002 @@ -52,13 +46,12 @@ #define USBCAMD_STILL_STREAM 0x2 #define USBCAMD_VIDEO_STILL_STREAM (USBCAMD_VIDEO_STREAM | USBCAMD_STILL_STREAM)
+#define USBCAMD_PROCESSPACKETEX_DropFrame 0x0002 +#define USBCAMD_PROCESSPACKETEX_NextFrameIsStill 0x0004 +#define USBCAMD_PROCESSPACKETEX_CurrentFrameIsStill 0x0008 + #define USBCAMD_STOP_STREAM 0x00000001 #define USBCAMD_START_STREAM 0x00000000 - -typedef struct _pipe_config_descriptor { - CHAR StreamAssociation; - UCHAR PipeConfigFlags; -} USBCAMD_Pipe_Config_Descriptor, *PUSBCAMD_Pipe_Config_Descriptor;
typedef enum { USBCAMD_CamControlFlag_NoVideoRawProcessing = 1, @@ -68,19 +61,21 @@ } USBCAMD_CamControlFlags;
typedef NTSTATUS -(NTAPI *PCAM_ALLOCATE_BW_ROUTINE)( - IN PDEVICE_OBJECT BusDeviceObject, - IN PVOID DeviceContext, - IN PULONG RawFrameLength, - IN PVOID Format); - -typedef NTSTATUS -(NTAPI *PCAM_ALLOCATE_BW_ROUTINE_EX)( - IN PDEVICE_OBJECT BusDeviceObject, - IN PVOID DeviceContext, - IN PULONG RawFrameLength, - IN PVOID Format, - IN ULONG StreamNumber); +(NTAPI *PCOMMAND_COMPLETE_FUNCTION)( + IN PVOID DeviceContext, + IN OUT PVOID CommandContext, + IN NTSTATUS NtStatus); + +typedef VOID +(NTAPI *PSTREAM_RECEIVE_PACKET)( + IN PVOID Srb, + IN PVOID DeviceContext, + IN PBOOLEAN Completed); + +typedef NTSTATUS +(NTAPI *PCAM_INITIALIZE_ROUTINE)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext);
typedef NTSTATUS (NTAPI *PCAM_CONFIGURE_ROUTINE)( @@ -102,6 +97,32 @@ IN PUSB_DEVICE_DESCRIPTOR DeviceDescriptor);
typedef NTSTATUS +(NTAPI *PCAM_START_CAPTURE_ROUTINE)( + IN PDEVICE_OBJECT BusDeviceObject, + IN PVOID DeviceContext); + +typedef NTSTATUS +(NTAPI *PCAM_START_CAPTURE_ROUTINE_EX)( + IN PDEVICE_OBJECT BusDeviceObject, + IN PVOID DeviceContext, + IN ULONG StreamNumber); + +typedef NTSTATUS +(NTAPI *PCAM_ALLOCATE_BW_ROUTINE)( + IN PDEVICE_OBJECT BusDeviceObject, + IN PVOID DeviceContext, + IN PULONG RawFrameLength, + IN PVOID Format); + +typedef NTSTATUS +(NTAPI *PCAM_ALLOCATE_BW_ROUTINE_EX)( + IN PDEVICE_OBJECT BusDeviceObject, + IN PVOID DeviceContext, + IN PULONG RawFrameLength, + IN PVOID Format, + IN ULONG StreamNumber); + +typedef NTSTATUS (NTAPI *PCAM_FREE_BW_ROUTINE)( IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext); @@ -112,10 +133,45 @@ IN PVOID DeviceContext, IN ULONG StreamNumber);
-typedef NTSTATUS -(NTAPI *PCAM_INITIALIZE_ROUTINE)( - PDEVICE_OBJECT BusDeviceObject, - PVOID DeviceContext); +typedef VOID +(NTAPI *PADAPTER_RECEIVE_PACKET_ROUTINE)( + IN OUT PHW_STREAM_REQUEST_BLOCK Srb); + +typedef NTSTATUS +(NTAPI *PCAM_STOP_CAPTURE_ROUTINE)( + IN PDEVICE_OBJECT BusDeviceObject, + IN PVOID DeviceContext); + +typedef NTSTATUS +(NTAPI *PCAM_STOP_CAPTURE_ROUTINE_EX)( + IN PDEVICE_OBJECT BusDeviceObject, + IN PVOID DeviceContext, + IN ULONG StreamNumber); + +typedef ULONG +(NTAPI *PCAM_PROCESS_PACKET_ROUTINE)( + IN PDEVICE_OBJECT BusDeviceObject, + IN PVOID DeviceContext, + IN PVOID CurrentFrameContext, + IN PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket OPTIONAL, + IN PVOID SyncBuffer OPTIONAL, + IN PUSBD_ISO_PACKET_DESCRIPTOR DataPacket OPTIONAL, + IN OUT PVOID DataBuffer, + OUT PBOOLEAN FrameComplete, + OUT PBOOLEAN NextFrameIsStill); + +typedef ULONG +(NTAPI *PCAM_PROCESS_PACKET_ROUTINE_EX)( + IN PDEVICE_OBJECT BusDeviceObject, + IN PVOID DeviceContext, + IN PVOID CurrentFrameContext, + IN PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket OPTIONAL, + IN PVOID SyncBuffer OPTIONAL, + IN PUSBD_ISO_PACKET_DESCRIPTOR DataPacket OPTIONAL, + IN OUT PVOID DataBuffer, + OUT PBOOLEAN FrameComplete, + OUT PULONG PacketFlag, + OUT PULONG ValidDataOffset);
typedef VOID (NTAPI *PCAM_NEW_FRAME_ROUTINE)( @@ -155,57 +211,30 @@ IN ULONG ActualRawFrameLength, IN ULONG StreamNumber);
-typedef ULONG -(NTAPI *PCAM_PROCESS_PACKET_ROUTINE)( - IN PDEVICE_OBJECT BusDeviceObject, - IN PVOID DeviceContext, - IN PVOID CurrentFrameContext, - IN PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket OPTIONAL, - IN PVOID SyncBuffer OPTIONAL, - IN PUSBD_ISO_PACKET_DESCRIPTOR DataPacket OPTIONAL, - IN OUT PVOID DataBuffer, - OUT PBOOLEAN FrameComplete, - OUT PBOOLEAN NextFrameIsStill); - -typedef ULONG -(NTAPI *PCAM_PROCESS_PACKET_ROUTINE_EX)( - IN PDEVICE_OBJECT BusDeviceObject, - IN PVOID DeviceContext, - IN PVOID CurrentFrameContext, - IN PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket OPTIONAL, - IN PVOID SyncBuffer OPTIONAL, - IN PUSBD_ISO_PACKET_DESCRIPTOR DataPacket OPTIONAL, - IN OUT PVOID DataBuffer, - OUT PBOOLEAN FrameComplete, - OUT PULONG PacketFlag, - OUT PULONG ValidDataOffset); - typedef NTSTATUS (NTAPI *PCAM_STATE_ROUTINE)( IN PDEVICE_OBJECT BusDeviceObject, IN PVOID DeviceContext);
-typedef NTSTATUS -(NTAPI *PCAM_START_CAPTURE_ROUTINE)( - IN PDEVICE_OBJECT BusDeviceObject, - IN PVOID DeviceContext); - -typedef NTSTATUS -(NTAPI *PCAM_START_CAPTURE_ROUTINE_EX)( - IN PDEVICE_OBJECT BusDeviceObject, - IN PVOID DeviceContext, - IN ULONG StreamNumber); - -typedef NTSTATUS -(NTAPI *PCAM_STOP_CAPTURE_ROUTINE)( - IN PDEVICE_OBJECT BusDeviceObject, - IN PVOID DeviceContext); - -typedef NTSTATUS -(NTAPI *PCAM_STOP_CAPTURE_ROUTINE_EX)( - IN PDEVICE_OBJECT BusDeviceObject, - IN PVOID DeviceContext, - IN ULONG StreamNumber); +#if defined(DEBUG_LOG) + +USBCAMAPI +VOID +NTAPI +USBCAMD_Debug_LogEntry( + IN CHAR *Name, + IN ULONG Info1, + IN ULONG Info2, + IN ULONG Info3); + +#define ILOGENTRY(sig, info1, info2, info3) \ + USBCAMD_Debug_LogEntry(sig, (ULONG)info1, (ULONG)info2, (ULONG)info3) + +#else + +#define ILOGENTRY(sig, info1, info2, info3) + +#endif /* DEBUG_LOG */
typedef struct _USBCAMD_DEVICE_DATA { ULONG Sig; @@ -239,39 +268,8 @@ PCAM_FREE_BW_ROUTINE_EX CamFreeBandwidthEx; } USBCAMD_DEVICE_DATA2, *PUSBCAMD_DEVICE_DATA2;
-USBCAMAPI -ULONG -NTAPI -USBCAMD_InitializeNewInterface( - IN PVOID DeviceContext, - IN PVOID DeviceData, - IN ULONG Version, - IN ULONG CamControlFlag); - -typedef NTSTATUS -(NTAPI *PCOMMAND_COMPLETE_FUNCTION)( - IN PVOID DeviceContext, - IN OUT PVOID CommandContext, - IN NTSTATUS NtStatus); - -typedef NTSTATUS -(NTAPI *PFNUSBCAMD_BulkReadWrite)( - IN PVOID DeviceContext, - IN USHORT PipeIndex, - IN PVOID Buffer, - IN ULONG BufferLength, - IN PCOMMAND_COMPLETE_FUNCTION CommandComplete, - IN PVOID CommandContext); - -typedef NTSTATUS -(NTAPI *PFNUSBCAMD_SetIsoPipeState)( - IN PVOID DeviceContext, - IN ULONG PipeStateFlags); - -typedef NTSTATUS -(NTAPI *PFNUSBCAMD_CancelBulkReadWrite)( - IN PVOID DeviceContext, - IN ULONG PipeIndex); +DEFINE_GUID(GUID_USBCAMD_INTERFACE, + 0x2bcb75c0, 0xb27f, 0x11d1, 0xba, 0x41, 0x0, 0xa0, 0xc9, 0xd, 0x2b, 0x5);
typedef NTSTATUS (NTAPI *PFNUSBCAMD_SetVideoFormat)( @@ -288,9 +286,24 @@ IN PVOID EventContext, IN BOOLEAN LoopBack);
-typedef VOID -(NTAPI *PADAPTER_RECEIVE_PACKET_ROUTINE)( - IN OUT PHW_STREAM_REQUEST_BLOCK Srb); +typedef NTSTATUS +(NTAPI *PFNUSBCAMD_CancelBulkReadWrite)( + IN PVOID DeviceContext, + IN ULONG PipeIndex); + +typedef NTSTATUS +(NTAPI *PFNUSBCAMD_SetIsoPipeState)( + IN PVOID DeviceContext, + IN ULONG PipeStateFlags); + +typedef NTSTATUS +(NTAPI *PFNUSBCAMD_BulkReadWrite)( + IN PVOID DeviceContext, + IN USHORT PipeIndex, + IN PVOID Buffer, + IN ULONG BufferLength, + IN PCOMMAND_COMPLETE_FUNCTION CommandComplete, + IN PVOID CommandContext);
#define USBCAMD_VERSION_200 0x200
@@ -303,13 +316,17 @@ PFNUSBCAMD_CancelBulkReadWrite USBCAMD_CancelBulkReadWrite; } USBCAMD_INTERFACE, *PUSBCAMD_INTERFACE;
-typedef VOID -(NTAPI *PSTREAM_RECEIVE_PACKET)( - IN PVOID Srb, - IN PVOID DeviceContext, - IN PBOOLEAN Completed); - /* FIXME : Do we need USBCAMAPI here ? */ + +USBCAMAPI +ULONG +NTAPI +USBCAMD_DriverEntry( + IN PVOID Context1, + IN PVOID Context2, + IN ULONG DeviceContextSize, + IN ULONG FrameContextSize, + IN PADAPTER_RECEIVE_PACKET_ROUTINE ReceivePacket);
USBCAMAPI PVOID @@ -335,14 +352,11 @@ IN PVOID CommandContext OPTIONAL);
USBCAMAPI -ULONG -NTAPI -USBCAMD_DriverEntry( - IN PVOID Context1, - IN PVOID Context2, - IN ULONG DeviceContextSize, - IN ULONG FrameContextSize, - IN PADAPTER_RECEIVE_PACKET_ROUTINE ReceivePacket); +NTSTATUS +NTAPI +USBCAMD_SelectAlternateInterface( + IN PVOID DeviceContext, + IN OUT PUSBD_INTERFACE_INFORMATION RequestInterface);
USBCAMAPI NTSTATUS @@ -355,31 +369,13 @@ IN ULONG DataLength);
USBCAMAPI -NTSTATUS -NTAPI -USBCAMD_SelectAlternateInterface( - IN PVOID DeviceContext, - IN OUT PUSBD_INTERFACE_INFORMATION RequestInterface); - -#if defined(DEBUG_LOG) - -USBCAMAPI -VOID -NTAPI -USBCAMD_Debug_LogEntry( - IN CHAR *Name, - IN ULONG Info1, - IN ULONG Info2, - IN ULONG Info3); - -#define ILOGENTRY(sig, info1, info2, info3) \ - USBCAMD_Debug_LogEntry(sig, (ULONG)info1, (ULONG)info2, (ULONG)info3) - -#else - -#define ILOGENTRY(sig, info1, info2, info3) - -#endif /* DEBUG_LOG */ +ULONG +NTAPI +USBCAMD_InitializeNewInterface( + IN PVOID DeviceContext, + IN PVOID DeviceData, + IN ULONG Version, + IN ULONG CamControlFlag);
#ifdef __cplusplus }