Implemented send_data/receive_data/has_data thread syscalls

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@815 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
lillo
2002-08-19 08:28:39 +00:00
parent a215064d68
commit 615a79cc3c
8 changed files with 240 additions and 16 deletions
+4
View File
@@ -352,6 +352,10 @@ int suspend_thread(thread_id thread);
thread_id find_thread(const char *);
status_t send_data(thread_id thread, int32 code, const void *buffer, size_t buffer_size);
status_t receive_data(thread_id *sender, void *buffer, size_t buffer_size);
bool has_data(thread_id thread);
status_t snooze(bigtime_t);
status_t _get_thread_info(thread_id id, thread_info *info, size_t size);
+9
View File
@@ -18,6 +18,7 @@ extern "C" {
#include <stage2.h>
#include <ktypes.h>
#include <cbuf.h>
#include <vm.h>
#include <smp.h>
#include <arch/thread_struct.h>
@@ -108,6 +109,14 @@ struct thread {
int sem_deleted_retcode;
int sem_errcode;
int sem_flags;
struct {
sem_id write_sem;
sem_id read_sem;
thread_id sender;
int32 code;
size_t size;
cbuf *buffer;
} msg;
addr fault_handler;
addr entry;
void *args;