#include <linux/device.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/ctype.h>
#include <linux/debugfs.h>
#include <linux/nfc.h>
#include <net/nfc/nfc.h>
#include <net/nfc/digital.h>
#define NFCSIM_ERR(d, fmt, args...) …
#define NFCSIM_DBG(d, fmt, args...) …
#define NFCSIM_VERSION …
#define NFCSIM_MODE_NONE …
#define NFCSIM_MODE_INITIATOR …
#define NFCSIM_MODE_TARGET …
#define NFCSIM_CAPABILITIES …
struct nfcsim { … };
struct nfcsim_link { … };
static struct nfcsim_link *nfcsim_link_new(void)
{ … }
static void nfcsim_link_free(struct nfcsim_link *link)
{ … }
static void nfcsim_link_recv_wake(struct nfcsim_link *link)
{ … }
static void nfcsim_link_set_skb(struct nfcsim_link *link, struct sk_buff *skb,
u8 rf_tech, u8 mode)
{ … }
static void nfcsim_link_recv_cancel(struct nfcsim_link *link)
{ … }
static void nfcsim_link_shutdown(struct nfcsim_link *link)
{ … }
static struct sk_buff *nfcsim_link_recv_skb(struct nfcsim_link *link,
int timeout, u8 rf_tech, u8 mode)
{ … }
static void nfcsim_send_wq(struct work_struct *work)
{ … }
static void nfcsim_recv_wq(struct work_struct *work)
{ … }
static int nfcsim_send(struct nfc_digital_dev *ddev, struct sk_buff *skb,
u16 timeout, nfc_digital_cmd_complete_t cb, void *arg)
{ … }
static void nfcsim_abort_cmd(struct nfc_digital_dev *ddev)
{ … }
static int nfcsim_switch_rf(struct nfc_digital_dev *ddev, bool on)
{ … }
static int nfcsim_in_configure_hw(struct nfc_digital_dev *ddev,
int type, int param)
{ … }
static int nfcsim_in_send_cmd(struct nfc_digital_dev *ddev,
struct sk_buff *skb, u16 timeout,
nfc_digital_cmd_complete_t cb, void *arg)
{ … }
static int nfcsim_tg_configure_hw(struct nfc_digital_dev *ddev,
int type, int param)
{ … }
static int nfcsim_tg_send_cmd(struct nfc_digital_dev *ddev,
struct sk_buff *skb, u16 timeout,
nfc_digital_cmd_complete_t cb, void *arg)
{ … }
static int nfcsim_tg_listen(struct nfc_digital_dev *ddev, u16 timeout,
nfc_digital_cmd_complete_t cb, void *arg)
{ … }
static const struct nfc_digital_ops nfcsim_digital_ops = …;
static struct dentry *nfcsim_debugfs_root;
static void nfcsim_debugfs_init(void)
{ … }
static void nfcsim_debugfs_remove(void)
{ … }
static void nfcsim_debugfs_init_dev(struct nfcsim *dev)
{ … }
static struct nfcsim *nfcsim_device_new(struct nfcsim_link *link_in,
struct nfcsim_link *link_out)
{ … }
static void nfcsim_device_free(struct nfcsim *dev)
{ … }
static struct nfcsim *dev0;
static struct nfcsim *dev1;
static int __init nfcsim_init(void)
{ … }
static void __exit nfcsim_exit(void)
{ … }
module_init(…) …;
module_exit(nfcsim_exit);
MODULE_DESCRIPTION(…) …;
MODULE_VERSION(…);
MODULE_LICENSE(…) …;