RTEMS  5.1
iso7816_4.h
1 /* ---------------------------------------------------------------------------- */
2 /* Atmel Microcontroller Software Support */
3 /* SAM Software Package License */
4 /* ---------------------------------------------------------------------------- */
5 /* Copyright (c) 2015, Atmel Corporation */
6 /* */
7 /* All rights reserved. */
8 /* */
9 /* Redistribution and use in source and binary forms, with or without */
10 /* modification, are permitted provided that the following condition is met: */
11 /* */
12 /* - Redistributions of source code must retain the above copyright notice, */
13 /* this list of conditions and the disclaimer below. */
14 /* */
15 /* Atmel's name may not be used to endorse or promote products derived from */
16 /* this software without specific prior written permission. */
17 /* */
18 /* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
19 /* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
20 /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
21 /* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
22 /* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
23 /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
24 /* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
25 /* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
26 /* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
27 /* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
28 /* ---------------------------------------------------------------------------- */
29 
30 //------------------------------------------------------------------------------
54 #ifndef ISO7816_4_H
55 #define ISO7816_4_H
56 
57 #include "chip.h"
58 
59 /*------------------------------------------------------------------------------
60  * Constants Definition
61  *----------------------------------------------------------------------------*/
62 
64 #define ATR_SIZE_MAX 55
65 
67 #define ISO_NULL_VAL 0x60
68 
69 /*------------------------------------------------------------------------------
70  * Exported functions
71  *----------------------------------------------------------------------------*/
72 
73 extern void ISO7816_Init(
74  Usart *pUsart,
75  uint32_t usartId ,
76  const Pin pPinIso7816RstMC);
77 
78 extern void ISO7816_IccPowerOff(void);
79 
80 extern uint16_t ISO7816_XfrBlockTPDU_T0(
81  const uint8_t *pAPDU,
82  uint8_t *pMessage,
83  uint16_t wLength);
84 
85 extern void ISO7816_Escape(void);
86 
87 extern void ISO7816_RestartClock(void);
88 
89 extern void ISO7816_StopClock(void);
90 
91 extern void ISO7816_toAPDU(void);
92 
93 extern void ISO7816_Datablock_ATR(
94  uint8_t *pAtr,
95  uint8_t *pLength);
96 
97 extern void ISO7816_SetDataRateandClockFrequency(
98  uint32_t dwClockFrequency,
99  uint32_t dwDataRate);
100 
101 extern uint8_t ISO7816_StatusReset(void);
102 
103 extern void ISO7816_cold_reset(void);
104 
105 extern void ISO7816_warm_reset(void);
106 
107 extern void ISO7816_Decode_ATR(uint8_t *pAtr);
108 
109 #endif /* ISO7816_4_H */
110 
Usart hardware registers.
Definition: component_usart.h:41
Definition: pio.h:172