theKernel 10.0
Loading...
Searching...
No Matches
MkExtensionC_C_API

MkExtensionS - the class to add an additional feature into an existinng (final) class without subclass … More...

+ Collaboration diagram for MkExtensionC_C_API:

Topics

 MkExtensionC_Class_C_API
 MkExtensionS - define the class …
 
 MkExtensionC_Class_Define_C_API
 MkExtensionS - low level definition, access and cast …
 

Data Structures

struct  MkExtensionS
 Base class for the extension technologie … More...
 

Macros

#define MkDbgMkExt2(c, x)
 
#define MkDbgMkExt(x)
 
#define MkExtension_size   64
 maximum number of runtime-extensions useable in a theKernel software.
 

Typedefs

typedef struct MkExtensionS MkExtensionS
 Base class for the extension technologie …
 

Functions

bool MkExtensionDeleteAll_RT (MK_RT mkrt, MK_EXT head)
 
MK_EXT MkExtensionAdd_RT (MK_RT mkrt, MK_EXT head, MK_EXT add)
 this is an update to head, use: head = MkExtensionAdd(head, add)
 
MK_EXT MkExtensionDel_RT (MK_RT mkrt, MK_EXT head, MK_EXT del)
 this is an update to head, use: head = MkExtensionDel(head, del)
 

MkExtensionC - MkExtensionC_C_API - overload

#define MkExtensionAdd_NULL(...)
 
#define MkExtensionAdd(...)
 
#define MkExtensionDel_NULL(...)
 
#define MkExtensionDel(...)
 
#define MkExtensionDeleteAll_NULL(...)
 
#define MkExtensionDeleteAll(...)
 

Detailed Description

MkExtensionS - the class to add an additional feature into an existinng (final) class without subclass …

A final class is used at MkRuntimeS::error_mk or MkRuntimeRLS to provide a per-thread-storage. An package sometimes need more features than this final classes provide. The extension-api is used to attach additional features with a double-linked-list into an existing class.

Macro Definition Documentation

◆ MkDbgMkExt

#define MkDbgMkExt ( x)
Value:
MkDbgMkExt2(MK_COLOR_CYAN,x)
#define MkDbgMkExt2(c, x)

Definition at line 9478 of file LibMkKernel_mk.h.

◆ MkDbgMkExt2

#define MkDbgMkExt2 ( c,
x )
Value:
mk_dbg_color_ln(c,"MkExtensionS: ptr<%p>, next<%p>, prev<%p>", (x), (x)->next, (x)->prev)

Definition at line 9477 of file LibMkKernel_mk.h.

◆ MkExtension_size

#define MkExtension_size   64

maximum number of runtime-extensions useable in a theKernel software.

The MkExtension_size is used in MkRuntimeCallbackAdd to assign a runtime-extension a unique id.

Definition at line 9625 of file LibMkKernel_mk.h.

◆ MkExtensionAdd

#define MkExtensionAdd ( ...)
Value:
MK_EXT MkExtensionAdd_RT(MK_RT mkrt, MK_EXT head, MK_EXT add)
this is an update to head, use: head = MkExtensionAdd(head, add)
#define MK_RT_CALL

Definition at line 1327 of file kernel_overload_mk.h.

◆ MkExtensionAdd_NULL

#define MkExtensionAdd_NULL ( ...)
Value:
#define MK_RT_CALL_NULL

Definition at line 1326 of file kernel_overload_mk.h.

◆ MkExtensionDel

#define MkExtensionDel ( ...)
Value:
MK_EXT MkExtensionDel_RT(MK_RT mkrt, MK_EXT head, MK_EXT del)
this is an update to head, use: head = MkExtensionDel(head, del)

Definition at line 1329 of file kernel_overload_mk.h.

◆ MkExtensionDel_NULL

#define MkExtensionDel_NULL ( ...)
Value:

Definition at line 1328 of file kernel_overload_mk.h.

◆ MkExtensionDeleteAll

#define MkExtensionDeleteAll ( ...)
Value:
bool MkExtensionDeleteAll_RT(MK_RT mkrt, MK_EXT head)

Definition at line 1333 of file kernel_overload_mk.h.

◆ MkExtensionDeleteAll_NULL

#define MkExtensionDeleteAll_NULL ( ...)
Value:

Definition at line 1332 of file kernel_overload_mk.h.

Typedef Documentation

◆ MkExtensionS

typedef struct MkExtensionS MkExtensionS

Base class for the extension technologie …

Function Documentation

◆ MkExtensionAdd_RT()

MK_EXT MkExtensionAdd_RT ( MK_RT mkrt,
MK_EXT head,
MK_EXT add )

this is an update to head, use: head = MkExtensionAdd(head, add)

◆ MkExtensionDel_RT()

MK_EXT MkExtensionDel_RT ( MK_RT mkrt,
MK_EXT head,
MK_EXT del )

this is an update to head, use: head = MkExtensionDel(head, del)

◆ MkExtensionDeleteAll_RT()

bool MkExtensionDeleteAll_RT ( MK_RT mkrt,
MK_EXT head )