ham_entity(), ham_entity_node()

Создать объект-заполнитель в HAM

Прототип:

#include <ha/ham.h>
ham_entity_t * ham_entity( const char *ename,
int nd,
unsigned flags );
ham_entity_t * ham_entity_node( const char *ename,
const char *nodename,
unsigned flags );

Аргументы:

ename
Имя объекта, для которого требуется создать заполнители.
nd
Идентификатор целевого удаленного узла.
nodename
Целевой удаленный HAM.
flags
Флаги в настоящий момент не поддерживаются.

Библиотека:

libham

Описание:

Данные функции используются для создания заполнителей для объектов в HAM. Функция ham_entity_node() используется, когда имя узла nodename используется для указания удаленного HAM вместо идентификатора узла (nd).

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

Переменная nd определяет идентификатор удаленного узла во время вызова.


Note: Поскольку идентификаторы узлов являются временными объектами, рекомендуется получать значение nd во время вызова, используя netmgr_strtond() или другую функцию, которая преобразует nodename в идентификаторы узлов.

Функция ham_entity_node() принимает в качестве параметра полное имя узла (FQNN).

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

an entity handle
Успешное завершение.
NULL
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

EBADF
Не удалось подключиться к HAM.
EINVAL
Имя, указанное в ename, некорректно (например, оно содержит символ /) или имеет значение NULL.
ENAMETOOLONG
Указанное имя ename слишком длинное, т.е. оно превышает _POSIX_PATH_MAX (определено в <limits.h>). Следует обратить внимание, что общая длина имени объекта/условия/действия также ограничена _POSIX_PATH_MAX.
ENOMEM
Недостаточно памяти для создания нового дескриптора.

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

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

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

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

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

ham_attach(), ham_attach_self(), ham_condition(), ham_condition_control(), ham_condition_handle(), ham_condition_handle_free(), ham_condition_remove(), ham_detach(), ham_detach_name(), ham_detach_self()




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