Mbed OS Reference
Loading...
Searching...
No Matches
iso7816_app.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2015-2018, ARM Limited, All Rights Reserved
3 * SPDX-License-Identifier: Apache-2.0
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may
6 * not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17/**
18 * \file iso7816_app.h
19 * \copyright Copyright (c) ARM Ltd 2015
20 * \author Donatien Garnier
21 */
22#ifndef TECH_ISO7816_ISO7816_APP_H_
23#define TECH_ISO7816_ISO7816_APP_H_
24
25#include "stack/nfc_common.h"
26#include "iso7816.h"
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32struct nfc_tech_iso7816;
34
35typedef void (*nfc_tech_iso7816_app_cb)(nfc_tech_iso7816_app_t *pIso7816App, void *pUserData);
36
38 nfc_tech_iso7816_t *pIso7816;
39
40 const uint8_t *aid;
41 size_t aidSize;
42
43 nfc_tech_iso7816_app_cb selected;
44 nfc_tech_iso7816_app_cb deselected;
45 nfc_tech_iso7816_app_cb apdu;
46
47 void *pUserData;
48
50};
51
52void nfc_tech_iso7816_app_init(nfc_tech_iso7816_app_t *pIso7816App, nfc_tech_iso7816_t *pIso7816, const uint8_t *aid, size_t aidSize,
53 nfc_tech_iso7816_app_cb selected,
54 nfc_tech_iso7816_app_cb deselected,
55 nfc_tech_iso7816_app_cb apdu,
56 void *pUserData
57 );
58
59inline static nfc_err_t nfc_tech_iso7816_app_reply(nfc_tech_iso7816_app_t *pIso7816App)
60{
61 return nfc_tech_iso7816_reply(pIso7816App->pIso7816);
62}
63
64inline static nfc_tech_iso7816_c_apdu_t *nfc_tech_iso7816_app_c_apdu(nfc_tech_iso7816_app_t *pIso7816App)
65{
66 return nfc_tech_iso7816_c_apdu(pIso7816App->pIso7816);
67}
68
69inline static nfc_tech_iso7816_r_apdu_t *nfc_tech_iso7816_app_r_apdu(nfc_tech_iso7816_app_t *pIso7816App)
70{
71 return nfc_tech_iso7816_r_apdu(pIso7816App->pIso7816);
72}
73
74#ifdef __cplusplus
75}
76#endif
77
78#endif /* TECH_ISO7816_ISO7816_APP_H_ */
int nfc_err_t
Type for NFC errors.
Definition: nfc_errors.h:60