亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? seeddecusb.h

?? HOST和DSP利用USB通信
?? H
字號:
/**********************************************************************/
/* this file is the function for test the seeddec55XX driver and devic*/
/*	author lifeng Duan												  */
/*	Lt.d	SEED													  */
/**********************************************************************/

#ifndef _SEEDDECUSB_H_
#define _SEEDDECUSB_H_

typedef PVOID USBD_PIPE_HANDLE;
typedef PVOID USBD_CONFIGURATION_HANDLE;
typedef PVOID USBD_INTERFACE_HANDLE;

/*定義通道的類型*/
typedef enum _USBD_PIPE_TYPE {
    /*控制類型*/
	UsbdPipeTypeControl,
	/*等時傳送類型*/
    UsbdPipeTypeIsochronous,
	/*批量傳送類型*/
    UsbdPipeTypeBulk,
	/*中斷傳送類型*/
    UsbdPipeTypeInterrupt
} USBD_PIPE_TYPE;

/*定義管道的描述表節構*/
typedef struct _USBD_PIPE_INFORMATION {
	// Maximum packet size for this pipe
	//節點數據包的最大長度
    USHORT MaximumPacketSize;
	// 8 bit USB endpoint address (includes direction)
	//USB節點的地址(包括方向)
	UCHAR EndpointAddress;
	// Polling interval in ms if interrupt pipe,taken from endpoint descriptor 
    //中斷檢測間隔; 
    UCHAR Interval; 
	// PipeType identifies type of transfer valid for this pipe
	//有效節點的類型
	USBD_PIPE_TYPE PipeType;
	  
               
    USBD_PIPE_HANDLE PipeHandle;
    // INPUT
    // These fields are filled in by the client driver
    // Maximum size for a single request in bytes.
    ULONG MaximumTransferSize; 
    //通路標識                           
    ULONG PipeFlags;                                   
} USBD_PIPE_INFORMATION, *PUSBD_PIPE_INFORMATION;

/*USB接口的定義節構*/
typedef struct _USBD_INTERFACE_INFORMATION {
    //節構的長度,包括所有節點的信息長度
	USHORT Length; 
    // INPUT
    // Interface number and Alternate setting this
    // structure is associated with
    UCHAR InterfaceNumber;
    UCHAR AlternateSetting;
    // OUTPUT讀接收描述表得到
    // These fields are filled in by USBD
    UCHAR Class;
    UCHAR SubClass;
    UCHAR Protocol;
    UCHAR Reserved;
    
    USBD_INTERFACE_HANDLE InterfaceHandle;
    ULONG NumberOfPipes; 
	//Endpoint status
    USBD_PIPE_INFORMATION Pipes[4];
} USBD_INTERFACE_INFORMATION, *PUSBD_INTERFACE_INFORMATION;
/*設備描述符節構*/
typedef struct __usb_Dev_Descriptor__ {
    UCHAR  bLength;
    UCHAR  bDescriptorType;
    USHORT bcdUSB;
    UCHAR  bDeviceClass;
    UCHAR  bDeviceSubClass;
    UCHAR  bDeviceProtocol;
    UCHAR  bMaxPacketSize0;
    USHORT idVendor;
    USHORT idProduct;
    USHORT bcdDevice;
    UCHAR  iManufacturer;
    UCHAR  iProduct;
    UCHAR  iSerialNumber;
    UCHAR  bNumConfigurations;
} Usb_Device_Descriptor, *pUsb_Device_Descriptor;
/*配置描述表*/
typedef struct __usb_Config_Descriptor__ {
    UCHAR bLength;
    UCHAR bDescriptorType;
    USHORT wTotalLength;
    UCHAR bNumInterfaces;
    UCHAR bConfigurationValue;
    UCHAR iConfiguration;
    UCHAR bmAttributes;
    UCHAR MaxPower;
} Usb_Configuration_Descriptor, *pUsb_Configuration_Descriptor;
/*字符串描述表*/
typedef struct __usb_String_Descriptor__ { //TPM added the usb_String_Descriptor
    UCHAR bLength;
    UCHAR bDescriptorType;
    char bString[100];
} Usb_String_Descriptor, *pUsb_String_Descriptor;

