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

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

?? sdp.c

?? 基于LINUX內核驅動的開發
?? C
字號:
/* * *  BlueZ - Bluetooth protocol stack for Linux * *  Copyright (C) 2002-2003  Maxim Krasnyansky <maxk@qualcomm.com> *  Copyright (C) 2002-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 <unistd.h>#include <stdlib.h>#include <string.h>#include <syslog.h>#include <sys/types.h>#include <sys/socket.h>#include <bluetooth/bluetooth.h>#include <bluetooth/sdp.h>#include <bluetooth/sdp_lib.h>#include "dund.h"static unsigned char async_uuid[] = {	0x03, 0x50, 0x27, 0x8F, 0x3D, 0xCA, 0x4E, 0x62,					0x83, 0x1D, 0xA4, 0x11, 0x65, 0xFF, 0x90, 0x6C };static sdp_record_t  *record;static sdp_session_t *session;void dun_sdp_unregister(void) {	if (record && sdp_record_unregister(session, record))		syslog(LOG_ERR, "Service record unregistration failed.");	sdp_close(session);}int dun_sdp_register(bdaddr_t *device, uint8_t channel, int type){	sdp_list_t *svclass, *pfseq, *apseq, *root, *aproto;	uuid_t root_uuid, l2cap, rfcomm, dun;	sdp_profile_desc_t profile[1];	sdp_list_t *proto[2];	int status;	session = sdp_connect(BDADDR_ANY, BDADDR_LOCAL, 0);	if (!session) {		syslog(LOG_ERR, "Failed to connect to the local SDP server. %s(%d)", 				strerror(errno), errno);		return -1;	}	record = sdp_record_alloc();	if (!record) {		syslog(LOG_ERR, "Failed to alloc service record");		return -1;	}	sdp_uuid16_create(&root_uuid, PUBLIC_BROWSE_GROUP);	root = sdp_list_append(NULL, &root_uuid);	sdp_set_browse_groups(record, root);	sdp_uuid16_create(&l2cap, L2CAP_UUID);	proto[0] = sdp_list_append(NULL, &l2cap);	apseq    = sdp_list_append(NULL, proto[0]);	sdp_uuid16_create(&rfcomm, RFCOMM_UUID);	proto[1] = sdp_list_append(NULL, &rfcomm);	proto[1] = sdp_list_append(proto[1], sdp_data_alloc(SDP_UINT8, &channel));	apseq    = sdp_list_append(apseq, proto[1]);	aproto   = sdp_list_append(NULL, apseq);	sdp_set_access_protos(record, aproto);	switch (type) {	case MROUTER:		sdp_uuid16_create(&dun, SERIAL_PORT_SVCLASS_ID);		break;	case ACTIVESYNC:		sdp_uuid128_create(&dun, (void *) async_uuid);		break;	case DIALUP:		sdp_uuid16_create(&dun, DIALUP_NET_SVCLASS_ID);		break;	default:		sdp_uuid16_create(&dun, LAN_ACCESS_SVCLASS_ID);		break;	}	svclass = sdp_list_append(NULL, &dun);	sdp_set_service_classes(record, svclass);	switch (type) {	case LANACCESS:		sdp_uuid16_create(&profile[0].uuid, LAN_ACCESS_PROFILE_ID);		profile[0].version = 0x0100;		pfseq = sdp_list_append(NULL, &profile[0]);		sdp_set_profile_descs(record, pfseq);		break;	case DIALUP:		sdp_uuid16_create(&profile[0].uuid, DIALUP_NET_PROFILE_ID);		profile[0].version = 0x0100;		pfseq = sdp_list_append(NULL, &profile[0]);		sdp_set_profile_descs(record, pfseq);		break;	}	switch (type) {	case MROUTER:		sdp_set_info_attr(record, "mRouter", NULL, NULL);		break;	case ACTIVESYNC:		sdp_set_info_attr(record, "ActiveSync", NULL, NULL);		break;	case DIALUP:		sdp_set_info_attr(record, "Dialup Networking", NULL, NULL);		break;	default:		sdp_set_info_attr(record, "LAN Access Point", NULL, NULL);		break;	}	status = sdp_device_record_register(session, device, record, 0);	if (status) {		syslog(LOG_ERR, "SDP registration failed.");		sdp_record_free(record);		record = NULL;		return -1;	}	return 0;}int dun_sdp_search(bdaddr_t *src, bdaddr_t *dst, int *channel, int type){	sdp_session_t *s;	sdp_list_t *srch, *attrs, *rsp;	uuid_t svclass;	uint16_t attr;	int err;	s = sdp_connect(src, dst, 0);	if (!s) {		syslog(LOG_ERR, "Failed to connect to the SDP server. %s(%d)", 				strerror(errno), errno);		return -1;	}	switch (type) {	case MROUTER:		sdp_uuid16_create(&svclass, SERIAL_PORT_SVCLASS_ID);		break;	case ACTIVESYNC:		sdp_uuid128_create(&svclass, (void *) async_uuid);		break;	case DIALUP:		sdp_uuid16_create(&svclass, DIALUP_NET_SVCLASS_ID);		break;	default:		sdp_uuid16_create(&svclass, LAN_ACCESS_SVCLASS_ID);		break;	}	srch  = sdp_list_append(NULL, &svclass);	attr  = SDP_ATTR_PROTO_DESC_LIST;	attrs = sdp_list_append(NULL, &attr);	err = sdp_service_search_attr_req(s, srch, SDP_ATTR_REQ_INDIVIDUAL, attrs, &rsp);	sdp_close(s);	if (err)		return 0;	for(; rsp; rsp = rsp->next) {		sdp_record_t *rec = (sdp_record_t *) rsp->data;		sdp_list_t *protos;		if (!sdp_get_access_protos(rec, &protos)) {			int ch = sdp_get_proto_port(protos, RFCOMM_UUID);			if (ch > 0) {				*channel = ch;				return 1;			}		}	}	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产麻豆精品一区二区| 亚洲精品免费电影| 狠狠色丁香婷婷综合| 欧美不卡一区二区三区四区| 久国产精品韩国三级视频| 精品久久久久久久久久久久久久久| 日韩精品一二区| 精品少妇一区二区三区在线播放| 精品亚洲国内自在自线福利| 国产日韩欧美麻豆| 91蜜桃婷婷狠狠久久综合9色| 亚洲精品国产精华液| 91精品国产欧美一区二区18| 久久99精品国产.久久久久久| 国产日韩精品久久久| 91美女视频网站| 日日夜夜免费精品| 国产喷白浆一区二区三区| 一本大道久久a久久精二百| 丝袜美腿亚洲一区| 日本一区二区三区四区在线视频 | 日韩精品电影一区亚洲| 日韩欧美激情一区| 成人精品在线视频观看| 亚洲国产人成综合网站| 精品久久久久久亚洲综合网 | 精品一区二区在线免费观看| 中文字幕一区免费在线观看| 欧美剧情片在线观看| 国产高清久久久| 亚洲国产精品人人做人人爽| 精品伦理精品一区| 91久久精品日日躁夜夜躁欧美| 日韩电影免费在线观看网站| 中文字幕精品一区| 日韩一区二区视频| 91在线国内视频| 蜜臀久久99精品久久久画质超高清 | 欧美激情艳妇裸体舞| 欧美色综合天天久久综合精品| 国内成人精品2018免费看| 一区二区三区在线影院| 久久众筹精品私拍模特| 欧美午夜精品免费| www.欧美.com| 一本久久综合亚洲鲁鲁五月天| 日本成人超碰在线观看| 中文字幕一区二区三区在线不卡 | 日本最新不卡在线| 一区二区三区在线视频免费观看| 久久综合九色综合97婷婷女人| 日本韩国欧美三级| 成人福利视频网站| 久久av老司机精品网站导航| 亚洲成av人影院| 一区二区三区四区精品在线视频| 久久久久88色偷偷免费| 这里是久久伊人| 欧美日本国产一区| 欧美视频一区在线| 欧美综合一区二区三区| 不卡一区中文字幕| 丁香婷婷综合五月| 国产精品亚洲第一区在线暖暖韩国| 午夜精品久久久久久久久久| 亚洲一区二区三区中文字幕| **性色生活片久久毛片| 国产精品久久久久久户外露出| 国产亚洲欧美在线| 26uuu久久天堂性欧美| 日韩西西人体444www| 欧美一区二区视频网站| 欧美一区二区三区日韩| 欧美色图在线观看| 91精品国产欧美一区二区| 欧美久久婷婷综合色| 欧美日韩国产系列| 在线不卡a资源高清| 777午夜精品免费视频| 6080午夜不卡| 日韩美一区二区三区| 日韩欧美国产小视频| 精品国产免费人成电影在线观看四季 | 亚洲欧美日韩国产综合| 亚洲美女屁股眼交3| 一区二区三区免费观看| 一二三区精品视频| 五月天丁香久久| 麻豆国产精品一区二区三区| 久久99久久精品欧美| 99久久国产综合精品麻豆| 99久久亚洲一区二区三区青草| 成人av免费网站| 欧洲中文字幕精品| 69堂国产成人免费视频| 欧美xxxx在线观看| 国产精品丝袜黑色高跟| 亚洲日本在线看| 一区二区激情小说| 美腿丝袜在线亚洲一区| 国产精选一区二区三区| 99精品国产热久久91蜜凸| 欧美午夜精品久久久久久超碰| 欧美一卡二卡在线| 国产午夜精品一区二区三区视频 | www国产亚洲精品久久麻豆| 久久精品亚洲一区二区三区浴池| 国产精品美女久久久久久久久久久| 亚洲色欲色欲www| 水蜜桃久久夜色精品一区的特点| 激情五月播播久久久精品| 高清国产一区二区| 欧美中文字幕一区| 日韩精品一区二| 亚洲少妇最新在线视频| 免费人成在线不卡| 色综合天天综合网天天狠天天| 欧美视频中文字幕| 中文字幕欧美区| 日韩av在线播放中文字幕| 风间由美中文字幕在线看视频国产欧美 | 国产在线一区二区| 久久女同性恋中文字幕| 中文字幕一区二区三区av| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲欧美怡红院| 久久国产精品一区二区| 91首页免费视频| 欧美成人伊人久久综合网| 亚洲狼人国产精品| 国产在线不卡一卡二卡三卡四卡| 色综合久久久久| 久久人人超碰精品| 视频在线观看91| 99国产一区二区三精品乱码| 欧美www视频| 丝袜美腿亚洲色图| 99精品视频在线播放观看| 精品欧美久久久| 亚洲va欧美va国产va天堂影院| 成人免费精品视频| 精品国产一区二区亚洲人成毛片 | 欧美成人午夜电影| 亚洲尤物视频在线| heyzo一本久久综合| 久久先锋影音av鲁色资源网| 午夜天堂影视香蕉久久| 91在线高清观看| 国产欧美一区二区精品性色 | 国产精品久久久久9999吃药| 久久国产尿小便嘘嘘尿| 欧美撒尿777hd撒尿| 综合久久久久久久| 成人听书哪个软件好| 精品国产一区久久| 九一九一国产精品| 欧美精三区欧美精三区| 亚洲综合清纯丝袜自拍| 色婷婷综合久色| 亚洲男人都懂的| 一本到一区二区三区| 亚洲男人的天堂在线aⅴ视频| av在线不卡电影| 中文字幕在线播放不卡一区| a在线欧美一区| 亚洲人精品一区| 在线视频一区二区三区| 一区二区三区中文免费| 欧美性色黄大片手机版| 亚洲成人免费av| 中文字幕欧美日韩一区| 国产激情一区二区三区四区| 国产日韩综合av| 丁香五精品蜜臀久久久久99网站| 国产欧美一区二区三区在线看蜜臀| 国产精品一区三区| 国产精品乱码人人做人人爱| 成人国产精品免费网站| 亚洲女爱视频在线| 91免费在线视频观看| 亚洲午夜国产一区99re久久| 欧美日韩久久一区二区| 美女性感视频久久| 久久久久久夜精品精品免费| 高清视频一区二区| 最新国产精品久久精品| 欧美日韩视频专区在线播放| 日韩精品乱码av一区二区| 精品国产乱码久久久久久浪潮| 国产丶欧美丶日本不卡视频| 一区视频在线播放| 欧美优质美女网站| 久88久久88久久久| 国产精品成人免费| 欧美精品久久99| 国产在线播放一区| 综合婷婷亚洲小说| 91麻豆精品国产91久久久使用方法| 麻豆一区二区99久久久久| 国产精品欧美久久久久无广告 |