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

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

?? hid_desc.c

?? 這是linux的接口的大量原碼,大家可以學習中進步,linux是開發(fā)嵌入式不能不學的系統(tǒng)工程
?? C
字號:
/*********************************************************************
 *
 * Copyright:
 *	MOTOROLA, INC. All Rights Reserved.  
 *  You are hereby granted a copyright license to use, modify, and
 *  distribute the SOFTWARE so long as this entire notice is
 *  retained without alteration in any modified and/or redistributed
 *  versions, and that such modified versions are clearly identified
 *  as such. No licenses are granted by implication, estoppel or
 *  otherwise under any patents or trademarks of Motorola, Inc. This 
 *  software is provided on an "AS IS" basis and without warranty.
 *
 *  To the maximum extent permitted by applicable law, MOTOROLA 
 *  DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED, INCLUDING 
 *  IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
 *  PURPOSE AND ANY WARRANTY AGAINST INFRINGEMENT WITH REGARD TO THE 
 *  SOFTWARE (INCLUDING ANY MODIFIED VERSIONS THEREOF) AND ANY 
 *  ACCOMPANYING WRITTEN MATERIALS.
 * 
 *  To the maximum extent permitted by applicable law, IN NO EVENT
 *  SHALL MOTOROLA BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING 
 *  WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS 
 *  INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY
 *  LOSS) ARISING OF THE USE OR INABILITY TO USE THE SOFTWARE.   
 * 
 *  Motorola assumes no responsibility for the maintenance and support
 *  of this software
 ********************************************************************/

/*
 * File:	hid_desc.c
 * Purpose:	Descriptors for HID Mouse Test
 */

#include "mcf5272.h"
#include "init.h"
#include "hid.h"

/********************************************************************/

/* Structure for Mouse HID Interface Type */
typedef struct {
	USB_DEVICE_DESC device_desc;
	USB_CONFIG_DESC config_desc;
	USB_INTERFACE_DESC interface_desc;
	USB_HID_DESC hid_desc;
	USB_ENDPOINT_DESC endpoint_desc;
} DESCRIPTOR_STRUCT;

/********************************************************************/

/* Initialize Report Descriptor */

uint8 report[] = 
{
	USAGE_PAGE1(GENERIC_DESKTOP) >> 8,
	USAGE_PAGE1(GENERIC_DESKTOP) & 0xFF,
	USAGE1(MOUSE) >> 8,
	USAGE1(MOUSE) & 0xFF,
	COLLECTION1(APPLICATION) >> 8,
	COLLECTION1(APPLICATION) & 0xFF,
		USAGE1(POINTER) >> 8,
		USAGE1(POINTER) & 0xFF,
		COLLECTION1(PHYSICAL) >> 8,
		COLLECTION1(PHYSICAL) & 0xFF,
			USAGE_PAGE1(BUTTON) >> 8,
			USAGE_PAGE1(BUTTON) & 0xFF,
			USAGE_MINIMUM1(1) >> 8,
			USAGE_MINIMUM1(1) & 0xFF,
 			USAGE_MAXIMUM1(3) >> 8,
 			USAGE_MAXIMUM1(3) & 0xFF,
 			LOGICAL_MINIMUM1(0) >> 8,
 			LOGICAL_MINIMUM1(0) & 0xFF,
 			LOGICAL_MAXIMUM1(1) >> 8,
 			LOGICAL_MAXIMUM1(1) & 0xFF,
 			REPORT_COUNT1(3) >> 8,
 			REPORT_COUNT1(3) & 0xFF,
 			REPORT_SIZE1(1) >> 8,
 			REPORT_SIZE1(1) & 0xFF,
 			INPUT3(DATA, VARIABLE, ABSOLUTE) >> 8,
 			INPUT3(DATA, VARIABLE, ABSOLUTE) & 0xFF,
 			REPORT_COUNT1(1) >> 8,
 			REPORT_COUNT1(1) & 0xFF,
 			REPORT_SIZE1(5) >> 8,
 			REPORT_SIZE1(5) & 0xFF,
 			INPUT1(CONSTANT) >> 8,
 			INPUT1(CONSTANT) & 0xFF,
 			USAGE_PAGE1(GENERIC_DESKTOP) >> 8,
 			USAGE_PAGE1(GENERIC_DESKTOP) & 0xFF,
 			USAGE1(X) >> 8,
 			USAGE1(X) & 0xFF,
 			USAGE1(Y) >> 8,
 			USAGE1(Y) & 0xFF,
 			LOGICAL_MINIMUM1(-127) >> 8,
 			LOGICAL_MINIMUM1(-127) & 0xFF,
 			LOGICAL_MAXIMUM1(127) >> 8,
 			LOGICAL_MAXIMUM1(127) & 0xFF,
 			REPORT_SIZE1(8) >> 8,
 			REPORT_SIZE1(8) & 0xFF,
 			REPORT_COUNT1(2) >> 8,
 			REPORT_COUNT1(2) & 0xFF,
 			INPUT3(DATA, VARIABLE, RELATIVE) >> 8,
 			INPUT3(DATA, VARIABLE, RELATIVE) & 0xFF,
	END_COLLECTION,
	END_COLLECTION
};

