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

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

?? hid.h

?? linux2.6.16版本
?? H
?? 第 1 頁 / 共 2 頁
字號:
	__s32    physical_maximum;	__s32    unit_exponent;	unsigned unit;	unsigned report_id;	unsigned report_size;	unsigned report_count;};/* * This is the local environment. It is persistent up the next main-item. */#define HID_MAX_DESCRIPTOR_SIZE		4096#define HID_MAX_USAGES			1024#define HID_DEFAULT_NUM_COLLECTIONS	16struct hid_local {	unsigned usage[HID_MAX_USAGES]; /* usage array */	unsigned collection_index[HID_MAX_USAGES]; /* collection index array */	unsigned usage_index;	unsigned usage_minimum;	unsigned delimiter_depth;	unsigned delimiter_branch;};/* * This is the collection stack. We climb up the stack to determine * application and function of each field. */struct hid_collection {	unsigned type;	unsigned usage;	unsigned level;};struct hid_usage {	unsigned  hid;			/* hid usage code */	unsigned  collection_index;	/* index into collection array */	/* hidinput data */	__u16     code;			/* input driver code */	__u8      type;			/* input driver type */	__s8	  hat_min;		/* hat switch fun */	__s8	  hat_max;		/* ditto */	__s8	  hat_dir;		/* ditto */};struct hid_input;struct hid_field {	unsigned  physical;		/* physical usage for this field */	unsigned  logical;		/* logical usage for this field */	unsigned  application;		/* application usage for this field */	struct hid_usage *usage;	/* usage table for this function */	unsigned  maxusage;		/* maximum usage index */	unsigned  flags;		/* main-item flags (i.e. volatile,array,constant) */	unsigned  report_offset;	/* bit offset in the report */	unsigned  report_size;		/* size of this field in the report */	unsigned  report_count;		/* number of this field in the report */	unsigned  report_type;		/* (input,output,feature) */	__s32    *value;		/* last known value(s) */	__s32     logical_minimum;	__s32     logical_maximum;	__s32     physical_minimum;	__s32     physical_maximum;	__s32     unit_exponent;	unsigned  unit;	struct hid_report *report;	/* associated report */	unsigned index;			/* index into report->field[] */	/* hidinput data */	struct hid_input *hidinput;	/* associated input structure */	__u16 dpad;			/* dpad input code */};#define HID_MAX_FIELDS 64struct hid_report {	struct list_head list;	unsigned id;					/* id of this report */	unsigned type;					/* report type */	struct hid_field *field[HID_MAX_FIELDS];	/* fields of the report */	unsigned maxfield;				/* maximum valid field index */	unsigned size;					/* size of the report (bits) */	struct hid_device *device;			/* associated device */};struct hid_report_enum {	unsigned numbered;	struct list_head report_list;	struct hid_report *report_id_hash[256];};#define HID_REPORT_TYPES 3#define HID_MIN_BUFFER_SIZE	64		/* make sure there is at least a packet size of space */#define HID_MAX_BUFFER_SIZE	4096		/* 4kb */#define HID_CONTROL_FIFO_SIZE	256		/* to init devices with >100 reports */#define HID_OUTPUT_FIFO_SIZE	64struct hid_control_fifo {	unsigned char dir;	struct hid_report *report;};#define HID_CLAIMED_INPUT	1#define HID_CLAIMED_HIDDEV	2#define HID_CTRL_RUNNING	1#define HID_OUT_RUNNING		2struct hid_input {	struct list_head list;	struct hid_report *report;	struct input_dev *input;};struct hid_device {							/* device report descriptor */	 __u8 *rdesc;	unsigned rsize;	struct hid_collection *collection;				/* List of HID collections */	unsigned collection_size;					/* Number of allocated hid_collections */	unsigned maxcollection;						/* Number of parsed collections */	unsigned maxapplication;					/* Number of applications */	unsigned version;						/* HID version */	unsigned country;						/* HID country */	struct hid_report_enum report_enum[HID_REPORT_TYPES];	struct usb_device *dev;						/* USB device */	struct usb_interface *intf;					/* USB interface */	int ifnum;							/* USB interface number */	unsigned long iofl;						/* I/O flags (CTRL_RUNNING, OUT_RUNNING) */	unsigned int bufsize;						/* URB buffer size */	struct urb *urbin;						/* Input URB */	char *inbuf;							/* Input buffer */	dma_addr_t inbuf_dma;						/* Input buffer dma */	struct urb *urbctrl;						/* Control URB */	struct usb_ctrlrequest *cr;					/* Control request struct */	dma_addr_t cr_dma;						/* Control request struct dma */	struct hid_control_fifo ctrl[HID_CONTROL_FIFO_SIZE];		/* Control fifo */	unsigned char ctrlhead, ctrltail;				/* Control fifo head & tail */	char *ctrlbuf;							/* Control buffer */	dma_addr_t ctrlbuf_dma;						/* Control buffer dma */	spinlock_t ctrllock;						/* Control fifo spinlock */	struct urb *urbout;						/* Output URB */	struct hid_report *out[HID_CONTROL_FIFO_SIZE];			/* Output pipe fifo */	unsigned char outhead, outtail;					/* Output pipe fifo head & tail */	char *outbuf;							/* Output buffer */	dma_addr_t outbuf_dma;						/* Output buffer dma */	spinlock_t outlock;						/* Output fifo spinlock */	unsigned claimed;						/* Claimed by hidinput, hiddev? */	unsigned quirks;						/* Various quirks the device can pull on us */	struct list_head inputs;					/* The list of inputs */	void *hiddev;							/* The hiddev structure */	int minor;							/* Hiddev minor number */	wait_queue_head_t wait;						/* For sleeping */	int open;							/* is the device open by anyone? */	char name[128];							/* Device name */	char phys[64];							/* Device physical location */	char uniq[64];							/* Device unique identifier (serial #) */	void *ff_private;                                               /* Private data for the force-feedback driver */	void (*ff_exit)(struct hid_device*);                            /* Called by hid_exit_ff(hid) */	int (*ff_event)(struct hid_device *hid, struct input_dev *input,			unsigned int type, unsigned int code, int value);#ifdef CONFIG_USB_HIDINPUT_POWERBOOK	unsigned long pb_pressed_fn[NBITS(KEY_MAX)];	unsigned long pb_pressed_numlock[NBITS(KEY_MAX)];#endif};#define HID_GLOBAL_STACK_SIZE 4#define HID_COLLECTION_STACK_SIZE 4struct hid_parser {	struct hid_global     global;	struct hid_global     global_stack[HID_GLOBAL_STACK_SIZE];	unsigned              global_stack_ptr;	struct hid_local      local;	unsigned              collection_stack[HID_COLLECTION_STACK_SIZE];	unsigned              collection_stack_ptr;	struct hid_device    *device;};struct hid_class_descriptor {	__u8  bDescriptorType;	__u16 wDescriptorLength;} __attribute__ ((packed));struct hid_descriptor {	__u8  bLength;	__u8  bDescriptorType;	__u16 bcdHID;	__u8  bCountryCode;	__u8  bNumDescriptors;	struct hid_class_descriptor desc[1];} __attribute__ ((packed));#ifdef DEBUG#include "hid-debug.h"#else#define hid_dump_input(a,b)	do { } while (0)#define hid_dump_device(c)	do { } while (0)#define hid_dump_field(a,b)	do { } while (0)#define resolv_usage(a)		do { } while (0)#define resolv_event(a,b)	do { } while (0)#endif#endif#ifdef CONFIG_USB_HIDINPUT/* Applications from HID Usage Tables 4/8/99 Version 1.1 *//* We ignore a few input applications that are not widely used */#define IS_INPUT_APPLICATION(a) (((a >= 0x00010000) && (a <= 0x00010008)) || (a == 0x00010080) || (a == 0x000c0001))extern void hidinput_hid_event(struct hid_device *, struct hid_field *, struct hid_usage *, __s32, struct pt_regs *regs);extern void hidinput_report_event(struct hid_device *hid, struct hid_report *report);extern int hidinput_connect(struct hid_device *);extern void hidinput_disconnect(struct hid_device *);#else#define IS_INPUT_APPLICATION(a) (0)static inline void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value, struct pt_regs *regs) { }static inline void hidinput_report_event(struct hid_device *hid, struct hid_report *report) { }static inline int hidinput_connect(struct hid_device *hid) { return -ENODEV; }static inline void hidinput_disconnect(struct hid_device *hid) { }#endifint hid_open(struct hid_device *);void hid_close(struct hid_device *);int hid_set_field(struct hid_field *, unsigned, __s32);void hid_submit_report(struct hid_device *, struct hid_report *, unsigned char dir);void hid_init_reports(struct hid_device *hid);struct hid_field *hid_find_field_by_usage(struct hid_device *hid, __u32 wanted_usage, int type);int hid_wait_io(struct hid_device* hid);#ifdef CONFIG_HID_FFint hid_ff_init(struct hid_device *hid);#elsestatic inline int hid_ff_init(struct hid_device *hid) { return -1; }#endifstatic inline void hid_ff_exit(struct hid_device *hid){	if (hid->ff_exit)		hid->ff_exit(hid);}static inline int hid_ff_event(struct hid_device *hid, struct input_dev *input,			unsigned int type, unsigned int code, int value){	if (hid->ff_event)		return hid->ff_event(hid, input, type, code, value);	return -ENOSYS;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美日韩一区二区三区| 中文字幕二三区不卡| 亚洲成人动漫在线观看| 在线观看免费成人| 午夜av一区二区三区| 91精品啪在线观看国产60岁| 免费在线观看视频一区| 精品av久久707| 成人av电影免费在线播放| 亚洲三级电影网站| 欧美日韩精品一区视频| 精品写真视频在线观看 | 韩国av一区二区三区| 国产日韩亚洲欧美综合| 色哟哟在线观看一区二区三区| 亚洲一级二级三级| 欧美不卡123| 播五月开心婷婷综合| 亚洲国产精品一区二区久久恐怖片 | 欧美一区二区三区免费视频| 精彩视频一区二区三区| 中文字幕一区二| 欧美日韩aaa| 成人午夜大片免费观看| 亚洲成人动漫av| 国产区在线观看成人精品| 一本到不卡免费一区二区| 喷白浆一区二区| **欧美大码日韩| 5月丁香婷婷综合| 成人avav影音| 免费观看日韩电影| 中文字幕日韩一区| 日韩亚洲欧美一区二区三区| 成人黄色综合网站| 视频一区二区不卡| 成人欧美一区二区三区1314| 日韩一级成人av| 在线观看网站黄不卡| 国内外精品视频| 视频一区欧美精品| 一区二区三区视频在线看| 精品久久久久久久久久久久久久久久久| 99久久国产综合精品色伊| 麻豆精品视频在线| 一区二区三区免费| 国产精品无遮挡| 精品成人一区二区三区| 欧美中文字幕亚洲一区二区va在线| 国产一区二区按摩在线观看| 午夜久久福利影院| 亚洲免费资源在线播放| 久久久精品黄色| 日韩欧美成人午夜| 欧美日韩国产美| 色久综合一二码| av激情成人网| 国产成人亚洲精品青草天美| 麻豆国产精品一区二区三区| 日欧美一区二区| 亚洲午夜av在线| 亚洲激情图片qvod| 亚洲日本在线a| 国产精品免费丝袜| 国产精品日日摸夜夜摸av| 久久免费视频色| 久久久久久久综合日本| 26uuuu精品一区二区| 欧美mv和日韩mv的网站| 精品少妇一区二区三区日产乱码| 欧美一卡二卡三卡| 欧美一区二区三区男人的天堂| 欧美精品粉嫩高潮一区二区| 欧美色图12p| 欧美日韩中字一区| 欧美日韩国产免费| 91精品国产综合久久香蕉麻豆| 91国产免费看| 欧美日韩精品综合在线| 欧美日韩免费观看一区二区三区| 欧美在线免费观看视频| 欧美色区777第一页| 91精品中文字幕一区二区三区 | 欧美喷潮久久久xxxxx| 欧美性大战久久久| 欧美日韩亚州综合| 69堂成人精品免费视频| 日韩一卡二卡三卡| 国产亚洲一区字幕| 亚洲欧美日韩国产成人精品影院| 亚洲男人电影天堂| 日韩电影在线一区二区| 久久电影网电视剧免费观看| 国产精品中文字幕日韩精品 | 精品国精品国产| 夜夜亚洲天天久久| 一区二区三区日韩欧美精品| 亚洲午夜免费电影| 老司机免费视频一区二区三区| 国产一区二区三区四区五区入口 | 国产精品综合久久| 91丨国产丨九色丨pron| 久久精品一区二区三区不卡| 久久久久久免费网| 一区二区三区精品| 免费人成网站在线观看欧美高清| 国产综合久久久久影院| 99久久伊人精品| 欧美日韩国产首页| 国产日韩欧美高清| 亚洲激情一二三区| 经典三级在线一区| 91在线porny国产在线看| 欧美丰满少妇xxxxx高潮对白| 国产亚洲欧美中文| 亚洲国产精品久久人人爱蜜臀| 免费观看一级特黄欧美大片| 99久久精品国产导航| 日韩一区二区麻豆国产| 国产精品国产三级国产aⅴ无密码| 亚洲最大成人综合| 国产高清不卡二三区| 欧美日韩国产精品成人| 欧美韩国日本不卡| 日本最新不卡在线| 91在线视频免费91| 日韩欧美色综合网站| 亚洲激情六月丁香| 国模套图日韩精品一区二区 | |精品福利一区二区三区| 秋霞国产午夜精品免费视频| 成人黄页毛片网站| 久久综合资源网| 婷婷一区二区三区| 北条麻妃国产九九精品视频| 日韩一区二区视频| 一二三区精品福利视频| 成人性色生活片| 精品久久久久久无| 日本亚洲免费观看| 色猫猫国产区一区二在线视频| 亚洲精品在线免费观看视频| 亚洲va韩国va欧美va| 99久久久久久| 中文无字幕一区二区三区| 免费在线看成人av| 在线不卡的av| 一区二区激情视频| aaa欧美色吧激情视频| 欧美精品一区在线观看| 天天操天天干天天综合网| 91啪九色porn原创视频在线观看| 久久精品人人做人人爽人人| 久久激五月天综合精品| 91精品一区二区三区在线观看| 亚洲一区在线播放| 色婷婷综合五月| 一区二区高清在线| 一本色道久久综合亚洲精品按摩| 国产精品美女久久久久久| 国产精品一卡二卡在线观看| 欧美大胆人体bbbb| 久久精品国产第一区二区三区| 在线综合视频播放| 日产国产高清一区二区三区| 欧美一区二区三区视频在线观看| 亚洲一级二级三级在线免费观看| 欧洲一区在线电影| 亚洲一区在线免费观看| 欧美日韩国产高清一区二区| 日日骚欧美日韩| 69久久夜色精品国产69蝌蚪网| 奇米四色…亚洲| 久久夜色精品国产噜噜av| 国产精品亚洲一区二区三区妖精| 国产婷婷色一区二区三区| 丁香网亚洲国际| 综合色天天鬼久久鬼色| 91偷拍与自偷拍精品| 亚洲综合色噜噜狠狠| 欧美日韩黄色一区二区| 午夜欧美电影在线观看| 日韩欧美国产1| 成人国产精品免费观看视频| 亚洲靠逼com| 欧美精品1区2区| 国产成人一级电影| 亚洲六月丁香色婷婷综合久久| 欧美日韩国产三级| 国产麻豆成人传媒免费观看| 国产精品丝袜久久久久久app| 91女神在线视频| 亚洲午夜电影在线观看| 精品国产乱码久久久久久牛牛| 国产成人av一区二区三区在线观看| 中文字幕一区二区三区在线不卡 | 不卡一区中文字幕| 亚洲超碰精品一区二区| 欧美精品一区二区三区蜜臀| 成人一区二区三区在线观看|