> For the complete documentation index, see [llms.txt](https://sandbox-docs.verifone.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sandbox-docs.verifone.com/s-adk-5.1-programmers-guide/_e2_e___e_m_v___c_t___serialize_8h_source.md).

# E2E\_EMV\_CT\_Serialize.h

[Go to the documentation of this file.](/s-adk-5.1-programmers-guide/readme/files/dir_f2a776acea245b054b8e462971041f2d/dir_a8473f4b62cdc0a6141a040fa4015132/dir_f787d7497684cf42d067468735e00a3d/dir_18e3d3062bbf485b8b342eb241e15d99/_e2_e___e_m_v___c_t___serialize_8h.md)

```cpp
 1 /****************************************************************************
 2 * Product: ADK Cards Service - EMV Contact (CT)
 3 * Company: Verifone
 4 * Author: GSS R&D Germany
 5 * Content: Definitions for serial interface
 6 ****************************************************************************/
 7 
 8 #ifndef EMV_CT_TLV_H /* avoid double interface-includes */
 9  #define EMV_CT_TLV_H
 10 
 11 #include <stdarg.h>
 12 
 13 // *************************
 14 // defines for serialization
 15 // *************************
 16 
 17 #define HEADER_SIZE (4)
 18 #define MAX_MESSAGE_SIZE (2048)
 19 #define MAX_DATA_SIZE (MAX_MESSAGE_SIZE-HEADER_SIZE)
 20 
 21 #ifndef MIN
 22 #define MIN(a,b) ((a)<(b)?(a):(b))
 23 #endif
 24 
 25 // ========================================================================================================
 26 // === EMVCo and card issuer tags ===
 27 // ========================================================================================================
 28 
 31 
 35 #define TAG_42_ISSUER_ID 0x42u 
 36 #define TAG_4F_APP_ID 0x4Fu 
 37 #define TAG_50_APP_LABEL 0x50u 
 38 #define TAG_52_CMD_TO_PERFORM 0x52u 
 39 #define TAG_57_TRACK2_EQUIVALENT 0x57u 
 40 #define TAG_5A_APP_PAN 0x5Au 
 41 #define TAG_5F20_CARDHOLDER_NAME 0x5F20u 
 42 #define TAG_5F24_APP_EXP_DATE 0x5F24u 
 43 #define TAG_5F25_APP_EFF_DATE 0x5F25u 
 44 #define TAG_5F28_ISS_COUNTRY_CODE 0x5F28u 
 45 #define TAG_5F2A_TRANS_CURRENCY 0x5F2Au 
 46 #define TAG_5F2D_LANGUAGE 0x5F2Du 
 47 #define TAG_5F30_SERVICE_CODE 0x5F30u 
 48 #define TAG_5F34_PAN_SEQUENCE_NB 0x5F34u 
 49 #define TAG_5F36_TRANS_CURRENCY_EXP 0x5F36u 
 50 #define TAG_5F50_ISSUER_URL 0x5F50u 
 51 #define TAG_5F53_IBAN 0x5F53u 
 52 #define TAG_5F54_BIC 0x5F54u 
 53 #define TAG_5F55_ISSUER_COUNTRY_2 0x5F55u 
 54 #define TAG_5F56_ISSUER_COUNTRY_3 0x5F56u 
 55 #define TAG_5F56_ISSUER_COUNTRY_CODE 0x5F56u 
 56 #define TAG_5F57_ACCOUNT_TYPE 0x5F57u 
 57 #define TAG_61_APP_TEMPLATE 0x61u 
 58 #define TAG_6F_FCI_TEMPLATE 0x6Fu 
 59 #define TAG_70_AEF_DATA_TEMPLATE 0x70u 
 60 #define TAG_71_ISS_SCRIPT_TPLT_1 0x71u 
 61 #define TAG_72_ISS_SCRIPT_TPLT_2 0x72u 
 62 #define TAG_73_DIR_DISCR_TEMPLATE 0x73u 
 63 #define TAG_77_RS_MSG_TPLT_FRMT_2 0x77u 
 64 #define TAG_80_RS_MSG_TPLT_FRMT_1 0x80u 
 65 #define TAG_81_BIN_AMOUNT_AUTH 0x81u 
 66 #define TAG_82_AIP 0x82u 
 67 #define TAG_83_CMD_TPLT 0x83u 
 68 #define TAG_84_DF_NAME 0x84u 
 69 #define TAG_86_ISS_SCRIPT_CMD 0x86u 
 70 #define TAG_87_APP_PRIORITY_ID 0x87u 
 71 #define TAG_88_SHORT_FILE_ID 0x88u 
 72 #define TAG_89_AUTH_CODE 0x89u 
 73 #define TAG_8A_AUTH_RESP_CODE 0x8Au 
 74 #define TAG_8C_CDOL_1 0x8Cu 
 75 #define TAG_8D_CDOL_2 0x8Du 
 76 #define TAG_8E_CVM_LIST 0x8Eu 
 77 #define TAG_8F_CERTIF_AUTH_PK_ID 0x8Fu 
 78 #define TAG_90_ISS_PK_CERTIF 0x90u 
 79 #define TAG_91_ISS_AUTH_DATA 0x91u 
 80 #define TAG_92_ISS_PK_REMAINDER 0x92u 
 81 #define TAG_93_SGND_STAT_APP_DATA 0x93u 
 82 #define TAG_94_AFL 0x94u 
 83 #define TAG_95_TVR 0x95u 
 84 #define TAG_97_TDOL 0x97u 
 85 #define TAG_98_TC_HASH_VALUE 0x98u 
 86 #define TAG_99_TRANS_PIN_DATA 0x99u 
 87 #define TAG_9A_TRANS_DATE 0x9Au 
 88 #define TAG_9B_TSI 0x9Bu 
 89 #define TAG_9C_TRANS_TYPE 0x9Cu 
 90 #define TAG_9D_DDF_NAME 0x9Du 
 91 #define TAG_9F01_ACQ_ID 0x9F01u 
 92 #define TAG_9F02_NUM_AMOUNT_AUTH 0x9F02u 
 93 #define TAG_9F03_NUM_AMOUNT_OTHER 0x9F03u 
 94 #define TAG_9F04_BIN_AMOUNT_OTHER 0x9F04u 
 95 #define TAG_9F05_APP_DISCR_DATA 0x9F05u 
 96 #define TAG_9F06_AID 0x9F06u 
 97 #define TAG_9F07_APP_USAGE_CONTROL 0x9F07u 
 98 #define TAG_9F08_ICC_APP_VERSION_NB 0x9F08u 
 99 #define TAG_9F09_TRM_APP_VERSION_NB 0x9F09u 
 100 #define TAG_9F0A_ASRPD 0x9F0Au 
 101 #define TAG_9F0B_CARDHOLDER_NAME_XT 0x9F0Bu 
 102 #define TAG_9F0C_ISSUER_ID_EXT 0x9F0Cu 
 103 #define TAG_9F0D_IAC_DEFAULT 0x9F0Du 
 104 #define TAG_9F0E_IAC_DENIAL 0x9F0Eu 
 105 #define TAG_9F0F_IAC_ONLINE 0x9F0Fu 
 106 #define TAG_9F10_ISS_APP_DATA 0x9F10u 
 107 #define TAG_9F11_ISS_CODE_TABLE_ID 0x9F11u 
 108 #define TAG_9F12_APP_PREFERRED_NAME 0x9F12u 
 113 #define TAG_9F13_LAST_ONLINE_ATC 0x9F13u 
 114 #define TAG_9F14_LO_OFFLINE_LIMIT 0x9F14u 
 115 #define TAG_9F15_MERCH_CATEG_CODE 0x9F15u 
 116 #define TAG_9F16_MERCHANT_ID 0x9F16u 
 117 #define TAG_9F17_PIN_TRIES_LEFT 0x9F17u 
 118 #define TAG_9F18_ISS_SCRIPT_ID 0x9F18u 
 119 #define TAG_9F1A_TRM_COUNTRY_CODE 0x9F1Au 
 120 #define TAG_9F1B_TRM_FLOOR_LIMIT 0x9F1Bu 
 121 #define TAG_9F1C_TRM_ID 0x9F1Cu 
 122 #define TAG_9F1D_TRM_RISK_MNGT_DATA 0x9F1Du 
 123 #define TAG_9F1E_IFD_SERIAL_NB 0x9F1Eu 
 124 #define TAG_9F1F_TRACK_1_DISCR_DATA 0x9F1Fu 
 125 #define TAG_9F20_TRACK_2_DISCR_DATA 0x9F20u 
 126 #define TAG_9F21_TRANS_TIME 0x9F21u 
 127 #define TAG_9F22_CERTIF_AUTH_PK_ID 0x9F22u 
 128 #define TAG_9F23_HI_OFFLINE_LIMIT 0x9F23u 
 129 #define TAG_9F24_PAYM_ACCOUNT_REF 0x9F24u 
 130 #define TAG_9F26_APP_CRYPTOGRAM 0x9F26u 
 131 #define TAG_9F27_CRYPT_INFO_DATA 0x9F27u 
 132 #define TAG_9F2D_ICC_PIN_PK_CERTIF 0x9F2Du 
 133 #define TAG_9F2E_ICC_PIN_PK_EXP 0x9F2Eu 
 134 #define TAG_9F2F_ICC_PIN_PK_REMAIN 0x9F2Fu 
 135 #define TAG_9F32_ISS_PK_EXP 0x9F32u 
 136 #define TAG_9F33_TRM_CAPABILITIES 0x9F33u 
 137 #define TAG_9F34_CVM_RESULTS 0x9F34u 
 138 #define TAG_9F35_TRM_TYPE 0x9F35u 
 139 #define TAG_9F36_ATC 0x9F36u 
 140 #define TAG_9F37_UNPREDICTABLE_NB 0x9F37u 
 141 #define TAG_9F38_PDOL 0x9F38u 
 142 #define TAG_9F39_POS_ENTRY_MODE 0x9F39u 
 143 #define TAG_9F3A_AMNT_REF_CURRENCY 0x9F3Au 
 144 #define TAG_9F3B_APP_REF_CURRENCY 0x9F3Bu 
 145 #define TAG_9F3C_TRANS_REF_CURRENCY 0x9F3Cu 
 146 #define TAG_9F3D_TRANS_CURRENCY_EXP 0x9F3Du 
 147 #define TAG_9F40_ADD_TRM_CAP 0x9F40u 
 148 #define TAG_9F41_TRANS_SEQUENCE_NB 0x9F41u 
 149 #define TAG_9F42_APP_CURRENCY_CODE 0x9F42u 
 150 #define TAG_9F43_APP_REF_CURRCY_EXP 0x9F43u 
 151 #define TAG_9F44_APP_CURRENCY_EXP 0x9F44u 
 152 #define TAG_9F45_DATA_AUTHENT_CODE 0x9F45u 
 153 #define TAG_9F46_ICC_PK_CERTIF 0x9F46u 
 154 #define TAG_9F47_ICC_PK_EXP 0x9F47u 
 155 #define TAG_9F48_ICC_PK_REMAINDER 0x9F48u 
 156 #define TAG_9F49_DDOL 0x9F49u 
 157 #define TAG_9F4A_SDA_TAG_LIST 0x9F4Au 
 158 #define TAG_9F4B_SDA_DATA 0x9F4Bu 
 159 #define TAG_9F4C_ICC_DYNAMIC_NB 0x9F4Cu 
 160 #define TAG_9F4E_TAC_MERCHANTLOC 0x9F4Eu 
 161 #define TAG_A5_FCI_PROPR_TPLT 0xA5u 
 162 #define TAG_BF0C_FCI_ISS_DISCR 0xBF0Cu 
 163 
 165 //#define TAG_9F51_APP_CURRENCY_CODE 0x9F51 ///< Application Currency Code
 170 //#define TAG_9F52_DEFAULT_ACTION 0x9F52 ///< Application Default Action (ADA)
 171 //#define TAG_9F53_CONSECUTIVE_LIM_TRANS_INT 0x9F53 ///< Consecutive Transaction Limit (International)
 172 //#define TAG_9F54_CUMULATIVE_TRANS_LIMET 0x9F54 ///< Cumulative Total Transaction Amount Limit
 173 //#define TAG_9F56_ISS_AUTH_INCATOR 0x9F56 ///< Issuer Authentication Indicator
 174 //#define TAG_9F5D_VISA_AOSA 0x9F5D ///< Contactless: Available Offline Spending Amount (AOSA) @n used as @c T_9F5D_CL_VISA_AOSA in ::EMV_CT_TRANSRES_STRUCT
 175 //#define TAG_9F66_VISA_TTQ 0x9F66 ///< VISA TTQ (Contactless only)
 176 //#define TAG_9F6C_VISA_CTQ 0x9F6C ///< VISA CTQ (Contactless only)
 178 
 183 #define TAG_9F53_TRANS_CATEGORY_CODE 0x9F53 
 184 
 186 
 187 // ========================================================================================================
 188 // === Verifone internal tags ===
 189 // ========================================================================================================
 190 
 195 
 199 #define TAG_E2_FORMAT_B 0xE2 
 200 #define TAG_E3_FORMAT_N 0xE3 
 201 #define TAG_E4_FORMAT_CN 0xE4 
 202 #define TAG_E5_FORMAT_A 0xE5 
 203 #define TAG_E6_FORMAT_AN 0xE6 
 204 #define TAG_E7_FORMAT_ANS 0xE7 
 205 
 206 #define TAG_F0_EMV_TEMPLATE 0xF0 
 207 
 208 #define TAG_DOM_CHIP 0xFF01 
 209 #define TAG_FALLBACK_MSR 0xFF02 
 210 #define TAG_CAND_LIST 0xFF03 
 211 #define TAG_KEY 0xFF04 
 212 
 214 #define TAG_ISO_DATA 0xDF01 
 218 #define TAG_TRACE 0xDF02 
 219 #define TAG_KEY_NUMBER 0xDF03 
 220 #define TAG_DF04_AID 0xDF04 
 221 #define TAG_DF05_BUILD_APPLILIST 0xDF05 
 222 #define TAG_DF06_CARDREADER_NUM 0xDF06 
 223 #define TAG_DF07_UNCRIT_SCR 0xDF07 
 224 #define TAG_DF08_CRIT_SCR 0xDF08 
 225 #define TAG_KEY_INDEX 0xDF09 
 226 #define TAG_KEY_RID 0xDF0A 
 227 #define TAG_KEY_KEY 0xDF0B 
 228 #define TAG_KEY_HASH 0xDF0C 
 229 #define TAG_KEY_EXPONENT 0xDF0D 
 230 #define TAG_KEY_CRL 0xDF0E 
 231 
 232 #define TAG_DF11_LIB_VERSION 0xDF11 
 233 #define TAG_DF12_CHECKSUM 0xDF12 
 234 #define TAG_DF13_TERM_PARAM 0xDF13 
 235 #define TAG_DF14_ADD_TAGS_RES 0xDF14 
 236 #define TAG_DF15_OFFL_ONLY_PROCESS 0xDF15 
 237 #define TAG_KEY_KEYLEN 0xDF16 
 238 #define TAG_DF17_FALLBACK_MIDS 0xDF17 
 239 #define TAG_DF18_FALLABCK 0xDF18 
 240 #define TAG_DF19_PARAMETER_4 0xDF19 
 241 #define TAG_DF1C_SPECIAL_TRX 0xDF1C 
 242 #define TAG_DF1D_PRIO_APPLI 0xDF1D 
 243 
 244 #define TAG_DF20_ASI 0xDF20 
 245 #define TAG_DF21_TAC_DENIAL 0xDF21 
 246 #define TAG_DF21_TAC_ABLEHNUNG TAG_DF21_TAC_DENIAL 
 247 #define TAG_DF22_TAC_ONLINE 0xDF22 
 248 #define TAG_DF23_TAC_DEFAULT 0xDF23 
 249 #define TAG_DF24_THRESHHOLD 0xDF24 
 250 #define TAG_DF25_MAXPERCENT_ONL 0xDF25 
 251 #define TAG_DF26_PERCENT_ONL 0xDF26 
 252 #define TAG_DF27_DEFAULT_TDOL 0xDF27 
 253 #define TAG_DF28_DEFAULT_DDOL 0xDF28 
 254 #define TAG_DF29_ADD_TAGS 0xDF29 
 255 #define TAG_DF2A_DUTY_TAGS 0xDF2A 
 256 #define TAG_DF2B_APP_FLOW_CAP 0xDF2B 
 257 #define TAG_DF2C_ADD_TAGS_CRD 0xDF2C 
 258 #define TAG_DF2D_EMV_APPLI 0xDF2D 
 259 #define TAG_DF2E_CVM_NOT_SUPP 0xDF2E 
 260 #define TAG_DF2F_CVM_CUSTOM 0xDF2F 
 261 
 262 #define TAG_DF30_LANG 0xDF30 
 263 #define TAG_DF31_TEXT_NUM 0xDF31 
 264 #define TAG_DF33_APPLICATION_TAG_50 0xDF33 
 265 #define TAG_DF34_AMOUNT_CONF 0xDF34 
 266 #define TAG_DF36_TRX_OPTIONS 0xDF36 
 267 #define TAG_DF37_TRX_STEPS 0xDF37 
 268 #define TAG_DF39_DCC_CBCK_INFO 0xDF39 
 269 #define TAG_DF3A_FB_MSR_OPTIONS 0xDF3A 
 270 #define TAG_DF3B_PARAMETER_1 0xDF3B 
 271 #define TAG_DF3C_PARAMETER_2 0xDF3C 
 272 #define TAG_DF3C_EXT_LOGGING_DATA 0xDF3C 
 273 #define TAG_DF3D_PARAMETER_3 0xDF3D 
 274 #define TAG_DF3E_CDA_PROC 0xDF3E 
 275 
 276 #define TAG_DF40_FORCE_ONLINE 0xDF40 
 277 #define TAG_DF41_PIN_BYPASS 0xDF41 
 278 #define TAG_DF42_STATUS 0xDF42 
 279 #define TAG_DF43_FORCE_ACCEPT 0xDF43 
 280 #define TAG_DF45_NO_DIR_SELECT 0xDF45 
 281 #define TAG_DF47_PRIOR_LANG_SEL 0xDF47 
 282 #define TAG_DF48_ONLINE_SWITCH 0xDF48 
 283 #define TAG_DF49_APL_SEC_LIMIT 0xDF49 
 284 #define TAG_DF4A_APL_SEC_CAPS 0xDF4A 
 285 #define TAG_DF4B_DOM_CHIP_APPLI 0xDF4B 
 286 #define TAG_DF4C_FALLB_MSR_APPLI 0xDF4C 
 287 #define TAG_DF4D_CARD_CONF 0xDF4D 
 288 #define TAG_DF4E_PDOL_INFO 0xDF4E 
 289 
 290 #define TAG_DF50_ONL_RES 0xDF50 
 291 #define TAG_DF51_ISS_REF_RES 0xDF51 
 292 #define TAG_DF52_AUTH_DATA 0xDF52 
 293 #define TAG_DF53_SCRIPT_CRIT 0xDF53 
 294 #define TAG_DF54_SCRIPT_UNCRIT 0xDF54 
 295 #define TAG_DF55_AC_ISS_REF 0xDF55 
 296 #define TAG_DF56_AC_WRONG_PIN 0xDF56 
 297 #define TAG_DF57_AC_ADD_OK 0xDF57 
 298 #define TAG_DF5A_DS_WRITE_DATA 0xDF5A 
 299 #define TAG_DF59_OFFL_PIN_ERRORS 0xDF59 
 300 #define TAG_DF5B_DCC_PROHIBIT 0xDF5B 
 301 #define TAG_DF5C_DOM_INFO 0xDF5C 
 302 #define TAG_DF5D_DOM_OPTION 0xDF5D 
 303 #define TAG_DF5F_ADD_APP_VERSION 0xDF5F 
 304 
 305 #define TAG_DF60_VELOCITY_ORIG_IDX 0xDF60 
 306 #define TAG_DF61_INF_REC_DATA 0xDF61 
 307 #define TAG_DF62_ERROR_DATA 0xDF62 
 308 #define TAG_DF62_APPLI_SELECT_FLAG 0xDF62u 
 309 #define TAG_DF63_DISPLAY_TEXT 0xDF63 
 310 #define TAG_DF64_KERNEL_DEBUG 0xDF64 
 311 #define TAG_KERNEL_VERSION 0xDF65 
 312 #define TAG_HANDLE_APPLI_TYPE 0xDF66 
 313 #define TAG_SUPP_LANG 0xDF67 
 314 #define TAG_ATR 0xDF68 
 315 #define TAG_EXCLUDE_AID 0xDF69 
 316 #define TAG_EMV_CONFORM 0xDF6A 
 317 #define TAG_L1DRIVER_VERSION 0xDF6B 
 318 #define TAG_CONFIG_ID 0xDF6C 
 319 #define TAG_DF6D_MODEL_NAME 0xDF6D 
 320 #define TAG_DF6E_CONFIG_DESIRED 0xDF6E 
 321 #define TAG_DF6F_SB308_FLAG 0xDF6F 
 322 
 323 #define TAG_DF8F01_MANI_CANDLIST 0xDF8F01 
 324 
 326 // callback function identifiers
 331 #define TAG_DF6D_CBK_CARDHOLDER_RET 0xDF6D 
 332 #define TAG_DF6E_CBK_CARDHOLDERINFO 0xDF6E 
 333 #define TAG_DF6F_CBK_PIN_ICC_RESP 0xDF6F 
 334 #define TAG_DF70_CBK_MERCHINFO 0xDF70 
 335 #define TAG_DF71_CBK_AMOUNTCONF 0xDF71 
 336 #define TAG_DF72_CBK_BLACKLIST 0xDF72 
 337 #define TAG_DF73_CBK_TRANSLOG 0xDF73 
 338 #define TAG_DF74_CBK_SELECTOR 0xDF74 
 339 #define TAG_DF75_CBK_APP_NO 0xDF75 
 340 #define TAG_DF6C_CBK_REPEAT 0xDF6C 
 341 #define TAG_DF76_CBK_MANIPUL_TRX 0xDF76 
 342 #define TAG_DF77_CBK_LANGUAGE 0xDF77 
 343 #define TAG_DF78_CBK_SEL_OPT 0xDF78 
 344 #define TAG_DF79_CBK_PIN_INFO 0xDF79 
 345 #define TAG_DF7A_CBK_PIN_KEY_DATA 0xDF7A 
 346 #define TAG_DF7B_CBK_PIN_KEY_EXP 0xDF7B 
 347 #define TAG_DF7C_CBK_MERCHINFO_RET 0xDF7C 
 348 #define TAG_DF7D_CBK_DCC_CHECK 0xDF7D 
 349 #define TAG_DF7E_CBK_DOM_APP_RES 0xDF7E 
 350 #define TAG_DF7F_CBK_COMM_ERR 0xDF7F 
 351 
 352 #define TAG_DFD001_MANI_CANDLIST 0xDFD001 
 353 #define TAG_DFD002_APPNAME_CHOSEN 0xDFD002 
 354 #define TAG_DFD003_STORED_AMOUNT 0xDFD003 
 355 #define TAG_DFD00B_APPNAME_UFT8 0xDFD00B 
 356 
 357 
 359 /* 3-Byte-Tags: */
 360 //used in CTLS: #define TAG_DF8F0A_EXIT_OPTIONS 0xDF8F0A
 361 
 362 
 363 
 364 /* 3-Byte-Tags: */
 369 #define TAG_DFD004_TXN_TYPES_SALE 0xDFD004 
 370 #define TAG_DFD005_TXN_TYPES_CASH 0xDFD005 
 371 #define TAG_DFD006_TXN_TYPES_CASHBACK 0xDFD006 
 372 #define TAG_DFD007_TXN_TYPES_REFUND 0xDFD007 
 373 
 374 #define TAG_DFD106_HY56_APPLI_CAPS 0xDFD106 
 375 
 376 #define TAG_DFAB58_DCR_LIST_IDS 0xDFAB58 
 377 #define TAG_DFAB59_DCR_LIST_RANGES 0xDFAB59 
 378 #define TAG_DF8F0A_EXIT_OPTIONS 0xDF8F0A 
 379 #define TAG_DF8F0F_APPLYCONFIG_OPTIONS 0xDF8F0F 
 380 #define TAG_DF8F30_REQUESTED_TAGS 0xDF8F30 
 381 
 383 // range 0xDFD9xx reserved for encryption manager
 384 // range 0xDFDAxx reserved for msr
 385 // range 0xDFDBxx reserved for technology selection
 386 
 387 
 391 // tags for L1 Status
 392 #define TAG_DFDD01_L1_ISSUE 0xDFDD01
 393 #define TAG_DFDD02_L1_ISSUE_REASON 0xDFDD02
 394 #define TAG_DFDD03_L1_ISSUE_COMMAND 0xDFDD03
 395 #define TAG_DFDD04_L1_LAST_COMMAND 0xDFDD04
 396 #define TAG_DFDD05_L1_LAST_SW12 0xDFDD05
 397 
 399 
 400 
 401 // ========================================================================================================
 402 // === TLV tags for transport layer ===
 403 // ========================================================================================================
 404 
 411 #define CLA_EMV 0x39 
 412 #define CLA_CRD 0x41 
 413 #define CLA_LED 0x43 
 414 #define EMV_CT_CLA_CBCK_REQ 0x91 
 415 #define EMV_CT_CLA_CBCK_RESP 0x92 
 416 
 417 #define P2_SET 0x00 
 418 #define P2_GET 0x01 
 419 #define P2_CLONE 0x02 
 420 
 421 #define INS_CBCK_FCT 0x01 
 422 #define INS_CBCK_CRD 0x02 
 423 #define INS_CBCK_TRACE 0xFF 
 424 #define INS_INIT 0x00 
 425 #define INS_TERM_CFG 0x01 
 426 #define INS_APPLI_CFG 0x02 
 427 #define INS_CAPKEY_CFG 0x03 
 428 #define INS_APPLY_CFG 0x04 
 429 #define INS_GET_VER 0x05 
 430 #define INS_VIRT_CFG 0x06 
 431 #define INS_SELECT 0x10 
 432 #define INS_TRANSAC 0x11 
 433 #define INS_ONLINE 0x12 
 434 #define INS_UPDATE_TAG 0x13 
 435 #define INS_FETCH_TAG 0x14 
 436 #define INS_END_TRX 0x15 
 437 #define INS_CND_DATA 0x16 
 438 #define INS_CHECK_AID 0x17 
 439 #define INS_FETCH_DOL 0x18 
 440 #define INS_ICC_DETECT 0x01 
 441 #define INS_ICC_RESET 0x02 
 442 #define INS_ICC_ISO 0x03 
 443 #define INS_ICC_OFF 0x04 
 444 #define INS_ICC_PIN 0x05 
 445 #define INS_ICC_PIN_DIRECT 0x08 
 446 #define INS_ICC_LED_SWITCH 0x09 
 447 #define INS_LED_SWITCH 0x03 
 448 
 449 
 451 #endif
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://sandbox-docs.verifone.com/s-adk-5.1-programmers-guide/_e2_e___e_m_v___c_t___serialize_8h_source.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
