Versions Compared

Key

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

_API _Version _Revision

_OLA _version 2.1.6 _revision 23819

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"

logf_function

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

ola_get_api_version

Code Block
languagec
const char *ola_get_api_version(void);

ola_get_implementation_version

Code Block
languagec
const char *ola_get_implementation_version(void);

ola_initialize_at_start_up

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

ola_set_trace_function

Code Block
languagec
void ola_set_trace_function(logf_function fct);

...

ola_contactless

See ola_contactless.h

#include

Code Block
languagec
#include "ola_emv.h"
#include <stdint.h>

#define

Code Block
#define OLA_KERNEL_ID_MASTERCARD                    2
#define OLA_KERNEL_ID_VISA                          3
#define OLA_KERNEL_ID_AMEX                          4
#define OLA_KERNEL_ID_JCB                           5
#define OLA_KERNEL_ID_DISCOVER                      6
#define OLA_KERNEL_ID_CUP                           7

#define OLA_MSD_ID_APPROVED                         0x03
#define OLA_MSD_ID_NOT_AUTHORISED                   0x07
#define OLA_MSD_ID_PLEASE_INSERT_OR_SWIPE_CARD      0x18
#define OLA_MSD_ID_AUTHORISING_PLEASE_WAIT          0x1B
#define OLA_MSD_ID_INSERT_SWIPE_OR_TRY_ANOTHER_CARD 0x1C
#define OLA_MSD_ID_SEE_PHONE_FOR_INSTRUCTIONS       0x20

tOlaContactlessTransactionStep

Code Block
typedef enum
{
	ctsNone,
	ctsPreprocess,
	ctsBuildCandidate,
	ctsFinalSelect,
	ctsActivate
} tOlaContactlessTransactionStep;

tOlaOutcome

Code Block
languagec
typedef enum
{
	outcNone,
	outcSelectNext,
	outcTryAgain,
	outcApproved,
	outcDeclined,
	outcOnlineRequest,
	outcTryAnotherInterface,
	outcEndApplication
} tOlaOutcome;

tOlaStartPoint

Code Block
languagec
typedef enum
{
	spNoStart,
	spStartA,
	spStartB,
	spStartC,
	spStartD,
} tOlaStartPoint;

tOlaOnlineResponseData

Code Block
languagec
typedef enum
{
	ordNone,
	ordEmv,
	ordAny
} tOlaOnlineResponseData;

tOlaAlternateInterfacePreference

Code Block
languagec
typedef enum
{
	aipNone,
	aipContactChip,
	aipMagneticStripe
} tOlaAlternateInterfacePreference;

tOlaCVMethodContactless

Code Block
languagec
typedef enum
{
	cvmclNone,
	cvmclNoCvm,
	cvmclSignature,
	cvmclOnlinePin,
	cvmclConfirmationCodeVerified
} tOlaCVMethodContactless;

tOlaStatus

Code Block
languagec
typedef enum
{
	staNone,
	staNotReady,
	staIdle,
	staReadyToRead,
	staProcessing,
	staCardReadSuccessfully,
	staProcessingError
} tOlaStatus;

tOlaValueQualifier

Code Block
languagec
typedef enum
{
	vqNone,
	vqAmount,
	vqBalance
} tOlaValueQualifier;

tOlaOutcomeParameter

Code Block
languagec
typedef struct
{
	tOlaOutcome outCome;
	tOlaStartPoint startingPoint;
	tOlaOnlineResponseData onlineResponseData;
	tOlaCVMethodContactless cvm;
	int UIReqOnOutcomePresent;
	int UIReqOnRestartPresent;
	int receipt;
	int dataRecordPresent;
	int discretionaryDataPresent;
	tOlaAlternateInterfacePreference alternateInterfacePreference;
	uint32_t fieldOffReq;
	uint32_t removalTimeout;
} tOlaOutcomeParameter;

tOlaUIRequest

Code Block
languagec
typedef struct
{
	uint8_t messageIdentifier;
	tOlaStatus status;
	uint32_t holdTime;
	uint8_t languagePreference[8];  // List of languages, ISO 639-1 representation
	tOlaValueQualifier valueQualifier;
	uint8_t value[6];               // BCD
	uint8_t currencyCode[2];        // Numeric ISO 4217
} tOlaUIRequest;