Mistake on this page?
Report an issue in GitHub or email us
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
29 extern "C" {
30 #endif
31 
32 struct nfc_tech_iso7816;
34 
35 typedef 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 
52 void 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 
59 inline 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 
64 inline 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 
69 inline 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:59
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.