#define pr_fmt(fmt) …
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/nfc.h>
#include <linux/sched/signal.h>
#include "nfc.h"
#include "llcp.h"
static int sock_wait_state(struct sock *sk, int state, unsigned long timeo)
{ … }
static struct proto llcp_sock_proto = …;
static int llcp_sock_bind(struct socket *sock, struct sockaddr *addr, int alen)
{ … }
static int llcp_raw_sock_bind(struct socket *sock, struct sockaddr *addr,
int alen)
{ … }
static int llcp_sock_listen(struct socket *sock, int backlog)
{ … }
static int nfc_llcp_setsockopt(struct socket *sock, int level, int optname,
sockptr_t optval, unsigned int optlen)
{ … }
static int nfc_llcp_getsockopt(struct socket *sock, int level, int optname,
char __user *optval, int __user *optlen)
{ … }
void nfc_llcp_accept_unlink(struct sock *sk)
{ … }
void nfc_llcp_accept_enqueue(struct sock *parent, struct sock *sk)
{ … }
struct sock *nfc_llcp_accept_dequeue(struct sock *parent,
struct socket *newsock)
{ … }
static int llcp_sock_accept(struct socket *sock, struct socket *newsock,
struct proto_accept_arg *arg)
{ … }
static int llcp_sock_getname(struct socket *sock, struct sockaddr *uaddr,
int peer)
{ … }
static inline __poll_t llcp_accept_poll(struct sock *parent)
{ … }
static __poll_t llcp_sock_poll(struct file *file, struct socket *sock,
poll_table *wait)
{ … }
static int llcp_sock_release(struct socket *sock)
{ … }
static int llcp_sock_connect(struct socket *sock, struct sockaddr *_addr,
int len, int flags)
{ … }
static int llcp_sock_sendmsg(struct socket *sock, struct msghdr *msg,
size_t len)
{ … }
static int llcp_sock_recvmsg(struct socket *sock, struct msghdr *msg,
size_t len, int flags)
{ … }
static const struct proto_ops llcp_sock_ops = …;
static const struct proto_ops llcp_rawsock_ops = …;
static void llcp_sock_destruct(struct sock *sk)
{ … }
struct sock *nfc_llcp_sock_alloc(struct socket *sock, int type, gfp_t gfp, int kern)
{ … }
void nfc_llcp_sock_free(struct nfc_llcp_sock *sock)
{ … }
static int llcp_sock_create(struct net *net, struct socket *sock,
const struct nfc_protocol *nfc_proto, int kern)
{ … }
static const struct nfc_protocol llcp_nfc_proto = …;
int __init nfc_llcp_sock_init(void)
{ … }
void nfc_llcp_sock_exit(void)
{ … }