Глава 8. Интерфейс для OS/2 REXX.
Пред. |  | След.

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

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

## Библиотека RXMMP

Файл библиотеки `rxmmp.dll` и примеры сценариев для её использования можно найти в директории `examples\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

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

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

Пред. |  | След.
Примеры. | Начало | Начало и завершение сеанса.