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