ГОСТ Р ИСО/МЭК19784-1—2007
0.1.6 Закры тие инф раструктуры
Для закрытия инфраструктуры БиоАЛИ необходимо вызвать функцию
BioAPI_Terminate.
void functioo6() {
BioAPI_Terminate();
}
0.2 Преобразование ЗБИ образца
Следующий пример кода преобразует структуру данных С (BioAPI_BIR. определенную в 7.4) в формат посто
янного клиента БиоАЛИ (определенного в приложении В) и обратно.
Г
’ Sample.c
7
«include <stdlib.h>
«include <string.h>
«include <stdint.h>
Г
Имя: GetBirHeaderSerializedLength
Назначение: возвращает число байтов в заголовке после преобразования в последовательность
байтов.
Параметры: header [входной] — указатель на заголовок ЗБИ.
Возвращаемое значение: число байтов, занимаемых заголовком после преобразования в после
довательность байтов.
Комментарии: возвращаемый размер будет равен 52 байтам, если установлен признак индекса и
индекс включен в заголовок, и 36 байтам, если признак индекса не установлен и
индекс отсутствует.
Возвращаемое значение может отличаться от sizeof (BioAPI_B!R_HEADER) из-за
структурных дополнений, введенных компилятором.
7
uint32_l GetBirHeaderSerializedLength(BioAPI_BIR_HEADER_PTR header) {
uint32_t size =
sizeof(uint32_t) +
Г
Длина ЗБИ (4 байта) 7
sizeof(BioAPI_VERSION) + /* Версия заголовка (1 байт) 7
sizeof(BioAPI_BtR_DATA_TYPE) +
Г
Тип (1 байт) V
sizeof(uint16_t) +
Г
Form atForm atO wner (2 байта) 7
sizeof(uint16_t) +
f
Format.FormatType (2 байта) 7
sizeof(B»oAPI_QUALITY) +
Г
Качество (1 байт) 7
sizeof(BioAPI_BIR_PURPOSE) +
Г
Назначение (1 байт) 7
sizeof(Bk)API_BIR_BIOMETRIC_TYPE) +
Г
FactorsMask (4 байта) 7
sizeof(mnt16_t) +
Г
ProductlD.ProductOwner (2 байта) 7
sizeof(uint16J} + /’ ProdudlD.ProductType (2 байта) 7
4 * sizeof(uintBJ) +
Г
CreationDTG.Date (4 байта) 7
3 * sizeof(uint8_t) +
Г
CreationDTG.Time (3 байта) 7
sizeof(BioAPI_BIR_SUBTYPE) ♦
Г
Подтип (1 байт) 7
4 * sizeof(uint8_t) + /* ExpirationDate (4 байта) V
sizeof(uint16J) +
Г
SBFormat.SecurityFormatOwner (2 байта) 7
sizeof(uinl16_t); /’ SBFormat.SecurityFormatType (2 байта) */
if (header->Type & B.oAPI_BIR_INDEX_PRESENT) {
size += sizeof(BioAPI_UUID):
Г
Index (16 bytes) 7
}
Г
общий размер: 36 без индекса: 52 с индексом */
return size;
Имя: GetBirDataSerializedLength
Назначение: возвращает число байтов, требуемых для сохранения длины данных и данных как
ББД. так и SB в виде последовательности байтов.
Параметры: data [входной] — указатель на структуру BioAPI_Data.
Возвращаемое значение: число байтов, требуемых для сохранения длины данных и
сами данные в виде последовательности байтов.
’S’
109