14 lines
777 B
C++
14 lines
777 B
C++
#ifndef __JABYENGINE_OVERLAY_DECLARATION__HPP__
|
|
#define __JABYENGINE_OVERLAY_DECLARATION__HPP__
|
|
|
|
// No include here because this header should be included in a namespace and we don't want multiple namespace definitions of OverlayHeader and OverlayLBA
|
|
|
|
extern const JabyEngine::OverlayHeader overlay_header;
|
|
extern const JabyEngine::OverlayLBA overlay_lba[];
|
|
|
|
#define __declare_overlay_header(function, enum_struct) \
|
|
[[gnu::used]] \
|
|
const JabyEngine::OverlayHeader __section(".header") overlay_header = {.execute = &function, .lba_size = static_cast<uint16_t>(enum_struct::EndOfRequest)}; \
|
|
[[gnu::used]] \
|
|
const JabyEngine::OverlayLBA __section(".header.lbas") overlay_lba[static_cast<int>(enum_struct::EndOfRequest)] = {0}
|
|
#endif //!__JABYENGINE_OVERLAY_DECLARATION__HPP__
|