Add a callback handler for notifications
#include <auparse.h>
void auparse_add_callback(auparse_state_t *au, auparse_callback_ptr callback, void *user_data, user_destroy user_destroy_func);
auparse_add_callback adds a callback function to the parse state which is invoked to notify the application of parsing events.
The signature of the callback is:
void auparse_callback(auparse_state_t *au, auparse_cb_event_t cb_event_type, void *user_data);
When the callback is invoked it is passed:
au
a pointer to the parse_state
cb_event_type
enumerated value indicating the reason why the callback was invoked
user_data
pointer to user supplied private data. May be NULL.
user_destroy_func
pointer to function called when user_data is destroyed. May be NULL. The signature is:
void destroy(void *user_data);
The destroy() function should be prepared to accept user_data possibly being NULL.
The cb_event_type argument indicates why the callback was invoked. It's possible values are:
AUPARSE_CB_EVENT_READY
A complete event has been parsed and is ready to be examined. This is logically equivalent to the parse state immediately following auparse_next_event()
See auparse_feed(3) for a complete code example.
Returns the previous callback pointer.
John Dennis