#include <linux/skbuff.h>
#include "../nfc.h"
#include <net/nfc/nci.h>
#include <net/nfc/nci_core.h>
#include <linux/nfc.h>
#include <linux/kcov.h>
struct nci_data { … } __packed;
struct nci_hci_create_pipe_params { … } __packed;
struct nci_hci_create_pipe_resp { … } __packed;
struct nci_hci_delete_pipe_noti { … } __packed;
struct nci_hci_all_pipe_cleared_noti { … } __packed;
struct nci_hcp_message { … } __packed;
struct nci_hcp_packet { … } __packed;
#define NCI_HCI_ANY_SET_PARAMETER …
#define NCI_HCI_ANY_GET_PARAMETER …
#define NCI_HCI_ANY_CLOSE_PIPE …
#define NCI_HCI_ADM_CLEAR_ALL_PIPE …
#define NCI_HFP_NO_CHAINING …
#define NCI_NFCEE_ID_HCI …
#define NCI_EVT_HOT_PLUG …
#define NCI_HCI_ADMIN_PARAM_SESSION_IDENTITY …
#define NCI_HCI_ADM_CREATE_PIPE …
#define NCI_HCI_ADM_DELETE_PIPE …
#define NCI_HCI_HCP_PACKET_HEADER_LEN …
#define NCI_HCI_HCP_MESSAGE_HEADER_LEN …
#define NCI_HCI_HCP_HEADER_LEN …
#define NCI_HCI_HCP_COMMAND …
#define NCI_HCI_HCP_EVENT …
#define NCI_HCI_HCP_RESPONSE …
#define NCI_HCI_ADM_NOTIFY_PIPE_CREATED …
#define NCI_HCI_ADM_NOTIFY_PIPE_DELETED …
#define NCI_HCI_ADM_NOTIFY_ALL_PIPE_CLEARED …
#define NCI_HCI_FRAGMENT …
#define NCI_HCP_HEADER(type, instr) …
#define NCI_HCP_MSG_GET_TYPE(header) …
#define NCI_HCP_MSG_GET_CMD(header) …
#define NCI_HCP_MSG_GET_PIPE(header) …
static int nci_hci_result_to_errno(u8 result)
{ … }
static void nci_hci_reset_pipes(struct nci_hci_dev *hdev)
{ … }
static void nci_hci_reset_pipes_per_host(struct nci_dev *ndev, u8 host)
{ … }
static int nci_hci_send_data(struct nci_dev *ndev, u8 pipe,
const u8 data_type, const u8 *data,
size_t data_len)
{ … }
static void nci_hci_send_data_req(struct nci_dev *ndev, const void *opt)
{ … }
int nci_hci_send_event(struct nci_dev *ndev, u8 gate, u8 event,
const u8 *param, size_t param_len)
{ … }
EXPORT_SYMBOL(…);
int nci_hci_send_cmd(struct nci_dev *ndev, u8 gate, u8 cmd,
const u8 *param, size_t param_len,
struct sk_buff **skb)
{ … }
EXPORT_SYMBOL(…);
int nci_hci_clear_all_pipes(struct nci_dev *ndev)
{ … }
EXPORT_SYMBOL(…);
static void nci_hci_event_received(struct nci_dev *ndev, u8 pipe,
u8 event, struct sk_buff *skb)
{ … }
static void nci_hci_cmd_received(struct nci_dev *ndev, u8 pipe,
u8 cmd, struct sk_buff *skb)
{ … }
static void nci_hci_resp_received(struct nci_dev *ndev, u8 pipe,
struct sk_buff *skb)
{ … }
static void nci_hci_hcp_message_rx(struct nci_dev *ndev, u8 pipe,
u8 type, u8 instruction, struct sk_buff *skb)
{ … }
static void nci_hci_msg_rx_work(struct work_struct *work)
{ … }
void nci_hci_data_received_cb(void *context,
struct sk_buff *skb, int err)
{ … }
int nci_hci_open_pipe(struct nci_dev *ndev, u8 pipe)
{ … }
EXPORT_SYMBOL(…);
static u8 nci_hci_create_pipe(struct nci_dev *ndev, u8 dest_host,
u8 dest_gate, int *result)
{ … }
static int nci_hci_delete_pipe(struct nci_dev *ndev, u8 pipe)
{ … }
int nci_hci_set_param(struct nci_dev *ndev, u8 gate, u8 idx,
const u8 *param, size_t param_len)
{ … }
EXPORT_SYMBOL(…);
int nci_hci_get_param(struct nci_dev *ndev, u8 gate, u8 idx,
struct sk_buff **skb)
{ … }
EXPORT_SYMBOL(…);
int nci_hci_connect_gate(struct nci_dev *ndev,
u8 dest_host, u8 dest_gate, u8 pipe)
{ … }
EXPORT_SYMBOL(…);
static int nci_hci_dev_connect_gates(struct nci_dev *ndev,
u8 gate_count,
const struct nci_hci_gate *gates)
{ … }
int nci_hci_dev_session_init(struct nci_dev *ndev)
{ … }
EXPORT_SYMBOL(…);
struct nci_hci_dev *nci_hci_allocate(struct nci_dev *ndev)
{ … }
void nci_hci_deallocate(struct nci_dev *ndev)
{ … }