Write a message to a client
Synopsis:
#include <sys/iofunc.h>
#include <sys/resmgr.h>
ssize_t resmgr_msgwrite( resmgr_context_t *ctp,
const void *msg,
size_t size,
size_t 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 resmgr_msgwrite() function is a cover for
MsgWrite()
and performs the exact same functionality.
Note:
As a client may have overlapping send and reply buffers, you must complete all MsgRead*() operations from a
particular send (i.e. particular rcvid) before initiating any MsgWrite*() operations to that client.
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 doesn't 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 |