AUPARSE_ADD_CALLBACK(3)

NAME
auparse_add_callback - add a callback handler for notifications

SYNOPSIS
#include <auparse.h>

void
auparse_add_callback(auparse_state_t *au, auparse_callback_ptr callback,
                     void *user_data, user_destroy user_destroy_func);

DESCRIPTION
auparse_add_callback adds a callback function to the parse state which is invoked to notify the application of parsing events. This is part of the event feed API. 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.

RETURN VALUE
Returns the previous callback pointer.

SEE ALSO
auparse_feed(3), auparse_flush_feed(3).

AUTHOR
John Dennis