Versions Compared

Key

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

...

ola

See ola.h

#include

Code Block
languagec
#include "ola_tags_dictionary.h"
#include "ola_emv.h" /// Generic EMV API
#include "ola_publickey.h" /// Generic Public Key configuration API
#include "ola_contactless.h" /// Generic Contacless Processing API
#include "ola_contact.h" /// Generic Contact Processing API

--

#define

Code Block
languagec
#define OLA_API_VERSION "2.1.6"

Current OLA version.

logf_function

Code Block
languagec
typedef void (*logf_function)(char* str);

Callback definition used by L2 stack to trace its execution. That logging function is defined above OLA API (for example, by the L3) and called from OLA implementation or below.

ola_get_api_version

Code Block
languagec
const char *ola_get_api_version(void);

Gets OLA Interface version.

ola_get_implementation_version

Code Block
languagec
const char *ola_get_implementation_version(void);

Get OLA Implementation version. Whereas OLA Interface is independant for any L2, its implementation depends on underlying SDK. For example, if using Agnos Framework, possible implementations could be AGF 3.5.x, or AGF 3.3.x. Today, other available implementations are on AMP, Castles, and PAX terminals.

ola_initialize_at_start_up

Code Block
languagec
tOLAError ola_initialize_at_start_up(uint8_t *tlv, uint16_t tlvLength);

Set specific internal states related to a given OLA implementation. For example, if using Agnos Framework, the TLV is a serialization of the following structure:

Code Block
languagec
typedef struct {
    /** Path to all configuration files (must end with '/') */
	uint8_t path[MAX_PATH_LENGTH]; // DF01
    /** CAKeys full path file name -  */
	uint8_t cakeys[MAX_PATH_LENGTH]; // DF02
    /** CRL full path file name */
	uint8_t crl[MAX_PATH_LENGTH]; // DF03
    /** EFL full path file name */
	uint8_t efl[MAX_PATH_LENGTH]; // DF04
    /** PCSC readers full path file name (.ini) */
	uint8_t pcsc[MAX_PATH_LENGTH]; // DF05
    /** Languages full path file name (.ini) */
	uint8_t lang[MAX_PATH_LENGTH]; // DF06
    /**
     * Runtime parameters
     *
     * Byte 1 - DEFAULT TXN TYPE (tag 9C)
     * Byte 2 - LEGACY SELECTION BITMAP
     * |  bit 8  7  6  5  4  3  2  1
     * |      x                       Legacy ZIP
     * |         x                    Legacy PayPass
     * |            x                 Legacy Amex
     * |               x              Legacy JCB
     * |                  x           Legacy CUP
     * |                     x        Legacy DPAS
     * |                        x     Legacy Visa
     * |                           -  RFU
     * Byte 3 - STACK PARAMETER BITMAP 1/2
     * |  bit 8  7  6  5  4  3  2  1
     * | x                       Contactless - AlwaysReceipt
     * |    x                    Agnos - CL
     * |       x                 Contactless - TransactionLooping
     * |          x              Contactless - KeyIn
     * |             x           Contactless - Signal
     * |                x        Callback - DE
     * |                   x     Agnos - APDULog
     * |                      x  Agnos - UIDisplay
     * Byte 4 - STACK PARAMETER BITMAP 2/2
     * |  bit 8  7  6  5  4  3  2  1
     * | x                       Agnos - Replay
     * |    x                    Agnos - IDMessageDisplay
     * |       x                 Agnos - TagDump
     * |          x              Contactless - DigitalSignal
     * |             -           RFU
     * |                -        RFU
     * |                   -     RFU
     * |                      -  RFU
     * Byte 5 - POLLING TIMEOUT (s)
     * Byte 6 - TRACE DEPTH (0 to 6)
     * Byte 7 - DEFAULT LANGUAGE
     */
    uint8_t params[RUNTIME_PARAM_LENGTH]; // DF07
    /** Trace level */
    uint8_t trace_level; // DF08

} tAgnosIni;

ola_set_trace_function

Code Block
languagec
void ola_set_trace_function(logf_function fct);

Set logging callback.

...