1/*
2 * Copyright 2004-2008, Axel Dörfler, axeld@pinc-software.de.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef _KERNEL_SYSTEM_INFO_H
6#define _KERNEL_SYSTEM_INFO_H
7
8
9#include <OS.h>
10
11
12struct kernel_args;
13
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19
20status_t system_info_init(struct kernel_args *args);
21status_t system_notifications_init();
22const char* get_haiku_revision(void);
23
24status_t _user_get_system_info(system_info *userInfo);
25status_t _user_get_cpu_info(uint32 firstCPU, uint32 cpuCount, cpu_info* info);
26status_t _user_get_cpu_topology_info(cpu_topology_node_info* topologyInfos,
27				uint32* topologyInfoCount);
28
29status_t _user_get_system_info_etc(int32 id, void *buffer,
30			size_t bufferSize);
31
32status_t _user_start_watching_system(int32 object, uint32 flags, port_id port,
33			int32 token);
34status_t _user_stop_watching_system(int32 object, uint32 flags, port_id port,
35			int32 token);
36
37
38#ifdef __cplusplus
39}
40#endif
41
42
43#endif	/* _KERNEL_SYSTEM_INFO_H */
44