ReXGlue SDK
Loading...
Searching...
No Matches
rex::kernel::shim Namespace Reference

Classes

struct  GroupTraits
struct  Entry

Enumerations

enum class  Group : u8 {
  kFile , kHeap , kMemory , kString ,
  kMath , kDebug , kThreading
}
enum class  Flag : u8 { kNone = 0 , kStub = 1 << 0 , kRequiresHeap = 1 << 1 }

Functions

constexpr const Entry * Find (std::string_view name)
constexpr bool IsRegistered (std::string_view name)
constexpr const GroupTraits & TraitsOf (Group group)

Variables

constexpr std::array< GroupTraits, 7 > kGroups
constexpr std::array< Entry, 69 > kRegistry

Detailed Description

The shim registry and the shim heap.

Enumeration Type Documentation

◆ Flag

enum class rex::kernel::shim::Flag : u8
strong
Enumerator
kStub 

Returns success without doing the work.

kRequiresHeap 

Needs the shim heap initialized.

◆ Group

enum class rex::kernel::shim::Group : u8
strong
Enumerator
kFile 

File I/O backed by the filesystem module.

kHeap 

The shim heap, all four entries are required together.

kString 

C, Win32 and UTF-16 string routines.

kMath 

Floating point math and text conversion routines.

kThreading 

Fiber routines.

Function Documentation

◆ Find()

const Entry * rex::kernel::shim::Find ( std::string_view name)
constexpr
Parameters
nameThe name without the hook prefix.
Returns
The entry, or null when the name is not registered.

Variable Documentation

◆ kGroups

std::array<GroupTraits, 7> rex::kernel::shim::kGroups
inlineconstexpr
Initial value:
= {{
{Group::kFile, "file", false, "File I/O backed by the filesystem module"},
{Group::kHeap, "heap", true, "The shim heap, all 4 routines are required together"},
{Group::kMemory, "memory", false, "Memory copy and fill routines"},
{Group::kString, "string", false, "C, Win32 and UTF-16 string routines"},
{Group::kMath, "math", false, "Floating point math and text conversion routines"},
{Group::kDebug, "debug", false, "Debug output routines"},
{Group::kThreading, "threading", false, "Fiber routines"},
}}
@ kThreading
Definition shim.h:28
@ kFile
Definition shim.h:22
@ kString
Definition shim.h:25
@ kHeap
Definition shim.h:23
@ kMath
Definition shim.h:26