resmgr_msgwrite()

Write a message to a client

Synopsis:

#include <sys/resmgr.h>

int resmgr_msgwrite( resmgr_context_t *ctp,
                     const void *msg,
                     int size,
                     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.
msg
A pointer to a buffer that contains the data you want to write.
size
The number of bytes that you want to write. 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 function resmgr_msgwrite() is a cover for MsgWrite() and performs the exact same functionality.

Returns:

The same values as MsgWrite(); the number of bytes written, or -1 if an error occurs (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:

MsgWrite(), resmgr_context_t, resmgr_msgread(), resmgr_msgreadv(), resmgr_msgwritev()

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