ГОСТ Р 52633.4—2011
Приложение А
(обязательное)
Формат сетевого представления данных
А.1 Правила отображения данных с помощью АСН.1
А.1.1 Все описываемые ниже типы предназначены дпя описания данных, расположенных в непрерывном
блоке памяти, причем:
а) не должны использоваться разрывы и заполнители, а также вспомогательные элементы представления
(тэги, идентификаторы классов, типов и т. д.);
б) внутри блока данных должно использоваться представление полей типов по значению.
в) выравнивание простых и составных типов должно проводиться по границам байтов, при этом дополняе
мые биты должны устанавливаться в «0»:
г) должен использоваться прямой порядок следования байт (little-endian).
д) размер типа должен определяться по внешнему полю (условию) или по комбинации начальных полей
данных типа.
А.1.2 Для представления данных в соответствии с ГОСТ Р ИСО/МЭК 8824-1 применяется модифицирован
ная АСН.1 в части:
- дополнительные ограничения типов и условные зависимости между ними записываются внутри ограниче
ний е виде строк с выражениями на языке Си;
- используется параметризация типов по ГОСТ Р ИСО/МЭК 8824-4.
- синтаксис оператора CHOICE расширен вариантом с применением условия выбора значения CHOICE(x).
А.1.3 Типы, объявленные е стандарте языка Си и в настоящем стандарте, вводятся в спецификацию АСН.1
с помощью ключевого слова EXTERN с указанием исходного типа и комментария, определяющего источник экс
порта.
A.2 Внешние типы данных
uint8_t
Int8_t
umt16_t
uint32_t
nbSlotID
nbMeta
nbBlockFlags
nbBlockState
nbTestMode
nbTime
nbTimeType
nbBlockHeader
nbConstramt
nbPurpose
:= EXTERN «uint8_t»
:= EXTERN «int8_t»
:* EXTERN «uint16_t»
:* EXTERN «uint32_t»
:= EXTERN «nbSlotID»
:= EXTERN «nbMeta*
:» EXTERN «nbBlockFlags»
:= EXTERN «nbBfockStateo
:= EXTERN «nbTestMode»
:= EXTERN «nbTime»
:= EXTERN «nbTimeType»
:= EXTERN «nbBlockHeader»
:= EXTERN «nbConstramt*
;= EXTERN «nbPurpose»
A.3 Схема преобразования
A.3.1 Представление схемы преобразования.
- - схема преобразования
C-Scheme ::= SEQUENCE {
stot-out-descr
stots-m-descr
transf-descr
SlotPrm{l-out},
SET OF SlotPrm{l-m) OPTIONAL.
SET OF CHOICE {
SlotPrm{»-spec-ln | l-spec-out).
SlotConv
} OPTIONAL
>
- - типы идентификатора слота
SlotIDCHOICE {
i-o utnbSlotlD{«nbSLOT_OUT*}.
HnnbSl0tlD{«nbSLOT_IN(1)»..«nbSLOT_IN(16383}»},
nbSlotlD{«nbSLOT_SPEC_IN(1)*..«nbSLOT_SPEC_IN(16383)»}.
nbSlotlD{«nbSLOT_SPEC_OUT(1 )»..«nbSLOT_SPEC_OUT(16383)*}.
nbSlotlD{«nbSLOT_CONV(1.1 >»..«nbSLOT_CONV<127,127)»)
i-spec-in
»-spec-Out
i-conv
)
33