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.
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.
PICL_INVALIDARG Invalid argument
PICL_FAILURE General system failure
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
ptree_register_handler(3PICLTREE), ptree_unregister_handler(3PICLTREE), attributes(5)