* include/ddk/miniport.h (EMULATOR_PORT_ACCESS_TYPE): Define before using. (VIDEO_ACCESS_RANGE): Guard against prior definition. * include/ddk/minitape.h (INQUIRYDATA): Guard against prior definition. * include/ddk/ndis.h (DECLARE_UNKNOWN_PROTOTYPE): Correct macro. * include/ddk/ndisguid.h: Remove unneccessary #pragma pack's. * include/ddk/scsi.h (INQUIRYDATA): Guard against prior definition. * include/ddk/scsiwmi.h (GUID): Define if not already done. (LPCGUID): Likewise. * include/ddk/tdi.h: Close "Listen flags" comment. * include/ddk/tdistat.h: Remove unneccessary #pragma pack's. * include/ddk/video.h: Add #pragma pack(push,4) to balance. (VIDEO_ACCESS_RANGE): Guard against prior definition. * include/ddk/videoagp.h:Add #pragma pack(push,4) to balance. * include/ddk/win2k.h: Likewise. * include/ddk/winddi.h: Likewise. * include/ddk/winddk.h: Likewise. * include/ddk/winnt4.h: Likewise. * include/ddk/ws2san.h: Likewise. * include/ddk/xfilter.h: Remove unbalanced #pragma pack(pop). * include/ddk/video.h: Don't process rest of file ifdef __WINDDI_H. * include/ddk/winddi.h: Don't process rest of file ifdef __VIDEO_H. * include/ddk/usb.h: Don't process rest of file ifdef __USBDI_H. * include/ddk/usbdi.h: Don't process rest of file ifdef __USB_H. * include/ddk/usbcamdi.h: Don't process rest of file if !defined(__USB_H) && !defined(__USBDI_H)
		
			
				
	
	
		
			405 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			405 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * usbcamdi.h
 | 
						|
 *
 | 
						|
 * USB Camera driver interface.
 | 
						|
 *
 | 
						|
 * This file is part of the w32api package.
 | 
						|
 *
 | 
						|
 * Contributors:
 | 
						|
 *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
 | 
						|
 *
 | 
						|
 * THIS SOFTWARE IS NOT COPYRIGHTED
 | 
						|
 *
 | 
						|
 * This source code is offered for use in the public domain. You may
 | 
						|
 * use, modify or distribute it freely.
 | 
						|
 *
 | 
						|
 * This code is distributed in the hope that it will be useful but
 | 
						|
 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
 | 
						|
 * DISCLAIMED. This includes but is not limited to warranties of
 | 
						|
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 | 
						|
 *
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef __USBCAMDI_H
 | 
						|
#define __USBCAMDI_H
 | 
						|
 | 
						|
#if __GNUC__ >=3
 | 
						|
#pragma GCC system_header
 | 
						|
#endif
 | 
						|
 | 
						|
#if !defined(__USB_H) && !defined(__USBDI_H)
 | 
						|
#error include usb.h or usbdi.h before usbcamdi.h
 | 
						|
#else
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
#pragma pack(push,4)
 | 
						|
 | 
						|
#include "ntddk.h"
 | 
						|
 | 
						|
#if defined(_BATTERYCLASS_)
 | 
						|
  #define USBCAMAPI DECLSPEC_EXPORT
 | 
						|
#else
 | 
						|
  #define USBCAMAPI DECLSPEC_IMPORT
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
/* FIXME: Unknown definition */
 | 
						|
typedef PVOID PHW_STREAM_REQUEST_BLOCK;
 | 
						|
 | 
						|
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 
 | 
						|
 | 
						|
#define USBCAMD_DATA_PIPE                 0x0001
 | 
						|
#define USBCAMD_MULTIPLEX_PIPE            0x0002
 | 
						|
#define USBCAMD_SYNC_PIPE                 0x0004
 | 
						|
#define USBCAMD_DONT_CARE_PIPE            0x0008
 | 
						|
 | 
						|
#define USBCAMD_VIDEO_STREAM              0x1
 | 
						|
#define USBCAMD_STILL_STREAM              0x2
 | 
						|
#define USBCAMD_VIDEO_STILL_STREAM        (USBCAMD_VIDEO_STREAM | USBCAMD_STILL_STREAM)
 | 
						|
 | 
						|
