Grid Analysis
That grid may be used by project teams to support their analysis and scan all the different topics:
Symbols, Options, and Constants
Following symbols, options, and constants may be adjusted depending on development stages and platform's constraints:
Symbols or Options: add/remove a symbol/option to define framework's behavior
Constant: set an appropriate value to set framework's footprint
The setup below correspond to a standard package configuration that is used to compile the framework for development and qualification.
For all symbols/options and constants: see GPI/Platform/gpi_agnos_framework_globals.h if available or in Library/File as indicated below.
For a static environment, define _STATIC_LOADER_ in AgnosEP and _STATIC_LINK_ in all CL kernels projects.
Symbol/Option/Constant | Value (Bytes) | Library/File | Comment |
---|---|---|---|
_ACE_ | Added | CAD | Remove this symbol if ACE is not used (for production version) |
_ADAPTER_ | Removed | Platform | Add this symbol if Agnos Framework doesn't use IP connection to communicate with ACE |
_AGNOSISR_ | Added | agnostypes.h | Remove this symbol if contact/contactless issuer scripts are not supported |
_AGNOSK_ | Added | agnostypes.h | Remove this symbol if contact is not supported |
_AGNOSCL_ | Added | agnostypes.h | Remove this symbol if contactless is not supported |
_AGNOSCPL_ | Added | agnostypes.h | Remove this symbol if completion is not supported |
_AGNOSFMSG_ | Added | agnostypes.h | Remove this symbol if advice and batch messages are not supported |
_AGNOSTRACE_ | Added | agnostypes.h | Remove this symbol to mute traces (for certification and production versions) |
_AUTOMATION_ | Added | CAD | Remove this symbol if Agnos Automation is not supported (for certification and production versions) |
_CONFIGURATOR_ | Removed | DualCertificationLevel3 | Add this symbol if AgnosGE is supported |
_DEPRECATED_ | Added | AgnosMW | Always added |
_DUAL_POLLING_ | Added | kizisapi.c | Remove this symbol if contact only is supported |
_EMBEDDED_ | Removed | ACE2P | Add this symbol if Agnos runs on an embedded platform |
_LOG_ | Added | Platform | Remove this symbol to mute traces (for certification and production versions) |
_REPLAY_ | Added | CAD | Remove this symbol when card emulation is not supported (for certification and production versions) |
_STATIC_LINK_ | Removed | All CL Kernels | Add this symbol when a platform doesn't support dynamic library loading |
_STATIC_LOADER_ | Removed | AgnosEP | Add this symbol when a platform doesn't support dynamic library loading |
_TIME_STAMP_ | Added | Platform | Remove this symbol when performance timings are not supported (for certification and production versions) |
_TRACE_ | Added | AtmosSTUBee | Remove this symbol when AtmosSTUBee is not used (for certification and production versions) |
FREE_RAM_SIZE | 3000 | sharedram.c | Always set to 3000 Bytes. Arbitrary extended RAM value to support messaging with ACE for TA. May be set to 0 for production version |
ISSUER_RESPONSE_SIZE | (128 + MAX_SCRIPT_SIZE) | agnostypes.h | EMV issuer response size if _AGNOSCPL_ is defined. Minimum size to be supported is 128 |
MAX_AID | 15 | datamngr.h | Number of maximum AID per CL Kernel. Arbitrary value that may be adjusted depending on acquirer needs |
MAX_CHARACTER_PER_LINE | 16 | display.h | Number of characters per PoP's display line. Set a value related to platform capabilities |
MAX_COMBINATION_PER_TRANSACTION_TYPE | 65 | datamngr.h | |
MAX_DET_SIZE | 2500 | de-ds.c | Maximum DET signal size managed by L3 |
MAX_ITEM_NAME_LENGTH | 100 | select.h | Maximum length of an item in a selection list. Arbitrary value that may be adjusted depending on acquirer needs |
MAX_KERNEL | 25 | datamngr.h | Number of maximum CL Kernels. Arbitrary value that may be adjusted depending on acquirer needs |
MAX_LINES | 2 | display.c | Number of available PoP's display lines. Set a value related to platform capabilities |
MAX_NB_ITEMS | 50 | select.h | Number of maximum item in a selection list. Arbitrary value that may be adjusted depending on acquirer needs |
MAX_NB_LANGUAGE | 2 | display.h | Number of maximum languages. Arbitrary value that may be adjusted depending on acquirer needs |
MAX_SCRIPT_SIZE | 128 | agnostypes.h | EMV issuer scripts size if _AGNOSCPL_ is defined |
MAX_SIMULTANEOUS_SESSION | 65 | datamngr.h | Number of maximum pre-processing sessions managed simultaneously by our kernels for a given transaction type |
MAX_STRING_LENGTH | 50 | display.h | Number of maximum characters per string (a string may be display on several lines using '\\'. Arbitrary value |
MAX_SUPPORTED_ADF | 10 | agnoostypes.h | Number of maximum ADF supported to manage mutual supported applications between a card and a PoP |
MAX_SUPPORTED_AID | 30 | datamngr.h | Number of maximum AID supported by PROCESSING file (including CT and CL AID) |
NB_ACQUIRER_STRINGS | 25 | display.h | Number of strings supported by Agnos Frameowork to pass TA. May be adjusted to support acquirer needs |
NB_EMV_STRINGS | 34 | display.h | Always set to 34. Defined as per EMVCo standard |
NB_INDIVIDUAL_STRINGS | 0 | display.h | RFU |
NB_ISSUER_STRINGS | 0 | display.h | RFU |
ONLINE_BUFFER_SIZE | 3000 | datamngr.h | Always set to 3000 Bytes. Minimum RAM value to support messaging with ACE for TA. Shall be set to 3000 if torn supported (production version) |
RAW_FORMAT_DATA_OBJECT_SIZE | 400 | datamngr.h | n/a |
SIZE_FOR_CL_DATA_OBJECT | 10000 | sharedram.c | Maximum size available for all combinations per Transaction Type |
SIZE_FOR_EMV_TAGS | 11500 | sharedram.c | Always set to 11500 Bytes. Theoritical value equal to: |
SIZE_FOR_EMV_UNKNOWNTAGS | 2500 | sharedram.c | Always set to 2500 Bytes. Arbitrary value to support unknown tags fetched from card, i.e. tags not defined in AgnosDB/emvtags.c |
SIZE_FOR_PAYPASS_TORN | 13500 | sharedram.c | Always set to 13500 Bytes when supported (for certification and - optionally - production). May be set to 1 if torn are not supported in production |
TIME_STAMP_BUFFER_SIZE | 40000 | log.c | Set a value related to performance testing needs (only for development version) |
LED Management
There is no EMVCo's or payment networks' requirements related to LED management. However, there are 2 common sense needs that must be addressed:
LED display shall be managed consistently across the brand to guaranty a user experience independent from the card's brand
LED display shall allow an optimal performance measurement
Agnos manages the LED as following:
LED1: displayed when system polls for a card presentation
LED2: displayed when a card has been detected
LED3: displayed when a card read has been completed (along with a sound allowing a performance measurement either with the LED or with the BEEP). At this time, card may be removed
LED4: displayed when L3 raises a final verdict
Additionally:
GREEN is used as the color for accepted transactions
RED is used as the color for declined transacions
About the message strings display:
During a CL flow, a PROCESSING message may be displayed once GPO response has been received (if this message is supported by the system)
Message displays follow EMVCo Book A string table (CL) and EMVCo Book IV string table (CT)