resmgr_msgwritev()

Write a message to a client

Synopsis:

#include <sys/resmgr.h>

int resmgr_msgwritev( resmgr_context_t *ctp,
                      const iov_t *smsg,
                      int sparts,
                      int offset );

Arguments:

ctp
A pointer to a resmgr_context_t structure that the resource-manager library uses to pass context information between functions. This function extracts the rcvid from this structure.
iov
An array of buffers that contains the data you want to write.
parts
The number of elements in the array. This function doesn't let you write past the end of the sender's buffer; it returns the number of bytes actually written.
offset
An offset into the sender's buffer that indicates where you want to start writing the data.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The resmgr_msgwritev() function is a cover function for MsgWritev(), and performs the exact same functionality. It's provided for consistency with resmgr_msgwrite().

Returns:

The number of bytes written, or -1 if an error occurred (errno is set).

Errors:

EFAULT
A fault occurred in the sender's address space when a server tried to access the sender's return message buffer.
ESRCH
The thread indicated by ctp -> rcvid does not exist or has had its connection detached.
ESRVRFAULT
A fault occurred when the kernel tried to access the buffers provided.

Classification:

QNX Neutrino

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

MsgWritev(), resmgr_context_t, resmgr_msgread(), resmgr_msgreadv(), resmgr_msgwrite()

Layers in a resource manager in the Bones of a Resource Manager chapter of Writing a Resource Manager

Resource Managers chapter of Getting Started with QNX Neutrino