#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,
 | 
						|
	USBCAMD_CamControlFlag_NoStillRawProcessing = 2,
 | 
						|
	USBCAMD_CamControlFlag_AssociatedFormat = 4,
 | 
						|
	USBCAMD_CamControlFlag_EnableDeviceEvents = 8,
 | 
						|
} USBCAMD_CamControlFlags;
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PCAM_ALLOCATE_BW_ROUTINE)(
 | 
						|
  PDEVICE_OBJECT  BusDeviceObject,
 | 
						|
  PVOID  DeviceContext,
 | 
						|
  PULONG  RawFrameLength,
 | 
						|
  PVOID  Format);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PCAM_ALLOCATE_BW_ROUTINE_EX)(
 | 
						|
  PDEVICE_OBJECT  BusDeviceObject,
 | 
						|
  PVOID  DeviceContext,
 | 
						|
  PULONG  RawFrameLength,
 | 
						|
  PVOID  Format,
 | 
						|
  ULONG  StreamNumber);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PCAM_CONFIGURE_ROUTINE)(
 | 
						|
  PDEVICE_OBJECT  BusDeviceObject,
 | 
						|
  PVOID  DeviceContext,
 | 
						|
  PUSBD_INTERFACE_INFORMATION  Interface,
 | 
						|
  PUSB_CONFIGURATION_DESCRIPTOR  ConfigurationDescriptor,
 | 
						|
  PLONG  DataPipeIndex,
 | 
						|
  PLONG  SyncPipeIndex);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PCAM_CONFIGURE_ROUTINE_EX)(
 | 
						|
  PDEVICE_OBJECT  BusDeviceObject,
 | 
						|
  PVOID  DeviceContext,
 | 
						|
  PUSBD_INTERFACE_INFORMATION  Interface,
 | 
						|
  PUSB_CONFIGURATION_DESCRIPTOR  ConfigurationDescriptor,
 | 
						|
  ULONG  PipeConfigListSize,
 | 
						|
  PUSBCAMD_Pipe_Config_Descriptor  PipeConfig,
 | 
						|
  PUSB_DEVICE_DESCRIPTOR  DeviceDescriptor);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PCAM_FREE_BW_ROUTINE)(
 | 
						|
  PDEVICE_OBJECT  BusDeviceObject,
 | 
						|
  PVOID  DeviceContext);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PCAM_FREE_BW_ROUTINE_EX)(
 | 
						|
  PDEVICE_OBJECT  BusDeviceObject,
 | 
						|
  PVOID  DeviceContext,
 | 
						|
  ULONG  StreamNumber);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PCAM_INITIALIZE_ROUTINE)(
 | 
						|
  PDEVICE_OBJECT  BusDeviceObject,
 | 
						|
  PVOID  DeviceContext);
 | 
						|
 | 
						|
typedef VOID DDKAPI
 | 
						|
(*PCAM_NEW_FRAME_ROUTINE)(
 | 
						|
  PVOID  DeviceContext,
 | 
						|
  PVOID  FrameContext); 
 | 
						|
 | 
						|
typedef VOID DDKAPI
 | 
						|
(*PCAM_NEW_FRAME_ROUTINE_EX)(
 | 
						|
  PVOID  DeviceContext,
 | 
						|
  PVOID  FrameContext,
 | 
						|
  ULONG  StreamNumber,
 | 
						|
  PULONG  FrameLength);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PCAM_PROCESS_RAW_FRAME_ROUTINE)(
 | 
						|
  PDEVICE_OBJECT  BusDeviceObject,
 | 
						|
  PVOID  DeviceContext,
 | 
						|
  PVOID  FrameContext,
 | 
						|
  PVOID  FrameBuffer,
 | 
						|
  ULONG  FrameLength,
 | 
						|
  PVOID  RawFrameBuffer,
 | 
						|
  ULONG  RawFrameLength,
 | 
						|
  ULONG  NumberOfPackets,
 | 
						|
  PULONG  BytesReturned);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PCAM_PROCESS_RAW_FRAME_ROUTINE_EX)(
 | 
						|
  PDEVICE_OBJECT  BusDeviceObject,
 | 
						|
  PVOID  DeviceContext,
 | 
						|
  PVOID  FrameContext,
 | 
						|
  PVOID  FrameBuffer,
 | 
						|
  ULONG  FrameLength,
 | 
						|
  PVOID  RawFrameBuffer,
 | 
						|
  ULONG  RawFrameLength,
 | 
						|
  ULONG  NumberOfPackets,
 | 
						|
  PULONG  BytesReturned,
 | 
						|
  ULONG  ActualRawFrameLength,
 | 
						|
  ULONG  StreamNumber);
 | 
						|
 | 
						|
