aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/audit/docs/auparse_add_callback.3
blob: 82a03f28b66cf261e692be9a2e1bdb77cdf787f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
.TH "AUPARSE_ADD_CALLBACK" "3" "May 2007" "Red Hat" "Linux Audit API"
.SH NAME
auparse_add_callback \- add a callback handler for notifications
.SH "SYNOPSIS"
.B #include <auparse.h>
.sp
.nf
.B void
auparse_add_callback(auparse_state_t *au, auparse_callback_ptr callback,
                     void *user_data, user_destroy user_destroy_func);
.fi
.SH "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:

.nf
void
auparse_callback(auparse_state_t *au, auparse_cb_event_t cb_event_type,
                 void *user_data);
.fi

When the callback is invoked it is passed:

.TP
.I au
 a pointer to the parse_state
.TP
.I cb_event_type
enumerated value indicating the reason why the callback was invoked
.TP
.I user_data
pointer to user supplied private data. May be NULL.
.
.TP
.I user_destroy_func
pointer to function called when user_data is destroyed. May be NULL.
The signature is:
.br
.sp
.nf
void destroy(void *user_data);
.fi
.br
.sp
The destroy() function should be prepared to accept user_data possibly being NULL.
.PP
The 
.I cb_event_type
argument indicates why the callback was invoked. It's possible values are:
.br
.TP
.B 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 
.I auparse_next_event()
.PP
See auparse_feed(3) for a complete code example.
.
.SH "RETURN VALUE"

Returns the previous callback pointer.

.SH "SEE ALSO"

.BR auparse_feed (3), 
.BR auparse_flush_feed (3).

.SH AUTHOR
John Dennis