]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/emvdataels.h
Merge pull request #81 from mdp/fixguard
[proxmark3-svn] / armsrc / emvdataels.h
index ad46e9f4b731247c4c97a78edb1861b1fc67fbc1..cb714791fdaaeac76892b4a92d978b070f0fc6f8 100644 (file)
@@ -4,16 +4,20 @@
 
 #include <stdint.h>
 
 
 #include <stdint.h>
 
-typedef struct tagdescription tagdescription;
+//Known AIDs
+typedef struct {
+       uint8_t tag[2];
+       char description[255];
+}  __attribute__((__packed__)) tagdescription_t;
 
 //Known AIDs
 extern const uint8_t AID_VISA[5];
 
 //Known AIDs
 extern const uint8_t AID_VISA[5];
-extern const uint8_t AID_VISA_DB[7] ;
-extern const uint8_t AID_VISA_C[8] 
-extern const uint8_t AID_VISA_D[8]  ;
-extern const uint8_t AID_VISA_E[7]  ;
-extern const uint8_t AID_VISA_I[7]  ;
-extern const uint8_t AID_VISA_P[7]  ;
+extern const uint8_t AID_VISA_DB[7];
+extern const uint8_t AID_VISA_C[8]; 
+extern const uint8_t AID_VISA_D[8];
+extern const uint8_t AID_VISA_E[7];
+extern const uint8_t AID_VISA_I[7];
+extern const uint8_t AID_VISA_P[7];
 extern const uint8_t AID_VISA_ATM[8];
 extern const uint8_t AID_MASTERCARD[7];
 extern const uint8_t AID_MAESTRO[7];
 extern const uint8_t AID_VISA_ATM[8];
 extern const uint8_t AID_MASTERCARD[7];
 extern const uint8_t AID_MAESTRO[7];
@@ -21,22 +25,23 @@ extern const uint8_t AID_MAESTRO_UK[7];
 extern const uint8_t AID_MAESTRO_TEST[5];
 extern const uint8_t AID_SELF_SERVICE[6];
 extern const uint8_t AID_AMEX[5];      
 extern const uint8_t AID_MAESTRO_TEST[5];
 extern const uint8_t AID_SELF_SERVICE[6];
 extern const uint8_t AID_AMEX[5];      
-extern const uint8_t AID_EXPRESSPAY[];
+extern const uint8_t AID_EXPRESSPAY[8];
 extern const uint8_t AID_LINK[7];      
 extern const uint8_t AID_ALIAS[7];     
 
 //Master data file for PSE
 extern const uint8_t AID_LINK[7];      
 extern const uint8_t AID_ALIAS[7];     
 
 //Master data file for PSE
-extern const uint8_t DF_PSE[];
-extern const tagdescription EMV_TAG_LIST[62]; //SW1 return values
-extern const uint8_t SW1_RESPONSE_BYTES[]; 
-extern const uint8_t SW1_WRONG_LENGTH[] ; 
-extern const uint8_t SW12_OK[]; 
-extern const uint8_t SW12_NOT_SUPPORTED[] ;
-extern const uint8_t SW12_NOT_FOUND[]; 
-extern const uint8_t SW12_COND_NOT_SAT[]; 
-extern const uint8_t PIN_BLOCKED[] ;
-extern const uint8_t PIN_BLOCKED2[] ;
-extern const uint8_t PIN_WRONG[] ;
+extern const uint8_t DF_PSE[14];
+extern const uint8_t SW1_RESPONSE_BYTES[1]; 
+extern const uint8_t SW1_WRONG_LENGTH[1]; 
+extern const uint8_t SW12_OK[2]; 
+extern const uint8_t SW12_NOT_SUPPORTED[2];
+extern const uint8_t SW12_NOT_FOUND[2]; 
+extern const uint8_t SW12_COND_NOT_SAT[2]; 
+extern const uint8_t PIN_BLOCKED[2];
+extern const uint8_t PIN_BLOCKED2[2];
+extern const uint8_t PIN_WRONG[1];
+
+extern const tagdescription_t EMV_TAG_LIST[62]; //SW1 return values
 
 //AIP bitmasks details
 #define AIP_CHIP_SUPPORTED 0x80
 
 //AIP bitmasks details
 #define AIP_CHIP_SUPPORTED 0x80
Impressum, Datenschutz