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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? hid.h

?? linux 內(nèi)核源代碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* * Separate quirks for runtime report descriptor fixup */#define HID_QUIRK_RDESC_CYMOTION		0x00000001#define HID_QUIRK_RDESC_LOGITECH		0x00000002#define HID_QUIRK_RDESC_SWAPPED_MIN_MAX		0x00000004#define HID_QUIRK_RDESC_PETALYNX		0x00000008#define HID_QUIRK_RDESC_MACBOOK_JIS		0x00000010/* * This is the global environment of the parser. This information is * persistent for main-items. The global environment can be saved and * restored with PUSH/POP statements. */struct hid_global {	unsigned usage_page;	__s32    logical_minimum;	__s32    logical_maximum;	__s32    physical_minimum;	__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_USAGES			8192#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_CLAIMED_HIDRAW	4#define HID_CTRL_RUNNING	1#define HID_OUT_RUNNING		2#define HID_IN_RUNNING		3#define HID_RESET_PENDING	4#define HID_SUSPENDED		5#define HID_CLEAR_HALT		6struct 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 short bus;                                             /* BUS ID */	unsigned short vendor;                                          /* Vendor ID */	unsigned short product;                                         /* Product ID */	unsigned version;						/* HID version */	unsigned country;						/* HID country */	struct hid_report_enum report_enum[HID_REPORT_TYPES];	struct device *dev;						/* device */	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 */	void *hidraw;	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 *driver_data;	/* device-specific function pointers */	int (*hidinput_input_event) (struct input_dev *, unsigned int, unsigned int, int);	int (*hid_open) (struct hid_device *);	void (*hid_close) (struct hid_device *);	/* hiddev event handler */	void (*hiddev_hid_event) (struct hid_device *, struct hid_field *field,				  struct hid_usage *, __s32);	void (*hiddev_report_event) (struct hid_device *, struct hid_report *);	/* handler for raw output data, used by hidraw */	int (*hid_output_raw_report) (struct hid_device *, __u8 *, size_t);#ifdef CONFIG_USB_HIDINPUT_POWERBOOK	unsigned long pb_pressed_fn[BITS_TO_LONGS(KEY_CNT)];	unsigned long pb_pressed_numlock[BITS_TO_LONGS(KEY_CNT)];#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));/* 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))/* HID core API */#ifdef CONFIG_HID_DEBUGextern int hid_debug;#endifextern void hidinput_hid_event(struct hid_device *, struct hid_field *, struct hid_usage *, __s32);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 *);int hid_set_field(struct hid_field *, unsigned, __s32);int hid_input_report(struct hid_device *, int type, u8 *, int, int);int hidinput_find_field(struct hid_device *hid, unsigned int type, unsigned int code, struct hid_field **field);void hid_input_field(struct hid_device *hid, struct hid_field *field, __u8 *data, int interrupt);void hid_output_report(struct hid_report *report, __u8 *data);void hid_free_device(struct hid_device *device);struct hid_device *hid_parse_report(__u8 *start, unsigned size);/* HID quirks API */u32 usbhid_lookup_quirk(const u16 idVendor, const u16 idProduct);int usbhid_modify_dquirk(const u16 idVendor, const u16 idProduct, const u32 quirks);int usbhid_quirks_init(char **quirks_param);void usbhid_quirks_exit(void);void usbhid_fixup_report_descriptor(const u16, const u16, char *, unsigned, char **);#ifdef CONFIG_HID_FFint hid_ff_init(struct hid_device *hid);int hid_lgff_init(struct hid_device *hid);int hid_plff_init(struct hid_device *hid);int hid_tmff_init(struct hid_device *hid);int hid_zpff_init(struct hid_device *hid);#ifdef CONFIG_HID_PIDint hid_pidff_init(struct hid_device *hid);#elsestatic inline int hid_pidff_init(struct hid_device *hid) { return -ENODEV; }#endif#elsestatic inline int hid_ff_init(struct hid_device *hid) { return -1; }#endif#ifdef CONFIG_HID_DEBUG#define dbg_hid(format, arg...) if (hid_debug) \				printk(KERN_DEBUG "%s: " format ,\				__FILE__ , ## arg)#define dbg_hid_line(format, arg...) if (hid_debug) \				printk(format, ## arg)#else#define dbg_hid(format, arg...) do {} while (0)#define dbg_hid_line dbg_hid#endif#define err_hid(format, arg...) printk(KERN_ERR "%s: " format "\n" , \		__FILE__ , ## arg)#endif#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美天天综合网| 日韩免费看的电影| 久久99久久99精品免视看婷婷| 国产精品国产自产拍高清av| 欧美精品日韩一区| 91蝌蚪porny成人天涯| 精品一区在线看| 亚洲.国产.中文慕字在线| 国产精品美女久久久久aⅴ国产馆| 欧美精品视频www在线观看 | 久久日韩粉嫩一区二区三区| 日本久久一区二区三区| 国产成人精品免费一区二区| 免费观看在线综合| 亚洲www啪成人一区二区麻豆| 久久人人爽爽爽人久久久| 91精品国产欧美日韩| 在线一区二区三区| av不卡在线观看| 国产精品一色哟哟哟| 免费观看91视频大全| 视频一区二区中文字幕| 夜夜嗨av一区二区三区四季av| 国产精品毛片久久久久久| 久久久久久9999| 久久亚洲精精品中文字幕早川悠里 | 7878成人国产在线观看| 色欧美88888久久久久久影院| 大尺度一区二区| 国产乱码精品一品二品| 久久97超碰色| 蜜桃av一区二区在线观看| 石原莉奈在线亚洲二区| 亚洲不卡一区二区三区| 五月婷婷久久综合| 一区二区欧美国产| 亚洲国产精品一区二区久久恐怖片| 国产精品视频麻豆| 国产精品网站在线观看| 中文字幕成人网| 一色桃子久久精品亚洲| 亚洲欧美日韩一区| 亚洲精品你懂的| 夜夜夜精品看看| 一区二区三区蜜桃| 亚洲资源在线观看| 亚洲一卡二卡三卡四卡五卡| 亚洲成av人影院在线观看网| 亚洲18女电影在线观看| 蜜桃久久久久久久| 国产一区二区免费看| 丰满岳乱妇一区二区三区| av在线不卡电影| 在线视频一区二区三区| 欧美另类变人与禽xxxxx| 日韩欧美一区在线| 久久久不卡网国产精品二区 | 日韩中文字幕区一区有砖一区 | 99视频超级精品| 色婷婷久久久亚洲一区二区三区| 91高清视频在线| 欧美日韩电影在线播放| 精品剧情在线观看| 国产精品无人区| 亚洲一卡二卡三卡四卡五卡| 美女精品一区二区| 波多野结衣视频一区| 在线观看成人免费视频| 日韩欧美亚洲国产精品字幕久久久| 久久久夜色精品亚洲| 亚洲欧洲韩国日本视频| 亚洲午夜精品17c| 狠狠久久亚洲欧美| 99久久久精品| 日韩午夜在线播放| 国产欧美一区在线| 亚洲制服欧美中文字幕中文字幕| 蜜桃一区二区三区在线| 97se狠狠狠综合亚洲狠狠| 欧美日韩电影一区| 国产欧美日韩不卡免费| 亚洲高清一区二区三区| 国产又黄又大久久| 欧美在线三级电影| 久久久久久免费| 香蕉久久一区二区不卡无毒影院| 久久91精品久久久久久秒播| 色哟哟国产精品免费观看| 久久综合国产精品| 亚洲国产综合人成综合网站| 国产麻豆成人传媒免费观看| 欧美三级电影网站| 国产精品久久久久久久久免费樱桃| 日韩经典中文字幕一区| 99免费精品在线观看| 久久综合久久久久88| 亚洲福利一二三区| 大白屁股一区二区视频| 精品国精品国产| 亚洲成人1区2区| 色综合色综合色综合色综合色综合| 精品国精品自拍自在线| 午夜精品久久久久久久久久久 | 亚洲伦在线观看| 国产乱人伦精品一区二区在线观看| 欧美午夜理伦三级在线观看| 国产精品国产自产拍高清av| 韩国精品久久久| 日韩视频永久免费| 亚洲电影你懂得| 91美女在线观看| 国产精品视频麻豆| 国产成人亚洲综合a∨婷婷图片| 日韩视频在线永久播放| 亚洲va国产va欧美va观看| 色综合中文字幕| 亚洲丝袜精品丝袜在线| 国产成人一级电影| 久久亚洲一级片| 国产一区二区成人久久免费影院 | 久久综合精品国产一区二区三区| 午夜国产精品一区| 91久久国产最好的精华液| 亚洲欧美日韩国产综合在线| 成人黄色大片在线观看| 中文字幕精品三区| 成人性生交大片免费看在线播放| 26uuu亚洲| 国内国产精品久久| 欧美精品一区二区三区蜜桃| 免费精品视频最新在线| 日韩美女视频一区二区在线观看| 日韩中文欧美在线| 欧美日韩国产综合久久| 日韩精品国产精品| 91精品一区二区三区在线观看| 天天av天天翘天天综合网 | 欧美日韩国产区一| 婷婷中文字幕综合| 91麻豆精品国产91| 免费成人在线视频观看| 精品福利一区二区三区| 激情欧美日韩一区二区| 国产欧美精品区一区二区三区| 国产成人在线视频网站| 国产精品白丝在线| 91视频免费播放| 亚洲一区二区三区自拍| 欧美三区免费完整视频在线观看| 日日夜夜免费精品| 欧美一级搡bbbb搡bbbb| 激情文学综合插| 国产精品美女久久久久av爽李琼| 91视频在线观看| 亚洲成va人在线观看| 日韩精品专区在线影院重磅| 国产精一区二区三区| 国产精品理伦片| 欧美午夜电影一区| 久久99国产精品成人| 国产精品全国免费观看高清 | 欧美影院精品一区| 免费人成精品欧美精品| 欧美高清在线一区| 欧美亚洲自拍偷拍| 久久99国产精品久久99| 国产精品久久久久久久裸模| 欧美日韩黄色影视| 国产呦萝稀缺另类资源| 亚洲精品写真福利| 日韩欧美一级二级三级| 99re这里只有精品首页| 日韩精品色哟哟| 国产视频在线观看一区二区三区 | 国产午夜亚洲精品午夜鲁丝片| a美女胸又www黄视频久久| 日韩高清一区二区| 国产精品美女视频| 欧美一区二区三区四区视频| 不卡欧美aaaaa| 热久久免费视频| 成人免费在线视频观看| 91精品午夜视频| 99re成人在线| 激情欧美一区二区三区在线观看| 玉米视频成人免费看| 久久久久99精品国产片| 欧美日本不卡视频| 成人午夜视频福利| 亚洲精品一区二区三区福利 | 亚洲精品ww久久久久久p站| 欧美久久久久久蜜桃| 成人午夜看片网址| 日韩国产精品久久| 综合久久国产九一剧情麻豆| 日韩精品一区二区三区四区视频 | 日韩精品一区二区三区三区免费 | 久久品道一品道久久精品| 欧美在线视频你懂得| 99精品视频在线免费观看|