haiku/headers/private/kernel/boot/platform.h
Axel Dörfler 6234c00a97 Added two more platform functions to switch between a logo screen and text mode.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-16 13:25:37 +00:00

56 lines
1.5 KiB
C++

/*
** Copyright 2003, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
** Distributed under the terms of the OpenBeOS License.
*/
#ifndef KERNEL_BOOT_PLATFORM_H
#define KERNEL_BOOT_PLATFORM_H
#include <SupportDefs.h>
#include <boot/vfs.h>
struct stage2_args;
#ifdef __cplusplus
extern "C" {
#endif
/* debug functions */
extern void panic(const char *format, ...);
extern void dprintf(const char *format, ...);
/* heap functions */
extern void platform_release_heap(struct stage2_args *args, void *base);
extern status_t platform_init_heap(struct stage2_args *args, void **_base, void **_top);
/* MMU/memory functions */
extern status_t platform_allocate_region(void **_virtualAddress, size_t size, uint8 protection);
extern status_t platform_free_region(void *address, size_t size);
/* misc functions */
extern void platform_switch_to_logo(void);
extern void platform_switch_to_text_mode(void);
extern bool platform_user_menu_requested(void);
extern void platform_start_kernel(void);
#ifdef __cplusplus
}
class Node;
namespace boot {
class Partition;
}
/* device functions */
// these functions have to be implemented in C++
extern status_t platform_get_boot_device(struct stage2_args *args, Node **_device);
extern status_t platform_add_block_devices(struct stage2_args *args, NodeList *devicesList);
extern status_t platform_get_boot_partition(struct stage2_args *args, Node *bootDevice,
NodeList *partitions, boot::Partition **_partition);
#endif
#endif /* KERNEL_BOOT_PLATFORM_H */