]>
Commit | Line | Data |
---|---|---|
9206d3b0 | 1 | //Data elements for EMV transactions. |
9206d3b0 | 2 | #ifndef __EMVDATAELS_H |
3 | #define __EMVDATAELS_H | |
7dcd37fc | 4 | |
5 | #include <stdint.h> | |
6 | ||
3e83ff21 | 7 | //Known AIDs |
8 | typedef struct { | |
9 | uint8_t tag[2]; | |
10 | char description[255]; | |
11 | } __attribute__((__packed__)) tagdescription_t; | |
53d5dc64 | 12 | |
9206d3b0 | 13 | //Known AIDs |
14 | extern const uint8_t AID_VISA[5]; | |
3e83ff21 | 15 | extern const uint8_t AID_VISA_DB[7]; |
16 | extern const uint8_t AID_VISA_C[8]; | |
17 | extern const uint8_t AID_VISA_D[8]; | |
18 | extern const uint8_t AID_VISA_E[7]; | |
19 | extern const uint8_t AID_VISA_I[7]; | |
20 | extern const uint8_t AID_VISA_P[7]; | |
9206d3b0 | 21 | extern const uint8_t AID_VISA_ATM[8]; |
22 | extern const uint8_t AID_MASTERCARD[7]; | |
23 | extern const uint8_t AID_MAESTRO[7]; | |
24 | extern const uint8_t AID_MAESTRO_UK[7]; | |
25 | extern const uint8_t AID_MAESTRO_TEST[5]; | |
26 | extern const uint8_t AID_SELF_SERVICE[6]; | |
27 | extern const uint8_t AID_AMEX[5]; | |
3e83ff21 | 28 | extern const uint8_t AID_EXPRESSPAY[8]; |
9206d3b0 | 29 | extern const uint8_t AID_LINK[7]; |
30 | extern const uint8_t AID_ALIAS[7]; | |
31 | ||
32 | //Master data file for PSE | |
3e83ff21 | 33 | extern const uint8_t DF_PSE[14]; |
34 | extern const uint8_t SW1_RESPONSE_BYTES[1]; | |
35 | extern const uint8_t SW1_WRONG_LENGTH[1]; | |
36 | extern const uint8_t SW12_OK[2]; | |
37 | extern const uint8_t SW12_NOT_SUPPORTED[2]; | |
38 | extern const uint8_t SW12_NOT_FOUND[2]; | |
39 | extern const uint8_t SW12_COND_NOT_SAT[2]; | |
40 | extern const uint8_t PIN_BLOCKED[2]; | |
41 | extern const uint8_t PIN_BLOCKED2[2]; | |
42 | extern const uint8_t PIN_WRONG[1]; | |
43 | ||
44 | extern const tagdescription_t EMV_TAG_LIST[62]; //SW1 return values | |
9206d3b0 | 45 | |
46 | //AIP bitmasks details | |
47 | #define AIP_CHIP_SUPPORTED 0x80 | |
48 | #define AIP_MSR_SUPPORTED 0x40 | |
49 | ||
50 | #define AIP_SDA_SUPPORTED 0x40 | |
51 | #define AIP_DDA_SUPPORTED 0x20 | |
52 | #define AIP_CARDHOLDER_VERIFICATION 0x10 | |
53 | #define AIP_TERMINAL_RISK 0x08 | |
54 | #define AIP_ISSUER_AUTH 0x04 | |
55 | #define AIP_CDA_SUPPORTED 0x01 | |
56 | ||
57 | //human readable error messages | |
58 | //file structure, read from AFL | |
59 | #endif //__EMVDATAELS_H |