1/*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef _KERNEL_SYSTEM_PROFILER_H
6#define _KERNEL_SYSTEM_PROFILER_H
7
8#include <sys/cdefs.h>
9
10#include <OS.h>
11
12#include "kernel_debug_config.h"
13
14
15struct system_profiler_parameters;
16
17
18__BEGIN_DECLS
19
20#if SYSTEM_PROFILER
21status_t start_system_profiler(size_t areaSize, uint32 stackDepth,
22			bigtime_t interval);
23void stop_system_profiler();
24#endif
25
26status_t _user_system_profiler_start(
27			struct system_profiler_parameters* parameters);
28status_t _user_system_profiler_next_buffer(size_t bytesRead,
29			uint64* _droppedEvents);
30status_t _user_system_profiler_stop();
31status_t _user_system_profiler_recorded(
32			struct system_profiler_parameters* parameters);
33
34__END_DECLS
35
36
37#endif	/* _KERNEL_SYSTEM_PROFILER_H */
38