Update to 3.4-final.
[linux-flexiantxendom0-3.2.10.git] / 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 <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 /* Constant used to refer to coordinator domain (Xen) */
34 #define COORDINATOR_DOMAIN -1
35
36 extern const struct file_operations event_buffer_fops;
37
38 /* mutex between sync_cpu_buffers() and the
39  * file reading code.
40  */
41 extern struct mutex buffer_mutex;
42
43 #endif /* EVENT_BUFFER_H */