NFC: Define secure element IO API and commands
In order to send and receive ISO7816 APDUs to and from NFC embedded secure elements, we define a specific netlink command. On a typical SE use case, host applications will send very few APDUs (Less than 10) per transaction. This is why we decided to go for a simple netlink API. Defining another NFC socket protocol for such low traffic would have been overengineered. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
@@ -53,6 +53,8 @@ struct nfc_dev;
|
||||
typedef void (*data_exchange_cb_t)(void *context, struct sk_buff *skb,
|
||||
int err);
|
||||
|
||||
typedef void (*se_io_cb_t)(void *context, u8 *apdu, size_t apdu_len, int err);
|
||||
|
||||
struct nfc_target;
|
||||
|
||||
struct nfc_ops {
|
||||
@@ -79,6 +81,9 @@ struct nfc_ops {
|
||||
int (*discover_se)(struct nfc_dev *dev);
|
||||
int (*enable_se)(struct nfc_dev *dev, u32 se_idx);
|
||||
int (*disable_se)(struct nfc_dev *dev, u32 se_idx);
|
||||
int (*se_io) (struct nfc_dev *dev, u32 se_idx,
|
||||
u8 *apdu, size_t apdu_length,
|
||||
se_io_cb_t cb, void *cb_context);
|
||||
};
|
||||
|
||||
#define NFC_TARGET_IDX_ANY -1
|
||||
|
Reference in New Issue
Block a user