Следующий: Перечисление компонентов, Пред: Вызов gpgconf, Вверх: gpgconf [Содержание][Указатель]
Некоторые строки в данных на выходе gpgconf
содержат список полей,
разделенных двоеточием. Установлены следующие соглашения:
gpgconf
завершающие символы перевода строки и возврата каретки.
gpgconf
.
gpgconf
могут добавлять поля к концу списка. Новые
поля всегда будут отделяться от старых двоеточием. Пользовательская
программа должна быть готова считывать последнее известное ей поле до конца
строки или до двоеточия.
Для данных поля определено несколько типов:
В некоторых полях содержатся строки, в которых не используются никакие экранирующие символы. Такие поля описываются как буквальные. Эти поля никогда не содержат двоеточия (по очевидным причинам). Для извлечения содержимого этих полей не нужна никакая обработка экранирующих символов. Такие поля применяются для облегчения синтаксического анализа данных, когда известно, что в них никогда не могут появиться никакие специальные символы.
В некоторых полях содержатся строки, которые описываются как
экранированные процентом. Из таких строк нужно удалять экранирующие
символы перед представлением их пользователю. В этих строках все
последовательности %XY
заменяются байтом, представляющим
шестнадцатеричное число XY
. X
и Y
должны входить в
множество 0-9a-f
.
В некоторых полях содержатся строки, которые описываются как переводимые. Такие строки переводятся на действующий язык и форматируются в действующей кодировке.
Такие поля содержат неотрицательное число. Это число всегда находится в пределах 32 бит без знака. За числом может следовать пробел с предназначенным для человека описанием величины (если задан параметр --verbose). Все, что следует за числом, нужно игнорировать.
Такие поля содержат число со знаком. Это число всегда находится в пределах 32 бит со знаком. За числом может следовать пробел с предназначенным для человека описанием величины (если задан параметр --verbose). Все, что следует за числом, нужно игнорировать.
Такие поля содержат логическую величину. Это число, равное 0 или 1. За числом может следовать пробел с предназначенным для человека описанием величины (если задан параметр --verbose). Все, что следует за числом, нужно игнорировать.
Такие поля содержат аргумент параметра. Формат аргумента зависит от параметра и нескольких признаков:
В простейшем случае параметр вообще не требует аргумента (тип
0
). Тогда аргумент представляет беззнаковое число, которое указывает,
сколько раз задан параметр. Если не установлен признак список
,
аргумент может быть равен только 1. У параметров без аргументов не могут
быть установлены признаки исходное
и необязательный аргумент
.
Если параметр сопровождается числовым аргументом (доп-тип равен
2
или 3
) и может задаваться только один раз (признак
список
не установлен), то аргумент параметра либо пуст (допустимо,
только когда аргумент не обязателен), либо является числом. Число — это
строка, которая начинается с необязательного знака минуса, за которым
следует одна или более цифр. Число должно умещаться в целую переменную
(беззнаковую или со знаком, в зависимости от значения доп-тип).
Если параметр сопровождается числовым аргументом и может задаваться более одного раза, то аргумент параметра либо пуст, либо представляет список описанных выше чисел, разделенных запятыми.
Если параметр сопровождается аргументом-строкой (доп-тип равен 1) и
может задаваться только один раз (признак список
не установлен), то
аргумент параметра либо пуст (допустимо, только когда аргумент не
обязателен), либо начинается с символа двойной кавычки ("
), за
которым следует экранированная процентом строка, представляющая значение
аргумента. Обратите внимание, что открывающая кавычка есть, а закрывающей —
нет. Символ двойной кавычки нужен только для того, чтобы отсутствие
аргумента можно было отличать от пустой строки.
Если параметр сопровождается аргументом-строкой и может задаваться более одного раза, то аргумент параметра либо пуст, либо представляет список вышеописанных строковых аргументов, разделенных запятыми.
Действующий язык и кодировка в настоящее время определяются по переменным
среды программы gpgconf
.
Следующий: Перечисление компонентов, Пред: Вызов gpgconf, Вверх: gpgconf [Содержание][Указатель]