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

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

?? sock.c

?? 優龍2410linux2.6.8內核源代碼
?? C
字號:
/*    BNEP implementation for Linux Bluetooth stack (BlueZ).   Copyright (C) 2001-2002 Inventel Systemes   Written 2001-2002 by	David Libault  <david.libault@inventel.fr>   Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.com>   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.*//* * $Id: sock.c,v 1.4 2002/08/04 21:23:58 maxk Exp $ */ #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 <linux/init.h>#include <net/sock.h>#include <asm/system.h>#include <asm/uaccess.h>#include "bnep.h"#ifndef CONFIG_BT_BNEP_DEBUG#undef  BT_DBG#define BT_DBG( A... )#endifstatic int bnep_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 bnep_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg){	struct bnep_connlist_req cl;	struct bnep_connadd_req  ca;	struct bnep_conndel_req  cd;	struct bnep_conninfo ci;	struct socket *nsock;	void __user *argp = (void __user *)arg;	int err;	BT_DBG("cmd %x arg %lx", cmd, arg);	switch (cmd) {	case BNEPCONNADD:		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 = bnep_add_connection(&ca, nsock);		if (!err) {    			if (copy_to_user(argp, &ca, sizeof(ca)))				err = -EFAULT;		} else			fput(nsock->file);		return err;		case BNEPCONNDEL:		if (!capable(CAP_NET_ADMIN))			return -EACCES;		if (copy_from_user(&cd, argp, sizeof(cd)))			return -EFAULT;			return bnep_del_connection(&cd);	case BNEPGETCONNLIST:		if (copy_from_user(&cl, argp, sizeof(cl)))			return -EFAULT;		if (cl.cnum <= 0)			return -EINVAL;			err = bnep_get_connlist(&cl);		if (!err && copy_to_user(argp, &cl, sizeof(cl)))			return -EFAULT;		return err;	case BNEPGETCONNINFO:		if (copy_from_user(&ci, argp, sizeof(ci)))			return -EFAULT;		err = bnep_get_conninfo(&ci);		if (!err && copy_to_user(argp, &ci, sizeof(ci)))			return -EFAULT;		return err;	default:		return -EINVAL;	}	return 0;}static struct proto_ops bnep_sock_ops = {	.family     = PF_BLUETOOTH,	.owner      = THIS_MODULE,	.release    = bnep_sock_release,	.ioctl      = bnep_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 bnep_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 = &bnep_sock_ops;	sock->state  = SS_UNCONNECTED;	sk->sk_destruct = NULL;	sk->sk_protocol = protocol;	return 0;}static struct net_proto_family bnep_sock_family_ops = {	.family = PF_BLUETOOTH,	.owner	= THIS_MODULE,	.create = bnep_sock_create};int __init bnep_sock_init(void){	bt_sock_register(BTPROTO_BNEP, &bnep_sock_family_ops);	return 0;}int __exit bnep_sock_cleanup(void){	if (bt_sock_unregister(BTPROTO_BNEP))		BT_ERR("Can't unregister BNEP socket");	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久先锋影音av鲁色资源网| 日韩免费观看2025年上映的电影| 久久国产剧场电影| 奇米精品一区二区三区四区| 免费观看日韩av| 麻豆精品视频在线| 激情六月婷婷久久| 韩国v欧美v日本v亚洲v| 国产成人精品免费视频网站| 国产精品一线二线三线精华| 国产精品911| 成人午夜免费电影| 色婷婷一区二区三区四区| 色网站国产精品| 欧美日韩一区二区欧美激情| 欧美理论电影在线| 亚洲精品在线电影| 国产亚洲欧美中文| 国产精品久久久久影院老司| 一区二区欧美国产| 麻豆成人久久精品二区三区小说| 国产一区二区三区免费看| 成人午夜在线播放| 欧美天天综合网| 久久一夜天堂av一区二区三区| 国产日韩精品一区二区三区| 亚洲黄色性网站| 久久成人av少妇免费| 成人黄色免费短视频| 欧美在线一二三四区| 日韩一卡二卡三卡四卡| 中文av一区二区| 亚洲成人激情自拍| 丁香五精品蜜臀久久久久99网站| 91玉足脚交白嫩脚丫在线播放| 日韩一区二区在线看| 中文字幕欧美一| 蜜臀久久久99精品久久久久久| 成人h动漫精品一区二| 欧美色涩在线第一页| 国产欧美日产一区| 五月激情综合色| 不卡的电影网站| 日韩亚洲欧美在线观看| 国产精品久久久99| 久久爱另类一区二区小说| 日本韩国欧美一区| 国产日韩综合av| 美女视频黄a大片欧美| 91免费观看在线| 久久久亚洲欧洲日产国码αv| 亚洲午夜久久久久久久久久久 | 亚洲国产日韩在线一区模特| 韩国成人在线视频| 91国偷自产一区二区开放时间| www精品美女久久久tv| 亚洲成人在线网站| 99精品欧美一区| 国产三级一区二区| 捆绑紧缚一区二区三区视频| 色综合激情久久| 欧美国产国产综合| 国产精品一级黄| 91精品国产综合久久蜜臀 | 91国偷自产一区二区三区观看 | 欧美在线视频日韩| 亚洲人精品一区| 91亚洲永久精品| 亚洲女人小视频在线观看| 成人免费视频app| 中文字幕精品—区二区四季| 国产精品伊人色| 国产三级一区二区三区| 国产成人在线影院| 国产农村妇女毛片精品久久麻豆 | 亚洲欧美区自拍先锋| 99精品国产热久久91蜜凸| 国产欧美综合色| www.欧美日韩| 一区二区三区.www| 在线成人午夜影院| 日韩国产高清影视| 精品久久久久久无| 国产成人在线电影| 国产精品久久久久四虎| 91麻豆国产福利在线观看| 一区二区在线观看视频| 欧美日韩一级片在线观看| 三级精品在线观看| 欧美mv日韩mv国产网站app| 黑人精品欧美一区二区蜜桃| 国产日韩欧美精品一区| 91美女片黄在线观看| 亚洲小说春色综合另类电影| 欧美精品久久天天躁| 国产综合色在线| 国产精品久久久久aaaa樱花| 色婷婷香蕉在线一区二区| 午夜婷婷国产麻豆精品| 久久影院电视剧免费观看| 成人激情小说乱人伦| 亚洲一区二区影院| 日韩欧美国产综合一区| 播五月开心婷婷综合| 一区二区三区四区五区视频在线观看| 欧美日韩国产精品成人| 麻豆成人久久精品二区三区小说| 国产亚洲女人久久久久毛片| 色综合久久久久久久久| 免费在线看成人av| 中文字幕一区二区三中文字幕| 欧美中文字幕一区二区三区| 国内精品久久久久影院色| 亚洲精品欧美激情| 精品福利视频一区二区三区| 91社区在线播放| 精久久久久久久久久久| 亚洲老司机在线| 久久精品亚洲麻豆av一区二区| 欧美自拍偷拍午夜视频| 国产超碰在线一区| 偷拍与自拍一区| 成人免费小视频| 久久久久国产免费免费| 欧美精选一区二区| 99re成人精品视频| 国产精品亚洲一区二区三区在线 | 精品国产乱码久久久久久图片 | 日本伊人午夜精品| 亚洲色图一区二区三区| 精品91自产拍在线观看一区| 91同城在线观看| 国产黄色精品网站| 精品一区二区三区在线播放| 亚洲最新视频在线观看| 日韩一区在线播放| 中文字幕亚洲综合久久菠萝蜜| 精品日韩欧美在线| 欧美一级淫片007| 欧美久久一二区| 欧美日韩久久一区| 欧美中文字幕一区二区三区| 91香蕉视频mp4| 不卡一区中文字幕| 99久久久国产精品| 成人高清免费观看| 粉嫩一区二区三区性色av| 精东粉嫩av免费一区二区三区| 午夜精品福利一区二区三区av | 亚洲国产wwwccc36天堂| 一区二区三区高清| 一区二区三区不卡视频在线观看 | 欧美日韩一级大片网址| 在线观看视频一区二区| 欧美丝袜丝交足nylons图片| 欧美性大战久久久| 欧美性猛片xxxx免费看久爱| 欧美在线制服丝袜| 678五月天丁香亚洲综合网| 欧美性xxxxx极品少妇| 91黄色在线观看| 欧美日韩免费电影| 欧美日韩国产天堂| 欧美一级久久久久久久大片| 精品欧美一区二区在线观看| 国产三级一区二区| 国产精品久久久久国产精品日日| 成人欧美一区二区三区小说| 亚洲日本一区二区三区| 亚洲国产成人tv| 日韩成人dvd| 国产激情91久久精品导航| 99精品国产热久久91蜜凸| 欧美丝袜丝交足nylons图片| 日韩一区二区三区视频| 国产偷国产偷亚洲高清人白洁 | 男人的天堂久久精品| 国产综合久久久久久久久久久久| 国产福利电影一区二区三区| 色呦呦日韩精品| 69精品人人人人| 中文字幕第一区二区| 一区二区三区四区激情| 免费成人美女在线观看| 成人在线视频一区二区| 色悠悠久久综合| 26uuu国产一区二区三区| 亚洲欧洲性图库| 韩国理伦片一区二区三区在线播放| 成人午夜电影久久影院| 欧美日韩色综合| 欧美激情资源网| 蜜臀av一级做a爰片久久| 色婷婷综合久久久久中文| 精品久久99ma| 亚洲成人久久影院| av色综合久久天堂av综合| 欧美肥妇毛茸茸| 亚洲色图欧洲色图婷婷| 国产一区二区三区久久悠悠色av |