KallistiOS git master
Independent SDK for the Sega Dreamcast
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Initialization

KOS Driver Subsystem and Component Initialization Flags More...

Topics

 Dreamcast-Specific Flags
 Dreamcast-specific initialization flags.
 
 Generic Flags
 Generic flags for use with KOS_INIT_FLAGS()
 

Files

file  init.h
 Initialization-related flags and macros.
 
file  init_base.h
 Shared initialization macros and utilities.
 
file  init_flags.h
 Dreamcast-specific initialization-related flags and macros.
 

Macros

#define KOS_INIT_FLAGS(flags)    _KOS_INIT_FLAGS(flags, __kos_cplusplus)
 Exports and initializes the given KOS subsystems.
 
#define KOS_INIT_EARLY(func)   void (*__kos_init_early_fn)(void) = (func)
 Register a single function to be called very early in the boot process, before the BSS section is cleared.
 
#define KOS_INIT_FLAGS_ARCH(flags)
 Dreamcast-specific KOS_INIT Exports.
 

Detailed Description

KOS Driver Subsystem and Component Initialization Flags

Macro Definition Documentation

◆ KOS_INIT_EARLY

#define KOS_INIT_EARLY ( func)    void (*__kos_init_early_fn)(void) = (func)

Register a single function to be called very early in the boot process, before the BSS section is cleared.

Parameters
funcThe function to register. The prototype should be void func(void)

◆ KOS_INIT_FLAGS

#define KOS_INIT_FLAGS ( flags)     _KOS_INIT_FLAGS(flags, __kos_cplusplus)

Exports and initializes the given KOS subsystems.

KOS_INIT_FLAGS() provides a mechanism through which various components of KOS can be enabled and initialized depending on whether their flag has been included within the list.

Note
When no KOS_INIT_FLAGS() have been explicitly provided, the default flags used by KOS are equivalent to KOS_INIT_FLAGS(INIT_DEFAULT).
Parameters
flagsParts of KOS to init.

◆ KOS_INIT_FLAGS_ARCH

#define KOS_INIT_FLAGS_ARCH ( flags)
Value:
KOS_INIT_FLAG_NONE(flags, INIT_NO_DCLOAD, dcload_init); \
KOS_INIT_FLAG_NONE(flags, INIT_NO_DCLOAD, fs_dcload_init_console); \
KOS_INIT_FLAG_NONE(flags, INIT_NO_DCLOAD, fs_dcload_shutdown); \
KOS_INIT_FLAG_NONE(flags, INIT_NO_DCLOAD, arch_init_net_dcload_ip); \
KOS_INIT_FLAG(flags, INIT_NO_DCLOAD, arch_init_net_no_dcload); \
KOS_INIT_FLAG(flags, INIT_CDROM, cdrom_init); \
KOS_INIT_FLAG(flags, INIT_CDROM, cdrom_shutdown); \
KOS_INIT_FLAG(flags, INIT_CDROM, fs_iso9660_init); \
KOS_INIT_FLAG(flags, INIT_CDROM, fs_iso9660_shutdown); \
KOS_INIT_FLAG(flags, INIT_CONTROLLER, cont_init); \
KOS_INIT_FLAG(flags, INIT_CONTROLLER, cont_shutdown); \
KOS_INIT_FLAG(flags, INIT_KEYBOARD, kbd_init); \
KOS_INIT_FLAG(flags, INIT_KEYBOARD, kbd_shutdown); \
KOS_INIT_FLAG(flags, INIT_MOUSE, mouse_init); \
KOS_INIT_FLAG(flags, INIT_MOUSE, mouse_shutdown); \
KOS_INIT_FLAG(flags, INIT_LIGHTGUN, lightgun_init); \
KOS_INIT_FLAG(flags, INIT_LIGHTGUN, lightgun_shutdown); \
KOS_INIT_FLAG(flags, INIT_VMU, vmu_init); \
KOS_INIT_FLAG(flags, INIT_VMU, vmu_shutdown); \
KOS_INIT_FLAG(flags, INIT_VMU, vmu_fs_init); \
KOS_INIT_FLAG(flags, INIT_VMU, vmu_fs_shutdown); \
KOS_INIT_FLAG(flags, INIT_PURUPURU, purupuru_init); \
KOS_INIT_FLAG(flags, INIT_PURUPURU, purupuru_shutdown); \
KOS_INIT_FLAG(flags, INIT_SIP, sip_init); \
KOS_INIT_FLAG(flags, INIT_SIP, sip_shutdown); \
KOS_INIT_FLAG(flags, INIT_DREAMEYE, dreameye_init); \
KOS_INIT_FLAG(flags, INIT_DREAMEYE, dreameye_shutdown); \
KOS_INIT_FLAG(flags, INIT_MAPLE_ALL, maple_wait_scan); \
KOS_INIT_FLAG(flags, INIT_MAPLE_ALL, maple_init); \
KOS_INIT_FLAG(flags, INIT_MAPLE_ALL, maple_shutdown)
void cdrom_init(void)
Initialize the GD-ROM for reading CDs.
void cdrom_shutdown(void)
Shutdown the CD reading system.
#define INIT_CONTROLLER
Enable Controller maple driver.
Definition init_flags.h:93
#define INIT_LIGHTGUN
Enable Lightgun maple driver.
Definition init_flags.h:96
#define INIT_VMU
Enable VMU maple driver.
Definition init_flags.h:97
#define INIT_CDROM
Enable CD-ROM support.
Definition init_flags.h:103
#define INIT_SIP
Enable Sound input maple driver.
Definition init_flags.h:99
#define INIT_NO_DCLOAD
Disable dcload.
Definition init_flags.h:106
#define INIT_KEYBOARD
Enable Keyboard maple driver.
Definition init_flags.h:94
#define INIT_MAPLE_ALL
Enable all Maple drivers.
Definition init_flags.h:101
#define INIT_MOUSE
Enable Mouse maple driver.
Definition init_flags.h:95
#define INIT_PURUPURU
Enable Puru Puru maple driver.
Definition init_flags.h:98
#define INIT_DREAMEYE
Enable DreamEye maple driver.
Definition init_flags.h:100
void maple_wait_scan(void)
Wait for the initial bus scan to complete.
void maple_shutdown(void)
Shutdown Maple.
void maple_init(void)
Initialize Maple.

Dreamcast-specific KOS_INIT Exports.

This macro contains a list of all of the possible DC-specific exported functions based on their associated initialization flags.

Note
This is not typically used directly and is instead included within the top-level architecture-independent KOS_INIT_FLAGS() macro.
Parameters
flagsParts of KOS to initialize.
See also
KOS_INIT_FLAGS()