at v2.6.13 1.1 kB view raw
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/semaphore.h> 15 16int alloc_event_buffer(void); 17 18void free_event_buffer(void); 19 20/* wake up the process sleeping on the event file */ 21void wake_up_buffer_waiter(void); 22 23/* Each escaped entry is prefixed by ESCAPE_CODE 24 * then one of the following codes, then the 25 * relevant data. 26 */ 27#define ESCAPE_CODE ~0UL 28#define CTX_SWITCH_CODE 1 29#define CPU_SWITCH_CODE 2 30#define COOKIE_SWITCH_CODE 3 31#define KERNEL_ENTER_SWITCH_CODE 4 32#define KERNEL_EXIT_SWITCH_CODE 5 33#define MODULE_LOADED_CODE 6 34#define CTX_TGID_CODE 7 35#define TRACE_BEGIN_CODE 8 36#define TRACE_END_CODE 9 37 38#define INVALID_COOKIE ~0UL 39#define NO_COOKIE 0UL 40 41/* add data to the event buffer */ 42void add_event_entry(unsigned long data); 43 44extern struct file_operations event_buffer_fops; 45 46/* mutex between sync_cpu_buffers() and the 47 * file reading code. 48 */ 49extern struct semaphore buffer_sem; 50 51#endif /* EVENT_BUFFER_H */