ham_entity_control()

Управлять объектом HAM

Прототип:

#include <ha/ham.h>
int ham_entity_control( ham_entity_t *ehdl,
int command,
unsigned flags );

Аргументы:

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

Библиотека:

libham

Описание:

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

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

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

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

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

Коды ошибок:

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

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

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

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

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

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

ham_action_control()




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