pep.c (4f2c0a4acffbec01079c28f839422e64ddeff004) | pep.c (e1d001fa5b477c4da46a29be1fcece91db7c7c6f) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * File: pep.c 4 * 5 * Phonet pipe protocol end point socket 6 * 7 * Copyright (C) 2008 Nokia Corporation. 8 * --- 903 unchanged lines hidden (view full) --- 912 if (err) 913 return err; 914 915 sk->sk_state = TCP_SYN_SENT; 916 917 return 0; 918} 919 | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * File: pep.c 4 * 5 * Phonet pipe protocol end point socket 6 * 7 * Copyright (C) 2008 Nokia Corporation. 8 * --- 903 unchanged lines hidden (view full) --- 912 if (err) 913 return err; 914 915 sk->sk_state = TCP_SYN_SENT; 916 917 return 0; 918} 919 |
920static int pep_ioctl(struct sock *sk, int cmd, unsigned long arg) | 920static int pep_ioctl(struct sock *sk, int cmd, int *karg) |
921{ 922 struct pep_sock *pn = pep_sk(sk); | 921{ 922 struct pep_sock *pn = pep_sk(sk); |
923 int answ; | |
924 int ret = -ENOIOCTLCMD; 925 926 switch (cmd) { 927 case SIOCINQ: 928 if (sk->sk_state == TCP_LISTEN) { 929 ret = -EINVAL; 930 break; 931 } 932 933 lock_sock(sk); 934 if (sock_flag(sk, SOCK_URGINLINE) && 935 !skb_queue_empty(&pn->ctrlreq_queue)) | 923 int ret = -ENOIOCTLCMD; 924 925 switch (cmd) { 926 case SIOCINQ: 927 if (sk->sk_state == TCP_LISTEN) { 928 ret = -EINVAL; 929 break; 930 } 931 932 lock_sock(sk); 933 if (sock_flag(sk, SOCK_URGINLINE) && 934 !skb_queue_empty(&pn->ctrlreq_queue)) |
936 answ = skb_peek(&pn->ctrlreq_queue)->len; | 935 *karg = skb_peek(&pn->ctrlreq_queue)->len; |
937 else if (!skb_queue_empty(&sk->sk_receive_queue)) | 936 else if (!skb_queue_empty(&sk->sk_receive_queue)) |
938 answ = skb_peek(&sk->sk_receive_queue)->len; | 937 *karg = skb_peek(&sk->sk_receive_queue)->len; |
939 else | 938 else |
940 answ = 0; | 939 *karg = 0; |
941 release_sock(sk); | 940 release_sock(sk); |
942 ret = put_user(answ, (int __user *)arg); | 941 ret = 0; |
943 break; 944 945 case SIOCPNENABLEPIPE: 946 lock_sock(sk); 947 if (sk->sk_state == TCP_SYN_SENT) 948 ret = -EBUSY; 949 else if (sk->sk_state == TCP_ESTABLISHED) 950 ret = -EISCONN; --- 416 unchanged lines hidden --- | 942 break; 943 944 case SIOCPNENABLEPIPE: 945 lock_sock(sk); 946 if (sk->sk_state == TCP_SYN_SENT) 947 ret = -EBUSY; 948 else if (sk->sk_state == TCP_ESTABLISHED) 949 ret = -EISCONN; --- 416 unchanged lines hidden --- |