Merge branches 'x86/cleanups', 'x86/mm', 'x86/setup' and 'linus' into x86/core
[linux-2.6] / drivers / oprofile / event_buffer.h
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 <asm/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 */