ham_action_control()

Управлять действием в HAM

Прототип:

#include <ha/ham.h>
int ham_action_control( ham_action_t *ahdl,
int command,
unsigned flags );

Аргументы:

ahdl
Дескриптор действия HAM.
command
Команда:
HENABLE
Активировать действие.
HDISABLE
Деактивировать действие.
HADDFLAGS
Добавить flags.
HREMOVEFLAGS
Удалить flags.
HSETFLAGS
Установить flags в заданное значение.
HGETFLAGS
Получить текущее значение flags.
flags
Любой флаг, допустимый для соответствующего действия, может использоваться, когда ham_action_control() используется для установки флагов, за исключением HACTIONDONOW. Для команд HENABLE и HDISABLE:
HRECURSE
применяет command рекурсивно.

Библиотека:

libham

Описание:

Функция ham_action_control() используется для управления состоянием действия в HAM. Эта функция может быть расширена с помощью дополнительных команд.

Когда действие активировано (по умолчанию), оно выполняется при срабатывании связанного с ним условия. Когда действие деактивировано, оно не выполняется до тех пор, пока не сработает связанное с ним условие. Отдельные условия и объекты можно активировать и деактивировать с помощью соответствующих функций управления для условий и объектов.

Команды добавления, удаления и установки флагов могут использоваться для изменения набора флагов, связанных с управляемым объектом.

Возвращаемое значение:

0
Успешное завершение для функций включения/отключения и добавления/удаления/установки флагов.
flags
Успешное завершение для функции получения флагов.
-1
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

EBADF
Не удалось подключиться к HAM.
EINVAL
Некорректные параметры command или flags.

В дополнение к вышеуказанным ошибкам HAM возвращает любую ошибку, с которой он сталкивается при обслуживании данного запроса.

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

ham_condition_control(), ham_entity_control()




Предыдущий раздел: Менеджер высокой готовности (HAM)