asyncmsg_connect_attach()

Установить соединение для обмена асинхронными сообщениями между процессом и каналом

Прототип:

#include <sys/asyncmsg.h>
int asyncmsg_connect_attach( uint32_t nd,
pid_t pid,
int chid,
unsigned index,
unsigned flags,
const struct _asyncmsg_connection_attr *attr );

Аргументы:

nd
Дескриптор для узла, на котором запущен процесс, владеющий каналом.
pid
Идентификатор процесса владельца канала.
chid
Идентификатор канала, возвращаемый asyncmsg_channel_create(), для подключения к процессу.
index
Самый низкий допустимый идентификатор соединения.
flags
Флаги, указывающие тип и атрибуты соединения:
_NTO_COF_NOSHARE
Вызывающее приложение хочет использовать свой собственный буфер; в противном случае приложение получает буфер от вызова asyncmsg_malloc(), заполняет его и отправляет, вызывая asyncmsg_put().
_NTO_COF_NONBLOCK
Не блокироваться в ожидании, если используются все заголовки отправки.
attr
Указатель на структуру _asyncmsg_connection_attr, определяющую атрибуты соединения.

Библиотека:

libasyncmsg

Описание:

Функция asyncmsg_connect_attach() устанавливает соединение между вызывающим процессом и каналом, идентифицированным аргументами nd, pid и chid. Система возвращает первый доступный идентификатор соединения, начиная со значения, указанного в аргументе index.

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

Идентификатор соединения. Если возникла ошибка функция возвращает -1, код ошибки записывается в errno.

Коды ошибок:

EAGAIN
Все каналы ядра используются.
ESRCH
Узел nd, процесс pid или канал chid не существует.

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

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

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

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

asyncmsg_channel_create(), asyncmsg_channel_destroy(), asyncmsg_connect_attr(), asyncmsg_connect_detach(), asyncmsg_flush(), asyncmsg_free(), asyncmsg_get(), asyncmsg_malloc(), asyncmsg_put(), asyncmsg_putv()

ConnectAttach()

Примеры использования и сведения об архитектуре библиотеки доступны в разделе общие сведения.




Предыдущий раздел: Описание API библиотеки asyncmsg