Go to main content

man pages section 3: Extended Library Functions, Volume 3

Exit Print View

Updated: Wednesday, July 27, 2022



ptree_post_event - post a PICL event


cc [ flag... ] file... –lpicltree [ library... ]
#include <picltree.h>

int ptree_post_event(const char *ename, const void *earg,
     size_t size, void (*completion_handler)(char *ename,
     void *earg, size_t size));


The ptree_post_event() function posts the specified event and its arguments to the PICL framework. The argument ename specifies a pointer to a string containing the name of the PICL event. The arguments earg and size specify a pointer to a buffer containing the event arguments and size of that buffer, respectively. The argument completion_handler specifies the completion handler to be called after the event has been dispatched to all handlers. A NULL value for a completion handler indicates that no handler should be called. The PICL framework invokes the completion handler of an event with the ename, earg, and size arguments specified at the time of the posting of the event.

PICL events are dispatched in the order in which they were posted. They are dispatched by executing the handlers registered for that event. The handlers are invoked in the order in which they were registered.

New events will not begin execution until all previous events have finished execution. Specifically, an event posted from an event handler will not begin execution until the current event has finished execution.

The caller may not reuse or reclaim the resources associated with the event name and arguments until the invocation of the completion handler. The completion handlers are normally used to reclaim any resources allocated for the posting of an event.

Return Values

Upon successful completion, 0 is returned. On failure, a non-negative integer is returned to indicate an error, the event is not posted, and the completion handler is not invoked.



Invalid argument


General system failure


See attributes(7) for descriptions of the following attributes:

Interface Stability

See Also

ptree_register_handler(3PICLTREE), ptree_unregister_handler(3PICLTREE), attributes(7)