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

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

?? database.c

?? 基于LINUX內(nèi)核驅(qū)動(dòng)的開發(fā)
?? 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 <stdlib.h>#include <string.h>#include <bluetooth/bluetooth.h>#include <bluetooth/sdp.h>#include <bluetooth/sdp_lib.h>#include <glib.h>#include <dbus/dbus.h>#include "dbus-helper.h"#include "dbus.h"#include "sdp-xml.h"#include "logging.h"#include "sdpd.h"#include "system.h"#include "database.h"#define DATABASE_INTERFACE "org.bluez.Database"static DBusConnection *connection = NULL;static GSList *records = NULL;struct record_data {	uint32_t handle;	char *sender;};static struct record_data *find_record(uint32_t handle, const char *sender){	GSList *list;	for (list = records; list; list = list->next) {		struct record_data *data = list->data;		if (handle == data->handle && !strcmp(sender, data->sender))			return data;	}	return NULL;}static void exit_callback(const char *name, void *user_data){	struct record_data *user_record = user_data;	records = g_slist_remove(records, user_record);	remove_record_from_server(user_record->handle);	free(user_record);}static DBusHandlerResult add_service_record(DBusConnection *conn,						DBusMessage *msg, void *data){	DBusMessage *reply;	DBusMessageIter iter, array;	dbus_uint32_t handle = 0x12345;	const uint8_t *record;	int i, len = -1;	dbus_message_iter_init(msg, &iter);	dbus_message_iter_recurse(&iter, &array);	dbus_message_iter_get_fixed_array(&array, &record, &len);	if (len < 0)		return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;	for (i = 0; i < len; i++)		debug("0x%02x", record[i]);	reply = dbus_message_new_method_return(msg);	if (!reply)		return DBUS_HANDLER_RESULT_NEED_MEMORY;	dbus_message_append_args(reply, DBUS_TYPE_UINT32, &handle,					DBUS_TYPE_INVALID);	return dbus_connection_send_and_unref(conn, reply);}static DBusHandlerResult add_service_record_from_xml(DBusConnection *conn,						DBusMessage *msg, void *data){	DBusMessage *reply;	const char *sender, *record;	struct record_data *user_record;	sdp_record_t *sdp_record;	dbus_message_get_args(msg, NULL,			DBUS_TYPE_STRING, &record, DBUS_TYPE_INVALID);	user_record = malloc(sizeof(*user_record));	if (!user_record)		return DBUS_HANDLER_RESULT_NEED_MEMORY;	sdp_record = sdp_xml_parse_record(record, strlen(record));	if (!sdp_record) {		error("Parsing of XML service record failed");		free(user_record);		return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;	}	if (add_record_to_server(sdp_record) < 0) {		error("Failed to register service record");		free(user_record);		sdp_record_free(sdp_record);		return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;	}	sender = dbus_message_get_sender(msg);	user_record->handle = sdp_record->handle;	user_record->sender = strdup(sender);	records = g_slist_append(records, user_record);	name_listener_add(conn, sender, exit_callback, user_record);	reply = dbus_message_new_method_return(msg);	if (!reply)		return DBUS_HANDLER_RESULT_NEED_MEMORY;	dbus_message_append_args(reply, DBUS_TYPE_UINT32, &user_record->handle,					DBUS_TYPE_INVALID);	return dbus_connection_send_and_unref(conn, reply);}static DBusHandlerResult remove_service_record(DBusConnection *conn,						DBusMessage *msg, void *data){	DBusMessage *reply;	dbus_uint32_t handle;	const char *sender;	struct record_data *user_record;	dbus_message_get_args(msg, NULL,			DBUS_TYPE_UINT32, &handle, DBUS_TYPE_INVALID);	sender = dbus_message_get_sender(msg);	user_record = find_record(handle, sender);	if (!user_record)		return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;	name_listener_remove(conn, sender, exit_callback, user_record);	remove_record_from_server(handle);	free(user_record);	reply = dbus_message_new_method_return(msg);	if (!reply)		return DBUS_HANDLER_RESULT_NEED_MEMORY;	dbus_message_append_args(reply, DBUS_TYPE_INVALID);	return dbus_connection_send_and_unref(conn, reply);}static DBusMethodVTable database_table[] = {	{ "AddServiceRecord", add_service_record,		DBUS_TYPE_BYTE_ARRAY_AS_STRING, DBUS_TYPE_UINT32_AS_STRING },	{ "AddServiceRecordFromXML", add_service_record_from_xml,		DBUS_TYPE_STRING_AS_STRING, DBUS_TYPE_UINT32_AS_STRING },	{ "RemoveServiceRecord", remove_service_record,		DBUS_TYPE_UINT32_AS_STRING, DBUS_TYPE_INVALID_AS_STRING },	{ }};int database_init(DBusConnection *conn){	connection = dbus_connection_ref(conn);	info("Starting database interface");	if (dbus_connection_register_interface(connection, SYSTEM_PATH,			DATABASE_INTERFACE, database_table, NULL, NULL) == FALSE) {		error("Database interface registration failed");		dbus_connection_unref(connection);		return -1;	}	return 0;}void database_exit(void){	info("Stopping database interface");	dbus_connection_unregister_interface(connection,					SYSTEM_PATH, DATABASE_INTERFACE);	dbus_connection_unref(connection);	connection = NULL;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕在线观看不卡| 精品国产91亚洲一区二区三区婷婷| 欧美激情资源网| 国产精品99久久久久久有的能看| 精品国产制服丝袜高跟| 狠狠色狠狠色综合日日91app| 日韩视频123| 国产一区二区三区视频在线播放| 久久精品一区二区三区不卡牛牛| 国产91精品在线观看| 亚洲欧洲国产专区| 欧美在线免费观看亚洲| 日韩激情在线观看| 日韩美一区二区三区| 国产高清无密码一区二区三区| 日本一区二区三区电影| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲精品中文在线| 91精品国产91久久久久久最新毛片| 免费久久99精品国产| 中文无字幕一区二区三区| 91在线云播放| 日韩和欧美一区二区| 精品国产乱码久久久久久免费| 成人免费视频视频在线观看免费 | 中文字幕综合网| 在线视频国内自拍亚洲视频| 日韩av中文字幕一区二区| 国产日韩三级在线| 欧美色中文字幕| 国产精品亚洲视频| 亚洲已满18点击进入久久| 91精品国产高清一区二区三区| 国产精品一线二线三线| 亚洲人成亚洲人成在线观看图片| 制服.丝袜.亚洲.中文.综合| 国产91高潮流白浆在线麻豆 | 视频一区中文字幕国产| 久久久亚洲国产美女国产盗摄| 色综合天天综合在线视频| 热久久一区二区| 中文字幕一区免费在线观看 | 国产专区欧美精品| 亚洲综合色网站| 久久蜜桃香蕉精品一区二区三区| 在线看国产一区二区| 国产精品白丝jk黑袜喷水| 亚洲h精品动漫在线观看| 国产免费观看久久| 日韩丝袜美女视频| 欧洲一区二区三区在线| 成人动漫在线一区| 免费成人深夜小野草| 亚洲制服丝袜av| 成人免费一区二区三区视频| 久久亚洲精华国产精华液| 欧美日韩国产综合久久| 97se亚洲国产综合在线| 国产一区二区不卡| 蜜臀av在线播放一区二区三区| 亚洲免费在线观看| 国产精品不卡一区二区三区| 2021久久国产精品不只是精品| 欧美性色aⅴ视频一区日韩精品| 成人午夜又粗又硬又大| 狠狠色丁香九九婷婷综合五月| 天天射综合影视| 亚洲国产婷婷综合在线精品| 亚洲欧洲性图库| 国产日韩高清在线| 久久丝袜美腿综合| 久久综合色综合88| 久久亚洲欧美国产精品乐播| 日韩欧美黄色影院| 欧美一卡二卡三卡| 91精品国产黑色紧身裤美女| 337p亚洲精品色噜噜| 51午夜精品国产| 欧美精品第1页| 欧美久久久久久久久中文字幕| 欧美老人xxxx18| 欧美日韩国产片| 在线电影一区二区三区| 欧美一区二区三区影视| 91精品在线观看入口| 51久久夜色精品国产麻豆| 欧美一级高清片| 欧美一级爆毛片| 精品免费99久久| 精品国产精品网麻豆系列| 欧美大片免费久久精品三p| 日韩精品一区二区三区在线播放| 日韩精品综合一本久道在线视频| 精品免费国产一区二区三区四区| 久久久精品中文字幕麻豆发布| 国产蜜臀97一区二区三区| 国产精品国产三级国产aⅴ原创| 中文字幕一区二区不卡| 最近日韩中文字幕| 亚洲一级二级在线| 全国精品久久少妇| 国产在线精品一区二区不卡了 | 成人美女视频在线观看18| 成人免费观看av| 色999日韩国产欧美一区二区| 欧美性xxxxxx少妇| 欧美成人精品1314www| 国产欧美日韩麻豆91| 亚洲免费在线观看视频| 日韩av不卡在线观看| 国内精品不卡在线| 91香蕉视频在线| 欧美福利视频导航| 国产日韩av一区| 亚洲第一精品在线| 精品一区二区三区在线观看国产| 粉嫩在线一区二区三区视频| 欧洲在线/亚洲| 精品第一国产综合精品aⅴ| 亚洲欧美在线视频| 美国欧美日韩国产在线播放| av电影一区二区| 欧美二区在线观看| 综合欧美一区二区三区| 毛片一区二区三区| 91麻豆成人久久精品二区三区| 5月丁香婷婷综合| 中文字幕一区二区三区色视频| 日本亚洲一区二区| 91视频在线看| 久久久三级国产网站| 亚洲成人av一区| 波多野结衣视频一区| 日韩一卡二卡三卡| 一区二区三区国产豹纹内裤在线| 韩国一区二区视频| 欧美丰满一区二区免费视频| 中文字幕在线观看一区| 韩国v欧美v日本v亚洲v| 欧美高清精品3d| 一区二区三区不卡视频| 国产99久久久国产精品潘金网站| 日韩精品综合一本久道在线视频| 一区二区三区欧美在线观看| 懂色av一区二区三区免费观看| 欧美一区二区三区在线观看视频| 亚洲激情图片一区| 99久久精品免费看国产| 国产午夜一区二区三区| 韩国欧美国产一区| 日韩一区二区免费在线电影 | 国产清纯白嫩初高生在线观看91 | 91麻豆精品国产无毒不卡在线观看| 日韩毛片高清在线播放| 国产另类ts人妖一区二区| 日韩一区二区三区免费看 | 亚洲国产裸拍裸体视频在线观看乱了| 丁香网亚洲国际| 久久久精品国产免大香伊| 精品一区中文字幕| 精品成人一区二区| 精品一区二区三区蜜桃| 日韩欧美不卡在线观看视频| 日本成人在线不卡视频| 欧美日韩国产精选| 亚洲一区二区三区视频在线| 在线免费一区三区| 亚洲综合av网| 欧美色电影在线| 天涯成人国产亚洲精品一区av| 欧美自拍丝袜亚洲| 一区二区三区精品在线观看| 日本韩国欧美国产| 一个色综合av| 欧美亚洲综合另类| 午夜欧美2019年伦理| 欧美日韩成人综合| 免费高清在线一区| 久久亚洲影视婷婷| 成人精品国产一区二区4080| 中文字幕一区二区不卡| 一道本成人在线| 天天爽夜夜爽夜夜爽精品视频| 51精品久久久久久久蜜臀| 久久精品国内一区二区三区| 精品国产乱码久久久久久图片 | 久久久99久久| 成人午夜精品一区二区三区| 国产精品色哟哟网站| 99久久综合99久久综合网站| 亚洲精品菠萝久久久久久久| 精品视频在线视频| 久草在线在线精品观看| 欧美国产97人人爽人人喊| 色一情一乱一乱一91av| 婷婷成人激情在线网| 久久久久久综合| 欧亚洲嫩模精品一区三区| 欧美aaa在线| 国产精品久久久久久福利一牛影视 |