Написать сообщение клиенту
#include <sys/resmgr.h>
int resmgr_msgwrite( resmgr_context_t *ctp,
const void *msg,
int size,
int offset );
- ctp
- Указатель на структуру resmgr_context_t, которую библиотека менеджера ресурсов использует для передачи контекстной информации между функциями. Данная функция извлекает rcvid из этой структуры.
- msg
- Указатель на буфер, содержащий данные для записи.
- size
- Количество байт для записи. Данная функция не позволяет писать за границы буфера отправителя; она возвращает количество фактически записанных байт.
- offset
- Смещение в буфере отправителя, которое указывает, откуда необходимо начать запись данных.
libc
Функция resmgr_msgwrite() является оберткой над MsgWrite(), и предоставляет тот же функционал.
То же, что и у MsgWrite(): количество считанных байт.
Если возникла ошибка функция возвращает -1
, код ошибки записывается в errno.
- EFAULT
- Произошла ошибка в адресном пространстве сервера при попытке доступа к буферам сообщений вызывающей стороны.
- ESRCH
- Поток ctp-> rcvid не существует или его соединение прервано.
- ESRVRFAULT
- Произошла ошибка при попытке ядра получить доступ к предоставленным буферам.
ЗОСРВ «Нейтрино»
- Нет
- Обработчик прерываний
- Нет
- Обработчик сигналов
- Да
- В потоке
- Да
MsgWrite(), resmgr_context_t, resmgr_msgread(), resmgr_msgreadv(), resmgr_msgwritev()
Предыдущий раздел: Описание API системной библиотеки