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

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

?? avctrl.c

?? BlueZ源碼
?? C
字號:
/* * *  BlueZ - Bluetooth protocol stack for Linux * *  Copyright (C) 2004-2008  Marcel Holtmann <marcel@holtmann.org> * * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA * */#ifdef HAVE_CONFIG_H#include <config.h>#endif#include <stdio.h>#include <errno.h>#include <fcntl.h>#include <stdint.h>#include <string.h>#include <getopt.h>#include <usb.h>#ifdef NEED_USB_GET_BUSSESstatic inline struct usb_bus *usb_get_busses(void){	return usb_busses;}#endif#ifndef USB_DIR_OUT#define USB_DIR_OUT	0x00#endif#ifndef USB_DIR_IN#define USB_DIR_IN	0x80#endif#define HID_REQ_GET_REPORT	0x01#define HID_REQ_GET_IDLE	0x02#define HID_REQ_GET_PROTOCOL	0x03#define HID_REQ_SET_REPORT	0x09#define HID_REQ_SET_IDLE	0x0a#define HID_REQ_SET_PROTOCOL	0x0bstruct device_info;struct device_id {	uint16_t vendor;	uint16_t product;	int (*func)(struct device_info *dev, int argc, char *argv[]);};struct device_info {	struct usb_device *dev;	struct device_id *id;};#define GET_STATE		0x01#define GET_REMOTE_BDADDR	0x02#define DISCOVER		0x03#define SWITCH_TO_DFU		0x04#define READ_CODEC		0x05static int dongle_csr(struct device_info *devinfo, int argc, char *argv[]){	char buf[8];	struct usb_dev_handle *udev;	int err, intf = 2;	memset(buf, 0, sizeof(buf));	if (!strncasecmp(argv[0], "discover", 4))		buf[0] = DISCOVER;	else if (!strncasecmp(argv[0], "switch", 3))		buf[0] = SWITCH_TO_DFU;	else if (!strncasecmp(argv[0], "dfu", 3))		buf[0] = SWITCH_TO_DFU;	else		return -EINVAL;	udev = usb_open(devinfo->dev);	if (!udev)		return -errno;	if (usb_claim_interface(udev, intf) < 0) {		err = -errno;		usb_close(udev);		return err;	}	err = usb_control_msg(udev, USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,				HID_REQ_SET_REPORT, 0x03 << 8, intf, buf, sizeof(buf), 10000);	if (err == 0) {		err = -1;		errno = EALREADY;	} else {		if (errno == ETIMEDOUT)			err = 0;	}	usb_release_interface(udev, intf);	usb_close(udev);	return err;}static struct device_id device_list[] = {	{ 0x0a12, 0x1004, dongle_csr },	{ -1 }};static struct device_id *match_device(uint16_t vendor, uint16_t product){	int i;	for (i = 0; device_list[i].func; i++) {		if (vendor == device_list[i].vendor &&				product == device_list[i].product)			return &device_list[i];	}	return NULL;}static int find_devices(struct device_info *devinfo, size_t size){	struct usb_bus *bus;	struct usb_device *dev;	struct device_id *id;	int count = 0;	usb_find_busses();	usb_find_devices();	for (bus = usb_get_busses(); bus; bus = bus->next)		for (dev = bus->devices; dev; dev = dev->next) {			id = match_device(dev->descriptor.idVendor,						dev->descriptor.idProduct);			if (!id)				continue;			if (count < size) {				devinfo[count].dev = dev;				devinfo[count].id = id;				count++;			}		}	return count;}static void usage(void){	printf("avctrl - Bluetooth Audio/Video control utility\n\n");	printf("Usage:\n"		"\tavctrl [options] <command>\n"		"\n");	printf("Options:\n"		"\t-h, --help           Display help\n"		"\t-q, --quiet          Don't display any messages\n"		"\n");	printf("Commands:\n"		"\tdiscover         Simulate pressing the discover button\n"		"\tswitch           Switch the dongle to DFU mode\n"		"\n");}static struct option main_options[] = {	{ "help",	0, 0, 'h' },	{ "quiet",	0, 0, 'q' },	{ 0, 0, 0, 0 }};int main(int argc, char *argv[]){	struct device_info dev[16];	int i, opt, num, quiet = 0;	while ((opt = getopt_long(argc, argv, "+qh", main_options, NULL)) != -1) {		switch (opt) {		case 'q':			quiet = 1;			break;		case 'h':			usage();			exit(0);		default:			exit(0);		}	}	argc -= optind;	argv += optind;	optind = 0;	if (argc < 1) {		usage();		exit(1);	}	usb_init();	num = find_devices(dev, sizeof(dev) / sizeof(dev[0]));	if (num <= 0) {		if (!quiet)			fprintf(stderr, "No Audio/Video devices found\n");		exit(1);	}	for (i = 0; i < num; i++) {		struct device_id *id = dev[i].id;		int err;		if (!quiet)			printf("Selecting device %04x:%04x ",						id->vendor, id->product);		fflush(stdout);		err = id->func(&dev[i], argc, argv);		if (err < 0) {			if (!quiet)				printf("failed (%s)\n", strerror(-err));		} else {			if (!quiet)				printf("was successful\n");		}	}	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美高清你懂得| 国产伦精品一区二区三区免费| 一本色道久久综合狠狠躁的推荐| 日本免费在线视频不卡一不卡二| 亚洲欧美在线aaa| 日韩精品一区二区三区在线| 99国产精品99久久久久久| 国产一区二区三区在线观看免费| 亚洲成人三级小说| 亚洲精品欧美专区| 国产精品国产自产拍高清av王其| 亚洲精品一线二线三线 | 成人在线综合网站| 久久精品72免费观看| 午夜欧美2019年伦理| 日本一区二区成人在线| 久久九九久久九九| 国产欧美一二三区| 久久综合色婷婷| 精品国产123| 久久久国产精品麻豆| 久久日韩精品一区二区五区| 欧美精品一区二区三区蜜臀 | 日韩二区三区四区| 日韩国产欧美三级| 天堂va蜜桃一区二区三区| 亚洲一区二区3| 日韩精品欧美成人高清一区二区| 亚洲综合图片区| 日韩高清不卡一区二区三区| 调教+趴+乳夹+国产+精品| 秋霞午夜av一区二区三区| 免费成人av资源网| 国产精品一区二区在线看| 成人涩涩免费视频| 韩日av一区二区| 成人免费高清视频在线观看| 精品一区二区av| 国产美女一区二区三区| 99久久久久免费精品国产 | 国产一区在线视频| 不卡一区在线观看| 欧美日韩精品一区二区三区四区 | 亚洲欧美中日韩| 亚洲一区二区三区四区在线免费观看 | 国产精品久久99| 亚洲一区在线观看免费观看电影高清| 午夜久久久影院| 狠狠色丁香久久婷婷综合丁香| 高清av一区二区| 欧美性欧美巨大黑白大战| 日韩欧美视频一区| 久久久久久久久久久电影| 亚洲免费在线观看| 亚洲一区二区三区视频在线播放| 亚洲国产精品视频| 国产精品伊人色| 欧美午夜精品一区二区三区| 日韩精品中文字幕一区二区三区| 中文字幕第一区| 男女男精品视频| 国产成人精品影视| 色网站国产精品| 国产亚洲综合色| 亚洲18色成人| 91网站在线播放| 欧美精品一区二区三区蜜臀| 亚洲午夜激情网页| 成人美女在线观看| 精品免费视频.| 午夜欧美电影在线观看| 91蜜桃免费观看视频| 久久久精品蜜桃| 蜜桃av一区二区三区| 精品视频在线免费看| 欧美一区二区黄| 亚洲影视在线观看| 蜜臀av一区二区在线观看| av一区二区不卡| 久久综合久久综合九色| 日日骚欧美日韩| 欧美老女人在线| 亚洲第一av色| 欧美图区在线视频| 亚洲精品成人a在线观看| 成人av网址在线观看| 国产欧美日韩精品a在线观看| 日韩av电影免费观看高清完整版在线观看| av高清久久久| 中文字幕日韩av资源站| 国产成人亚洲综合色影视 | 国产精品一区二区在线播放| 日韩欧美黄色影院| 麻豆视频一区二区| 在线观看日韩电影| 亚洲综合视频网| 色综合天天综合色综合av| 久久久久久久网| 久久精品国产99| 日韩精品最新网址| 国产在线精品不卡| 国产亚洲成av人在线观看导航| 九一久久久久久| 亚洲精品一区二区三区在线观看| 国产精品自拍毛片| 中文字幕精品一区二区精品绿巨人 | 99视频精品全部免费在线| 亚洲欧洲www| 欧美三级韩国三级日本一级| 亚洲观看高清完整版在线观看| 欧美色爱综合网| 免费成人在线播放| 久久久久国产精品麻豆ai换脸| 丁香六月综合激情| 亚洲少妇最新在线视频| 色婷婷香蕉在线一区二区| 亚洲免费在线看| 69av一区二区三区| 懂色av中文一区二区三区| 依依成人精品视频| 精品久久久久av影院| www.综合网.com| 日韩精品三区四区| 国产欧美日韩另类视频免费观看| 99re在线精品| 人人超碰91尤物精品国产| 中文子幕无线码一区tr| 在线免费观看不卡av| 久久激情五月激情| 亚洲九九爱视频| 精品久久久久香蕉网| 日本精品裸体写真集在线观看| 日本成人在线电影网| 国产精品国产精品国产专区不片| 欧美精选一区二区| 成人听书哪个软件好| 日本成人超碰在线观看| 亚洲女人的天堂| 精品sm在线观看| 欧美日韩国产高清一区二区 | 依依成人综合视频| 久久久久国产精品免费免费搜索| 欧美无人高清视频在线观看| 成人性生交大片免费看视频在线| 亚洲国产一区二区视频| 亚洲精品一区二区三区精华液| 在线观看日韩电影| av电影一区二区| 国产福利一区在线| 久久精品国产在热久久| 亚洲国产一二三| 综合久久久久综合| 国产亚洲婷婷免费| 精品盗摄一区二区三区| 91精品婷婷国产综合久久性色 | 91免费视频观看| 美女视频黄久久| 亚洲精品国产无套在线观| 久久久不卡网国产精品一区| 欧美日韩国产高清一区二区三区 | 亚洲一线二线三线视频| 中文字幕一区二区日韩精品绯色| 精品久久久久久久久久久久包黑料 | 亚洲精品视频在线观看网站| 国产情人综合久久777777| 日韩欧美一级在线播放| 日本丰满少妇一区二区三区| 成人av先锋影音| 亚洲视频狠狠干| 亚洲高清一区二区三区| 日韩亚洲欧美在线| 日韩一区二区三区精品视频 | 精品一区二区三区影院在线午夜| 一区二区高清视频在线观看| 亚洲一卡二卡三卡四卡五卡| 日韩avvvv在线播放| 肉丝袜脚交视频一区二区| 激情av综合网| 成人的网站免费观看| 欧美在线你懂得| 日韩一区二区三区在线视频| 久久亚洲春色中文字幕久久久| 国产日韩欧美麻豆| 亚洲免费在线看| 青青草国产成人av片免费| 国产成人亚洲综合a∨婷婷图片 | 亚洲一区二区三区视频在线 | 国产精品午夜在线| 亚洲电影第三页| 国产成人精品免费看| 欧美精品日日鲁夜夜添| 国产偷国产偷亚洲高清人白洁| 一区二区在线免费观看| 麻豆极品一区二区三区| 91免费在线看| 久久精品水蜜桃av综合天堂| 日韩成人dvd| 色网综合在线观看| 国产亚洲欧美日韩日本| 日韩福利电影在线|