Начало и завершение сеанса.
Пред. | Глава 8. Интерфейс для OS/2 REXX. | След.

## Начало и завершение сеанса.

Основным объектом сценария использующего библиотеку RXMMP является сеанс протокола MMP представленный описателем. Описатель создаётся функцией mmpCreate и уничтожается функцией mmpDestroy. Созданный описатель используется другими функциями которые выполняют взаимодействие с сервером.

Сразу после успешного создания описатель хранит имя пользователя и уровень привилегий полученные от сервера после авторизации.

### Функция mmpCreate.

    mmpCreate(server,user,password[,flags[,timeout]])

Функция выполняет подключение к серверу адрес которого задан аргументом `server` и вход под учётными данными которые задаются аргументами `user` и `password`. Аргумент `user` указывает имя пользователя или его псевдоним, если доменная часть имени не указана - используется домен по-умолчанию. Аргумент `server` может иметь один из двух форматов: 1. имя или адрес IP, двоеточие, номер порта, 2. имя локального сокета.

Аргумент `flags` необязательный и может принимать одно из следующих значений:

SECURE

  Порт или сокет к которому выполняется подключение требуют предварительного согласования SSL.

STARTTLS

  Если сервер поддерживает шифрование соединения, необходимо инициировать согласование TLS командой STARTTLS.

TLSREQUIRED

  Как STARTTLS если сервер поддерживает шифрование соединения, в противном случае вернуть ошибку `ERROR:INSECURE`.

Необязательный аргумент `timeout` задаёт в секундах время ожидания соединения или получения ответа. По-умолчанию: 20.

При успешном выполнении функция вернёт описатель сеанса - положительное целое число больше нуля. В случае ошибки функция возвращает строку `ERROR:`code``.

### Функция mmpDestroy.

    mmpDestroy(handle)

Функция завершает сеанс созданный вызовом mmpCreate отправляя команду LOGOUT, закрывает соединение и уничтожает описатель сеанса.

### Функция mmpQueryUserLevel.

    mmpQueryUserLevel(handle)

Функция возвращает уровень привилегий пользователя полученный при создании сеанса описатель которого указан аргументом `handle`. Результатом выполнения функции является одна из строк: `USER`, `OPER` или `ADMIN`.

### Функция mmpQueryUsername.

    mmpQueryUsername(handle)

Функция возвращает полное имя пользователя полученное при создании сеанса описатель которого указан аргументом `handle`. Полное имя передаётся сервером после успешной авторизации и сохраняется модулем RXMMP в объекте сеанса.

### Функция mmpCommandSetExists.

    mmpCommandSetExists(handle,name)

Функция возвращает 1 если сервером поддерживается набор команд имя которого задано аргументом `name` или 0 в противном случае.

Пред. | Наверх | След.
Глава 8. Интерфейс для OS/2 REXX. | Начало | Отправка команд и получение ответов.