您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ sock_prot_inuse_add函数代码示例

51自学网 2021-06-03 08:05:48
  C++
这篇教程C++ sock_prot_inuse_add函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中sock_prot_inuse_add函数的典型用法代码示例。如果您正苦于以下问题:C++ sock_prot_inuse_add函数的具体用法?C++ sock_prot_inuse_add怎么用?C++ sock_prot_inuse_add使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了sock_prot_inuse_add函数的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: dgram_unhash

static void dgram_unhash(struct sock *sk){	write_lock_bh(&dgram_lock);	if (sk_del_node_init(sk))		sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1);	write_unlock_bh(&dgram_lock);}
开发者ID:mcellos,项目名称:ath,代码行数:7,


示例2: dgram_hash

static void dgram_hash(struct sock *sk){	write_lock_bh(&dgram_lock);	sk_add_node(sk, &dgram_head);	sock_prot_inuse_add(sock_net(sk), sk->sk_prot, 1);	write_unlock_bh(&dgram_lock);}
开发者ID:mcellos,项目名称:ath,代码行数:7,


示例3: raw_unhash_sk

void raw_unhash_sk(struct sock *sk){	struct raw_hashinfo *h = sk->sk_prot->h.raw_hash;	write_lock_bh(&h->lock);	if (sk_del_node_init(sk))		sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1);	write_unlock_bh(&h->lock);}
开发者ID:Lanyaaki,项目名称:ipaugenblick,代码行数:9,


示例4: raw_hash_sk

void raw_hash_sk(struct sock *sk){	struct raw_hashinfo *h = sk->sk_prot->h.raw_hash;	struct hlist_head *head;	head = &h->ht[inet_sk(sk)->inet_num & (RAW_HTABLE_SIZE - 1)];	write_lock_bh(&h->lock);	sk_add_node(sk, head);	sock_prot_inuse_add(sock_net(sk), sk->sk_prot, 1);	write_unlock_bh(&h->lock);}
开发者ID:Lanyaaki,项目名称:ipaugenblick,代码行数:12,


示例5: mptp_release

static int mptp_release(struct socket *sock){	struct sock *sk = sock->sk;	struct mptp_sock *ssk = mptp_sk(sk);	if (unlikely(!sk))		return 0;	mptp_unhash(ssk->src);	sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1);	synchronize_net();	sock_orphan(sk);	sock->sk = NULL;	skb_queue_purge(&sk->sk_receive_queue);	log_debug("mptp_release sock=%p/n", sk);	sock_put(sk);	return 0;}
开发者ID:paulvlase,项目名称:mptp,代码行数:24,


示例6: do_ipv6_setsockopt

static int do_ipv6_setsockopt(struct sock *sk, int level, int optname,		    char __user *optval, unsigned int optlen){	struct ipv6_pinfo *np = inet6_sk(sk);	struct net *net = sock_net(sk);	int val, valbool;	int retv = -ENOPROTOOPT;	if (optval == NULL)		val=0;	else {		if (optlen >= sizeof(int)) {			if (get_user(val, (int __user *) optval))				return -EFAULT;		} else			val = 0;	}	valbool = (val!=0);	if (ip6_mroute_opt(optname))		return ip6_mroute_setsockopt(sk, optname, optval, optlen);	lock_sock(sk);	switch (optname) {	case IPV6_ADDRFORM:		if (optlen < sizeof(int))			goto e_inval;		if (val == PF_INET) {			struct ipv6_txoptions *opt;			struct sk_buff *pktopt;			if (sk->sk_type == SOCK_RAW)				break;			if (sk->sk_protocol == IPPROTO_UDP ||			    sk->sk_protocol == IPPROTO_UDPLITE) {				struct udp_sock *up = udp_sk(sk);				if (up->pending == AF_INET6) {					retv = -EBUSY;					break;				}			} else if (sk->sk_protocol != IPPROTO_TCP)				break;			if (sk->sk_state != TCP_ESTABLISHED) {				retv = -ENOTCONN;				break;			}			if (ipv6_only_sock(sk) ||			    !ipv6_addr_v4mapped(&np->daddr)) {				retv = -EADDRNOTAVAIL;				break;			}			fl6_free_socklist(sk);			ipv6_sock_mc_close(sk);			/*			 * Sock is moving from IPv6 to IPv4 (sk_prot), so			 * remove it from the refcnt debug socks count in the			 * original family...			 */			sk_refcnt_debug_dec(sk);			if (sk->sk_protocol == IPPROTO_TCP) {				struct inet_connection_sock *icsk = inet_csk(sk);				local_bh_disable();				sock_prot_inuse_add(net, sk->sk_prot, -1);				sock_prot_inuse_add(net, &tcp_prot, 1);				local_bh_enable();				sk->sk_prot = &tcp_prot;				icsk->icsk_af_ops = &ipv4_specific;				sk->sk_socket->ops = &inet_stream_ops;				sk->sk_family = PF_INET;				tcp_sync_mss(sk, icsk->icsk_pmtu_cookie);			} else {				struct proto *prot = &udp_prot;				if (sk->sk_protocol == IPPROTO_UDPLITE)					prot = &udplite_prot;				local_bh_disable();				sock_prot_inuse_add(net, sk->sk_prot, -1);				sock_prot_inuse_add(net, prot, 1);				local_bh_enable();				sk->sk_prot = prot;				sk->sk_socket->ops = &inet_dgram_ops;				sk->sk_family = PF_INET;			}			opt = xchg(&np->opt, NULL);			if (opt)				sock_kfree_s(sk, opt, opt->tot_len);			pktopt = xchg(&np->pktoptions, NULL);			kfree_skb(pktopt);			sk->sk_destruct = inet_sock_destruct;			/*//.........这里部分代码省略.........
开发者ID:garyvan,项目名称:openwrt-1.6,代码行数:101,



注:本文中的sock_prot_inuse_add函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ sock_put函数代码示例
C++ sock_owned_by_user函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。