typedef ULONG DDKAPI
 | 
						|
(*PCAM_PROCESS_PACKET_ROUTINE)(
 | 
						|
  PDEVICE_OBJECT  BusDeviceObject,
 | 
						|
  PVOID  DeviceContext,
 | 
						|
  PVOID  CurrentFrameContext,
 | 
						|
  PUSBD_ISO_PACKET_DESCRIPTOR  SyncPacket,
 | 
						|
  PVOID  SyncBuffer,
 | 
						|
  PUSBD_ISO_PACKET_DESCRIPTOR  DataPacket,
 | 
						|
  PVOID  DataBuffer,
 | 
						|
  PBOOLEAN  FrameComplete,
 | 
						|
  PBOOLEAN  NextFrameIsStill); 
 | 
						|
 | 
						|
typedef ULONG DDKAPI
 | 
						|
(*PCAM_PROCESS_PACKET_ROUTINE_EX)(
 | 
						|
  PDEVICE_OBJECT  BusDeviceObject,
 | 
						|
  PVOID  DeviceContext,
 | 
						|
  PVOID  CurrentFrameContext,
 | 
						|
  PUSBD_ISO_PACKET_DESCRIPTOR  SyncPacket,
 | 
						|
  PVOID  SyncBuffer,
 | 
						|
  PUSBD_ISO_PACKET_DESCRIPTOR  DataPacket,
 | 
						|
  PVOID  DataBuffer,
 | 
						|
  PBOOLEAN  FrameComplete,
 | 
						|
  PULONG  PacketFlag,
 | 
						|
  PULONG  ValidDataOffset);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PCAM_STATE_ROUTINE)(
 | 
						|
  PDEVICE_OBJECT  BusDeviceObject,
 | 
						|
  PVOID  DeviceContext);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PCAM_START_CAPTURE_ROUTINE)(
 | 
						|
  PDEVICE_OBJECT  BusDeviceObject,
 | 
						|
  PVOID  DeviceContext);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PCAM_START_CAPTURE_ROUTINE_EX)(
 | 
						|
  PDEVICE_OBJECT  BusDeviceObject,
 | 
						|
  PVOID  DeviceContext,
 | 
						|
  ULONG  StreamNumber);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PCAM_STOP_CAPTURE_ROUTINE)(
 | 
						|
  PDEVICE_OBJECT  BusDeviceObject,
 | 
						|
  PVOID  DeviceContext);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PCAM_STOP_CAPTURE_ROUTINE_EX)(
 | 
						|
  PDEVICE_OBJECT  BusDeviceObject,
 | 
						|
  PVOID  DeviceContext,
 | 
						|
  ULONG  StreamNumber);
 | 
						|
 | 
						|
typedef struct _USBCAMD_DEVICE_DATA {
 | 
						|
	ULONG  Sig;
 | 
						|
	PCAM_INITIALIZE_ROUTINE  CamInitialize;
 | 
						|
	PCAM_INITIALIZE_ROUTINE  CamUnInitialize;
 | 
						|
	PCAM_PROCESS_PACKET_ROUTINE  CamProcessUSBPacket;
 | 
						|
	PCAM_NEW_FRAME_ROUTINE  CamNewVideoFrame;
 | 
						|
	PCAM_PROCESS_RAW_FRAME_ROUTINE  CamProcessRawVideoFrame;
 | 
						|
	PCAM_START_CAPTURE_ROUTINE  CamStartCapture;
 | 
						|
	PCAM_STOP_CAPTURE_ROUTINE  CamStopCapture;
 | 
						|
	PCAM_CONFIGURE_ROUTINE  CamConfigure;
 | 
						|
	PCAM_STATE_ROUTINE  CamSaveState;
 | 
						|
	PCAM_STATE_ROUTINE  CamRestoreState;
 | 
						|
	PCAM_ALLOCATE_BW_ROUTINE  CamAllocateBandwidth;
 | 
						|
	PCAM_FREE_BW_ROUTINE  CamFreeBandwidth;
 | 
						|
} USBCAMD_DEVICE_DATA, *PUSBCAMD_DEVICE_DATA;
 | 
						|
 | 
						|
