#ifndef __LOCAL_ST21NFCA_H_
#define __LOCAL_ST21NFCA_H_
#include <net/nfc/hci.h>
#include <linux/skbuff.h>
#include <linux/workqueue.h>
#define HCI_MODE …
#define ST21NFCA_SOF_EOF_LEN …
#define ST21NFCA_HCI_LLC_LEN …
#define ST21NFCA_HCI_LLC_CRC …
#define ST21NFCA_HCI_LLC_LEN_CRC …
#define ST21NFCA_HCI_LLC_MIN_SIZE …
#define ST21NFCA_HCI_LLC_MAX_PAYLOAD …
#define ST21NFCA_HCI_LLC_MAX_SIZE …
#define ST21NFCA_WR_XCHG_DATA …
#define ST21NFCA_DEVICE_MGNT_GATE …
#define ST21NFCA_RF_READER_F_GATE …
#define ST21NFCA_RF_CARD_F_GATE …
#define ST21NFCA_APDU_READER_GATE …
#define ST21NFCA_CONNECTIVITY_GATE …
#define ST21NFCA_ESE_MAX_LENGTH …
#define ST21NFCA_ESE_HOST_ID …
#define DRIVER_DESC …
#define ST21NFCA_HCI_MODE …
#define ST21NFCA_NUM_DEVICES …
#define ST21NFCA_VENDOR_OUI …
#define ST21NFCA_FACTORY_MODE …
struct st21nfca_se_status { … };
enum st21nfca_state { … };
enum nfc_vendor_cmds { … };
struct st21nfca_vendor_info { … };
struct st21nfca_dep_info { … } __packed;
struct st21nfca_se_info { … };
struct st21nfca_hci_info { … };
int st21nfca_hci_probe(void *phy_id, const struct nfc_phy_ops *phy_ops,
char *llc_name, int phy_headroom, int phy_tailroom,
int phy_payload, struct nfc_hci_dev **hdev,
struct st21nfca_se_status *se_status);
void st21nfca_hci_remove(struct nfc_hci_dev *hdev);
int st21nfca_dep_event_received(struct nfc_hci_dev *hdev,
u8 event, struct sk_buff *skb);
int st21nfca_tm_send_dep_res(struct nfc_hci_dev *hdev, struct sk_buff *skb);
int st21nfca_im_send_atr_req(struct nfc_hci_dev *hdev, u8 *gb, size_t gb_len);
int st21nfca_im_send_dep_req(struct nfc_hci_dev *hdev, struct sk_buff *skb);
void st21nfca_dep_init(struct nfc_hci_dev *hdev);
void st21nfca_dep_deinit(struct nfc_hci_dev *hdev);
int st21nfca_connectivity_event_received(struct nfc_hci_dev *hdev, u8 host,
u8 event, struct sk_buff *skb);
int st21nfca_apdu_reader_event_received(struct nfc_hci_dev *hdev,
u8 event, struct sk_buff *skb);
int st21nfca_hci_discover_se(struct nfc_hci_dev *hdev);
int st21nfca_hci_enable_se(struct nfc_hci_dev *hdev, u32 se_idx);
int st21nfca_hci_disable_se(struct nfc_hci_dev *hdev, u32 se_idx);
int st21nfca_hci_se_io(struct nfc_hci_dev *hdev, u32 se_idx,
u8 *apdu, size_t apdu_length,
se_io_cb_t cb, void *cb_context);
void st21nfca_se_init(struct nfc_hci_dev *hdev);
void st21nfca_se_deinit(struct nfc_hci_dev *hdev);
int st21nfca_hci_loopback_event_received(struct nfc_hci_dev *ndev, u8 event,
struct sk_buff *skb);
int st21nfca_vendor_cmds_init(struct nfc_hci_dev *ndev);
#endif