Глава 8. Интерфейс для REXX.

Содержание

Библиотека RXMMP
Начало и завершение сеанса.
Функция mmpCreate.
Функция mmpDestroy.
Функция mmpQueryUserLevel.
Функция mmpQueryUsername.
Отправка команд и получение ответов.
Функция mmpSendCmd.
Функция mmpRead.
Подготовленный объект команды.
Высокоуровневые функции.
Функция mmpQueryUser.
Функция mmpSetUser.
Функция mmpCreateUser.
Функция mmpDeleteUser.
Функция mmpQueryVCStem.
Функция mmpSetVCStem.

Различные задачи администрирования могут быть автоматизированы с использованием сценариев на языке REXX. Для этой цели в состав сервера включена библиотека RXMMP. Взаимодействие с сервером осуществляется по протоколу MMP, а для вызовов из сценариев предоставляется набор функций который условно можно разделить на две категории: первая - это функции для работы непосредственно с протоколом, вторая - для автоматизации основных действий без необходимости прямого взаимодействия с командами и ответами сервера.

Библиотека RXMMP

Файл библиотеки rxmmp.dll и примеры сценариев для её использования можно найти в директории REXX. До использования в файлах сценариев функций которые описываются в данной документации необходимо загрузить и зарегистрировать модуль RXMMP:

if RxFuncQuery("mmpLoadFuncs") then
do
  call RxFuncAdd "mmpLoadFuncs", "RXMMP", "mmpLoadFuncs"
  call mmpLoadFuncs
end

Выгрузить функции модуля можно вызовом call mmpDropFuncs.

Практически все остальные функции возвращают результат своей работы в следующем формате: статус, знак двоеточия, необязательные данные относящиеся к статусу. Статус принимает одно из трёх значений: SUCCESS - успешное выполнение, ERROR - ошибка, после двоеточия указан символьный код ошибки (см. ниже), FAIL - сервер сообщил об отказе выполнения команды, либо сервер собирается закрыть соединение (скорее всего, из-за продолжительного бездействия), после двоеточия указан ответ сервера начинающийся, соответственно, с NO или BYE. Статус FAIL возвращают только высокоуровневые функции. Список символьных кодов ошибок для статуса ERROR:

ERROR

Общая ошибка. Как правило, означает нехватку памяти.

INVALIDARGUMENT

Неверный аргумент или формат переданных в функцию данных.

HOSTNOTFOUND

Не найдено имя хоста (только для функции mmpCreate).

UNABLETOCONNECT

Ошибка подключения к серверу MMP (только для функции mmpCreate)..

INSECURE

Ошибка согласования протокола SSL, либо пользователем запрошено использование только шифрованного соединения, но сервер не поддерживает шифрованное соединение (только для функции mmpCreate)..

CONNECTIONLOST

Связь с сервером потеряна.

PROTOCOLERROR

Ошибка протокола. Может возникать из-за значительной несогласованности версий сервера и модуля rxmmp или из-за ошибок реализации модуля rxmmp.

FAIL

Ошибка связанная с аутентификацией пользователя (только для функции mmpCreate).

IOERROR

Ошибка локальной файловой системы. Может возникать, например, при отправке команды из подготовленного объекта для которого требуется прочитать локальный файл.

BINDINGREQUIRED

Не выполнены привязки значений для подготовленного объекта.

SESSIONENDED

Попытка отправить команду или получить ответ после завершения сеанса.

Некоторые функции возвращают другие данные - строки или описатели объектов. В этих случаях будут даны соответствующие пояснения.