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