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