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

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

?? sock.c

?? 優(yōu)龍2410linux2.6.8內(nèi)核源代碼
?? C
字號:
/*    CMTP implementation for Linux Bluetooth stack (BlueZ).   Copyright (C) 2002-2003 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 version 2 as   published by the Free Software Foundation;   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.   IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY   CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,    COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS    SOFTWARE IS DISCLAIMED.*/#include <linux/config.h>#include <linux/module.h>#include <linux/types.h>#include <linux/errno.h>#include <linux/kernel.h>#include <linux/major.h>#include <linux/sched.h>#include <linux/slab.h>#include <linux/poll.h>#include <linux/fcntl.h>#include <linux/skbuff.h>#include <linux/socket.h>#include <linux/ioctl.h>#include <linux/file.h>#include <net/sock.h>#include <linux/isdn/capilli.h>#include <asm/system.h>#include <asm/uaccess.h>#include "cmtp.h"#ifndef CONFIG_BT_CMTP_DEBUG#undef  BT_DBG#define BT_DBG(D...)#endifstatic int cmtp_sock_release(struct socket *sock){	struct sock *sk = sock->sk;	BT_DBG("sock %p sk %p", sock, sk);	if (!sk)		return 0;	sock_orphan(sk);	sock_put(sk);	return 0;}static int cmtp_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg){	struct cmtp_connadd_req ca;	struct cmtp_conndel_req cd;	struct cmtp_connlist_req cl;	struct cmtp_conninfo ci;	struct socket *nsock;	void __user *argp = (void __user *)arg;	int err;	BT_DBG("cmd %x arg %lx", cmd, arg);	switch (cmd) {	case CMTPCONNADD:		if (!capable(CAP_NET_ADMIN))			return -EACCES;		if (copy_from_user(&ca, argp, sizeof(ca)))			return -EFAULT;		nsock = sockfd_lookup(ca.sock, &err);		if (!nsock)			return err;		if (nsock->sk->sk_state != BT_CONNECTED) {			fput(nsock->file);			return -EBADFD;		}		err = cmtp_add_connection(&ca, nsock);		if (!err) {			if (copy_to_user(argp, &ca, sizeof(ca)))				err = -EFAULT;		} else			fput(nsock->file);		return err;	case CMTPCONNDEL:		if (!capable(CAP_NET_ADMIN))			return -EACCES;		if (copy_from_user(&cd, argp, sizeof(cd)))			return -EFAULT;		return cmtp_del_connection(&cd);	case CMTPGETCONNLIST:		if (copy_from_user(&cl, argp, sizeof(cl)))			return -EFAULT;		if (cl.cnum <= 0)			return -EINVAL;		err = cmtp_get_connlist(&cl);		if (!err && copy_to_user(argp, &cl, sizeof(cl)))			return -EFAULT;		return err;	case CMTPGETCONNINFO:		if (copy_from_user(&ci, argp, sizeof(ci)))			return -EFAULT;		err = cmtp_get_conninfo(&ci);		if (!err && copy_to_user(argp, &ci, sizeof(ci)))			return -EFAULT;		return err;	}	return -EINVAL;}static struct proto_ops cmtp_sock_ops = {	.family		= PF_BLUETOOTH,	.owner		= THIS_MODULE,	.release	= cmtp_sock_release,	.ioctl		= cmtp_sock_ioctl,	.bind		= sock_no_bind,	.getname	= sock_no_getname,	.sendmsg	= sock_no_sendmsg,	.recvmsg	= sock_no_recvmsg,	.poll		= sock_no_poll,	.listen		= sock_no_listen,	.shutdown	= sock_no_shutdown,	.setsockopt	= sock_no_setsockopt,	.getsockopt	= sock_no_getsockopt,	.connect	= sock_no_connect,	.socketpair	= sock_no_socketpair,	.accept		= sock_no_accept,	.mmap		= sock_no_mmap};static int cmtp_sock_create(struct socket *sock, int protocol){	struct sock *sk;	BT_DBG("sock %p", sock);	if (sock->type != SOCK_RAW)		return -ESOCKTNOSUPPORT;	if (!(sk = bt_sock_alloc(sock, PF_BLUETOOTH, 0, GFP_KERNEL)))		return -ENOMEM;	sk_set_owner(sk, THIS_MODULE);	sock->ops = &cmtp_sock_ops;	sock->state = SS_UNCONNECTED;	sk->sk_destruct = NULL;	sk->sk_protocol = protocol;	return 0;}static struct net_proto_family cmtp_sock_family_ops = {	.family	= PF_BLUETOOTH,	.owner	= THIS_MODULE,	.create	= cmtp_sock_create};int cmtp_init_sockets(void){	bt_sock_register(BTPROTO_CMTP, &cmtp_sock_family_ops);	return 0;}void cmtp_cleanup_sockets(void){	if (bt_sock_unregister(BTPROTO_CMTP))		BT_ERR("Can't unregister CMTP socket");}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99视频一区二区三区| 欧美一区二区三区在线电影| 中文字幕一区视频| 色久优优欧美色久优优| 99国产精品视频免费观看| 蜜臀久久99精品久久久久久9| 午夜欧美2019年伦理| 日本少妇一区二区| 91精品国产综合久久福利软件| 亚洲国产精品成人综合| 91在线视频网址| 91亚洲精品久久久蜜桃| 老汉av免费一区二区三区 | 欧美日韩国产在线播放网站| 粉嫩av一区二区三区粉嫩| 五月综合激情婷婷六月色窝| 亚洲乱码国产乱码精品精可以看| 一区二区三区在线免费| 亚洲18影院在线观看| 偷拍日韩校园综合在线| 国产 日韩 欧美大片| 国产精品一线二线三线精华| 亚洲va欧美va人人爽| 粉嫩一区二区三区性色av| 欧美日韩国产一二三| 欧美精品18+| 日本一区二区三区电影| 国产人伦精品一区二区| 久久国产视频网| 日韩一级成人av| 1000精品久久久久久久久| 国产麻豆精品在线观看| 色婷婷国产精品| 欧美xxxxx裸体时装秀| 《视频一区视频二区| 国产成人免费在线观看| 欧美日本一区二区三区四区 | 日本一区二区成人在线| 国产一区二区在线免费观看| 日韩精品中文字幕一区| 亚洲精品中文在线| 在线视频你懂得一区| 成人综合婷婷国产精品久久| 91蝌蚪porny成人天涯| 久久99精品国产| 国产亚洲成aⅴ人片在线观看 | 国产午夜亚洲精品午夜鲁丝片| 精品婷婷伊人一区三区三| 在线影视一区二区三区| 亚洲三级在线播放| 在线观看www91| 久久久亚洲午夜电影| 亚洲精品一区二区三区四区高清| 欧美精品第1页| 中文字幕在线不卡| 韩国在线一区二区| 国产精品一区二区三区四区| 在线观看精品一区| 国产精品色呦呦| 亚洲精品精品亚洲| 国内精品写真在线观看| 欧美日韩色一区| 日韩一区欧美小说| 成人高清视频在线| 色悠悠亚洲一区二区| 久久众筹精品私拍模特| 中文字幕在线不卡国产视频| 国产精品资源在线观看| 日韩三级.com| 奇米精品一区二区三区在线观看一 | 国产精品美女www爽爽爽| 免费在线看一区| 91精品国产手机| 视频一区视频二区中文| 国产一区二区三区久久久| 欧美三级乱人伦电影| 一区二区三区中文字幕电影 | 中文字幕一区二区三| 国产精品一区二区久久不卡| 日韩三级视频中文字幕| 玖玖九九国产精品| 精品少妇一区二区三区日产乱码| 三级欧美在线一区| 91精品国产免费| 免费人成精品欧美精品| 日韩欧美在线观看一区二区三区| 婷婷亚洲久悠悠色悠在线播放| 欧美日韩成人综合天天影院 | 国产精品伊人色| 中文字幕精品一区二区三区精品| 国产在线精品视频| 国产精品无码永久免费888| 成人av一区二区三区| 亚洲人一二三区| 欧美日韩免费高清一区色橹橹| 亚洲高清免费视频| 成人精品高清在线| 亚洲少妇最新在线视频| 欧美丝袜丝交足nylons图片| 国产精品欧美久久久久无广告| av电影一区二区| 亚洲自拍偷拍麻豆| 99久久婷婷国产| 一区二区三区资源| 欧美一区二区观看视频| 国产麻豆精品视频| 亚洲综合网站在线观看| 日韩一卡二卡三卡四卡| 国产激情视频一区二区在线观看| 久久久美女艺术照精彩视频福利播放| 成人一区二区视频| 欧美aaa在线| 亚洲欧美自拍偷拍色图| 欧美一区二区三区啪啪| 成人成人成人在线视频| 喷白浆一区二区| 中文字幕色av一区二区三区| 91精品国产91久久综合桃花| 成人免费观看视频| 免费日韩伦理电影| 一区二区三区四区不卡视频 | av在线播放不卡| 日本视频一区二区三区| 一区二区三区欧美日| 久久精品夜色噜噜亚洲aⅴ| 欧洲av在线精品| 粉嫩aⅴ一区二区三区四区五区| 亚洲国产综合色| 国产精品国产三级国产a | 欧美日韩国产精品成人| 久久成人羞羞网站| 欧美绝品在线观看成人午夜影视| 免费在线成人网| 日本一区二区三区四区在线视频| 在线观看日韩电影| 成人免费av资源| 捆绑调教美女网站视频一区| 国产精品第13页| 国产日韩欧美综合一区| 91久久精品国产91性色tv| 国内精品久久久久影院一蜜桃| 亚洲男人电影天堂| 久久只精品国产| 欧洲另类一二三四区| 日韩女优电影在线观看| 欧美视频三区在线播放| 久久99久久精品| 亚洲精品一二三区| 久久先锋影音av鲁色资源网| 精品亚洲porn| 欧美色综合天天久久综合精品| 视频一区二区国产| 久久精品夜色噜噜亚洲aⅴ| 337p亚洲精品色噜噜| 欧美成人一区二区三区在线观看| 成人一区二区视频| 国产综合久久久久久鬼色 | 成人免费毛片片v| 亚洲v中文字幕| 日韩国产欧美在线播放| 亚洲线精品一区二区三区| 亚洲免费色视频| 一二三区精品福利视频| 亚洲毛片av在线| 亚洲高清免费观看高清完整版在线观看| 91精品国产综合久久香蕉麻豆| 国产精品天干天干在线综合| 在线播放/欧美激情| 欧美综合在线视频| 福利一区福利二区| 国产成人99久久亚洲综合精品| 狠狠色丁香婷婷综合| 久久黄色级2电影| 久久av资源站| 国产伦理精品不卡| 国产91精品精华液一区二区三区| 国产精品羞羞答答xxdd| 国产精品91xxx| 成人黄色小视频| caoporn国产精品| 色域天天综合网| 欧美日韩精品一区视频| 欧美一区二区三区在线观看| 欧美videofree性高清杂交| 精品国产一区二区三区不卡| 日韩女优视频免费观看| 中文字幕免费观看一区| 1区2区3区欧美| 自拍视频在线观看一区二区| 亚洲成人免费影院| 日本不卡视频在线| 激情av综合网| 91亚洲精品乱码久久久久久蜜桃| 欧美一区二区视频免费观看| 国产亚洲精品aa午夜观看| 国产精品久久精品日日| 日本一区二区视频在线| 蜜桃av一区二区| 白白色 亚洲乱淫| 日韩亚洲欧美中文三级|