typedef struct _USBCAMD_DEVICE_DATA2 {
 | 
						|
	ULONG  Sig;
 | 
						|
	PCAM_INITIALIZE_ROUTINE  CamInitialize;
 | 
						|
	PCAM_INITIALIZE_ROUTINE  CamUnInitialize;
 | 
						|
	PCAM_PROCESS_PACKET_ROUTINE_EX  CamProcessUSBPacketEx;
 | 
						|
	PCAM_NEW_FRAME_ROUTINE_EX  CamNewVideoFrameEx;
 | 
						|
	PCAM_PROCESS_RAW_FRAME_ROUTINE_EX  CamProcessRawVideoFrameEx;
 | 
						|
	PCAM_START_CAPTURE_ROUTINE_EX  CamStartCaptureEx;
 | 
						|
	PCAM_STOP_CAPTURE_ROUTINE_EX  CamStopCaptureEx;
 | 
						|
	PCAM_CONFIGURE_ROUTINE_EX  CamConfigureEx;
 | 
						|
	PCAM_STATE_ROUTINE  CamSaveState;
 | 
						|
	PCAM_STATE_ROUTINE  CamRestoreState;
 | 
						|
	PCAM_ALLOCATE_BW_ROUTINE_EX  CamAllocateBandwidthEx;
 | 
						|
	PCAM_FREE_BW_ROUTINE_EX  CamFreeBandwidthEx;
 | 
						|
} USBCAMD_DEVICE_DATA2, *PUSBCAMD_DEVICE_DATA2;
 | 
						|
 | 
						|
USBCAMAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
USBCAMD_InitializeNewInterface(
 | 
						|
  IN PVOID  DeviceContext,
 | 
						|
  IN PVOID  DeviceData,
 | 
						|
  IN ULONG  Version,
 | 
						|
  IN ULONG  CamControlFlag);
 | 
						|
 | 
						|
typedef VOID DDKAPI
 | 
						|
(*PCOMMAND_COMPLETE_FUNCTION)(
 | 
						|
  PVOID  DeviceContext,
 | 
						|
  PVOID  CommandContext,
 | 
						|
  NTSTATUS  NtStatus);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PFNUSBCAMD_BulkReadWrite)(
 | 
						|
  IN PVOID  DeviceContext,
 | 
						|
  IN USHORT  PipeIndex,
 | 
						|
  IN PVOID  Buffer,
 | 
						|
  IN ULONG  BufferLength,
 | 
						|
  IN PCOMMAND_COMPLETE_FUNCTION  CommandComplete,
 | 
						|
  IN PVOID  CommandContext);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PFNUSBCAMD_SetIsoPipeState)(
 | 
						|
  IN PVOID  DeviceContext,
 | 
						|
  IN ULONG  PipeStateFlags);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PFNUSBCAMD_CancelBulkReadWrite)(
 | 
						|
  IN PVOID  DeviceContext,
 | 
						|
  IN ULONG  PipeIndex);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PFNUSBCAMD_SetVideoFormat)( 
 | 
						|
  IN PVOID  DeviceContext,
 | 
						|
  IN PHW_STREAM_REQUEST_BLOCK  pSrb);
 | 
						|
 | 
						|
typedef NTSTATUS DDKAPI
 | 
						|
(*PFNUSBCAMD_WaitOnDeviceEvent)(
 | 
						|
  IN PVOID  DeviceContext,
 | 
						|
  IN ULONG  PipeIndex,
 | 
						|
  IN PVOID  Buffer,
 | 
						|
  IN ULONG  BufferLength,
 | 
						|
  IN PCOMMAND_COMPLETE_FUNCTION  EventComplete,
 | 
						|
  IN PVOID  EventContext,
 | 
						|
  IN BOOLEAN  LoopBack);
 | 
						|
 | 
						|
USBCAMAPI
 | 
						|
PVOID
 | 
						|
DDKAPI
 | 
						|