typedef struct _USB_ENDPOINT_DESCRIPTOR 
{
    UCHAR	bLength;
    UCHAR	bDescriptorType;
    UCHAR	bEndpointAddress;
    UCHAR	bmAttributes;
    USHORT	wMaxPacketSize;
    UCHAR	bInterval;
} USB_ENDPOINT_DESCRIPTOR, *PUSB_ENDPOINT_DESCRIPTOR;

typedef struct _USB_INTERFACE_DESCRIPTOR 
{
    UCHAR	bLength;
    UCHAR	bDescriptorType;
    UCHAR	bInterfaceNumber;
    UCHAR	bAlternateSetting;
    UCHAR	bNumEndpoints;
    UCHAR	bInterfaceClass;
    UCHAR	bInterfaceSubClass;
    UCHAR	bInterfaceProtocol;
    UCHAR	iInterface;
} USB_INTERFACE_DESCRIPTOR, *PUSB_INTERFACE_DESCRIPTOR;


#define GET_STRING_DESCRIPTOR_LENGTH(pv) \
    ((pUsb_String_Descriptor)pv)->bLength

#define GET_CONFIG_DESCRIPTOR_LENGTH(pv) \
    ((pUsb_Configuration_Descriptor)pv)->wTotalLength

BOOL DoIoctl(
  HANDLE hDevice,              // handle to device of interest
  DWORD dwIoControlCode,       // control code of operation to perform
  LPVOID lpInBuffer,           // pointer to buffer to supply input data
  DWORD nInBufferSize,         // size, in bytes, of input buffer
  LPVOID lpOutBuffer,          // pointer to buffer to receive output data
  DWORD nOutBufferSize,        // size, in bytes, of output buffer
  LPDWORD lpBytesReturned,     // pointer to variable to receive byte count
  LPOVERLAPPED lpOverlapped,   // pointer to structure for asynchronous operation
  CString& hOutputBox
);

/**********************************************************************/
/* OpenDriver()		                                                  */
/*                                                                    */
/* Purpose:													          */ 
/*      Opens the device driver using symbolic name provided          */
/*															          */
/* Input:  none                                                       */
/*															          */
/* Return Value:                                                      */
/*      Boolean that indicates if the driver was                      */
/*      successfully opened or not.									  */
/**********************************************************************/
BOOLEAN	OpenDriver();
/**********************************************************************/
/* CloseDriver()													  */
/* Purpose:															  */ 
/*      Close the device driver using symbolic						  */
/* Input:															  */
/*			none													  */
/* Return Value:													  */
/*			none													  */
/**********************************************************************/
void CloseDriver();
/**********************************************************************/
/*	get the device descriptor										  */
/*	purpose:														  */
/*			get the device descriptor for the CY7c68001			      */
/*	Input:															  */
/*			none													  */
/* Return Value:												      */
/*      Boolean that indicates if the driver was					  */
/*      successfully opened or not.									  */
/**********************************************************************/
PVOID Sx2GetDeviceDesc();
/**********************************************************************/
/*	get the string descriptor										  */
/*	purpose:														  */
/*			get the string descriptor for the CY7c68001			      */
/*	Input:															  */
/*			none													  */
/* Return Value:												      */
/*      the point for string descriptor								  */
/**********************************************************************/
PVOID Sx2GetStringDesc(int stringindex);
/**********************************************************************/
/*	get the configuration descriptor    							  */
/*	purpose:														  */
/*			get the configuration descriptor for the CY7c68001	      */
/*	Input:															  */
/*			none													  */
/* Return Value:												      */
/*      the point for string descriptor								  */
/**********************************************************************/
PVOID Sx2GetconfigDesc();
/**********************************************************************/
/*	get the USB's interface 		    							  */
/*	purpose:														  */
/*				get the interface desc of the CY7c68001  		      */
/*	Input:															  */
/*			the interface's struct  								  */
/*																	  */
/* Return Value:												      */
/*      the point for string descriptor								  */
/**********************************************************************/
BOOLEAN Sx2GetPipeInfo(PVOID pInterface);
/**********************************************************************/
/*	send the vendor request			    							  */
/*	purpose:														  */
/*				send the vendor request to the CY7c68001		      */
/*	Input:															  */
/*			myRest struct											  */
/* Return Value:												      */
/*      the point for string descriptor								  */
/**********************************************************************/
BOOLEAN Sx2SendVendorReq(PVOID myRequest,
						 char *buffer,
						 int bufferSize,
						 int *recnBytes);
