Browse Source

doc: KTP protocol status field

Serj Kalichev 1 month ago
parent
commit
0990effbc8
1 changed files with 23 additions and 2 deletions
  1. 23 2
      docs/klish3.ru.md

+ 23 - 2
docs/klish3.ru.md

@@ -318,7 +318,7 @@ KTP заголовок:
 |'V'|COMPLETION_ACK|<-         |Возможные дополнения (PARAM_PREFIX, PARAM_LINE)|
 |'h'|HELP          |->         |Запрос подсказки (PARAM_LINE)                  |
 |'H'|HELP_ACK      |<-         |Подсказка (PARAM_PREFIX, PARAM_LINE)           |
-|'n'|NOTIFICATION  |<-         |Асинхронное сообщение (PARAM_LINE)             |
+|'n'|NOTIFICATION  |<->        |Асинхронное сообщение (PARAM_LINE)             |
 |'a'|AUTH          |->         |Запрос на аутентификацию                       |
 |'A'|AUTH_ACK      |<-         |Подтверждение аутентификации                   |
 |'I'|STDIN_CLOSE   |->         |stdin был закрыт                               |
@@ -330,6 +330,21 @@ KTP заголовок:
 клиенту. В колонке "Описание" в скобках приведены названия параметров, в которых
 передаются данные.
 
+Поле статуса в KTP заголовке представляет собой 32-битное поле. Значения битов
+поля статуса:
+
+|Маска бита|Название          |Значение                                       |
+|----------|------------------|-----------------------------------------------|
+|0x00000001|STATUS_ERROR      |Ошибка                                         |
+|0x00000002|STATUS_INCOMPLETED|Выполнение команды не завершено                |
+|0x00000100|STATUS_TTY_STDIN  |stdin клиента является терминалом              |
+|0x00000200|STATUS_TTY_STDOUT |stdout клиента является терминалом             |
+|0x00000400|STATUS_TTY_STDERR |stderr клиента является терминалом             |
+|0x00001000|STATUS_NEED_STDIN |Команда принимает пользовательский ввод        |
+|0x00002000|STATUS_INTERACTIVE|Вывод команды предназначен для терминала       |
+|0x00010000|STATUS_DRY_RUN    |Холостой запуск. Команду выполнять не требуется|
+|0x80000000|STATUS_EXIT       |Завершение сессии                              |
+
 Заголовок параметра:
 
 |Размер, байт|Название поля                         |
@@ -346,10 +361,16 @@ KTP заголовок:
 |'P'|PARAM_PREFIX |<-         |Строка. Для автодополнения и подсказки       |
 |'$'|PARAM_PROMPT |<-         |Строка. Пользовательское приглашение         |
 |'H'|PARAM_HOTKEY |<-         |Функциональная клавиша и ее значение         |
-|'W'|PARAM_WINCH  |<-         |Размеры пользовательского окна. При изменении|
+|'W'|PARAM_WINCH  |->         |Размеры пользовательского окна. При изменении|
 |'E'|PARAM_ERROR  |<-         |Строка. Сообщение об ошибке                  |
 |'R'|PARAM_RETCODE|<-         |Код возврата выполненной команды             |
 
+От сервера к клиенту, вместе с командой и соответствующими команде параметрами,
+могут передаваться дополнительные параметры. Например с командой CMD_ACK,
+сообщающей о завершении выполнения пользовательской команды, может посылаться
+параметр PARAM_PROMPT, сообщающий клиенту о том, что пользовательское
+приглашение изменилось.
+
 
 ## Структура XML конфигурации