linux/net/nfc/hci/hci.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Copyright (C) 2012  Intel Corporation. All rights reserved.
 */

#ifndef __LOCAL_HCI_H
#define __LOCAL_HCI_H

#include <net/nfc/hci.h>

struct gate_pipe_map {};

struct hcp_message {} __packed;

struct hcp_packet {} __packed;

struct hcp_exec_waiter {};

struct hci_msg {};

struct hci_create_pipe_params {} __packed;

struct hci_create_pipe_resp {} __packed;

struct hci_delete_pipe_noti {} __packed;

struct hci_all_pipe_cleared_noti {} __packed;

#define NFC_HCI_FRAGMENT

#define HCP_HEADER(type, instr)
#define HCP_MSG_GET_TYPE(header)
#define HCP_MSG_GET_CMD(header)

int nfc_hci_hcp_message_tx(struct nfc_hci_dev *hdev, u8 pipe,
			   u8 type, u8 instruction,
			   const u8 *payload, size_t payload_len,
			   data_exchange_cb_t cb, void *cb_context,
			   unsigned long completion_delay);

void nfc_hci_hcp_message_rx(struct nfc_hci_dev *hdev, u8 pipe, u8 type,
			    u8 instruction, struct sk_buff *skb);

/* HCP headers */
#define NFC_HCI_HCP_PACKET_HEADER_LEN
#define NFC_HCI_HCP_MESSAGE_HEADER_LEN
#define NFC_HCI_HCP_HEADER_LEN

/* HCP types */
#define NFC_HCI_HCP_COMMAND
#define NFC_HCI_HCP_EVENT
#define NFC_HCI_HCP_RESPONSE

/* Generic commands */
#define NFC_HCI_ANY_SET_PARAMETER
#define NFC_HCI_ANY_GET_PARAMETER
#define NFC_HCI_ANY_OPEN_PIPE
#define NFC_HCI_ANY_CLOSE_PIPE

/* Reader RF commands */
#define NFC_HCI_WR_XCHG_DATA

/* Admin commands */
#define NFC_HCI_ADM_CREATE_PIPE
#define NFC_HCI_ADM_DELETE_PIPE
#define NFC_HCI_ADM_NOTIFY_PIPE_CREATED
#define NFC_HCI_ADM_NOTIFY_PIPE_DELETED
#define NFC_HCI_ADM_CLEAR_ALL_PIPE
#define NFC_HCI_ADM_NOTIFY_ALL_PIPE_CLEARED

/* Generic responses */
#define NFC_HCI_ANY_OK
#define NFC_HCI_ANY_E_NOT_CONNECTED
#define NFC_HCI_ANY_E_CMD_PAR_UNKNOWN
#define NFC_HCI_ANY_E_NOK
#define NFC_HCI_ANY_E_PIPES_FULL
#define NFC_HCI_ANY_E_REG_PAR_UNKNOWN
#define NFC_HCI_ANY_E_PIPE_NOT_OPENED
#define NFC_HCI_ANY_E_CMD_NOT_SUPPORTED
#define NFC_HCI_ANY_E_INHIBITED
#define NFC_HCI_ANY_E_TIMEOUT
#define NFC_HCI_ANY_E_REG_ACCESS_DENIED
#define NFC_HCI_ANY_E_PIPE_ACCESS_DENIED

#endif /* __LOCAL_HCI_H */