Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Names

Comments

Initialization

agnGetVersionNumber

Provide EMV core engine version

agnOpenSession

Open a CT session to initiate an EMV transaction flow

agnOpenSessionCL

Open a CL session to initiate an EMV transaction flow

agnInititateEMVTransaction

Initiate/Resume an EMV transaction

agnCompleteEMVTransaction

Complete a transaction as per EMVCo definition

agnCloseSession

Close a transaction flow

Setters and Getters

agnSetAgnosDatabase

Add a series of tags. Each tag is statically indexed and ruled by an update condition. Use an appropriate update condition to store tags directly into Agnos database

agnSetKernelStatus

agnSetEMVTag

Add a tag into Agnos database without checking tag’s update condition

agnOverwriteTag

Overwrite an existing tag. If it doesn’t exist, create it (no garbage collection if sizes don’t match)

agnRemoveTag

Remove a tag from Agnos database (no garbage collection)

agnGetEMVTag

Get a specific tag from Agnos database

agnGetAllTags

Get all tags from Agnos database

agnGetDatabase

Get the current database

agnIsEMVTagKnown

Return bTRUE is tag statically known

agnIsEMVTagPresent

Return bTRUE if tag is present whatever its length

agnIsEMVTagEmpty

Return bTRUE if tag’s length is 0

agnIsEMVTagNotEmpty

Return bTRUE if tag’s length is not 0

agnORTVR

OR a specific TVR’s bit to 1

agnORAgnosTVR

OR a specific Agnos TVR’s bit to 1

agnSetAgnosTVR

Set a specific Agnos TVR byte value

AgnosDB

adbGetVersionNumber

Provide Agnos database version. Get all pointers on shared RAM spaces provided by SAL/HAL and set adbAddTag strategy to STANDARD (i.e. EMVCo rule where update conditions are not checked)

adbResetDataBase

Reserved to Agnos Core Engine.

Reset database structure

adbSetStrategy

Reserved to Agnos Core Engine and contactless card processing.

By default, Agnos databse uses EMVco tags storage strategy where no check is performed on tags' update conditions. If a storage strategy is defined (by a contactless card processing) then:

  • If an AddTag_Contacltess callback is defined (by a contactless card processing), Agnos database calls the callback to check wheter a tag can be added

  • Else, Agnos database uses its default contactless storage strategy

adbAddTag

Reserved to Agnos Core Engine.

Check whether a tag may be added into EMV tags database. In order to store EMV tags directly into Agnos database, use agnSetAgnosDataBase primitive instead

adbAddUnknownTag

Add any tags into EMV tags database in “UnknowTag” bucket

adbGetUnknowTags

Get all tags stored into unknown tags bucket

adbGetUnknownTagsLength

Get the bucket’s length

adbGetUnknownTagsCount

Get tags count from the bucket

adbGetAllTLV

Get all TLV stored in AgnosDB

Code Block
tTagDataBase db;
unsigned char buffer[100]="";
unsigned short maxLength=100, actualLength=0;

aceOut(adbGetVersionNumber());

adbResetDataBase(&db);

adbGetAllTLV(&db,buffer,maxLength,&actualLength);
aceSendRawDD(buffer,actualLength);

adbAddUnknownTag(&db,(const unsigned char*)"\x9F\x02\x06\x99\x99\x99\x99\x99\x99",0x09);
adbGetAllTLV(&db,buffer,maxLength,&actualLength);
aceSendRawDD(buffer,actualLength);

...