Lines Matching refs:sk

84 	struct sock *sk;  in irda_data_indication()  local
88 sk = instance; in irda_data_indication()
90 err = sock_queue_rcv_skb(sk, skb); in irda_data_indication()
112 struct sock *sk; in irda_disconnect_indication() local
122 sk = instance; in irda_disconnect_indication()
123 if (sk == NULL) { in irda_disconnect_indication()
130 bh_lock_sock(sk); in irda_disconnect_indication()
131 if (!sock_flag(sk, SOCK_DEAD) && sk->sk_state != TCP_CLOSE) { in irda_disconnect_indication()
132 sk->sk_state = TCP_CLOSE; in irda_disconnect_indication()
133 sk->sk_shutdown |= SEND_SHUTDOWN; in irda_disconnect_indication()
135 sk->sk_state_change(sk); in irda_disconnect_indication()
155 bh_unlock_sock(sk); in irda_disconnect_indication()
177 struct sock *sk; in irda_connect_confirm() local
183 sk = instance; in irda_connect_confirm()
184 if (sk == NULL) { in irda_connect_confirm()
199 switch (sk->sk_type) { in irda_connect_confirm()
226 sk->sk_state = TCP_ESTABLISHED; in irda_connect_confirm()
227 sk->sk_state_change(sk); in irda_connect_confirm()
241 struct sock *sk; in irda_connect_indication() local
247 sk = instance; in irda_connect_indication()
248 if (sk == NULL) { in irda_connect_indication()
260 switch (sk->sk_type) { in irda_connect_indication()
288 skb_queue_tail(&sk->sk_receive_queue, skb); in irda_connect_indication()
289 sk->sk_state_change(sk); in irda_connect_indication()
324 struct sock *sk; in irda_flow_indication() local
327 sk = instance; in irda_flow_indication()
328 BUG_ON(sk == NULL); in irda_flow_indication()
340 wake_up_interruptible(sk_sleep(sk)); in irda_flow_indication()
702 struct sock *sk = sock->sk; in irda_getname() local
703 struct irda_sock *self = irda_sk(sk); in irda_getname()
707 if (sk->sk_state != TCP_ESTABLISHED) in irda_getname()
737 struct sock *sk = sock->sk; in irda_listen() local
740 lock_sock(sk); in irda_listen()
742 if ((sk->sk_type != SOCK_STREAM) && (sk->sk_type != SOCK_SEQPACKET) && in irda_listen()
743 (sk->sk_type != SOCK_DGRAM)) in irda_listen()
746 if (sk->sk_state != TCP_LISTEN) { in irda_listen()
747 sk->sk_max_ack_backlog = backlog; in irda_listen()
748 sk->sk_state = TCP_LISTEN; in irda_listen()
753 release_sock(sk); in irda_listen()
766 struct sock *sk = sock->sk; in irda_bind() local
768 struct irda_sock *self = irda_sk(sk); in irda_bind()
776 lock_sock(sk); in irda_bind()
779 if ((sk->sk_type == SOCK_DGRAM) && in irda_bind()
780 (sk->sk_protocol == IRDAPROTO_ULTRA)) { in irda_bind()
794 sk->sk_state = TCP_ESTABLISHED; in irda_bind()
820 release_sock(sk); in irda_bind()
832 struct sock *sk = sock->sk; in irda_accept() local
833 struct irda_sock *new, *self = irda_sk(sk); in irda_accept()
838 err = irda_create(sock_net(sk), newsock, sk->sk_protocol, 0); in irda_accept()
844 lock_sock(sk); in irda_accept()
848 if ((sk = sock->sk) == NULL) in irda_accept()
852 if ((sk->sk_type != SOCK_STREAM) && (sk->sk_type != SOCK_SEQPACKET) && in irda_accept()
853 (sk->sk_type != SOCK_DGRAM)) in irda_accept()
857 if (sk->sk_state != TCP_LISTEN) in irda_accept()
874 skb = skb_dequeue(&sk->sk_receive_queue); in irda_accept()
883 err = wait_event_interruptible(*(sk_sleep(sk)), in irda_accept()
884 skb_peek(&sk->sk_receive_queue)); in irda_accept()
889 newsk = newsock->sk; in irda_accept()
923 sk->sk_ack_backlog--; in irda_accept()
930 release_sock(sk); in irda_accept()
957 struct sock *sk = sock->sk; in irda_connect() local
959 struct irda_sock *self = irda_sk(sk); in irda_connect()
964 lock_sock(sk); in irda_connect()
967 if ((sk->sk_type == SOCK_DGRAM) && (sk->sk_protocol == IRDAPROTO_ULTRA)) in irda_connect()
970 if (sk->sk_state == TCP_ESTABLISHED && sock->state == SS_CONNECTING) { in irda_connect()
976 if (sk->sk_state == TCP_CLOSE && sock->state == SS_CONNECTING) { in irda_connect()
983 if (sk->sk_state == TCP_ESTABLISHED) in irda_connect()
986 sk->sk_state = TCP_CLOSE; in irda_connect()
1032 sk->sk_state = TCP_SYN_SENT; in irda_connect()
1045 if (sk->sk_state != TCP_ESTABLISHED && (flags & O_NONBLOCK)) in irda_connect()
1049 if (wait_event_interruptible(*(sk_sleep(sk)), in irda_connect()
1050 (sk->sk_state != TCP_SYN_SENT))) in irda_connect()
1053 if (sk->sk_state != TCP_ESTABLISHED) { in irda_connect()
1055 err = sock_error(sk); in irda_connect()
1067 release_sock(sk); in irda_connect()
1086 struct sock *sk; in irda_create() local
1106 sk = sk_alloc(net, PF_IRDA, GFP_KERNEL, &irda_proto, kern); in irda_create()
1107 if (sk == NULL) in irda_create()
1110 self = irda_sk(sk); in irda_create()
1141 sk_free(sk); in irda_create()
1146 sk_free(sk); in irda_create()
1151 sock_init_data(sock, sk); /* Note : set sk->sk_refcnt to 1 */ in irda_create()
1152 sk->sk_family = PF_IRDA; in irda_create()
1153 sk->sk_protocol = protocol; in irda_create()
1208 struct sock *sk = sock->sk; in irda_release() local
1210 if (sk == NULL) in irda_release()
1213 lock_sock(sk); in irda_release()
1214 sk->sk_state = TCP_CLOSE; in irda_release()
1215 sk->sk_shutdown |= SEND_SHUTDOWN; in irda_release()
1216 sk->sk_state_change(sk); in irda_release()
1219 irda_destroy_socket(irda_sk(sk)); in irda_release()
1221 sock_orphan(sk); in irda_release()
1222 sock->sk = NULL; in irda_release()
1223 release_sock(sk); in irda_release()
1226 skb_queue_purge(&sk->sk_receive_queue); in irda_release()
1230 sock_put(sk); in irda_release()
1270 struct sock *sk = sock->sk; in irda_sendmsg() local
1283 lock_sock(sk); in irda_sendmsg()
1285 if (sk->sk_shutdown & SEND_SHUTDOWN) in irda_sendmsg()
1288 if (sk->sk_state != TCP_ESTABLISHED) { in irda_sendmsg()
1293 self = irda_sk(sk); in irda_sendmsg()
1297 if (wait_event_interruptible(*(sk_sleep(sk)), in irda_sendmsg()
1298 (self->tx_flow != FLOW_STOP || sk->sk_state != TCP_ESTABLISHED))) { in irda_sendmsg()
1304 if (sk->sk_state != TCP_ESTABLISHED) { in irda_sendmsg()
1316 skb = sock_alloc_send_skb(sk, len + self->max_header_size + 16, in irda_sendmsg()
1340 release_sock(sk); in irda_sendmsg()
1345 err = sk_stream_error(sk, msg->msg_flags, err); in irda_sendmsg()
1347 release_sock(sk); in irda_sendmsg()
1361 struct sock *sk = sock->sk; in irda_recvmsg_dgram() local
1362 struct irda_sock *self = irda_sk(sk); in irda_recvmsg_dgram()
1367 skb = skb_recv_datagram(sk, flags & ~MSG_DONTWAIT, in irda_recvmsg_dgram()
1383 skb_free_datagram(sk, skb); in irda_recvmsg_dgram()
1392 if ((atomic_read(&sk->sk_rmem_alloc) << 2) <= sk->sk_rcvbuf) { in irda_recvmsg_dgram()
1408 struct sock *sk = sock->sk; in irda_recvmsg_stream() local
1409 struct irda_sock *self = irda_sk(sk); in irda_recvmsg_stream()
1415 if ((err = sock_error(sk)) < 0) in irda_recvmsg_stream()
1426 target = sock_rcvlowat(sk, flags & MSG_WAITALL, size); in irda_recvmsg_stream()
1427 timeo = sock_rcvtimeo(sk, noblock); in irda_recvmsg_stream()
1431 struct sk_buff *skb = skb_dequeue(&sk->sk_receive_queue); in irda_recvmsg_stream()
1440 prepare_to_wait_exclusive(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); in irda_recvmsg_stream()
1445 err = sock_error(sk); in irda_recvmsg_stream()
1448 else if (sk->sk_shutdown & RCV_SHUTDOWN) in irda_recvmsg_stream()
1454 else if (sk->sk_state != TCP_ESTABLISHED) in irda_recvmsg_stream()
1456 else if (skb_peek(&sk->sk_receive_queue) == NULL) in irda_recvmsg_stream()
1460 finish_wait(sk_sleep(sk), &wait); in irda_recvmsg_stream()
1464 if (sk->sk_shutdown & RCV_SHUTDOWN) in irda_recvmsg_stream()
1472 skb_queue_head(&sk->sk_receive_queue, skb); in irda_recvmsg_stream()
1488 skb_queue_head(&sk->sk_receive_queue, skb); in irda_recvmsg_stream()
1497 skb_queue_head(&sk->sk_receive_queue, skb); in irda_recvmsg_stream()
1509 if ((atomic_read(&sk->sk_rmem_alloc) << 2) <= sk->sk_rcvbuf) { in irda_recvmsg_stream()
1529 struct sock *sk = sock->sk; in irda_sendmsg_dgram() local
1539 lock_sock(sk); in irda_sendmsg_dgram()
1541 if (sk->sk_shutdown & SEND_SHUTDOWN) { in irda_sendmsg_dgram()
1548 if (sk->sk_state != TCP_ESTABLISHED) in irda_sendmsg_dgram()
1551 self = irda_sk(sk); in irda_sendmsg_dgram()
1563 skb = sock_alloc_send_skb(sk, len + self->max_header_size, in irda_sendmsg_dgram()
1590 release_sock(sk); in irda_sendmsg_dgram()
1594 release_sock(sk); in irda_sendmsg_dgram()
1608 struct sock *sk = sock->sk; in irda_sendmsg_ultra() local
1621 lock_sock(sk); in irda_sendmsg_ultra()
1624 if (sk->sk_shutdown & SEND_SHUTDOWN) { in irda_sendmsg_ultra()
1629 self = irda_sk(sk); in irda_sendmsg_ultra()
1652 (sk->sk_state != TCP_ESTABLISHED)) { in irda_sendmsg_ultra()
1672 skb = sock_alloc_send_skb(sk, len + self->max_header_size, in irda_sendmsg_ultra()
1694 release_sock(sk); in irda_sendmsg_ultra()
1704 struct sock *sk = sock->sk; in irda_shutdown() local
1705 struct irda_sock *self = irda_sk(sk); in irda_shutdown()
1709 lock_sock(sk); in irda_shutdown()
1711 sk->sk_state = TCP_CLOSE; in irda_shutdown()
1712 sk->sk_shutdown |= SEND_SHUTDOWN; in irda_shutdown()
1713 sk->sk_state_change(sk); in irda_shutdown()
1731 release_sock(sk); in irda_shutdown()
1742 struct sock *sk = sock->sk; in irda_poll() local
1743 struct irda_sock *self = irda_sk(sk); in irda_poll()
1746 poll_wait(file, sk_sleep(sk), wait); in irda_poll()
1750 if (sk->sk_err) in irda_poll()
1752 if (sk->sk_shutdown & RCV_SHUTDOWN) { in irda_poll()
1758 if (!skb_queue_empty(&sk->sk_receive_queue)) { in irda_poll()
1764 switch (sk->sk_type) { in irda_poll()
1766 if (sk->sk_state == TCP_CLOSE) { in irda_poll()
1771 if (sk->sk_state == TCP_ESTABLISHED) { in irda_poll()
1773 sock_writeable(sk)) in irda_poll()
1781 sock_writeable(sk)) in irda_poll()
1787 if (sock_writeable(sk)) in irda_poll()
1802 struct sock *sk = sock->sk; in irda_ioctl() local
1812 amount = sk->sk_sndbuf - sk_wmem_alloc_get(sk); in irda_ioctl()
1823 if ((skb = skb_peek(&sk->sk_receive_queue)) != NULL) in irda_ioctl()
1830 if (sk != NULL) in irda_ioctl()
1831 err = sock_get_timestamp(sk, (struct timeval __user *)arg); in irda_ioctl()
1875 struct sock *sk = sock->sk; in irda_setsockopt() local
1876 struct irda_sock *self = irda_sk(sk); in irda_setsockopt()
1887 lock_sock(sk); in irda_setsockopt()
2105 if (sk->sk_type != SOCK_SEQPACKET) { in irda_setsockopt()
2165 release_sock(sk); in irda_setsockopt()
2225 struct sock *sk = sock->sk; in irda_getsockopt() local
2226 struct irda_sock *self = irda_sk(sk); in irda_getsockopt()
2249 lock_sock(sk); in irda_getsockopt()
2583 release_sock(sk); in irda_getsockopt()