Read a message from a client
Synopsis:
#include <sys/resmgr.h>
int resmgr_msgreadv( resmgr_context_t * ctp,
iov_t * rmsg,
int rparts,
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.
-
riov
- An array of buffers where the functions can store the data.
-
rparts
- The number of elements in the riov array.
-
offset
- An offset into the thread's send message that indicates where you want
to start reading the data.
Library:
libc
Use the -l c option to
qcc
to link against this library.
This library is usually included automatically.
Description:
This resmgr_msgreadv() function
is a convenience function that you should use in a resource manager instead of
MsgReadv()
.
Returns:
The same values as
MsgReadv()
:
the number of bytes read, or -1 if an error occurs (
errno
is set).
Errors:
-
EFAULT
- A fault occurred in a server's address space when it tried to access the caller's message buffers.
-
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 |