haiku/headers/private/kernel/kernel.h
Axel Dörfler 4e3c12c0af Moved <types.h> to <sys/types.h>.
Removed dependencies on arch/x86/types.h - this file is not really used
anymore, now. Might prevent compiling on Windows, though.
Replaced "int" with "int32" for the id types.
Removed some stuff from ktypes.h because it didn't belong there.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-23 02:36:51 +00:00

69 lines
1.5 KiB
C

/*
** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
** Distributed under the terms of the NewOS License.
*/
#ifndef _KERNEL_KERNEL_H
#define _KERNEL_KERNEL_H
/**
* @file kernel/kernel.h
* @brief Kernel Definitions
*/
/**
* @defgroup OpenBeOS_Kernel OpenBeOS Kernel
* @brief The OpenBeOS Kernel
* @{
*/
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* david - same fiddle as stage2.h. Renamed the arch specific
* kernel.h file into arch_kernel.h and then just include
* it here as the arch specific directories are included on the
* include paths for the build.
*/
#include <arch_kernel.h>
/**
* Size of the kernel stack
*/
#define KSTACK_SIZE (PAGE_SIZE*2)
/**
* Size of the stack given to processes
*/
#define STACK_SIZE (PAGE_SIZE*16)
/**
* Size of the environmental variables space for a process
*/
#define ENV_SIZE (PAGE_SIZE*8)
#define ROUNDUP(a, b) (((a) + ((b)-1)) & ~((b)-1))
#define ROUNDOWN(a, b) (((a) / (b)) * (b))
//#define min(a, b) ((a) < (b) ? (a) : (b))
//#define max(a, b) ((a) > (b) ? (a) : (b))
/** return the offset of member 'm' within type 't' */
#define offsetof(t, m) ((size_t)&(((t *)0)->m))
/** Is bit 'b' set in 'a' */
#define CHECK_BIT(a, b) ((a) & (1 << (b)))
/** Set bit 'b' in 'a' */
#define SET_BIT(a, b) ((a) | (1 << (b)))
/** Unset bit 'b' in 'a' */
#define CLEAR_BIT(a, b) ((a) & (~(1 << (b))))
__inline void insque(void *, void*);
__inline void remque(void *);
#ifdef __cplusplus
}
#endif
/** @} */
#endif /* _KERNEL_KERNEL_H */