btrfs: [] on the end of a struct field is a variable length array.
[haiku.git] / headers / private / system / system_info.h
blobe04dd61f26fcf367b9e194d570be36651ce95629
1 /*
2 * Copyright 2008-2010, Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 */
5 #ifndef _SYSTEM_INFO_H
6 #define _SYSTEM_INFO_H
9 #include <OS.h>
12 enum {
13 // team creation or deletion; object == -1; either one also triggers on
14 // exec()
15 B_WATCH_SYSTEM_TEAM_CREATION = 0x01,
16 B_WATCH_SYSTEM_TEAM_DELETION = 0x02,
18 // thread creation or deletion or property (name, priority) changes;
19 // object == team ID or -1 for all teams
20 B_WATCH_SYSTEM_THREAD_CREATION = 0x04,
21 B_WATCH_SYSTEM_THREAD_DELETION = 0x08,
22 B_WATCH_SYSTEM_THREAD_PROPERTIES = 0x10,
24 B_WATCH_SYSTEM_ALL
25 = B_WATCH_SYSTEM_TEAM_CREATION
26 | B_WATCH_SYSTEM_TEAM_DELETION
27 | B_WATCH_SYSTEM_THREAD_CREATION
28 | B_WATCH_SYSTEM_THREAD_DELETION
29 | B_WATCH_SYSTEM_THREAD_PROPERTIES
32 enum {
33 // message what for the notification messages
34 B_SYSTEM_OBJECT_UPDATE = 'SOUP',
36 // "opcode" values
37 B_TEAM_CREATED = 0,
38 B_TEAM_DELETED = 1,
39 B_TEAM_EXEC = 2,
40 B_THREAD_CREATED = 3,
41 B_THREAD_DELETED = 4,
42 B_THREAD_NAME_CHANGED = 5
46 #ifdef __cplusplus
47 extern "C" {
48 #endif
51 status_t __get_system_info(system_info* info);
52 status_t __get_cpu_info(uint32 firstCPU, uint32 cpuCount, cpu_info* info);
53 status_t __get_cpu_topology_info(cpu_topology_node_info* topologyInfos,
54 uint32* topologyInfoCount);
56 status_t __start_watching_system(int32 object, uint32 flags, port_id port,
57 int32 token);
58 status_t __stop_watching_system(int32 object, uint32 flags, port_id port,
59 int32 token);
62 #ifdef __cplusplus
64 #endif
67 #endif /* _SYSTEM_INFO_H */