ГОСТ Р ИСО/МЭК19784-1—2007
}
У
• Имя: SeriatizeByleArrayToBuffer
• Назначение: записывает массив байтов в заданный буфер.
• Параметры: buffer [входной] — байтовый буфер, получающий значение;
•data [входной] — данные, которые будут записаны в буфер;
length [входной] — длина данных, которые будут записаны в буфер
• Возвращаемое значение: месторасположение буфера непосредственно за записанным значением.
7
uint8_t ’ SerializeByteArrayToBuffer(uint8_t ’buffer, uint8_t ’data. umt32_t length) {
/’ копирует данные в буфер V
memcpy{buffer, data, length):
/* перемещает буфер в положение непосредственно за записанной информацией 7
buffer += length;
return buffer.
>
/**
’ Имя: ExtractByteArrayFromBuffer
• Назначение: читает массив байтов из заданного буфера.
’ Параметры: buffer [входной] — байтовый буфер, содержащий значение:
data [выходной] — данные, которые будут прочитаны из буфера;
length [входной] — длина данных, которые будут прочитаны из буфера.
• Возвращаемое значение: местоположение буфера непосредственно за прочитанной информа-
uint8_t ‘ ExtractByteArrayFromBuffer(uint8_t ’buffer, uint8_t ’data. uint32_t length) {
/’ копирует данные из буфера V
memcpy{data. buffer, length):
Г
перемещает буфер в положение непосредственно за прочитанной информацией 7
buffer += length:
return buffer.
}
/**
• Имя: SerralizeBirToBuffer
’ Назначение: записывает всю информацию, содержащуюся в ЗБИ БиоАПИ. в заданный буфер.
’ Параметры: buffer [входной] — байтовый буфер, получающий значение;
Ыг [входной] — указатель на данные ЗБИ.
• Возвращаемое значение: местоположение буфера непосредственно за записанным значением.
* Комментарии: сериализованный формат содержит все целочисленные значения в формате сете
вого порядка байтов
*(Big Endian).
‘I
*|Э ш и т
‘I
| Stored BIR Length m bytes
I
j
I
| (4 байта)
| Version
| Type
| Format Owner
| Format Type
| Quality
l Purpose
| (1 байт)
| (1 байт)
j (2 байта)
| (2 байта)
| (1 байт)
| (1 байт)
| Factors Mask
| Product Owner
| Product Type
| CreationDTG Year
| CreationDTG Month
| CreationDTG Day
| CreationDTG Hour
| CreationDTG Minute
| CreationDTG Second
| (4 байта)
| (2 байта)
| (2 байта)
| (2 байта)
j
<1 байт)
| (1 байт)
j
(1 байт)
| (1 байт)
j
(1 байт)
112