/********************************************************************/

/* Initialize the Mouse descriptors */
DESCRIPTOR_STRUCT Descriptors =
{
	/* Device Descriptor */
	{
	/* bLength */				sizeof(USB_DEVICE_DESC),
	/* bDescriptorType */		DEVICE,
	/* bcdUSBL */				0,
	/* bcdUSBH */				1,		/* USB 1.00 */
	/* bDeviceClass */			0,
	/* bDeviceSubClass */		0,
	/* bDeviceProtocol */		0,
	/* bMaxPacketSize0 */		8,
	/* idVendorL */				0xCD,
	/* idVendorH */				0xAB,	/* arbitrary */
	/* idProductL */			0x34,
	/* idProductH */			0x12,	/* arbitrary */
	/* bcdDeviceL */			0,
	/* bcdDeviceH */			1,		/* arbitrary */
	/* iManufacturern */		0,
	/* iProduct */				0,
	/* iSerialNumber */			0,
	/* bNumConfigurations */	1,
	},

	/* Configuration Descriptor */
	{
	/* bLength */				sizeof(USB_CONFIG_DESC),
	/* bDescriptorType */		CONFIGURATION,
	/* wTotalLengthL */			(sizeof(DESCRIPTOR_STRUCT) - 
								sizeof(USB_DEVICE_DESC)) & 0x00FF,
	/* wTotalLengthH */			(sizeof(DESCRIPTOR_STRUCT) - 
								sizeof(USB_DEVICE_DESC)) >> 8,
	/* bNumInterfaces */		1,
	/* bConfigurationValue */	1,	/* This is configuration #1 */
	/* iConfiguration */		0,
	/* bmAttributes */			(SELF_POWERED | REMOTE_WAKEUP),
	/* maxPower */				0,
	},

	/* Interface Descriptor */
	{
	/* bLength */				sizeof(USB_INTERFACE_DESC),
	/* bDescriptorType */		INTERFACE,
	/* bInterfaceNumber */		0,		/* This is interface #0 */
	/* bAlternateSetting */		0,
	/* bNumEndpoints */			1,
	/* bInterfaceClass */		HID_INTERFACE,
	/* bInterfaceSubClass */	BOOT_INTERFACE,
	/* bInterfaceProtocol */	MOUSE_INTERFACE,
	/* iInterface */			0,
	},

	/* HID Descriptor */
	{
	/* bLength */				sizeof(USB_HID_DESC),
	/* bHidDescriptorType */	HID_DESC,
	/* bcdHIDL */				0x10,
	/* bcdHIDH */				0x01,	/* HID spec 1.1 */
	/* bCountryCode */			0,		/* not supported */
	/* bNumDescriptors */		1,
	/* bClassDescriptorType */	REPORT_DESC,
	/* wDescriptorLengthL */	sizeof(report) & 0x00FF,
	/* wDescriptorLengthH */	sizeof(report) >> 8,
	},
	/* Endpoint Descriptor */
	{
	/* bLength */				sizeof(USB_ENDPOINT_DESC),
	/* bDescriptorType */		ENDPOINT,
	/* bEndpointAddress */		(1 | IN),	/* This is endpoint #1 */
	/* bmAttributes */			INTERRUPT,
	/* wMaxPacketSizeL */		0x08,
	/* wMaxPacketSizeH */		0x00,
	/* bInterval */				10,	/* 10 ms */
	}
};
/********************************************************************/
uint16
usb_get_desc_size(void)
{
	return (sizeof(DESCRIPTOR_STRUCT));
}
/********************************************************************/
uint8*
hid_get_report_desc(void)
{
	return (report);
}
/********************************************************************/
uint16
hid_get_report_desc_size(void)
{
	return (sizeof(report));
}
/********************************************************************/
uint8*
hid_get_hid_desc(void)
{
	return ((uint8*)&Descriptors.hid_desc);
}
/********************************************************************/
uint16
hid_get_hid_desc_size(void)
{
	return (sizeof(USB_HID_DESC));
}
/********************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美的一区二区| 欧美高清激情brazzers| 亚洲综合清纯丝袜自拍| 欧美嫩在线观看| 夜夜嗨av一区二区三区四季av| 久久久亚洲高清| av在线播放成人| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 日本韩国一区二区三区| 另类综合日韩欧美亚洲| 亚洲免费在线播放| 亚洲精品在线电影| 在线亚洲免费视频| 国产精品99久久久久久似苏梦涵| 国产精品美女久久久久久2018| 欧美中文字幕一二三区视频| 福利电影一区二区三区| 免费看日韩a级影片| 国产精品美女久久久久久2018| 欧美日韩在线三级| 日本韩国一区二区三区| 成人国产精品免费观看动漫| 男女男精品网站| 日韩黄色一级片| 天天色天天爱天天射综合| 亚洲精品一卡二卡| 麻豆成人在线观看| 亚洲电影第三页| 亚洲综合免费观看高清在线观看| 国产欧美一区二区精品性| 欧美成人高清电影在线| 欧美精品v国产精品v日韩精品 | 国产精品视频观看| 欧美色综合久久| 欧美午夜在线一二页| 欧美在线|欧美| 欧美乱妇15p| 欧美一区二区三区视频在线 | 成人av电影在线网| av激情亚洲男人天堂| 91亚洲午夜精品久久久久久| 91传媒视频在线播放| 色琪琪一区二区三区亚洲区| 色系网站成人免费| 欧美日韩精品一二三区| 日韩免费观看高清完整版| 视频一区二区欧美| 国产精品一区二区免费不卡 | 日韩欧美国产麻豆| 久久亚洲一区二区三区四区| 中文字幕免费不卡| 亚洲天堂成人网| 日韩国产欧美三级| 国产传媒一区在线| 不卡一区中文字幕| 欧美成人免费网站| 亚洲欧美乱综合| 国内不卡的二区三区中文字幕| 久久国产剧场电影| 欧美日韩一卡二卡| |精品福利一区二区三区| 亚洲精品乱码久久久久久久久 | 欧美精品v国产精品v日韩精品| 久久亚洲精品小早川怜子| 亚洲激情校园春色| 日韩综合小视频| 色综合天天做天天爱| 欧美激情中文不卡| 蜜臀av一区二区在线免费观看 | 88在线观看91蜜桃国自产| 久久99国产精品尤物| 欧美性受xxxx| 国产精品传媒在线| 国产黄人亚洲片| 日韩欧美资源站| 日韩av中文字幕一区二区| 欧美性一二三区| 亚洲综合色网站| 91成人国产精品| 亚洲综合无码一区二区| 欧美日韩五月天| 日本色综合中文字幕| 精品剧情v国产在线观看在线| 美日韩黄色大片| 国产欧美日产一区| 91在线播放网址| 天堂成人免费av电影一区| 日韩欧美一级片| 成人禁用看黄a在线| 亚洲一区二区三区在线| 日韩一级在线观看| av一二三不卡影片| 亚洲第四色夜色| 久久久激情视频| 亚洲婷婷综合色高清在线| 欧美综合天天夜夜久久| 精品亚洲国内自在自线福利| 国产精品国产馆在线真实露脸 | 亚洲国产三级在线| 26uuu欧美| 欧美巨大另类极品videosbest| 久久精品国产99国产精品| 国产精品久久久久影院老司| 日韩视频免费观看高清完整版在线观看 | 一区二区三区在线免费观看| 日韩精品中文字幕在线一区| 99麻豆久久久国产精品免费| 日本成人中文字幕| 精品影视av免费| 亚洲精品国产一区二区精华液| 欧美一级高清片在线观看| 91精品1区2区| av激情成人网| 成人丝袜18视频在线观看| 极品少妇一区二区三区精品视频| 亚洲一区在线看| 亚洲四区在线观看| 国产精品卡一卡二卡三| 久久久久久日产精品| 日韩一二三区视频| 欧美一区二区福利在线| 91精品国产综合久久国产大片| 日本道色综合久久| 91精品91久久久中77777| 色拍拍在线精品视频8848| 91美女片黄在线| 欧美丝袜丝交足nylons图片| 色视频成人在线观看免| 色欧美片视频在线观看在线视频| 不卡高清视频专区| 色激情天天射综合网| 在线精品视频一区二区| 欧美日韩成人综合| 日韩一区二区三区四区五区六区| 日韩亚洲欧美成人一区| 欧美一级免费观看| 精品国产伦一区二区三区观看体验 | 亚洲一区在线电影| 亚洲国产一区在线观看| 日韩福利视频网| 国产91色综合久久免费分享| 99久久精品费精品国产一区二区| 在线免费不卡视频| 精品国产免费视频| 一区二区三区鲁丝不卡| 人人超碰91尤物精品国产| 国产精品综合视频| 精品视频一区 二区 三区| 欧美大片拔萝卜| 亚洲精品视频免费看| 久久国产精品露脸对白| 色综合久久久久综合体| 精品国精品自拍自在线| 一区二区三区蜜桃网| 国产91精品露脸国语对白| 欧美高清www午色夜在线视频| 国产午夜精品一区二区三区嫩草| 亚洲国产综合91精品麻豆| 国产精品 日产精品 欧美精品| 欧美日韩综合一区| 国产精品电影院| 国产盗摄一区二区| 久久久高清一区二区三区| 天天色天天操综合| 欧美亚洲日本国产| 中文字幕一区二区在线观看| 国产高清不卡一区| 欧美精品一区二区三区蜜臀 | 亚洲一区二区成人在线观看| 99精品在线观看视频| 久久精品无码一区二区三区| 日韩精品电影在线| 欧美日韩国产综合草草| 一区二区三区中文字幕精品精品| 成人性生交大片免费看中文| 欧美xxx久久| 国产成人精品亚洲777人妖| 精品国产乱子伦一区| 国产精品一品二品| 国产视频一区在线观看| 国产成人av电影在线| 国产精品欧美一区二区三区| 欧美午夜精品理论片a级按摩| 一区二区三区四区高清精品免费观看| 成人午夜又粗又硬又大| 国产网站一区二区| 91在线观看视频| 亚洲国产精品久久不卡毛片| 欧美高清视频一二三区 | 日韩专区中文字幕一区二区| 国产精品88888| 欧美人狂配大交3d怪物一区| 亚洲三级小视频| 99在线精品视频| 欧美蜜桃一区二区三区| 欧美国产视频在线| 91福利精品视频| 蜜乳av一区二区| 中文字幕一区日韩精品欧美| 欧美高清视频不卡网|