mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
NFC: llcp: Add support in getsockopt for RW, LTO, and MIU remote parameters
Useful for LLCP validation tests. Signed-off-by: Thierry Escande <thierry.escande@linux.intel.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
parent
abd18d4330
commit
064f370c5f
@ -233,7 +233,10 @@ struct sockaddr_nfc_llcp {
|
||||
#define NFC_LLCP_DIRECTION_TX 0x01
|
||||
|
||||
/* socket option names */
|
||||
#define NFC_LLCP_RW 0
|
||||
#define NFC_LLCP_MIUX 1
|
||||
#define NFC_LLCP_RW 0
|
||||
#define NFC_LLCP_MIUX 1
|
||||
#define NFC_LLCP_REMOTE_MIU 2
|
||||
#define NFC_LLCP_REMOTE_LTO 3
|
||||
#define NFC_LLCP_REMOTE_RW 4
|
||||
|
||||
#endif /*__LINUX_NFC_H */
|
||||
|
@ -303,7 +303,7 @@ static int nfc_llcp_getsockopt(struct socket *sock, int level, int optname,
|
||||
struct sock *sk = sock->sk;
|
||||
struct nfc_llcp_sock *llcp_sock = nfc_llcp_sock(sk);
|
||||
int len, err = 0;
|
||||
u16 miux;
|
||||
u16 miux, remote_miu;
|
||||
u8 rw;
|
||||
|
||||
pr_debug("%p optname %d\n", sk, optname);
|
||||
@ -339,6 +339,27 @@ static int nfc_llcp_getsockopt(struct socket *sock, int level, int optname,
|
||||
|
||||
break;
|
||||
|
||||
case NFC_LLCP_REMOTE_MIU:
|
||||
remote_miu = llcp_sock->remote_miu > LLCP_MAX_MIU ?
|
||||
local->remote_miu : llcp_sock->remote_miu;
|
||||
|
||||
if (put_user(remote_miu, (u32 __user *) optval))
|
||||
err = -EFAULT;
|
||||
|
||||
break;
|
||||
|
||||
case NFC_LLCP_REMOTE_LTO:
|
||||
if (put_user(local->remote_lto / 10, (u32 __user *) optval))
|
||||
err = -EFAULT;
|
||||
|
||||
break;
|
||||
|
||||
case NFC_LLCP_REMOTE_RW:
|
||||
if (put_user(llcp_sock->remote_rw, (u32 __user *) optval))
|
||||
err = -EFAULT;
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
err = -ENOPROTOOPT;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user