24.1.3 Хэдер

Секция хэдера включает три части:

* Запись хэдера
* Одну или несколько структур индекса хэдера
* Данные для структур индексов

Запись хэдера идентифицирует секцию, как хэдер rpm-пакета. Она также содержит число структур индексов и размер данных для структур индексов. Каждая запись индекса использует структуру, которая содержит номер поля данных, то есть идентификаторы для полей лицензии, имени пакета, версии и так далее. Тип идентификатора указывает на тип записи. Индикатор смещения курсора указывает, с какого смещения начинается данное поле. Счетчик хранит количество полей данного типа, которые имеются в хэдере.

Таблица ниже содержит идентификаторы типов полей.

Константа

Значение

Размер в байтах

RPM_NULL_TYPE

0

Не имеет размера

RPM_CHAR_TYPE

1

1

RPM_INT8_TYPE

2

1

RPM_INT16_TYPE

3

2

RPM_INT32_TYPE

4

4

RPM_INT64_TYPE

5

Пока не поддерживается

RPM_STRING_TYPE

6

Переменное количество байт, терминируется значением NULL

RPM_BIN_TYPE

7

1

RPM_STRING_ARRAY_TYPE

8

Переменный, вектор из строк, терминированных значением NULL

RPM_I18NSTRING_TYPE

9

Переменный, вектор из строк, терминированных значением NULL

Целые значения выровнены по двум байтам (16-битные целые) или по 4 байтам (32-битные целые).

Далее - Поля хэдера
Назад - Подпись
Содержание