From f6a31876cec8cc0154a6be366fc623925e64e622 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 21 Apr 2004 22:46:35 +0000 Subject: [PATCH] Added system_info.h header and syscall for get_system_info(). Added support functions in sem.h and port.h that return some stats. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7289 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/kernel/ksyscalls.h | 1 + headers/private/kernel/port.h | 2 ++ headers/private/kernel/sem.h | 2 ++ headers/private/kernel/syscalls.h | 6 +++--- headers/private/kernel/system_info.h | 14 ++++++++++++++ 5 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 headers/private/kernel/system_info.h diff --git a/headers/private/kernel/ksyscalls.h b/headers/private/kernel/ksyscalls.h index f666d0b900..79dffba91e 100755 --- a/headers/private/kernel/ksyscalls.h +++ b/headers/private/kernel/ksyscalls.h @@ -149,6 +149,7 @@ enum { SYSCALL_ATOMIC_GET64, SYSCALL_SET_REAL_TIME_CLOCK, SYSCALL_DEBUG_OUTPUT, + SYSCALL_GET_SYSTEM_INFO, /* 140 */ }; int syscall_dispatcher(unsigned long call_num, void *arg_buffer, uint64 *call_ret); diff --git a/headers/private/kernel/port.h b/headers/private/kernel/port.h index c3cbe90ec3..a99c1dc5e5 100755 --- a/headers/private/kernel/port.h +++ b/headers/private/kernel/port.h @@ -12,6 +12,8 @@ status_t port_init(kernel_args *ka); int delete_owned_ports(team_id owner); +int32 port_max_ports(void); +int32 port_used_ports(void); // temp: test void port_test(void); diff --git a/headers/private/kernel/sem.h b/headers/private/kernel/sem.h index 58b4f2b3cc..4e9dc4bdff 100755 --- a/headers/private/kernel/sem.h +++ b/headers/private/kernel/sem.h @@ -30,5 +30,7 @@ extern sem_id create_sem_etc(int32 count, const char *name, team_id owner); extern status_t sem_init(struct kernel_args *ka); extern int sem_delete_owned_sems(team_id owner); extern status_t sem_interrupt_thread(struct thread *t); +extern int32 sem_used_sems(void); +extern int32 sem_max_sems(void); #endif /* KERNEL_SEM_H */ diff --git a/headers/private/kernel/syscalls.h b/headers/private/kernel/syscalls.h index 713750a4d5..433f1b1836 100644 --- a/headers/private/kernel/syscalls.h +++ b/headers/private/kernel/syscalls.h @@ -134,9 +134,9 @@ int sys_socket(int, int, int); int sys_setenv(const char *, const char *, int); int sys_getenv(const char *, char **); - -/* region prototypes */ -area_id sys_find_region_by_name(const char *); + +/* System informations */ +extern status_t _kern_get_system_info(system_info *info, size_t size); void _kern_debug_output(const char *message); diff --git a/headers/private/kernel/system_info.h b/headers/private/kernel/system_info.h new file mode 100644 index 0000000000..af32688899 --- /dev/null +++ b/headers/private/kernel/system_info.h @@ -0,0 +1,14 @@ +/* +** Copyright 2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved. +** Distributed under the terms of the OpenBeOS License. +*/ +#ifndef _KERNEL_SYSTEM_INFO_H +#define _KERNEL_SYSTEM_INFO_H + + +#include + + +extern status_t _user_get_system_info(system_info *userInfo, size_t size); + +#endif /* _KRENEL_SYSTEM_INFO_H */