Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
typeflat

API _Version _Revision

Description

N/A

Callbacks are included in the different Agnos Framework components (AgnosEP

...

, AgnosMW, Agnos, AgnosDB). Hence, their version depend on the components' versions their pertain to.

AgnosEP

See entrypoint.h

...

Name

ApplicationSelectionMethod

...

Code Block

Contactless only

Description

languagec
typedef tPaymentError (*ApplicationSelectionMethod)

...


(

...


tADFList *mutualList,

...

 // See Agnos/selection.h for structure definition
tByte *MLIndex,
tBoolean CL

...

)

KernelSelectionMethod (entrypoint.h)

Name

ApplicationSelectionMethod

Scope

Contactless only

Description

Signature

...


)

Contactless only. This call is performed right after PPSE selection. That callback can be used to overload mutual list management.

Setter: enpSetApplicationSelectionMethod

KernelSelectionMethod

Code Block
languagec
typedef tPaymentError (*KernelSelectionMethod)

...


(

...


tByte* kernelIdentifier,

...

 
tByte kernelIdentifierLen,

...


tByte* requestedKernelIdentifier

...


)

Contactless only. This call is performed when requested kernel ID cannot be determined by the entry point. That callback can be use to map an undertermined kernel ID to a supported kernel ID.

Setter: enpSetKernelSelectionMethod

AgnosMW

...

See dataxchng.h

...

Name

emvCallback

Scope

Contactless only

Description

...

emvcallback

Code Block
languagec
typedef void (*emvcallback)
(
void* data
)

Contactless only. That callback can be used to control EMV contactless transaction flows. It is a normalized data exchange mechanism. Itmay be defined to control the contactless transaction flow

...

Signature

typedef void (*emvcallback)

(

void* data

)

Agnos

tGetDataCallback (agnostype.h)

Name

tGetDataCallback

Scope

Contact and Contactless

Description

This callback shall be defined to control the contactless transaction flow

Signature

typedef void (*tGetDataCallback)

(

tBoolean lastRead,

tBoolean *next

)

tBuildDOLCallback (agnostype.h)

Name

Scope

Contactless only

Description

from a payment application. It enables Data Exchange (DE) / Data Storage (DS) feature accross all contactless kernels in a normalized way.

Use DF12 - Tags to Read - to define which tag(s) shall be looked up to give back control to the payment application. DF12 shall be set in ENTRY POINT combinations. Example: DF12015A will trigger that callback call when 5A will be detected during the transaction flow.

Setter: mDataExchange.mCallback in tPaymentContext structure

Important: in order to enable this mechanism, set mDataExchange.mDEList in tPaymentContext with the adress of an instance of tDataExchangeList.

Agnos

See agnos.h, agnostype.h

tGetDataCallback

Code Block
languagec
typedef void (*tGetDataCallback)
(
tBoolean lastRead, 
tBoolean *next
)

Contact and Contactless. This callback shall be defined to control the

...

EMV transaction flow

...

Signature

...

at Agnos' Read Record state (AsRRD).

Setter: agnSetParsingCallback

tBuildDOLCallback

Code Block
languagec
typedef void (*tBuildDOLCallback)

...


(

...


tWord tag,

...


tByte length,

...


tByte *DOLData

...


)

tStateCallback (agnostype.h)

Name

tStateCallback

Scope

Contact and Contactless

Description

Contactless and Contactless.

Setter: agnSetBuildDOLCallback

tStateCallback

Code Block
languagec
typedef void (*tStateCallback)
(
tAgnosState currentState,
tBoolean *stop,
tBoolean *bypass
)

Contactless and Contactless. This callback shall be defined to control the EMV transaction flow

...

. It will be called at each state defined by Agnos (see tAgnosState in agnostype.h)

...

Signature

typedef void (*tStateCallback)

(

tAgnosState currentState,

tBoolean *stop,

tBoolean *bypass

...

.

Setter: agnSetStateCallback

AgnosDB

See agnosdatabase.h

AddTag_Contactless

Code Block
languagec
typedef void (*AddTag_Contactless)
(
tTagDataBase *db,
enum DataElementIndex idx,
const unsigned char checkRedundancy,
const unsigned char rule
)

Contactless only. This callback may be defined by a payment application to hook all the tag that are not statically supported by Agnos.

Setter: agnSetAddTagContactlessCallback

AddUnknownTag_Contactless

Code Block
languagec
typedef void (*AddUnknownTag_Contactless)
(
const unsigned char *tlv,
const unsigned char len
)

Contactless only.

Setter: agnSetAddUnknownTagContactlessCallback