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

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

?? sdp.c

?? 基于LINUX內(nèi)核驅(qū)動(dòng)的開發(fā)
?? C
字號(hào):
/* * *  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 <bluetooth/bnep.h>#include "pand.h"static sdp_record_t  *record;static sdp_session_t *session;void bnep_sdp_unregister(void) {	if (record && sdp_record_unregister(session, record))		syslog(LOG_ERR, "Service record unregistration failed.");	sdp_close(session);}static void add_lang_attr(sdp_record_t *r){	sdp_lang_attr_t base_lang;	sdp_list_t *langs = 0;	/* UTF-8 MIBenum (http://www.iana.org/assignments/character-sets) */	base_lang.code_ISO639 = (0x65 << 8) | 0x6e;	base_lang.encoding = 106;	base_lang.base_offset = SDP_PRIMARY_LANG_BASE;	langs = sdp_list_append(0, &base_lang);	sdp_set_lang_attr(r, langs);	sdp_list_free(langs, 0);}int bnep_sdp_register(bdaddr_t *device, uint16_t role){	sdp_list_t *svclass, *pfseq, *apseq, *root, *aproto;	uuid_t root_uuid, pan, l2cap, bnep;	sdp_profile_desc_t profile[1];	sdp_list_t *proto[2];	sdp_data_t *v, *p;	uint16_t psm = 15, version = 0x0100;	uint16_t security_desc = 0;	uint16_t net_access_type = 0xfffe;	uint32_t max_net_access_rate = 0;	char *name = "BlueZ PAN";	char *desc = "BlueZ PAN Service";	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 allocate service record %s(%d)",							strerror(errno), errno);		sdp_close(session);		return -1;	}	sdp_uuid16_create(&root_uuid, PUBLIC_BROWSE_GROUP);	root = sdp_list_append(NULL, &root_uuid);	sdp_set_browse_groups(record, root);	sdp_list_free(root, 0);	sdp_uuid16_create(&l2cap, L2CAP_UUID);	proto[0] = sdp_list_append(NULL, &l2cap);	p = sdp_data_alloc(SDP_UINT16, &psm);	proto[0] = sdp_list_append(proto[0], p);	apseq    = sdp_list_append(NULL, proto[0]);	sdp_uuid16_create(&bnep, BNEP_UUID);	proto[1] = sdp_list_append(NULL, &bnep);	v = sdp_data_alloc(SDP_UINT16, &version);	proto[1] = sdp_list_append(proto[1], v);	/* Supported protocols */	{		uint16_t ptype[4] = { 			0x0800,  /* IPv4 */			0x0806,  /* ARP */		};		sdp_data_t *head, *pseq;		int p;		for (p = 0, head = NULL; p < 2; p++) {			sdp_data_t *data = sdp_data_alloc(SDP_UINT16, &ptype[p]);			if (head)				sdp_seq_append(head, data);			else				head = data;		}		pseq = sdp_data_alloc(SDP_SEQ16, head);		proto[1] = sdp_list_append(proto[1], pseq);	}	apseq = sdp_list_append(apseq, proto[1]);	aproto = sdp_list_append(NULL, apseq);	sdp_set_access_protos(record, aproto);	add_lang_attr(record);	sdp_list_free(proto[0], NULL);	sdp_list_free(proto[1], NULL);	sdp_list_free(apseq, NULL);	sdp_list_free(aproto, NULL);	sdp_data_free(p);	sdp_data_free(v);	sdp_attr_add_new(record, SDP_ATTR_SECURITY_DESC, SDP_UINT16, &security_desc);	switch (role) {	case BNEP_SVC_NAP:		sdp_uuid16_create(&pan, NAP_SVCLASS_ID);		svclass = sdp_list_append(NULL, &pan);		sdp_set_service_classes(record, svclass);		sdp_uuid16_create(&profile[0].uuid, NAP_PROFILE_ID);		profile[0].version = 0x0100;		pfseq = sdp_list_append(NULL, &profile[0]);		sdp_set_profile_descs(record, pfseq);		sdp_set_info_attr(record, "Network Access Point", name, desc);		sdp_attr_add_new(record, SDP_ATTR_NET_ACCESS_TYPE, SDP_UINT16, &net_access_type);		sdp_attr_add_new(record, SDP_ATTR_MAX_NET_ACCESSRATE, SDP_UINT32, &max_net_access_rate);		break;	case BNEP_SVC_GN:		sdp_uuid16_create(&pan, GN_SVCLASS_ID);		svclass = sdp_list_append(NULL, &pan);		sdp_set_service_classes(record, svclass);		sdp_uuid16_create(&profile[0].uuid, GN_PROFILE_ID);		profile[0].version = 0x0100;		pfseq = sdp_list_append(NULL, &profile[0]);		sdp_set_profile_descs(record, pfseq);				sdp_set_info_attr(record, "Group Network Service", name, desc);		break;	case BNEP_SVC_PANU:		sdp_uuid16_create(&pan, PANU_SVCLASS_ID);		svclass = sdp_list_append(NULL, &pan);		sdp_set_service_classes(record, svclass);		sdp_list_free(svclass, 0);		sdp_uuid16_create(&profile[0].uuid, PANU_PROFILE_ID);		profile[0].version = 0x0100;		pfseq = sdp_list_append(NULL, &profile[0]);		sdp_set_profile_descs(record, pfseq);		sdp_list_free(pfseq, 0);		sdp_set_info_attr(record, "PAN User", name, desc);		break;	}	status = sdp_device_record_register(session, device, record, 0);	if (status) {		syslog(LOG_ERR, "SDP registration failed.");		sdp_record_free(record); record = NULL;		sdp_close(session);		return -1;	}	return 0;}/* Search for PAN service. * Returns 1 if service is found and 0 otherwise. */int bnep_sdp_search(bdaddr_t *src, bdaddr_t *dst, uint16_t service){	sdp_list_t *srch, *rsp = NULL;	sdp_session_t *s;	uuid_t svclass;	int err;	switch (service) {	case BNEP_SVC_PANU:		sdp_uuid16_create(&svclass, PANU_SVCLASS_ID);		break;	case BNEP_SVC_NAP:		sdp_uuid16_create(&svclass, NAP_SVCLASS_ID);		break;	case BNEP_SVC_GN:		sdp_uuid16_create(&svclass, GN_SVCLASS_ID);		break;	}	srch = sdp_list_append(NULL, &svclass);	s = sdp_connect(src, dst, 0);	if (!s) {		syslog(LOG_ERR, "Failed to connect to the SDP server. %s(%d)",							strerror(errno), errno);		return 0;	}	err = sdp_service_search_req(s, srch, 1, &rsp);	sdp_close(s);	/* Assume that search is successeful	 * if at least one record is found */	if (!err && sdp_list_len(rsp))		return 1;	return 0;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91网站在线播放| 欧美精品v国产精品v日韩精品| av电影在线观看一区| 色哟哟亚洲精品| 欧美精品一级二级三级| 久久综合久久综合久久综合| 中文字幕免费不卡| 亚洲欧美激情一区二区| 五月综合激情婷婷六月色窝| 精品一区二区三区视频在线观看 | 色哦色哦哦色天天综合| 欧美日韩午夜精品| 国产午夜精品久久久久久久| 成人欧美一区二区三区| 水野朝阳av一区二区三区| 国产精品自拍网站| 欧美日韩一区二区电影| 久久久99免费| 婷婷国产在线综合| 成人毛片在线观看| 5月丁香婷婷综合| 国产精品久久久久影院| 日本免费在线视频不卡一不卡二 | 亚洲日本在线a| 久久国产福利国产秒拍| 91精品办公室少妇高潮对白| 精品国内片67194| 亚洲一区二区在线观看视频| 国产成人午夜精品影院观看视频| 欧美日韩一二区| 国产精品久久久久aaaa| 精品亚洲国内自在自线福利| 91视频.com| 久久久国产一区二区三区四区小说| 亚洲国产精品久久人人爱| 国产精品亚洲一区二区三区在线| 欧美精选在线播放| 亚洲免费观看高清在线观看| 国产剧情一区二区| 69堂成人精品免费视频| 伊人开心综合网| av男人天堂一区| 久久人人超碰精品| 秋霞影院一区二区| 欧美日韩精品二区第二页| 亚洲视频资源在线| 国产电影一区在线| 亚洲天堂精品在线观看| 国产精品夜夜爽| 欧美成人高清电影在线| 日韩高清欧美激情| 欧美视频精品在线观看| 亚洲欧美激情一区二区| 成人av免费观看| 国产午夜精品一区二区| 国产精品一区三区| 精品免费国产二区三区| 日本aⅴ免费视频一区二区三区| 欧美色图12p| 亚洲自拍偷拍麻豆| 色呦呦网站一区| 亚洲免费在线视频| 日本国产一区二区| 亚洲黄一区二区三区| 92国产精品观看| 亚洲欧美日韩国产一区二区三区| 99久久婷婷国产| 亚洲特黄一级片| 日本乱人伦一区| 亚洲自拍偷拍欧美| 欧美日韩一区二区三区四区| 亚洲第一久久影院| 欧美一区中文字幕| 男女男精品视频| 欧美电影免费观看高清完整版在线| 美女在线观看视频一区二区| 日韩一区二区电影在线| 黄色成人免费在线| 欧美精品一区二区蜜臀亚洲| 国产在线精品视频| 国产精品系列在线| 色狠狠综合天天综合综合| 一区二区三区高清| 欧美电影一区二区| 视频在线观看91| 欧美精品久久久久久久久老牛影院| 一区二区三区免费网站| 99久久久免费精品国产一区二区| 国产精品丝袜一区| 色婷婷精品久久二区二区蜜臂av| 亚洲人成小说网站色在线| 欧洲另类一二三四区| 亚洲国产综合在线| 欧美一级片在线看| 麻豆精品久久久| 国产日韩欧美高清| 波波电影院一区二区三区| 亚洲精品国产a| 欧美亚洲尤物久久| 另类小说综合欧美亚洲| 2020国产精品自拍| 高清不卡在线观看| 中文字幕精品一区 | 亚洲三级在线免费观看| 91福利资源站| 日韩制服丝袜先锋影音| 欧美电影精品一区二区| 亚洲一区在线看| 丝袜亚洲另类丝袜在线| 亚洲天堂成人网| 国产精品午夜免费| 久久久精品影视| 成人欧美一区二区三区黑人麻豆| 日韩一区二区免费电影| 色综合久久88色综合天天| 国产精品中文字幕欧美| 日本va欧美va精品| 亚洲综合精品自拍| 一区二区三区在线视频观看| 国产欧美一区视频| 国产视频一区不卡| 日韩欧美激情四射| 欧美一区二区久久| 91久久国产最好的精华液| 97se狠狠狠综合亚洲狠狠| 91国内精品野花午夜精品| 欧美精品丝袜中出| 国产人伦精品一区二区| 亚洲第一综合色| 一区二区三区精密机械公司| www国产精品av| 2024国产精品视频| 欧美韩国日本不卡| 男女性色大片免费观看一区二区 | 美女视频网站久久| 久久久99免费| 欧美日韩一级片网站| 精品写真视频在线观看| 一区二区三区在线播| 欧美精品vⅰdeose4hd| 国产精品高清亚洲| 亚洲永久精品大片| 精品一区二区三区在线观看| 国产精品综合一区二区三区| 成人污视频在线观看| 成人免费的视频| 欧美三级在线视频| 国产女人18毛片水真多成人如厕 | 久久久国产精华| 天天综合色天天综合| 中文字幕精品一区二区三区精品| 欧美亚洲动漫精品| 高清成人在线观看| 奇米色777欧美一区二区| 亚洲裸体在线观看| 日韩免费视频一区二区| 粉嫩蜜臀av国产精品网站| 久久国内精品视频| 亚洲精品高清在线| 日本一区二区免费在线 | 中文一区二区在线观看| 中文成人av在线| 成人性视频免费网站| 中文字幕在线观看不卡| 91在线国产观看| 久久久91精品国产一区二区精品| 欧美大胆一级视频| 亚洲国产三级在线| jlzzjlzz欧美大全| 国产精品国产精品国产专区不蜜 | 亚洲二区在线观看| 亚洲成在人线在线播放| 久久国产剧场电影| 99国产精品久久久久久久久久久 | 男人的天堂久久精品| 成人黄色电影在线| 欧日韩精品视频| 椎名由奈av一区二区三区| 国产成人午夜精品影院观看视频| 6080国产精品一区二区| 一区二区三区免费看视频| 99re热视频精品| 1024亚洲合集| 91免费观看在线| 国产在线播放一区| 国产精品福利一区二区| 久久久亚洲高清| 欧美日韩国产另类一区| 日本久久电影网| 成人午夜免费av| 国产美女视频91| 国产在线精品免费av| 老司机精品视频线观看86| 青青青爽久久午夜综合久久午夜 | 蜜桃一区二区三区在线| 亚洲成人精品影院| 亚洲不卡av一区二区三区| 亚洲国产你懂的| 亚洲精品国产成人久久av盗摄| 亚洲午夜久久久久久久久电影院|