for connected embedded systems
![]() |
![]() |
![]() |
![]() |
iofunc_notify_trigger()
Send notifications to queued clients
Synopsis:
#include <sys/iofunc.h>
void iofunc_notify_trigger( iofunc_notify_t *nop,
int count,
int index );
Arguments:
- nop
- An array of three iofunc_notify_t structures that represent (in order), the input, output, and out-of-band notification lists whose entries you want to examine; for information about this structure, see the documentation for iofunc_notify().
- count
- The count that you want to compare to the trigger value for the event.
- index
- The index into the nop array that you want to check; one of
the following:
- IOFUNC_NOTIFY_INPUT
- IOFUNC_NOTIFY_OUTPUT
- IOFUNC_NOTIFY_OBAND
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The iofunc_notify_trigger() function examines all entries given in the list maintained at nop [index] to see if the event should be delivered to the client. If the specified count is greater than or equal to the trigger count for the particular notification list element, this function calls MsgDeliverEvent() to deliver the event to the client whose rcvid is stored in the notification list element, and the list element is disarmed.
Note that if the client has specified a code of SI_NOTIFY, then the value that the client specified (e.g. the value member of the struct sigevent) has the top three bits ORed with the reason for the trigger (this is the expression _NOTIFY_COND_INPUT << index), as in the following table:
- index = IOFUNC_NOTIFY_INPUT
- 0x10000000, or _NOTIFY_COND_INPUT
- index = IOFUNC_NOTIFY_OUTPUT
- 0x20000000, or _NOTIFY_COND_OUTPUT
- index = IOFUNC_NOTIFY_OBAND
- 0x40000000, or _NOTIFY_COND_OBAND
If the client has specified a code of something other than SI_NOTIFY then this routine doesn't modify the value member in any way.
Examples:
See the Writing a Resource Manager chapter of Programmer's Guide.
Classification:
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
See also:
iofunc_notify(), iofunc_notify_remove(), sigevent
"Handling ionotify() and select()" in the Writing a Resource Manager chapter of the Neutrino Programmer's Guide
Resource Managers chapter of Getting Started with QNX Neutrino
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)