4. Описание типов данных
4.1. Протоколом определены и используются несколько различных типов данных полей и параметров, указанных в Таблице N 2.
Таблица N 2. Типы данных Протокола
┌───────┬──────────────┬────────────────────┬─────────────────────────────┐ │ Тип │ Размер, байт │ Диапазон значений │ Описание │ │данных │ │ │ │ ├───────┼──────────────┼────────────────────┼─────────────────────────────┤ │BOOLEAN│ 1 │TRUE=1, FALSE=0 │Логический тип, принимающий │ │ │ │ │только два значения TRUE │ │ │ │ │или FALSE │ ├───────┼──────────────┼────────────────────┼─────────────────────────────┤ │BYTE │ 1 │0 ... 255 │Целое число без знака │ ├───────┼──────────────┼────────────────────┼─────────────────────────────┤ │USHORT │ 2 │0 ... 65535 │Целое число без знака │ ├───────┼──────────────┼────────────────────┼─────────────────────────────┤ │UINT │ 4 │0 ... 4294967295 │Целое число без знака │ ├───────┼──────────────┼────────────────────┼─────────────────────────────┤ │ULONG │ 8 │0 ... │Целое число без знака │ │ │ │18446744073709551615│ │ ├───────┼──────────────┼────────────────────┼─────────────────────────────┤ │SHORT │ 2 │-32768 ... +32767 │Целое число со знаком │ ├───────┼──────────────┼────────────────────┼─────────────────────────────┤ │INT │ 4 │-2147483648 ... │Целое число со знаком │ │ │ │+2147483647 │ │ ├───────┼──────────────┼────────────────────┼─────────────────────────────┤ │FLOAT │ 4 │+/- 1.2 E - 38 ... │Дробное число со знаком │ │ │ │3.4 E + 38 │ │ ├───────┼──────────────┼────────────────────┼─────────────────────────────┤ │DOUBLE │ 8 │+/- 2.2 E - 308 ... │Дробное число со знаком │ │ │ │1.7 E + 308 │ │ ├───────┼──────────────┼────────────────────┼─────────────────────────────┤ │STRING │ Переменный. │ │Содержит последовательность │ │ │ Размер │ │печатных символов в │ │ │ определяется │ │кодировке по умолчанию CP- │ │ │ внешними │ │1251 │ │ │ параметрами │ │ │ │ │ или │ │ │ │ │ применением │ │ │ │ │ специального │ │ │ │ │ символа- │ │ │ │ │ терминатора │ │ │ │ │ (код 0x00) │ │ │ ├───────┼──────────────┼────────────────────┼─────────────────────────────┤ │BINARY │ Переменный. │ │Содержит │ │ │ Размер │ │последовательность данных │ │ │ определяется │ │типа BYTE │ │ │ внешними │ │ │ │ │ параметрами │ │ │ ├───────┼──────────────┼────────────────────┼─────────────────────────────┤ │ARRAY │ Переменный. │ │Содержит последовательность │ │OF TYPE│ Размер │ │одного из вышеуказанных │ │ │ определяется │ │типов (TYPE), кроме BINARY. │ │ │ внешними │ │Экземпляры типов идут │ │ │ параметрами │ │последовательно один за │ │ │ │ │другим. │ └───────┴──────────────┴────────────────────┴─────────────────────────────┘
4.2. Многобайтовые типы данных USHORT, UINT, ULONG, FLOAT и DOUBLE используют порядок следования байт little - endian (младший байт вперед). Байты, составляющие последовательность в типах STRING и BINARY, интерпретируются как есть, т.е. обрабатываются в порядке их поступления.
4.3. Определены следующие типы полей и параметров:
M (Mandatory) - обязательный параметр;
O (Optional) - необязательный параметр.