ham_condition_control()

Управлять условием HAM

Прототип:

#include <ha/ham.h>
int ham_condition_control( ham_condition_t *chdl,
int command,
unsigned flags );

Аргументы:

chdl
Дескриптор условия HAM.
command
Дополнительная команда:
HENABLE
Включить объект.
HDISABLE
Отключить объект.
HADDFLAGS
Добавить flags.
HREMOVEFLAGS
Удалить flags.
HSETFLAGS
Задать flags.
HGETFLAGS
Получить текущее значение flags.
flags
Любой флаг, допустимый для соответствующего условия, может использоваться, когда ham_condition_control() используется для установки флагов, за исключением HCONDNOWAIT, если существующее условие уже имеет некоторое количество связанных с ним задержек действий (waitfor). Для команд HENABLE и HDISABLE:
HRECURSE
Рекурсивно применить command.

Библиотека:

libham

Описание:

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

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

Команды HADDFLAGS, HREMOVEFLAGS и HSETFLAGS могут быть использованы для изменения набора flags, связанных с контролируемым условием. Функция установки флагов вызывается, когда текущий набор флагов должен быть заменен новыми flags.

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

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

Коды ошибок:

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

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

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

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

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

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

ham_action_control(), ham_entity_control()




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