1 /**
2  * @file event_buffer.h
3  *
4  * @remark Copyright 2002 OProfile authors
5  * @remark Read the file COPYING
6  *
7  * @author John Levon <levon@movementarian.org>
8  */
9 
10 #ifndef EVENT_BUFFER_H
11 #define EVENT_BUFFER_H
12 
13 #include <linux/types.h>
14 #include <linux/mutex.h>
15 
16 int alloc_event_buffer(void);
17 
18 void free_event_buffer(void);
19 
20 /**
21  * Add data to the event buffer.
22  * The data passed is free-form, but typically consists of
23  * file offsets, dcookies, context information, and ESCAPE codes.
24  */
25 void add_event_entry(unsigned long data);
26 
27 /* wake up the process sleeping on the event file */
28 void wake_up_buffer_waiter(void);
29 
30 #define INVALID_COOKIE ~0UL
31 #define NO_COOKIE 0UL
32 
33 extern const struct file_operations event_buffer_fops;
34 
35 /* mutex between sync_cpu_buffers() and the
36  * file reading code.
37  */
38 extern struct mutex buffer_mutex;
39 
40 #endif /* EVENT_BUFFER_H */
41