6b202f4e3d
to contain headers shared by kernel and userland (mainly libroot). * Moved quite a few private kernel headers to the new location. Split several kernel headers into a shared part and one that is still kernel private. Adjusted all affected Jamfiles and source in the standard x86 build accordingly. The build for other architectures and for test code may be broken. * Quite a bit of userland code still includes private kernel headers. Mostly those are <util/*> headers. The ones that aren't strictly kernel-only should be moved to some other place (maybe headers/private/shared/util). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25486 a95241bf-73f2-0310-859d-f6bbb57e9c96
39 lines
947 B
C
39 lines
947 B
C
/*
|
|
* Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef _SYSTEM_THREAD_DEFS_H
|
|
#define _SYSTEM_THREAD_DEFS_H
|
|
|
|
#include <OS.h>
|
|
|
|
|
|
#define THREAD_RETURN_EXIT 0x1
|
|
#define THREAD_RETURN_INTERRUPTED 0x2
|
|
#define THREAD_STOPPED 0x3
|
|
#define THREAD_CONTINUED 0x4
|
|
|
|
/** Size of the stack given to teams in user space */
|
|
#define USER_MAIN_THREAD_STACK_SIZE (16 * 1024 * 1024) // 16 MB
|
|
#define USER_STACK_SIZE (256 * 1024) // 256 kB
|
|
#define MIN_USER_STACK_SIZE (4 * 1024) // 4 KB
|
|
#define MAX_USER_STACK_SIZE (16 * 1024 * 1024) // 16 MB
|
|
#define USER_STACK_GUARD_PAGES 4 // 16 kB
|
|
|
|
|
|
struct thread_creation_attributes {
|
|
int32 (*entry)(thread_func, void *);
|
|
const char* name;
|
|
int32 priority;
|
|
void* args1;
|
|
void* args2;
|
|
void* stack_address;
|
|
size_t stack_size;
|
|
|
|
// when calling from kernel only
|
|
team_id team;
|
|
thread_id thread;
|
|
};
|
|
|
|
#endif /* _SYSTEM_THREAD_DEFS_H */
|