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

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

?? bluetooth.c

?? 實(shí)現(xiàn)藍(lán)牙的各種profile
?? C
字號(hào):
/* * *  BlueZ - Bluetooth protocol stack for Linux * *  Copyright (C) 2000-2001  Qualcomm Incorporated *  Copyright (C) 2002-2003  Maxim Krasnyansky <maxk@qualcomm.com> *  Copyright (C) 2002-2007  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 <ctype.h>#include <stdarg.h>#include <stdlib.h>#include <malloc.h>#include <string.h>#include <sys/socket.h>#include <bluetooth/bluetooth.h>#include <bluetooth/hci.h>void baswap(bdaddr_t *dst, const bdaddr_t *src){	register unsigned char *d = (unsigned char *) dst;	register const unsigned char *s = (const unsigned char *) src;	register int i;	for (i = 0; i < 6; i++)		d[i] = s[5-i];}char *batostr(const bdaddr_t *ba){	char *str = bt_malloc(18);	if (!str)		return NULL;	sprintf(str, "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X",		ba->b[0], ba->b[1], ba->b[2], 		ba->b[3], ba->b[4], ba->b[5]);	return str;}bdaddr_t *strtoba(const char *str){	const char *ptr = str;	int i;	uint8_t *ba = bt_malloc(sizeof(bdaddr_t));	if (!ba)		return NULL;	for(i = 0; i < 6; i++) {		ba[i] = (uint8_t) strtol(ptr, NULL, 16);		if (i != 5 && !(ptr = strchr(ptr,':')))			ptr = ":00:00:00:00:00";		ptr++;	}	return (bdaddr_t *) ba;}int ba2str(const bdaddr_t *ba, char *str){	uint8_t b[6];	baswap((bdaddr_t *) b, ba);	return sprintf(str, "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X",		b[0], b[1], b[2], b[3], b[4], b[5]);}int str2ba(const char *str, bdaddr_t *ba){	uint8_t b[6];	const char *ptr = str;	int i;	for (i = 0; i < 6; i++) {		b[i] = (uint8_t) strtol(ptr, NULL, 16);		if (i != 5 && !(ptr = strchr(ptr, ':')))			ptr = ":00:00:00:00:00";		ptr++;	}	baswap(ba, (bdaddr_t *) b);	return 0;}int ba2oui(const bdaddr_t *ba, char *str){	uint8_t b[6];	baswap((bdaddr_t *) b, ba);	return sprintf(str, "%2.2X-%2.2X-%2.2X", b[0], b[1], b[2]);}int bachk(const char *str){	char tmp[18], *ptr = tmp;	if (!str)		return -1;	if (strlen(str) != 17)		return -1;	memcpy(tmp, str, 18);	while (*ptr) {		*ptr = toupper(*ptr);		if (*ptr < '0'|| (*ptr > '9' && *ptr < 'A') || *ptr > 'F')			return -1;		ptr++;		*ptr = toupper(*ptr);		if (*ptr < '0'|| (*ptr > '9' && *ptr < 'A') || *ptr > 'F')			return -1;		ptr++;		*ptr = toupper(*ptr);		if (*ptr == 0)			break;		if (*ptr != ':')			return -1;		ptr++;	}	return 0;}int baprintf(const char *format, ...){	va_list ap;	int len;	va_start(ap, format);	len = vprintf(format, ap);	va_end(ap);	return len;}int bafprintf(FILE *stream, const char *format, ...){	va_list ap;	int len;	va_start(ap, format);	len = vfprintf(stream, format, ap);	va_end(ap);	return len;}int basprintf(char *str, const char *format, ...){	va_list ap;	int len;	va_start(ap, format);	len = vsnprintf(str, (~0U) >> 1, format, ap);	va_end(ap);	return len;}int basnprintf(char *str, size_t size, const char *format, ...){	va_list ap;	int len;	va_start(ap, format);	len = vsnprintf(str, size, format, ap);	va_end(ap);	return len;}void *bt_malloc(size_t size){	return malloc(size);}void bt_free(void *ptr){	free(ptr);}/* Bluetooth error codes to Unix errno mapping */int bt_error(uint16_t code){	switch (code) {	case 0:		return 0;	case HCI_UNKNOWN_COMMAND:		return EBADRQC;	case HCI_NO_CONNECTION:		return ENOTCONN;	case HCI_HARDWARE_FAILURE:		return EIO;	case HCI_PAGE_TIMEOUT:		return EHOSTDOWN;	case HCI_AUTHENTICATION_FAILURE:		return EACCES;	case HCI_PIN_OR_KEY_MISSING:		return EINVAL;	case HCI_MEMORY_FULL:		return ENOMEM;	case HCI_CONNECTION_TIMEOUT:		return ETIMEDOUT;	case HCI_MAX_NUMBER_OF_CONNECTIONS:	case HCI_MAX_NUMBER_OF_SCO_CONNECTIONS:		return EMLINK;	case HCI_ACL_CONNECTION_EXISTS:		return EALREADY;	case HCI_COMMAND_DISALLOWED:	case HCI_TRANSACTION_COLLISION:	case HCI_ROLE_SWITCH_PENDING:		return EBUSY;	case HCI_REJECTED_LIMITED_RESOURCES:	case HCI_REJECTED_PERSONAL:	case HCI_QOS_REJECTED:		return ECONNREFUSED;	case HCI_HOST_TIMEOUT:		return ETIMEDOUT;	case HCI_UNSUPPORTED_FEATURE:	case HCI_QOS_NOT_SUPPORTED:	case HCI_PAIRING_NOT_SUPPORTED:	case HCI_CLASSIFICATION_NOT_SUPPORTED:	case HCI_UNSUPPORTED_LMP_PARAMETER_VALUE:	case HCI_PARAMETER_OUT_OF_RANGE:	case HCI_QOS_UNACCEPTABLE_PARAMETER:		return EOPNOTSUPP;	case HCI_INVALID_PARAMETERS:	case HCI_SLOT_VIOLATION:		return EINVAL;	case HCI_OE_USER_ENDED_CONNECTION:	case HCI_OE_LOW_RESOURCES:	case HCI_OE_POWER_OFF:		return ECONNRESET;	case HCI_CONNECTION_TERMINATED:		return ECONNABORTED;	case HCI_REPEATED_ATTEMPTS:		return ELOOP;	case HCI_REJECTED_SECURITY:	case HCI_PAIRING_NOT_ALLOWED:	case HCI_INSUFFICIENT_SECURITY:		return EACCES;	case HCI_UNSUPPORTED_REMOTE_FEATURE:		return EPROTONOSUPPORT;	case HCI_SCO_OFFSET_REJECTED:		return ECONNREFUSED;	case HCI_UNKNOWN_LMP_PDU:	case HCI_INVALID_LMP_PARAMETERS:	case HCI_LMP_ERROR_TRANSACTION_COLLISION:	case HCI_LMP_PDU_NOT_ALLOWED:	case HCI_ENCRYPTION_MODE_NOT_ACCEPTED:		return EPROTO;	default:		return ENOSYS;	}}char *bt_compidtostr(int compid){	switch (compid) {	case 0:		return "Ericsson Technology Licensing";	case 1:		return "Nokia Mobile Phones";	case 2:		return "Intel Corp.";	case 3:		return "IBM Corp.";	case 4:		return "Toshiba Corp.";	case 5:		return "3Com";	case 6:		return "Microsoft";	case 7:		return "Lucent";	case 8:		return "Motorola";	case 9:		return "Infineon Technologies AG";	case 10:		return "Cambridge Silicon Radio";	case 11:		return "Silicon Wave";	case 12:		return "Digianswer A/S";	case 13:		return "Texas Instruments Inc.";	case 14:		return "Parthus Technologies Inc.";	case 15:		return "Broadcom Corporation";	case 16:		return "Mitel Semiconductor";	case 17:		return "Widcomm, Inc.";	case 18:		return "Zeevo, Inc.";	case 19:		return "Atmel Corporation";	case 20:		return "Mitsubishi Electric Corporation";	case 21:		return "RTX Telecom A/S";	case 22:		return "KC Technology Inc.";	case 23:		return "Newlogic";	case 24:		return "Transilica, Inc.";	case 25:		return "Rohde & Schwartz GmbH & Co. KG";	case 26:		return "TTPCom Limited";	case 27:		return "Signia Technologies, Inc.";	case 28:		return "Conexant Systems Inc.";	case 29:		return "Qualcomm";	case 30:		return "Inventel";	case 31:		return "AVM Berlin";	case 32:		return "BandSpeed, Inc.";	case 33:		return "Mansella Ltd";	case 34:		return "NEC Corporation";	case 35:		return "WavePlus Technology Co., Ltd.";	case 36:		return "Alcatel";	case 37:		return "Philips Semiconductors";	case 38:		return "C Technologies";	case 39:		return "Open Interface";	case 40:		return "R F Micro Devices";	case 41:		return "Hitachi Ltd";	case 42:		return "Symbol Technologies, Inc.";	case 43:		return "Tenovis";	case 44:		return "Macronix International Co. Ltd.";	case 45:		return "GCT Semiconductor";	case 46:		return "Norwood Systems";	case 47:		return "MewTel Technology Inc.";	case 48:		return "ST Microelectronics";	case 49:		return "Synopsys";	case 50:		return "Red-M (Communications) Ltd";	case 51:		return "Commil Ltd";	case 52:		return "Computer Access Technology Corporation (CATC)";	case 53:		return "Eclipse (HQ Espana) S.L.";	case 54:		return "Renesas Technology Corp.";	case 55:		return "Mobilian Corporation";	case 56:		return "Terax";	case 57:		return "Integrated System Solution Corp.";	case 58:		return "Matsushita Electric Industrial Co., Ltd.";	case 59:		return "Gennum Corporation";	case 60:		return "Research In Motion";	case 61:		return "IPextreme, Inc.";	case 62:		return "Systems and Chips, Inc";	case 63:		return "Bluetooth SIG, Inc";	case 64:		return "Seiko Epson Corporation";	case 65:		return "Integrated Silicon Solution Taiwain, Inc.";	case 66:		return "CONWISE Technology Corporation Ltd";	case 67:		return "PARROT SA";	case 68:		return "Socket Communications";	case 69:		return "Atheros Communications, Inc.";	case 70:		return "MediaTek, Inc.";	case 71:		return "Bluegiga";	/* (tentative) */	case 72:		return "Marvell Technology Group Ltd.";	case 73:		return "3DSP Corporation";	case 74:		return "Accel Semiconductor Ltd.";	case 75:		return "Continental Automotive Systems";	case 65535:		return "internal use";	default:		return "not assigned";	}}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亚洲一区二区三区在线| 欧美一a一片一级一片| 免费人成在线不卡| 天天色天天操综合| 午夜免费欧美电影| 亚洲成a天堂v人片| 日韩国产精品久久| 日韩高清在线观看| 免费高清在线视频一区·| 看电视剧不卡顿的网站| 九九视频精品免费| 久久精品国产久精国产| 老司机精品视频导航| 国内偷窥港台综合视频在线播放| 国产麻豆精品theporn| 欧美日韩专区在线| 51午夜精品国产| 日韩午夜激情免费电影| 精品理论电影在线| 久久久久久久久久久久久女国产乱 | 伊人婷婷欧美激情| 亚洲国产精品自拍| 久久精品国产网站| 成人网男人的天堂| 91国偷自产一区二区使用方法| 欧美日韩不卡在线| 精品国产乱码久久久久久久久| 国产三级精品在线| 亚洲精品成a人| 青青国产91久久久久久| 狠狠色丁香婷婷综合| 成人精品国产免费网站| 欧美在线制服丝袜| 日韩欧美成人一区| 欧美国产在线观看| 夜夜嗨av一区二区三区网页| 免费观看日韩av| 国产成人在线影院| 欧美中文字幕一区二区三区亚洲| 日韩视频免费直播| 国产精品福利一区二区三区| 亚洲第一狼人社区| 精品一区二区在线免费观看| 91视频免费播放| 日韩限制级电影在线观看| 国产精品久久久久久久久搜平片 | 亚洲婷婷综合色高清在线| 亚洲二区在线视频| 国产米奇在线777精品观看| 91视频观看视频| 日韩精品一区二区三区在线播放 | 欧美精品乱人伦久久久久久| 精品久久久三级丝袜| 亚洲人妖av一区二区| 蜜桃在线一区二区三区| 91美女蜜桃在线| 精品欧美一区二区三区精品久久 | 国产一级精品在线| 欧美午夜电影网| 国产精品久久久久婷婷二区次| 日韩黄色免费网站| 色国产精品一区在线观看| 久久婷婷久久一区二区三区| 亚洲成a人片综合在线| 成人va在线观看| 午夜国产精品影院在线观看| 国产成人av电影在线| 欧美精品色综合| 一区二区三区在线播| 国产精品18久久久久久vr | 亚洲一级电影视频| 成人涩涩免费视频| 精品国产a毛片| 亚洲mv大片欧洲mv大片精品| 99久久综合精品| 久久久久久一二三区| 日本午夜一区二区| 欧美性极品少妇| 自拍偷拍国产亚洲| 成人一区二区三区视频| 亚洲精品一区二区三区影院| 日日噜噜夜夜狠狠视频欧美人 | 成人av在线资源网站| 精品欧美乱码久久久久久1区2区 | 91视视频在线直接观看在线看网页在线看| 日韩欧美另类在线| 图片区小说区国产精品视频| 色噜噜狠狠色综合欧洲selulu| 欧美国产日韩精品免费观看| 国产一区二区在线观看免费| 日韩亚洲欧美综合| 青青草91视频| 日韩一区二区精品| 视频一区中文字幕国产| 欧美日本国产一区| 午夜精品在线视频一区| 欧美日本一区二区在线观看| 亚洲国产精品一区二区久久恐怖片| 91在线你懂得| 亚洲美女屁股眼交| 日本福利一区二区| 一区二区三区久久| 欧美日韩在线播放三区| 亚洲综合丝袜美腿| 欧美日韩一区二区在线观看视频 | 国产一区二区免费视频| 精品国产一区二区三区av性色| 琪琪久久久久日韩精品| 欧美一级日韩免费不卡| 蜜臀久久久99精品久久久久久| 欧美变态口味重另类| 国产专区欧美精品| 国产欧美日产一区| 91在线一区二区三区| 一区二区免费看| 欧美剧在线免费观看网站| 肉色丝袜一区二区| 久久伊人中文字幕| 成人免费毛片嘿嘿连载视频| 最新国产成人在线观看| 欧美专区亚洲专区| 蜜乳av一区二区三区| 久久久综合视频| 91麻豆成人久久精品二区三区| 亚洲小说春色综合另类电影| 欧美一区二区三区四区在线观看| 另类调教123区| 国产精品传媒入口麻豆| 欧美国产丝袜视频| 91免费视频大全| 亚洲成人7777| 国产欧美一区二区精品性色 | 精品国偷自产国产一区| 国产伦精品一区二区三区在线观看| 国产欧美一区二区在线观看| 色视频成人在线观看免| 日韩国产欧美在线播放| 国产亚洲精品7777| 色婷婷精品久久二区二区蜜臀av | 日韩激情一区二区| 欧美激情中文不卡| 欧美四级电影网| 激情综合网av| 亚洲男同性视频| 欧美电影免费观看高清完整版在线| 高清不卡在线观看| 亚洲成人午夜影院| 久久精品一二三| 欧美色综合天天久久综合精品| 久久国产免费看| 亚洲精品免费看| 精品成人一区二区| 91久久精品国产91性色tv| 久久精品国产亚洲a| 一区二区三区在线看| 精品美女一区二区| 欧美视频第二页| 国产**成人网毛片九色| 日韩精品91亚洲二区在线观看| 最新国产成人在线观看| 日韩精品中午字幕| 日本大香伊一区二区三区| 久久99久国产精品黄毛片色诱| 亚洲免费毛片网站| 久久综合九色综合97_久久久| 91成人在线精品| 成人免费看视频| 久久精品国产免费| 亚洲五月六月丁香激情| 国产精品美女一区二区三区| 日韩亚洲欧美一区| 欧美日韩精品一区二区| 成人av网站在线| 国产一区二区三区四区五区美女| 亚洲国产精品影院| 亚洲欧美另类在线| 国产精品私房写真福利视频| 精品国产免费视频| 91精品国产手机| 欧美日韩日日骚| 色噜噜狠狠色综合中国| 成人av免费网站| 成人性生交大合| 国产经典欧美精品| 国产精品一区一区| 老汉av免费一区二区三区| 日产精品久久久久久久性色 | 一本大道久久精品懂色aⅴ| 成人中文字幕在线| 国产在线播放一区| 久久不见久久见免费视频1| 亚洲成av人片一区二区三区| 一区二区高清在线| 亚洲男同性恋视频| 亚洲三级小视频| 中文字幕一区二区三区四区| 国产欧美日产一区| 国产精品国产自产拍在线| 亚洲国产精华液网站w| 国产欧美一区二区在线|