4. Описание типов данных

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) - необязательный параметр.