Основным объектом сценария использующего библиотеку RXMMP является сеанс протокола MMP представленный описателем. Описатель создаётся функцией mmpCreate и уничтожается функцией mmpDestroy. Созданный описатель используется другими функциями которые выполняют взаимодействие с сервером.
Сразу после успешного создания описатель хранит имя пользователя и уровень привилегий полученные от сервера после авторизации.
mmpInit(cafile)
Инициализация внутренних структур библиотеки. Имеет смысл только однократный вызов до вызова любой другой функции mmpXXXXX. Эта функция необязательная и в данной версии библиотеки используется если необходимо установить сертификаты удостоверяющих центров. Единственный аргумент - имя файла в формате PEM который содержит набор сертификатов.
mmpCreate(server,user,password[,flags[,timeout]])
Функция выполняет подключение к серверу и начало сеанса пользователя
user с паролем
password.
Сервер MMP. Может начинаться с
префикса: tcp:// или отсутствие префикса
- означает обычное небезопасное подключение к серверу,
ssl:// - безопасное подключение, порт на сервере должен быть настроен
соответствующим образом. tls:// -
производится подключение и если сервер поддерживает TLS,
выполняется установка безопасного соединения (STARTTLS). После
префикса указывается имя сервера, двоеточие, порт TCP.
Вместо имени и порта сервера может быть указано имя локального сокета.
Имя пользователя или его псевдоним, если доменная часть имени не указана - используется домен по-умолчанию.
Пароль для аутентификации пользователя
user.
Список имён флагов разделённых пробелом, либо пустая строка. На данный момент поддерживается один флаг: NOCHECKCERT - не выполнять проверку сертификата SSL предоставленного сервером.
Таймаут ожидания ответа сервера. Указывается в секундах. По-умолчанию: 60.
При успешном выполнении функция вернёт описатель сеанса -
положительное целое число больше нуля. В случае ошибки функция
возвращает строку ERROR:.code
mmpDestroy(handle)
Функция завершает сеанс созданный вызовом mmpCreate отправляя команду LOGOUT, закрывает соединение и уничтожает описатель сеанса.
mmpQueryUserLevel(handle)
Функция возвращает уровень привилегий пользователя полученный
при создании сеанса описатель которого указан аргументом
handle. Результатом выполнения функции
является одна из строк: USER,
OPER или
ADMIN.
mmpQueryUsername(handle)
Функция возвращает полное имя пользователя полученное при
создании сеанса описатель которого указан аргументом
handle. Полное имя передаётся сервером
после успешной авторизации и сохраняется модулем RXMMP в объекте
сеанса.