> 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/adk-5.0-programmers-guide/module_description_8h_source.md).

# moduleDescription.h

[Go to the documentation of this file.](/adk-5.0-programmers-guide/readme/files/dir_16ebd1d2d73191fda1ea8e9cfc03e012/dir_8266e5c14dc74e90f33f07ca932afbf0/dir_392d0ba8ece8ddb75fcebd1da8260a3d/module_description_8h.md)

```cpp
 1 namespace com_adksec_cmd {
 2 
 1272 #define CFG_ENTRY_IV "IVType"
 1273 #define CFG_TOKEN_IV_NONE "NONE" 
 1274 #define CFG_TOKEN_IV_ZERO "ZERO" 
 1275 #define CFG_TOKEN_IV_RAND "RANDOM" 
 1276 #define CFG_TOKEN_IV_USE_INPUT "USER_DEFINED" 
 1277 
 1278 #define CFG_ENTRY_ENCMODE "encMode"
 1279 #define CFG_TOKEN_ENCMODE_ECB "MODE_ECB" 
 1280 #define CFG_TOKEN_ENCMODE_CBC "MODE_CBC" 
 1281 
 1282 
 1283 #define CFG_ENTRY_PADDING "padding"
 1284 #define CFG_TOKEN_PAD_NONE "NONE" 
 1285 #define CFG_TOKEN_PAD_PKCS7 "PKCS7" 
 1286 #define CFG_TOKEN_PAD_X923 "X923" 
 1287 #define CFG_TOKEN_PAD_ISO7816 "ISO7816" 
 1288 #define CFG_TOKEN_PAD_ZERO "ZERO" 
 1289 #define CFG_TOKEN_PAD_FF "FF" 
 1290 #define CFG_TOKEN_PAD_SPACE "SPACE" 
 1291 #define CFG_TOKEN_PAD_ISO10126 "ISO10126" 
 1292 #define CFG_TOKEN_PAD_ISO9797_1 "ISO9797_1" 
 1293 #define CFG_TOKEN_PAD_ISO9797_2 "ISO9797_2" 
 1294 #define CFG_TOKEN_RSA_PAD_PKCS1 "PKCS1" 
 1295 #define CFG_TOKEN_RSA_PAD_PKCS1_OAEP "PKCS1_OAEP" 
 1296 
 1297 #define CFG_ENTRY_HASHTYPE "hashType"
 1298 #define CFG_TOKEN_HASHTYPE_SHA1 "SHA1" 
 1299 #define CFG_TOKEN_HASHTYPE_SHA224 "SHA224" 
 1300 #define CFG_TOKEN_HASHTYPE_SHA256 "SHA256" 
 1301 #define CFG_TOKEN_HASHTYPE_SHA384 "SHA384" 
 1302 #define CFG_TOKEN_HASHTYPE_SHA512 "SHA512" 
 1303 
 1304 #define CFG_ENTRY_RSA_CALC_HASH "calcHash"
 1305 #define CFG_TOKEN_RSA_CALC_HASH_YES "yes" 
 1306 #define CFG_TOKEN_RSA_CALC_HASH_NO "no" 
 1307 
 1308 #define CFG_ENTRY_RSA_GETKD_FORMAT "getKeyDataFormat"
 1309 #define CFG_TOKEN_RSA_GETKD_PEM "PEM" 
 1310 #define CFG_TOKEN_RSA_GETKD_DER "DER" 
 1311 #define CFG_TOKEN_RSA_GETKD_PRT "PRINT" 
 1312 #define CFG_TOKEN_RSA_GETKD_ORG "ORIGINAL" 
 1313 
 1314 #define CFG_ENTRY_DUKPT_INC_KSN "KSNincrementation"
 1315 #define CFG_TOKEN_DUKPT_BY_OPERATION "BY_OPERATION" 
 1316 #define CFG_TOKEN_DUKPT_BY_API "BY_API" 
 1317 
 1318 #define CFG_ENTRY_DUKPT_KEY_VARIANT "keyVariant"
 1319 #define CFG_TOKEN_DUKPT_KEY_VAR_REQUEST "request" 
 1320 #define CFG_TOKEN_DUKPT_KEY_VAR_RESPONSE "response" 
 1321 #define CFG_TOKEN_DUKPT_KEY_VAR_BOTH "both" 
 1322 #define CFG_TOKEN_SRED_VARIANT_X924_MAC_REQ_BW "X924_MAC_REQ_BW" 
 1323 #define CFG_TOKEN_SRED_VARIANT_X924_MAC_RESP "X924_MAC_RESP" 
 1324 
 1325 
 1326 #define CFG_ENTRY_ALGO "algo"
 1327 #define CFG_TOKEN_SRED_ALG_1 "ALG_9797_MAC_1" 
 1328 #define CFG_TOKEN_SRED_ALG_1A "ALG_9797_MAC_1A" 
 1329 #define CFG_TOKEN_SRED_ALG_2 "ALG_9797_MAC_2" 
 1330 #define CFG_TOKEN_SRED_ALG_3 "ALG_9797_MAC_3" 
 1331 #define CFG_TOKEN_SRED_ALG_4 "ALG_9797_MAC_4" 
 1332 #define CFG_TOKEN_SRED_ALG_5 "ALG_9797_MAC_5" 
 1333 #define CFG_TOKEN_SRED_ALG_5A "ALG_9797_MAC_5A" 
 1334 #define CFG_TOKEN_SRED_ALG_CMAC "ALG_CMAC_TDEA" 
 1335 #define CFG_TOKEN_SRED_ALG_HMAC "ALG_HMAC_SHA256" 
 1336 #define CFG_TOKEN_ALGO_CMAC "CMAC" 
 1337 #define CFG_TOKEN_ALGO_HMAC "HMAC" 
 1338 
 1339 #define CFG_ENTRY_IPP_KEY_MANAGEMENT "KeyManagementOption" // IPP specific setting, there is no default value
 1340 
 1341 #define CFG_ENTRY_KEY_MANAGEMENT_TYPE "KeyManagementType" // VSS specific setting, there is no default value
 1342 #define CFG_TOKEN_KEY_MAN_TYPE_MSK "MSK" 
 1343 #define CFG_TOKEN_KEY_MAN_TYPE_DUKPT "DUKPT" 
 1344 #define CFG_TOKEN_KEY_MAN_TYPE_AS2805 "AS2805" 
 1345 
 1346 #define CFG_ENTRY_TRANSPORT_KEY "transportKey"
 1347 
 1357 /* **************************************************************************
 1358  * Preprocessor constant definitions
 1359  **************************************************************************/
 1360 
 1361 #define LOAD_DUKPT_KEY (0x10)
 1362 #define LOAD_TMK_KEY (0x11)
 1363 
 1364 #define LOAD_KEY_ENC_DATA_MSK (0x15)
 1365 #define LOAD_KEY_PIN_MSK (0x16)
 1366 #define LOAD_KEY_GEN_MAC_MSK (0x17)
 1367 #define LOAD_KEY_DEC_DATA_MSK (0x18)
 1368 #define LOAD_KEY_VER_MAC_MSK (0x19)
 1369 #define LOAD_KEY_KEK_MSK (0x1A)
 1370 
 1371 #define GET_NEW_DUKPT (0x28)
 1372 #define START_TRANSACTION (0x28)
 1373 
 1374 #define SET_DUKPT_MASK (0x29)
 1375 
 1376 
 1377 #define SCRIPT_INIT (0x30)
 1378 #define SCRIPT_GET_KEY_SET_INIT (0x32)
 1379 #define SCRIPT_CHECK_INIT (0x33)
 1380 
 1381 #define TEST_TMK_ENGINE (0x35)
 1382 #define TEST_DUKPT_ENGINE (0x39)
 1383 
 1384 #define TEST_KEY_FOR_DATA (0x36)
 1385 #define TEST_KEY_FOR_PIN (0x37)
 1386 #define TEST_KEY_FOR_MAC (0x38)
 1387 
 1388 #define ENCRYPT_INIT (0x40)
 1389 #define ENCRYPT_ITERATION (0x41)
 1390 #define ENCRYPT_FINISH (0x42)
 1391 #define ENCRYPT_CBC_ITERATION (0x43)
 1392 
 1393 #define DECRYPT_INIT (0x50)
 1394 #define DECRYPT_ITERATION (0x51)
 1395 #define DECRYPT_FINISH (0x52)
 1396 #define DECRYPT_CBC_ITERATION (0x53)
 1397 
 1398 #define MAC_GENERATE_INIT (0x60)
 1399 #define MAC_GENERATE_ITERATION (0x61)
 1400 #define MAC_GENERATE_FINISH (0x62)
 1401 
 1402 #define MAC_VERIFY_INIT (0x63)
 1403 #define MAC_VERIFY_ITERATION (0x64)
 1404 #define MAC_VERIFY_FINISH (0x65)
 1405 
 1406 #define PIN_INIT (0x70)
 1407 
 1408 #define ISO_0_PREPARE (0x71)
 1409 #define ISO_1_PREPARE (0x72)
 1410 #define ISO_2_PREPARE (0x73)
 1411 #define ISO_3_PREPARE (0x74)
 1412 
 1413 #define ISO_0_PREPARE_PIN_0 (0x80)
 1414 #define ISO_1_PREPARE_PIN_0 (0x81)
 1415 #define ISO_2_PREPARE_PIN_0 (0x82)
 1416 #define ISO_3_PREPARE_PIN_0 (0x83)
 1417 
 1418 #define PIN_ITERATION (0x75)
 1419 #define PIN_FINISH (0x76)
 1420 #define PIN_CANCEL (0x77)
 1421 
 1422 #define MACRO_RETRIEVE_STATUS 0xB0
 1423 #define MACRO_CLEAR_IV 0xB1
 1424 #define MACRO_ENCRYPT_KSK 0xB2
 1425 #define MACRO_DECRYPT_KSK 0xB3
 1426 #define MACRO_RETRIEVE_PPID 0xB4
 1427 #define MACRO_STORE_RN 0xB5
 1428 #define MACRO_RETRIEVE_RN 0xB6
 1429 #define MACRO_STORE_DATETIME 0xB7
 1430 #define MACRO_RETRIEVE_DATETIME 0xB8
 1431 #define MACRO_GENERATE_KI 0xB9
 1432 #define MACRO_LOAD_RSA_SLOT_4 0xBA
 1433 #define MACRO_LOAD_RSA_SLOT_5 0xBB
 1434 #define MACRO_RSA_CALC_SLOT_4 0xBC
 1435 #define MACRO_RSA_CALC_SLOT_5 0xBD
 1436 #define MACRO_STORE_KCA 0xBE
 1437 #define MACRO_STORE_KCA_V44 0xBF
 1438 #define MACRO_STORE_KMACH 0xC0
 1439 #define MACRO_STORE_AIIC 0xC1
 1440 #define MACRO_COMPUTE_KIA 0xC2
 1441 #define MACRO_RETRIEVE_ENC_PPID 0xC3
 1442 #define MACRO_RETRIEVE_KVC_KIA 0xC4
 1443 #define MACRO_COMPUTE_KMACI 0xC5
 1444 #define MACRO_COMPUTE_MAC_ACQ_MKEYS 0xC6
 1445 #define MACRO_SELECT_KEY_SET_ID_1 0xC7 
 1446 #define MACRO_SELECT_KEY_SET_ID_2 0xC8 
 1447 #define MACRO_SELECT_KEY_SET_ID_3 0xC9 
 1448 #define MACRO_SELECT_KEY_SET_ID_4 0xCA 
 1449 #define MACRO_SELECT_KEY_SET_ID_5 0xCB 
 1450 #define MACRO_SELECT_KEY_SET_ID_6 0xCC 
 1451 #define MACRO_SELECT_KEY_SET_ID_7 0xCD 
 1452 #define MACRO_SELECT_KEY_SET_ID_8 0xCE 
 1453 #define MACRO_SELECT_KEY_SET_ID_MAX MACRO_SELECT_KEY_SET_ID_8 
 1454 #define MACRO_SELECT_KEY_SET_ID_X MACRO_SELECT_KEY_SET_ID_1 
 1455 #define MACRO_STORE_KEK1 0xCF
 1456 #define MACRO_STORE_KEK2 0xD0
 1457 #define MACRO_STORE_PPASN 0xD1
 1458 #define MACRO_RETRIEVE_KVC_KEK1 0xD2
 1459 #define MACRO_RETRIEVE_eKEK1_PPASN 0xD3
 1460 #define MACRO_RETRIEVE_eKEK2_PPASN 0xD4
 1461 #define MACRO_ROLL_KEK1 0xD5
 1462 #define MACRO_ROLL_KEK2 0xD6
 1463 #define MACRO_STORE_eKEK1_KMACr 0xD7
 1464 #define MACRO_STORE_eKEK2_KMACr 0xD8
 1465 #define MACRO_STORE_eKEK1_KMACs 0xD9
 1466 #define MACRO_STORE_eKEK2_KMACs 0xDA
 1467 #define MACRO_STORE_eKEK1_KDr 0xDB
 1468 #define MACRO_STORE_eKEK2_KDr 0xDC
 1469 #define MACRO_STORE_eKEK1_KDs 0xDD
 1470 #define MACRO_STORE_eKEK2_KDs 0xDE
 1471 #define MACRO_STORE_eKEK1_KPP_V42 0xDF
 1472 #define MACRO_STORE_eKEK1_KPP_V28 0xE0
 1473 #define MACRO_STORE_eKEK2_KPP_V42 0xE1
 1474 #define MACRO_STORE_eKEK2_KPP_V28 0xE2
 1475 
 1476 #define MAX_SCRIPT_NAME 9
 1477 #define D_MAX 521
 1478 
 1479 #define D_MAX 521
 1480 
 1484 }
```


---

# 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/adk-5.0-programmers-guide/module_description_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.
