xref: /haiku/headers/private/kernel/system_profiler.h (revision 5fbad060b393d0ea6d13c0800c28b313de3add93)
1e2ae69daSIngo Weinhold /*
2e2ae69daSIngo Weinhold  * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3e2ae69daSIngo Weinhold  * Distributed under the terms of the MIT License.
4e2ae69daSIngo Weinhold  */
5e2ae69daSIngo Weinhold #ifndef _KERNEL_SYSTEM_PROFILER_H
6e2ae69daSIngo Weinhold #define _KERNEL_SYSTEM_PROFILER_H
7e2ae69daSIngo Weinhold 
8e2ae69daSIngo Weinhold #include <sys/cdefs.h>
9e2ae69daSIngo Weinhold 
10e2ae69daSIngo Weinhold #include <OS.h>
11e2ae69daSIngo Weinhold 
12e2ae69daSIngo Weinhold 
135b2f0f33SIngo Weinhold struct system_profiler_parameters;
145b2f0f33SIngo Weinhold 
155b2f0f33SIngo Weinhold 
16e2ae69daSIngo Weinhold __BEGIN_DECLS
17e2ae69daSIngo Weinhold 
18*5fbad060SAxel Dörfler status_t start_system_profiler(size_t areaSize, uint32 flags);
19*5fbad060SAxel Dörfler void stop_system_profiler();
20*5fbad060SAxel Dörfler 
215b2f0f33SIngo Weinhold status_t _user_system_profiler_start(
225b2f0f33SIngo Weinhold 			struct system_profiler_parameters* parameters);
23227fe7d3SIngo Weinhold status_t _user_system_profiler_next_buffer(size_t bytesRead,
24227fe7d3SIngo Weinhold 			uint64* _droppedEvents);
25e2ae69daSIngo Weinhold status_t _user_system_profiler_stop();
26*5fbad060SAxel Dörfler status_t _user_system_profiler_recorded(
27*5fbad060SAxel Dörfler 			struct system_profiler_parameters* parameters);
28e2ae69daSIngo Weinhold 
29e2ae69daSIngo Weinhold __END_DECLS
30e2ae69daSIngo Weinhold 
31e2ae69daSIngo Weinhold 
32e2ae69daSIngo Weinhold #endif	/* _KERNEL_SYSTEM_PROFILER_H */
33