• Home
  • Raw
  • Download

Lines Matching refs:sk

31 #define _pms(sk)	((struct mISDN_sock *)sk)  argument
55 mISDN_sock_link(struct mISDN_sock_list *l, struct sock *sk) in mISDN_sock_link() argument
58 sk_add_node(sk, &l->head); in mISDN_sock_link()
62 static void mISDN_sock_unlink(struct mISDN_sock_list *l, struct sock *sk) in mISDN_sock_unlink() argument
65 sk_del_node_init(sk); in mISDN_sock_unlink()
78 if (msk->sk.sk_state == MISDN_CLOSED) in mISDN_send()
81 err = sock_queue_rcv_skb(&msk->sk, skb); in mISDN_send()
97 msk->sk.sk_state = MISDN_CLOSED; in mISDN_ctrl()
104 mISDN_sock_cmsg(struct sock *sk, struct msghdr *msg, struct sk_buff *skb) in mISDN_sock_cmsg() argument
108 if (_pms(sk)->cmask & MISDN_TIME_STAMP) { in mISDN_sock_cmsg()
119 struct sock *sk = sock->sk; in mISDN_sock_recvmsg() local
125 __func__, (int)len, flags, _pms(sk)->ch.nr, in mISDN_sock_recvmsg()
126 sk->sk_protocol); in mISDN_sock_recvmsg()
130 if (sk->sk_state == MISDN_CLOSED) in mISDN_sock_recvmsg()
133 skb = skb_recv_datagram(sk, flags, flags & MSG_DONTWAIT, &err); in mISDN_sock_recvmsg()
141 maddr->dev = _pms(sk)->dev->id; in mISDN_sock_recvmsg()
142 if ((sk->sk_protocol == ISDN_P_LAPD_TE) || in mISDN_sock_recvmsg()
143 (sk->sk_protocol == ISDN_P_LAPD_NT)) { in mISDN_sock_recvmsg()
148 maddr->channel = _pms(sk)->ch.nr; in mISDN_sock_recvmsg()
149 maddr->sapi = _pms(sk)->ch.addr & 0xFF; in mISDN_sock_recvmsg()
150 maddr->tei = (_pms(sk)->ch.addr >> 8) & 0xFF; in mISDN_sock_recvmsg()
160 skb_queue_head(&sk->sk_receive_queue, skb); in mISDN_sock_recvmsg()
168 mISDN_sock_cmsg(sk, msg, skb); in mISDN_sock_recvmsg()
170 skb_free_datagram(sk, skb); in mISDN_sock_recvmsg()
178 struct sock *sk = sock->sk; in mISDN_sock_sendmsg() local
184 __func__, (int)len, msg->msg_flags, _pms(sk)->ch.nr, in mISDN_sock_sendmsg()
185 sk->sk_protocol); in mISDN_sock_sendmsg()
196 if (sk->sk_state != MISDN_BOUND) in mISDN_sock_sendmsg()
199 lock_sock(sk); in mISDN_sock_sendmsg()
218 if ((sk->sk_protocol == ISDN_P_LAPD_TE) || in mISDN_sock_sendmsg()
219 (sk->sk_protocol == ISDN_P_LAPD_NT)) in mISDN_sock_sendmsg()
220 mISDN_HEAD_ID(skb) = _pms(sk)->ch.nr; in mISDN_sock_sendmsg()
228 if (!_pms(sk)->ch.peer) in mISDN_sock_sendmsg()
230 err = _pms(sk)->ch.recv(_pms(sk)->ch.peer, skb); in mISDN_sock_sendmsg()
241 release_sock(sk); in mISDN_sock_sendmsg()
248 struct sock *sk = sock->sk; in data_sock_release() local
251 printk(KERN_DEBUG "%s(%p) sk=%p\n", __func__, sock, sk); in data_sock_release()
252 if (!sk) in data_sock_release()
254 switch (sk->sk_protocol) { in data_sock_release()
259 if (sk->sk_state == MISDN_BOUND) in data_sock_release()
260 delete_channel(&_pms(sk)->ch); in data_sock_release()
262 mISDN_sock_unlink(&data_sockets, sk); in data_sock_release()
272 delete_channel(&_pms(sk)->ch); in data_sock_release()
273 mISDN_sock_unlink(&data_sockets, sk); in data_sock_release()
277 lock_sock(sk); in data_sock_release()
279 sock_orphan(sk); in data_sock_release()
280 skb_queue_purge(&sk->sk_receive_queue); in data_sock_release()
282 release_sock(sk); in data_sock_release()
283 sock_put(sk); in data_sock_release()
289 data_sock_ioctl_bound(struct sock *sk, unsigned int cmd, void __user *p) in data_sock_ioctl_bound() argument
295 lock_sock(sk); in data_sock_ioctl_bound()
296 if (!_pms(sk)->dev) { in data_sock_ioctl_bound()
306 if ((sk->sk_protocol & ~ISDN_P_B_MASK) == ISDN_P_B_START) { in data_sock_ioctl_bound()
308 &_pms(sk)->dev->bchannels, list) { in data_sock_ioctl_bound()
316 err = _pms(sk)->dev->D.ctrl(&_pms(sk)->dev->D, in data_sock_ioctl_bound()
324 if (sk->sk_protocol != ISDN_P_LAPD_NT) { in data_sock_ioctl_bound()
333 err = _pms(sk)->dev->teimgr->ctrl(_pms(sk)->dev->teimgr, in data_sock_ioctl_bound()
337 if (sk->sk_protocol != ISDN_P_LAPD_NT in data_sock_ioctl_bound()
338 && sk->sk_protocol != ISDN_P_LAPD_TE) { in data_sock_ioctl_bound()
347 err = _pms(sk)->dev->teimgr->ctrl(_pms(sk)->dev->teimgr, in data_sock_ioctl_bound()
355 release_sock(sk); in data_sock_ioctl_bound()
363 struct sock *sk = sock->sk; in data_sock_ioctl() local
404 if (sk->sk_state == MISDN_BOUND) in data_sock_ioctl()
405 err = data_sock_ioctl_bound(sk, cmd, in data_sock_ioctl()
416 struct sock *sk = sock->sk; in data_sock_setsockopt() local
423 lock_sock(sk); in data_sock_setsockopt()
433 _pms(sk)->cmask |= MISDN_TIME_STAMP; in data_sock_setsockopt()
435 _pms(sk)->cmask &= ~MISDN_TIME_STAMP; in data_sock_setsockopt()
441 release_sock(sk); in data_sock_setsockopt()
448 struct sock *sk = sock->sk; in data_sock_getsockopt() local
459 if (_pms(sk)->cmask & MISDN_TIME_STAMP) in data_sock_getsockopt()
478 struct sock *sk = sock->sk; in data_sock_bind() local
483 printk(KERN_DEBUG "%s(%p) sk=%p\n", __func__, sock, sk); in data_sock_bind()
489 lock_sock(sk); in data_sock_bind()
491 if (_pms(sk)->dev) { in data_sock_bind()
495 _pms(sk)->dev = get_mdevice(maddr->dev); in data_sock_bind()
496 if (!_pms(sk)->dev) { in data_sock_bind()
501 if (sk->sk_protocol < ISDN_P_B_START) { in data_sock_bind()
504 if (sk == csk) in data_sock_bind()
506 if (_pms(csk)->dev != _pms(sk)->dev) in data_sock_bind()
511 == IS_ISDN_P_TE(sk->sk_protocol)) in data_sock_bind()
520 _pms(sk)->ch.send = mISDN_send; in data_sock_bind()
521 _pms(sk)->ch.ctrl = mISDN_ctrl; in data_sock_bind()
523 switch (sk->sk_protocol) { in data_sock_bind()
528 mISDN_sock_unlink(&data_sockets, sk); in data_sock_bind()
529 err = connect_layer1(_pms(sk)->dev, &_pms(sk)->ch, in data_sock_bind()
530 sk->sk_protocol, maddr); in data_sock_bind()
532 mISDN_sock_link(&data_sockets, sk); in data_sock_bind()
536 err = create_l2entity(_pms(sk)->dev, &_pms(sk)->ch, in data_sock_bind()
537 sk->sk_protocol, maddr); in data_sock_bind()
545 err = connect_Bstack(_pms(sk)->dev, &_pms(sk)->ch, in data_sock_bind()
546 sk->sk_protocol, maddr); in data_sock_bind()
553 sk->sk_state = MISDN_BOUND; in data_sock_bind()
554 _pms(sk)->ch.protocol = sk->sk_protocol; in data_sock_bind()
557 release_sock(sk); in data_sock_bind()
566 struct sock *sk = sock->sk; in data_sock_getname() local
568 if (!_pms(sk)->dev) in data_sock_getname()
571 lock_sock(sk); in data_sock_getname()
575 maddr->dev = _pms(sk)->dev->id; in data_sock_getname()
576 maddr->channel = _pms(sk)->ch.nr; in data_sock_getname()
577 maddr->sapi = _pms(sk)->ch.addr & 0xff; in data_sock_getname()
578 maddr->tei = (_pms(sk)->ch.addr >> 8) & 0xff; in data_sock_getname()
579 release_sock(sk); in data_sock_getname()
606 struct sock *sk; in data_sock_create() local
611 sk = sk_alloc(net, PF_ISDN, GFP_KERNEL, &mISDN_proto, kern); in data_sock_create()
612 if (!sk) in data_sock_create()
615 sock_init_data(sock, sk); in data_sock_create()
619 sock_reset_flag(sk, SOCK_ZAPPED); in data_sock_create()
621 sk->sk_protocol = protocol; in data_sock_create()
622 sk->sk_state = MISDN_OPEN; in data_sock_create()
623 mISDN_sock_link(&data_sockets, sk); in data_sock_create()
631 struct sock *sk = sock->sk; in base_sock_release() local
633 printk(KERN_DEBUG "%s(%p) sk=%p\n", __func__, sock, sk); in base_sock_release()
634 if (!sk) in base_sock_release()
637 mISDN_sock_unlink(&base_sockets, sk); in base_sock_release()
638 sock_orphan(sk); in base_sock_release()
639 sock_put(sk); in base_sock_release()
713 struct sock *sk = sock->sk; in base_sock_bind() local
719 lock_sock(sk); in base_sock_bind()
721 if (_pms(sk)->dev) { in base_sock_bind()
726 _pms(sk)->dev = get_mdevice(maddr->dev); in base_sock_bind()
727 if (!_pms(sk)->dev) { in base_sock_bind()
731 sk->sk_state = MISDN_BOUND; in base_sock_bind()
734 release_sock(sk); in base_sock_bind()
762 struct sock *sk; in base_sock_create() local
769 sk = sk_alloc(net, PF_ISDN, GFP_KERNEL, &mISDN_proto, kern); in base_sock_create()
770 if (!sk) in base_sock_create()
773 sock_init_data(sock, sk); in base_sock_create()
776 sock_reset_flag(sk, SOCK_ZAPPED); in base_sock_create()
777 sk->sk_protocol = protocol; in base_sock_create()
778 sk->sk_state = MISDN_OPEN; in base_sock_create()
779 mISDN_sock_link(&base_sockets, sk); in base_sock_create()