/**********************************************************************/
/*	bulk date translate  			    							  */
/*	purpose:														  */
/*				stranslate the data between PC and the CY7c68001      */
/*	Input:															  */
/*			the point of myRest struct								  */
/*																	  */
/* Return Value:												      */
/*      the point for string descriptor								  */
/**********************************************************************/
BOOLEAN	Sx2BulkdataTrans(PVOID bulkControl,
						 char *buffer,
						 int bufferSize,
						 int *recnBytes);

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品亚洲一区| 毛片基地黄久久久久久天堂| 91精品午夜视频| 91极品美女在线| 99久久99精品久久久久久 | 欧美一区二区三区不卡| 欧美日韩精品高清| 欧美日韩精品免费| 中文字幕永久在线不卡| 亚洲图片欧美激情| 一区二区三区国产精品| 亚洲免费观看高清完整版在线观看熊 | av电影一区二区| 91免费看片在线观看| 91美女视频网站| 国产婷婷色一区二区三区四区| 国产亚洲一区二区三区在线观看| 视频一区二区中文字幕| 北岛玲一区二区三区四区| 精品久久久久久久一区二区蜜臀| 精品国产91九色蝌蚪| 亚洲国产精品二十页| 亚洲欧美经典视频| 成人黄色软件下载| 欧美狂野另类xxxxoooo| 欧美成人精品高清在线播放| 亚洲一区二区四区蜜桃| 一区二区三区在线免费观看| 国产精品性做久久久久久| 99热精品一区二区| 国产三级精品三级在线专区| 亚洲午夜免费视频| 国产精品18久久久久久久久| 日韩欧美的一区二区| 国产精品国产a级| 蜜臀99久久精品久久久久久软件| 日本久久精品电影| 亚洲天堂网中文字| 色综合久久久久久久久| 欧美刺激脚交jootjob| 青青草精品视频| 99riav一区二区三区| 亚洲欧洲精品一区二区精品久久久| 成人在线综合网| 欧美精品v日韩精品v韩国精品v| 亚洲愉拍自拍另类高清精品| 91成人在线观看喷潮| 日韩福利视频导航| 99在线热播精品免费| 亚洲精品日产精品乱码不卡| 欧美久久久久中文字幕| 欧美精品一区二区高清在线观看| 精品国产乱码久久久久久免费 | 亚洲精品国产a| 在线观看视频一区二区欧美日韩| 日韩一级免费观看| 亚洲女厕所小便bbb| 91在线视频观看| 亚洲综合在线第一页| 欧美高清激情brazzers| 日本欧美在线看| 久久午夜色播影院免费高清| 成人夜色视频网站在线观看| 国产精品动漫网站| 欧美顶级少妇做爰| 国产成人小视频| 日韩精品专区在线影院观看| 国产精一区二区三区| 国产精品久久久久久福利一牛影视 | 婷婷成人综合网| 欧美综合亚洲图片综合区| 天堂影院一区二区| 国产亚洲一区二区三区在线观看| 91免费看视频| 紧缚捆绑精品一区二区| 337p日本欧洲亚洲大胆色噜噜| 粉嫩av一区二区三区在线播放| 精品播放一区二区| 91丨国产丨九色丨pron| 免费观看一级欧美片| 国产精品美女久久久久久久网站| 高清视频一区二区| 天堂蜜桃一区二区三区| 亚洲欧洲av另类| 91.麻豆视频| 成人av免费在线播放| 天堂成人国产精品一区| 亚洲视频在线一区| 精品国产伦一区二区三区免费| 一本一本大道香蕉久在线精品| 美女精品一区二区| 综合激情成人伊人| 精品国产一区二区亚洲人成毛片| 在线观看一区日韩| 不卡的av在线播放| 国产一区不卡视频| 国产精品国产自产拍在线| 91精品国产色综合久久| 色综合天天综合给合国产| 午夜精品福利久久久| 国产精品久久福利| 久久久久久久久久久久久女国产乱| 国产精品456露脸| 奇米精品一区二区三区在线观看 | 欧美videos大乳护士334| 欧美网站大全在线观看| 日产欧产美韩系列久久99| 亚洲综合男人的天堂| 国产精品另类一区| 国产欧美日韩卡一| 久久人人爽人人爽| 精品成人a区在线观看| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 精品久久免费看| 日韩欧美中文一区| 日韩亚洲电影在线| 日韩一级完整毛片| 精品黑人一区二区三区久久| 欧美一区二区三区思思人| 777欧美精品| 日韩免费福利电影在线观看| 日韩欧美国产成人一区二区| 日韩一区二区三区视频| 日韩视频一区二区三区| 欧美videofree性高清杂交| 精品福利在线导航| 久久久久久久久久久久久女国产乱| 2022国产精品视频| 中文字幕乱码久久午夜不卡| 国产精品剧情在线亚洲| 亚洲卡通动漫在线| 亚洲午夜视频在线观看| 日韩高清一区在线| 国产一区二区三区蝌蚪| 97se亚洲国产综合在线| 91久久香蕉国产日韩欧美9色| 欧美婷婷六月丁香综合色| 日韩三级免费观看| 久久精品视频免费观看| 中文字幕一区二区三区乱码在线 | av成人免费在线| 欧美三电影在线| 成人免费看视频| 99久久精品免费| 欧美日韩二区三区| 精品国产一区二区三区忘忧草| 亚洲国产岛国毛片在线| 亚洲精品ww久久久久久p站| 日韩国产精品大片| 成人a免费在线看| 色综合天天狠狠| 制服丝袜亚洲色图| 国产欧美日韩视频在线观看| 亚洲制服欧美中文字幕中文字幕| 青青草91视频| 成人毛片老司机大片| 欧美日韩一卡二卡| 国产欧美在线观看一区| 亚洲一本大道在线| 国产精品影音先锋| 欧美日韩久久久一区| 精品999在线播放| 亚洲精品久久7777| 韩国av一区二区三区四区| 久久精品国产免费看久久精品| 日韩国产精品久久| 成人av电影免费在线播放| 欧美一区二区三区影视| 中文字幕av不卡| 蜜臀av一区二区在线免费观看| 日韩理论片网站| av电影在线观看一区| 亚洲欧美日韩综合aⅴ视频| 色呦呦一区二区三区| 日韩欧美国产电影| 一区二区三区四区蜜桃 | 国产成人av一区二区| 欧美日韩国产综合一区二区三区| 欧美videossexotv100| 一级女性全黄久久生活片免费| 国产精品18久久久久久久久久久久 | 成人高清免费观看| 精品少妇一区二区三区在线播放| 一区二区在线观看免费视频播放| 经典三级视频一区| 欧美一区二区三区视频免费播放| 一区二区三区四区国产精品| 国产黄色精品网站| 日韩欧美一级二级三级| 亚洲成a人片在线不卡一二三区| 欧美成人欧美edvon| 亚洲国产你懂的| 91网站最新网址| 国产精品乱码人人做人人爱| 国产精品综合网| 精品国产乱码久久久久久牛牛| 日韩在线a电影| 在线电影院国产精品| 午夜一区二区三区视频| 色婷婷av一区二区三区之一色屋|