Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contentstoc
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

ApplicationSelectionMethod

Code Block
languagec
typedef tPaymentError (*ApplicationSelectionMethod)
(
tADFList *mutualList, // See Agnos/selection.h for structure definition
tByte *MLIndex,
tBoolean CL
)

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

SetrterSetter: 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

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 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

To 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

...

Name

tGetDataCallback

Scope

Contact and Contactless

Description

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 at Agnos' Read Record state (AsRRD).

Setter

...

agnSetParsingCallback (see agnos.h)

Signature

typedef void (*tGetDataCallback)

(

tBoolean lastRead,

tBoolean *next

)

tBuildDOLCallback (agnostype.h)

Name

tBuildDOLCallback

Scope

Contactless only

Description

Reserved for contactless card processing applications.

Setter

agnSetBuildDOLCallback (see agnos.h)

Signature

typedef void (*tBuildDOLCallback)

(

tWord tag,

tByte length,

tByte *DOLData

)

tStateCallback (agnostype.h)

Name

tStateCallback

Scope

Contact and Contactless

Description

: agnSetParsingCallback

tBuildDOLCallback

Code Block
languagec
typedef void (*tBuildDOLCallback)
(
tWord tag,
tByte length,
tByte *DOLData
)

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).

Setter

...

agnSetStateCallback (see agnos.h)

Signature

typedef void (*tStateCallback)

(

tAgnosState currentState,

tBoolean *stop,

tBoolean *bypass

...

: agnSetStateCallback

AgnosDB

...

See agnosdatabase.h

...

AddTag_

...

Scope

Contactless

Description

Reserved for contactless card processing applications.

Setter

agnSetAddTagContactlessCallback (see agnosdatabase.h)

Signature

...

Code Block
languagec
typedef void (*AddTag_Contactless)

...


(

...


tTagDataBase *db,

...


enum DataElementIndex idx,

...


const unsigned char checkRedundancy,

...


const unsigned char rule

...


)

...

Contactless

...

Name

AddTag_contactless

Scope

Contactless

Description

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

Setter

...

agnSetAddUnknownTagContactlessCallback (see agnosdatbase.h)

Signature

...

: agnSetAddTagContactlessCallback

AddUnknownTag_Contactless

Code Block
languagec
typedef void (*AddUnknownTag_Contactless)

...


(

...


const unsigned char *tlv,

...


const unsigned char len

...


)

Contactless only.

Setter: agnSetAddUnknownTagContactlessCallback