USBCAMD_AdapterReceivePacket(
 | 
						|
  IN PHW_STREAM_REQUEST_BLOCK  Srb,
 | 
						|
  IN PUSBCAMD_DEVICE_DATA  DeviceData,
 | 
						|
  IN PDEVICE_OBJECT  *DeviceObject,
 | 
						|
  IN BOOLEAN  NeedsCompletion);
 | 
						|
 | 
						|
USBCAMAPI
 | 
						|
NTSTATUS
 | 
						|
DDKAPI
 | 
						|
USBCAMD_ControlVendorCommand(
 | 
						|
  IN PVOID  DeviceContext,
 | 
						|
  IN UCHAR  Request,
 | 
						|
  IN USHORT  Value,
 | 
						|
  IN USHORT  Index,
 | 
						|
  IN PVOID  Buffer,
 | 
						|
  IN OUT PULONG  BufferLength,
 | 
						|
  IN BOOLEAN  GetData,
 | 
						|
  IN PCOMMAND_COMPLETE_FUNCTION  CommandComplete,
 | 
						|
  IN PVOID  CommandContext);
 | 
						|
 | 
						|
typedef VOID DDKAPI
 | 
						|
(*PADAPTER_RECEIVE_PACKET_ROUTINE)(
 | 
						|
  IN PHW_STREAM_REQUEST_BLOCK  Srb);
 | 
						|
 | 
						|
USBCAMAPI
 | 
						|
ULONG
 | 
						|
DDKAPI
 | 
						|
USBCAMD_DriverEntry(
 | 
						|
  PVOID  Context1,
 | 
						|
  PVOID  Context2,
 | 
						|
  ULONG  DeviceContextSize,
 | 
						|
  ULONG  FrameContextSize,
 | 
						|
  PADAPTER_RECEIVE_PACKET_ROUTINE  ReceivePacket);
 | 
						|
 | 
						|
USBCAMAPI
 | 
						|
NTSTATUS
 | 
						|
DDKAPI
 | 
						|
USBCAMD_GetRegistryKeyValue(
 | 
						|
  IN HANDLE  Handle,
 | 
						|
  IN PWCHAR  KeyNameString,
 | 
						|
  IN ULONG  KeyNameStringLength,
 | 
						|
  IN PVOID  Data,
 | 
						|
  IN ULONG  DataLength);
 | 
						|
 | 
						|
USBCAMAPI
 | 
						|
NTSTATUS
 | 
						|
DDKAPI
 | 
						|
USBCAMD_SelectAlternateInterface(
 | 
						|
  IN PVOID  DeviceContext,
 | 
						|
  IN OUT PUSBD_INTERFACE_INFORMATION  RequestInterface);
 | 
						|
 | 
						|
#define USBCAMD_VERSION_200               0x200
 | 
						|
 | 
						|
typedef struct _USBCAMD_INTERFACE {
 | 
						|
  INTERFACE  Interface;
 | 
						|
  PFNUSBCAMD_WaitOnDeviceEvent  USBCAMD_WaitOnDeviceEvent;
 | 
						|
  PFNUSBCAMD_BulkReadWrite  USBCAMD_BulkReadWrite;
 | 
						|
  PFNUSBCAMD_SetVideoFormat  USBCAMD_SetVideoFormat;
 | 
						|
  PFNUSBCAMD_SetIsoPipeState  USBCAMD_SetIsoPipeState;
 | 
						|
  PFNUSBCAMD_CancelBulkReadWrite  USBCAMD_CancelBulkReadWrite;
 | 
						|
} USBCAMD_INTERFACE, *PUSBCAMD_INTERFACE;
 | 
						|
 | 
						|
typedef VOID DDKAPI
 | 
						|
(*PSTREAM_RECEIVE_PACKET)(
 | 
						|
  IN PVOID  Srb,
 | 
						|
  IN PVOID  DeviceContext,
 | 
						|
  IN PBOOLEAN  Completed);
 | 
						|
 | 
						|
#if defined(DEBUG_LOG)
 | 
						|
 | 
						|
USBCAMAPI
 | 
						|
VOID
 | 
						|
DDKAPI
 | 
						|
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 */
 | 
						|
 | 
						|
#pragma pack(pop)
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif /* !defined(__USB_H) && !defined(__USBDI_H) */
 | 
						|
 | 
						|
 | 
						|
#endif /* __USBCAMDI_H */
 |