====== SDK API ======
The followings are a set of APIs that initialize device management information and that are used for dynamic memory control and PIN code generation.\\
* [[BS2_Version]]: Returns the SDK version.
* [[BS2_AllocateContext]]: Allocates the device management Context.
* [[BS2_ReleaseContext]]: Releases the device management Context.
* [[BS2_Initialize]]: Initializes the device management Context.
* [[BS2_ReleaseObject]]: Releases dynamic memory.
* [[BS2_MakePinCode]]: Encrypts the PIN.
* [[BS2_MakePinCodeWithKey]]: Encryptes PIN code with the user-defined PIN encryption key. [+ 2.7.1]
* [[BS2_SetMaxThreadCount]]: Specifies the maximum thread count.
* [[BS2_ComputeCRC16CCITT]]: Calculates the CRC-16 CCITT checksum.
* [[BS2_GetCardModel]]: Retrieves the supported card models.
* [[BS2_SetDataEncryptKey]]: Changes the user defined PIN encryption key. [+ 2.7.1]
* [[BS2_RemoveDataEncryptKey]]: Removes the encryption key for the device.
* [[BS2_SetDeviceSearchingTimeout]] : Specifies the device searching time.
* [[BS2_SetDebugFileLog]] : Retrieves debugging file log.
* [[BS2_EnableDeviceLicense]]: [+ 2.9.1] Activate the device license.
* [[BS2_DisableDeviceLicense]]: [+ 2.9.1] Deactivate the device license.
* [[BS2_QueryDeviceLicense]]: [+ 2.9.1] Check device license information.
* [[BS2_InitializeEx]]: [+ 2.9.6] Initializes the device management context.
===== Structure =====
==== BS2EncryptKey ====
enum
{
BS2_ENC_KEY_SIZE = 32,
};
typedef struct
{
uint8_t key[BS2_ENC_KEY_SIZE];
uint8_t reserved[32];
} BS2EncryptKey;
1. //key// \\
The key value used by the device. \\
2. //reserved// \\
Reserved space. \\ \\
==== BS2LicenseBlob ====
typedef struct {
BS2_LICENSE_TYPE licenseType;
uint16_t numOfDevices;
BS2_DEVICE_ID* deviceIDObjs;
uint32_t licenseLen;
uint8_t* licenseObj;
} BS2LicenseBlob;
1. //licenseType// \\
The type of license. \\
^Value ^Description ^
|0x0000 |None |
|0x0001 |Visual QR |
2. //numOfDevices// \\
Number of licenses activated devices. \\ \\
3. //deviceIDObjs// \\
Slave devices for which license information will be issued. \\ \\
4. //licenseLen// \\
license activation file size. \\ \\
5. //licenseObj// \\
License activation data block. \\ \\
==== BS2LicenseResult ====
typedef struct {
BS2_DEVICE_ID deviceID;
BS2_LICENSE_STATUS status;
} BS2LicenseResult;
1. //deviceID// \\
Device identifier. \\ \\
2. //status// \\
License status information. \\ \\
^Value ^Description ^
|0 |Not supported |
|1 |Disable |
|2 |Enable |
|3 |Expired |