iofunc_check_msg_default()

QNX SDP8.0C Library ReferenceAPIDeveloper

Check a message

Synopsis:

#include <sys/iofunc.h>
int iofunc_check_msg_default(resmgr_context_t const *ctp,
                             resmgr_iomsgs_t const *msg, 
                             bool combine,
                             iofunc_ocb_t const *ocb);

Arguments:

ctp
A pointer to a resmgr_context_t structure that the resource-manager library uses to pass context information between functions.
msg
A pointer to the current message.
combine
True if the message buffer has further messages following this one; otherwise, false.
ocb
A pointer to the iofunc_ocb_t structure for the Open Control Block that was created when the client opened the resource.

Library:

libc

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

Description:

The iofunc_check_msg_default() function is the default handler for check_msg.

When a client sends a message or a group of messages to a resmgr, the resmgr framework must call the appropriate handler function for each message in sequence. However, before calling this handler, it calls the check_msg entry in the io_funcs structure to perform additional validation. Anything other than EOK returns as an error for that message and the message handler is not called.

If check_msg is NULL, the io_funcs structure calls the default handler, iofunc_check_msg_default().

The iofunc_check_msg_default() function returns an error when encountering an _IO_DEVCTL or _IO_MSG message that is followed by further messages as part of a combine message. This is to avoid a potential security vulnerability in the case where either an _IO_DEVCTL or _IO_MSG message includes a sigevent.

Returns:

EOK
The message is OK.
EBADMSG
The message should be denied.

Classification:

QNX OS

Safety:
Cancellation pointNo
Signal handlerYes
ThreadYes
Page updated: