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

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

?? hciconfig.c

?? BlueZ源碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
		case 3:			strncat(cls_str, "Remote control", sizeof(cls_str) - strlen(cls_str));			break;		case 4:			strncat(cls_str, "Sensing device", sizeof(cls_str) - strlen(cls_str));			break;		case 5:			strncat(cls_str, "Digitizer tablet", sizeof(cls_str) - strlen(cls_str));			break;		case 6:			strncat(cls_str, "Card reader", sizeof(cls_str) - strlen(cls_str));			break;		default:			strncat(cls_str, "(reserved)", sizeof(cls_str) - strlen(cls_str));			break;		}		if(strlen(cls_str) > 0)			return cls_str;	}	case 6:	/* imaging */		if (minor & 4)			return "Display";		if (minor & 8)			return "Camera";		if (minor & 16)			return "Scanner";		if (minor & 32)			return "Printer";		break;	case 7: /* wearable */		switch(minor) {		case 1:			return "Wrist Watch";		case 2:			return "Pager";		case 3:			return "Jacket";		case 4:			return "Helmet";		case 5:			return "Glasses";		}		break;	case 8: /* toy */		switch(minor) {		case 1:			return "Robot";		case 2:			return "Vehicle";		case 3:			return "Doll / Action Figure";		case 4:			return "Controller";		case 5:			return "Game";		}		break;	case 63:	/* uncategorised */		return "";	}	return "Unknown (reserved) minor device class";}static void cmd_class(int ctl, int hdev, char *opt){	static const char *services[] = { "Positioning",					"Networking",					"Rendering",					"Capturing",					"Object Transfer",					"Audio",					"Telephony",					"Information" };	static const char *major_devices[] = { "Miscellaneous",					"Computer",					"Phone",					"LAN Access",					"Audio/Video",					"Peripheral",					"Imaging",					"Uncategorized" };	int s = hci_open_dev(hdev);	if (s < 0) {		fprintf(stderr, "Can't open device hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	if (opt) {		uint32_t cod = strtoul(opt, NULL, 16);		if (hci_write_class_of_dev(s, cod, 2000) < 0) {			fprintf(stderr, "Can't write local class of device on hci%d: %s (%d)\n",						hdev, strerror(errno), errno);			exit(1);		}	} else {		uint8_t cls[3];		if (hci_read_class_of_dev(s, cls, 1000) < 0) {			fprintf(stderr, "Can't read class of device on hci%d: %s (%d)\n",						hdev, strerror(errno), errno);			exit(1);		}		print_dev_hdr(&di);		printf("\tClass: 0x%02x%02x%02x\n", cls[2], cls[1], cls[0]);		printf("\tService Classes: ");		if (cls[2]) {			int first = 1;			for (s = 0; s < (sizeof(services) / sizeof(*services)); s++)				if (cls[2] & (1 << s)) {					if (!first)						printf(", ");					printf("%s", services[s]);					first = 0;				}		} else			printf("Unspecified");		printf("\n\tDevice Class: ");		if ((cls[1] & 0x1f) >= sizeof(major_devices) / sizeof(*major_devices))			printf("Invalid Device Class!\n");		else			printf("%s, %s\n", major_devices[cls[1] & 0x1f],				get_minor_device_name(cls[1] & 0x1f, cls[0] >> 2));	}}static void cmd_voice(int ctl, int hdev, char *opt){	static char *icf[] = { "Linear", "u-Law", "A-Law", "Reserved" };	static char *idf[] = { "1's complement", "2's complement", "Sign-Magnitude", "Reserved" };	static char *iss[] = { "8 bit", "16 bit" };	static char *acf[] = { "CVSD", "u-Law", "A-Law", "Reserved" };	int s = hci_open_dev(hdev);	if (s < 0) {		fprintf(stderr, "Can't open device hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	if (opt) {		uint16_t vs = htobs(strtoul(opt, NULL, 16));		if (hci_write_voice_setting(s, vs, 2000) < 0) {			fprintf(stderr, "Can't write voice setting on hci%d: %s (%d)\n",						hdev, strerror(errno), errno);			exit(1);		}	} else {		uint16_t vs;		uint8_t ic;		if (hci_read_voice_setting(s, &vs, 1000) < 0) {			fprintf(stderr, "Can't read voice setting on hci%d: %s (%d)\n",						hdev, strerror(errno), errno);			exit(1);		}		vs = htobs(vs);		ic = (vs & 0x0300) >> 8;		print_dev_hdr(&di);		printf("\tVoice setting: 0x%04x%s\n", vs,			((vs & 0x03fc) == 0x0060) ? " (Default Condition)" : "");		printf("\tInput Coding: %s\n", icf[ic]);		printf("\tInput Data Format: %s\n", idf[(vs & 0xc0) >> 6]);		if (!ic) {			printf("\tInput Sample Size: %s\n", iss[(vs & 0x20) >> 5]);			printf("\t# of bits padding at MSB: %d\n", (vs & 0x1c) >> 2);		}		printf("\tAir Coding Format: %s\n", acf[vs & 0x03]);	}}static int get_link_key(const bdaddr_t *local, const bdaddr_t *peer, uint8_t *key){	char filename[PATH_MAX + 1], addr[18], tmp[3], *str;	int i;	ba2str(local, addr);	create_name(filename, PATH_MAX, STORAGEDIR, addr, "linkkeys");	ba2str(peer, addr);	str = textfile_get(filename, addr);	if (!str)		return -EIO;	memset(tmp, 0, sizeof(tmp));	for (i = 0; i < 16; i++) {		memcpy(tmp, str + (i * 2), 2);		key[i] = (uint8_t) strtol(tmp, NULL, 16);	}	free(str);	return 0;}static void cmd_putkey(int ctl, int hdev, char *opt){	struct hci_dev_info di;	bdaddr_t bdaddr;	uint8_t key[16];	int dd;	if (!opt)		return;	dd = hci_open_dev(hdev);	if (dd < 0) {		fprintf(stderr, "Can't open device hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	if (hci_devinfo(hdev, &di) < 0) {		fprintf(stderr, "Can't get device info for hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	str2ba(opt, &bdaddr);	if (get_link_key(&di.bdaddr, &bdaddr, key) < 0) {		fprintf(stderr, "Can't find link key for %s on hci%d\n", opt, hdev);		exit(1);	}	if (hci_write_stored_link_key(dd, &bdaddr, key, 1000) < 0) {		fprintf(stderr, "Can't write stored link key on hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	hci_close_dev(dd);}static void cmd_delkey(int ctl, int hdev, char *opt){	bdaddr_t bdaddr;	uint8_t all;	int dd;	if (!opt)		return;	dd = hci_open_dev(hdev);	if (dd < 0) {		fprintf(stderr, "Can't open device hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	if (!strcasecmp(opt, "all")) {		bacpy(&bdaddr, BDADDR_ANY);		all = 1;	} else {		str2ba(opt, &bdaddr);		all = 0;	}	if (hci_delete_stored_link_key(dd, &bdaddr, all, 1000) < 0) {		fprintf(stderr, "Can't delete stored link key on hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	hci_close_dev(dd);}static void cmd_oob_data(int ctl, int hdev, char *opt){	uint8_t hash[16], randomizer[16];	int i, dd;	dd = hci_open_dev(hdev);	if (dd < 0) {		fprintf(stderr, "Can't open device hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	if (hci_read_local_oob_data(dd, hash, randomizer, 1000) < 0) {		fprintf(stderr, "Can't read local OOB data on hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	print_dev_hdr(&di);	printf("\tOOB Hash:  ");	for (i = 0; i < 16; i++)		printf(" %02x", hash[i]);	printf("\n\tRandomizer:");	for (i = 0; i < 16; i++)		printf(" %02x", randomizer[i]);	printf("\n");	hci_close_dev(dd);}static void cmd_commands(int ctl, int hdev, char *opt){	uint8_t cmds[64];	char *str;	int i, n, dd;	dd = hci_open_dev(hdev);	if (dd < 0) {		fprintf(stderr, "Can't open device hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	if (hci_read_local_commands(dd, cmds, 1000) < 0) {		fprintf(stderr, "Can't read support commands on hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	print_dev_hdr(&di);	for (i = 0; i < 64; i++) {		if (!cmds[i])			continue;		printf("%s Octet %-2d = 0x%02x (Bit",			i ? "\t\t ": "\tCommands:", i, cmds[i]);		for (n = 0; n < 8; n++)			if (cmds[i] & (1 << n))				printf(" %d", n);		printf(")\n");	}	str = hci_commandstostr(cmds, "\t", 71);	printf("%s\n", str);	bt_free(str);	hci_close_dev(dd);}static void cmd_version(int ctl, int hdev, char *opt){	struct hci_version ver;	char *hciver, *lmpver;	int dd;	dd = hci_open_dev(hdev);	if (dd < 0) {		fprintf(stderr, "Can't open device hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	if (hci_read_local_version(dd, &ver, 1000) < 0) {		fprintf(stderr, "Can't read version info hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	hciver = hci_vertostr(ver.hci_ver);	lmpver = lmp_vertostr(ver.hci_ver);	print_dev_hdr(&di);	printf("\tHCI Ver: %s (0x%x) HCI Rev: 0x%x LMP Ver: %s (0x%x) LMP Subver: 0x%x\n"		"\tManufacturer: %s (%d)\n",		hciver ? hciver : "n/a", ver.hci_ver, ver.hci_rev,		lmpver ? lmpver : "n/a", ver.lmp_ver, ver.lmp_subver,		bt_compidtostr(ver.manufacturer), ver.manufacturer);	if (hciver)		bt_free(hciver);	if (lmpver)		bt_free(lmpver);	hci_close_dev(dd);}static void cmd_inq_tpl(int ctl, int hdev, char *opt){	int dd;	dd = hci_open_dev(hdev);	if (dd < 0) {		fprintf(stderr, "Can't open device hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	if (opt) {		int8_t level = atoi(opt);		if (hci_write_inquiry_transmit_power_level(dd, level, 2000) < 0) {			fprintf(stderr, "Can't set inquiry transmit power level on hci%d: %s (%d)\n",						hdev, strerror(errno), errno);			exit(1);		}	} else {		int8_t level;		if (hci_read_inquiry_transmit_power_level(dd, &level, 1000) < 0) {			fprintf(stderr, "Can't read inquiry transmit power level on hci%d: %s (%d)\n",						hdev, strerror(errno), errno);			exit(1);		}		print_dev_hdr(&di);		printf("\tInquiry transmit power level: %d\n", level);	}	hci_close_dev(dd);}static void cmd_inq_mode(int ctl, int hdev, char *opt){	int dd;	dd = hci_open_dev(hdev);	if (dd < 0) {		fprintf(stderr, "Can't open device hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	if (opt) {		uint8_t mode = atoi(opt);		if (hci_write_inquiry_mode(dd, mode, 2000) < 0) {			fprintf(stderr, "Can't set inquiry mode on hci%d: %s (%d)\n",						hdev, strerror(errno), errno);			exit(1);		}	} else {		uint8_t mode;		if (hci_read_inquiry_mode(dd, &mode, 1000) < 0) {			fprintf(stderr, "Can't read inquiry mode on hci%d: %s (%d)\n",						hdev, strerror(errno), errno);			exit(1);		}		print_dev_hdr(&di);		printf("\tInquiry mode: ");		switch (mode) {		case 0:			printf("Standard Inquiry\n");			break;		case 1:			printf("Inquiry with RSSI\n");			break;		case 2:			printf("Inquiry with RSSI or Extended Inquiry\n");			break;		default:			printf("Unknown (0x%02x)\n", mode);			break;		}	}	hci_close_dev(dd);}static void cmd_inq_data(int ctl, int hdev, char *opt){	int i, dd;	dd = hci_open_dev(hdev);	if (dd < 0) {		fprintf(stderr, "Can't open device hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	if (opt) {		uint8_t fec = 0, data[240];		char tmp[3];		int i, size;		memset(data, 0, sizeof(data));		memset(tmp, 0, sizeof(tmp));		size = (strlen(opt) + 1) / 2;		if (size > 240)			size = 240;		for (i = 0; i < size; i++) {			memcpy(tmp, opt + (i * 2), 2);			data[i] = strtol(tmp, NULL, 16);		}		if (hci_write_ext_inquiry_response(dd, fec, data, 2000) < 0) {			fprintf(stderr, "Can't set extended inquiry response on hci%d: %s (%d)\n",						hdev, strerror(errno), errno);			exit(1);		}	} else {		uint8_t fec, data[240], len, type, *ptr;		char *str;		if (hci_read_ext_inquiry_response(dd, &fec, data, 1000) < 0) {			fprintf(stderr, "Can't read extended inquiry response on hci%d: %s (%d)\n",						hdev, strerror(errno), errno);			exit(1);		}		print_dev_hdr(&di);		printf("\tFEC %s\n\t\t", fec ? "enabled" : "disabled");		for (i = 0; i < 240; i++)			printf("%02x%s%s", data[i], (i + 1) % 8 ? "" : " ",				(i + 1) % 16 ? " " : (i < 239 ? "\n\t\t" : "\n"));		ptr = data;		while (*ptr) {			len = *ptr++;			type = *ptr++;			switch (type) {			case 0x01:				printf("\tFlags:");				for (i = 0; i < len - 1; i++)					printf(" 0x%2.2x", *((uint8_t *) (ptr + i)));				printf("\n");				break;			case 0x02:			case 0x03:				printf("\t%s service classes:",					type == 0x02 ? "Shortened" : "Complete");				for (i = 0; i < (len - 1) / 2; i++) {					uint16_t val = btohs(bt_get_unaligned((uint16_t *) (ptr + (i * 2))));					printf(" 0x%4.4x", val);				}				printf("\n");				break;			case 0x08:			case 0x09:				str = malloc(len);				if (str) {					snprintf(str, len, "%s", ptr);					for (i = 0; i < len - 1; i++) {						if ((unsigned char) str[i] < 32 || str[i] == 127)							str[i] = '.';					}					printf("\t%s local name: \'%s\'\n",						type == 0x08 ? "Shortened" : "Complete", str);					free(str);				}				break;			case 0x0a:				printf("\tTX power level: %d\n", *((uint8_t *) ptr));				break;			default:				printf("\tUnknown type 0x%02x with %d bytes data\n",								type, len - 1);				break;			}			ptr += (len - 1);		}		printf("\n");	}	hci_close_dev(dd);}static void cmd_inq_type(int ctl, int hdev, char *opt){	int dd;	dd = hci_open_dev(hdev);	if (dd < 0) {		fprintf(stderr, "Can't open device hci%d: %s (%d)\n",						hdev, strerror(errno), errno);		exit(1);	}	if (opt) {		uint8_t type = atoi(opt);		if (hci_write_inquiry_scan_type(dd, type, 2000) < 0) {			fprintf(stderr, "Can't set inquiry scan type on hci%d: %s (%d)\n",						hdev, strerror(errno), errno);			exit(1);		}	} else {		uint8_t type;		if (hci_read_inquiry_scan_type(dd, &type, 1000) < 0) {			fprintf(stderr, "Can't read inquiry scan type on hci%d: %s (%d)\n",						hdev, strerror(errno), errno);			exit(1);		}		print_dev_hdr(&di);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久夜| 激情欧美日韩一区二区| 欧美最猛性xxxxx直播| 一二三四社区欧美黄| 日韩精品一区二区三区在线播放 | 97久久精品人人做人人爽| 亚洲视频狠狠干| 日韩精品一区二区三区视频播放| 精品亚洲porn| 三级欧美在线一区| 中文字幕人成不卡一区| 5月丁香婷婷综合| 99精品视频在线观看| 日韩精品久久理论片| 亚洲欧美在线高清| 国产日韩成人精品| 91精品国产综合久久久久| 91美女福利视频| 国产成人自拍高清视频在线免费播放| 亚洲精品成人a在线观看| 26uuu久久天堂性欧美| 日本韩国欧美一区二区三区| 国产99一区视频免费| 精品在线一区二区三区| 秋霞成人午夜伦在线观看| 伊人性伊人情综合网| 亚洲猫色日本管| 亚洲另类色综合网站| 亚洲人成网站在线| 亚洲欧洲www| 日韩一区在线看| 亚洲色图欧美激情| 中文字幕精品一区二区三区精品| 日韩午夜电影av| 精品91自产拍在线观看一区| 亚洲精品一区二区三区香蕉| 久久综合狠狠综合| 国产精品色眯眯| 亚洲一区二区偷拍精品| 日韩和欧美的一区| 国产麻豆成人精品| 色综合久久久网| 欧美精品 国产精品| 久久网站热最新地址| 国产精品久久久爽爽爽麻豆色哟哟 | 欧美艳星brazzers| 日韩欧美中文字幕制服| 久久精品视频免费观看| 亚洲午夜一区二区三区| 精品一区二区日韩| 欧美在线综合视频| 精品国产百合女同互慰| 亚洲精品视频在线看| 久久国产视频网| 欧美亚洲禁片免费| 亚洲欧美在线高清| 国产自产2019最新不卡| 欧美福利视频一区| 亚洲靠逼com| eeuss鲁片一区二区三区在线看| 欧美日韩精品欧美日韩精品一 | 欧美色窝79yyyycom| 久久久www成人免费毛片麻豆| 亚洲一区二区av电影| 99久久精品费精品国产一区二区| 亚洲精品一区二区三区精华液 | 91农村精品一区二区在线| 久久久久久久电影| 国产美女娇喘av呻吟久久| 欧美夫妻性生活| 欧美aaa在线| 88在线观看91蜜桃国自产| 亚洲成av人片在线观看无码| 91色.com| 午夜影视日本亚洲欧洲精品| 99精品热视频| 一区二区三区加勒比av| 在线中文字幕不卡| 亚洲高清视频在线| 日韩欧美国产电影| 国产成人精品三级麻豆| 国产精品美女www爽爽爽| 91在线视频免费观看| 亚洲国产人成综合网站| 日韩一级欧美一级| 国产经典欧美精品| 亚洲少妇30p| 51精品国自产在线| 成人午夜激情影院| 亚洲va国产天堂va久久en| 久久综合精品国产一区二区三区 | 国产jizzjizz一区二区| 亚洲一区二区偷拍精品| 日韩久久久久久| 色哟哟精品一区| 久久99久久精品欧美| 亚洲在线观看免费| 亚洲欧洲韩国日本视频| 欧美成人精精品一区二区频| 91国产视频在线观看| 国产乱子轮精品视频| 五月天欧美精品| 亚洲另类在线一区| 国产精品久久久久久久久免费丝袜 | 精品国产一二三| 欧美老女人第四色| 91精品91久久久中77777| 国产成人在线视频网址| 久久精品国产一区二区| 亚洲国产一区二区视频| 国产精品久久久一区麻豆最新章节| 欧美tickling挠脚心丨vk| 日韩一区二区在线观看视频 | 亚洲国产成人av| 亚洲一区二区三区精品在线| 亚洲欧美偷拍卡通变态| 亚洲激情自拍视频| 亚洲va国产va欧美va观看| 亚洲大片一区二区三区| 性久久久久久久| 国产一区在线看| av亚洲精华国产精华精华| 日本韩国一区二区| 日韩一区二区三区四区| 久久伊99综合婷婷久久伊| 久久精品网站免费观看| 亚洲区小说区图片区qvod| 亚洲精品免费在线观看| 日韩精品高清不卡| 国产乱码字幕精品高清av| av欧美精品.com| 制服丝袜中文字幕一区| 中文字幕av一区 二区| 性欧美疯狂xxxxbbbb| 国产成人一级电影| 欧美午夜精品久久久久久超碰 | 欧美日韩高清一区二区三区| 欧美videossexotv100| 亚洲欧美区自拍先锋| 另类欧美日韩国产在线| 日本韩国视频一区二区| 国产日产欧美一区二区三区 | 久久99精品国产麻豆不卡| 91麻豆免费在线观看| 久久精品一区二区三区不卡牛牛| 亚洲国产日产av| 欧美自拍偷拍一区| 中文字幕一区二区三区不卡 | www.亚洲精品| 国产午夜亚洲精品羞羞网站| 午夜电影网一区| 在线精品视频免费观看| 亚洲品质自拍视频网站| 99r精品视频| 一区二区免费在线| 91福利精品视频| 亚洲午夜私人影院| 欧美另类高清zo欧美| 五月激情综合网| 日韩亚洲电影在线| 久久成人免费网| 欧美极品xxx| 91国偷自产一区二区三区观看| 综合电影一区二区三区| 在线免费不卡视频| 亚洲午夜在线视频| 91精品婷婷国产综合久久性色 | 亚洲国产精品v| 在线这里只有精品| 麻豆精品视频在线| 亚洲国产精品99久久久久久久久| 国产精品亚洲第一区在线暖暖韩国| 国产亚洲一区字幕| 欧美三级视频在线| 秋霞影院一区二区| 日韩理论片网站| 日韩视频在线你懂得| 国产精品亚洲专一区二区三区| 1024精品合集| 欧美videos中文字幕| 欧美中文字幕久久| 国产不卡免费视频| 五月天久久比比资源色| 亚洲欧洲国产日本综合| 精品国产一区久久| 欧美日韩国产影片| 成人av电影观看| 国内精品免费在线观看| 亚洲国产精品一区二区www| 精品播放一区二区| 日韩小视频在线观看专区| 色乱码一区二区三区88| 97久久人人超碰| 色av成人天堂桃色av| 国产九色精品成人porny| 久久不见久久见免费视频1| 日韩高清国产一区在线| 天天综合网 天天综合色| 天堂va蜜桃一区二区三区漫画版| 亚洲欧洲成人av每日更新|