MkKernel PACKAGE - Interface to the operating-system compiler … More...
Collaboration diagram for MkKernel_Compiler_C_API:Macros | |
| #define | META_DIR_SEPARATOR '/' |
| #define | META_EOL "\n" |
| #define | MK_EXTERN |
| static library | |
| #define | MK_EXTERN_DATA extern |
| #define | MK_CPPXSTR(s) |
| connecting of expressions, step 1 … | |
| #define | MK_CPPSTR(s) |
| connecting of expressions, step 2 … | |
| #define | MK_CONCAT(a, b) |
| concat of expressions, step 2 … | |
| #define | MK_CONCAT2(a, b) |
| #define | MK_CONCAT3(a, b, c) |
| #define | mk_append_fix_str(t, s) |
| append fix string to storage and increment pointer … | |
| #define | mk_bit_compare(t, f) |
| bitwise compare flag values … | |
Typedefs | |
| typedef void * | MK_MACRO_TYP |
| helper-type used to declare a prototype for a macro | |
MK_NULL | |
work with the define the NULLThis problem looks simpler than it is because TCL e.g. does not understand the Unfortunately, this is not always the case and therefore:
To support the
class-instance as NULL | |
| static bool | MK_NULL_STR_CHECK (char const *const __str, const long int __len) |
check if __str is MK_NULL_STR return true or false … | |
| static bool | MK_NULL_STR_CHECK_1 (char const *const __str) |
| same as MK_NULL_STR_CHECK but without len parameter | |
| static bool | MK_NULL_STR_OR_EMPTY_CHECK_1 (char const *const __str) |
same as MK_NULL_STR_CHECK together with "" check but without len parameter | |
| #define | MK_NULL NULL |
The Programming-Language-Micro-Kernel (PLMK) NULL value as null in C# … | |
| #define | MK_NULL_YES true |
| flag, allow NULL | |
| #define | MK_NULL_NO false |
| flag, not allow NULL | |
| #define | MK_NULL_STR "MK_NULL" |
the string "MK_NULL" value as MK_NULL_STR … | |
| #define | MK_NULL_STR_LEN strlen(MK_NULL_STR) |
the integer strlen("MK_NULL") value as MK_NULL_STR_LEN … | |
global <strong>parser</strong> definition | |
| #define | MK_PARSER_fmtobj MK_OBJN fmtobj __parser__(default=NULL) |
use param_fmtobj for documentation | |
native compiler definition | |
| #define | MK_CLRCALL |
| #define | MK_STDCALL |
| #define | MK_CDECL |
| #define | mk_inline static inline |
| #define | mk_unlink unlink |
| #define | mk_snprintf snprintf |
| #define | MK_ATTR_HOT __attribute__((hot)) |
| #define | MK_ATTR_COLD __attribute__((cold)) |
| #define | MK_DECL MK_CDECL |
| #define | BEGIN_MK_C_DECLS /* empty */ |
| #define | END_MK_C_DECLS /* empty */ |
| #define | likely(x) |
| #define | unlikely(x) |
| #define | mk_timeval timeval |
| #define | mk_timezone timezone |
| #define | MK_UNUSED __attribute__((unused)) |
| mark unnused variables and functions | |
| #define | MK_NO_RETURN __attribute__((noreturn)) |
| dosable "MK_NO_RETURN" because C# require "return" from "MqExit" for thread-pool support | |
| #define | MK_UNREACHABLE __builtin_unreachable() |
| #define | MK_ARTIFICIAL __attribute__((__artificial__)) |
| #define | MK_DEPRECATED __attribute__ ((deprecated)) |
| #define | MK_OPTIMIZE_0 __attribute__((optimize("O0"))) |
MkKernel PACKAGE - Interface to the operating-system compiler …
| #define BEGIN_MK_C_DECLS /* empty */ |
Definition at line 567 of file LibMkKernel_mk.h.
| #define END_MK_C_DECLS /* empty */ |
Definition at line 568 of file LibMkKernel_mk.h.
| #define likely | ( | x | ) |
Definition at line 580 of file LibMkKernel_mk.h.
| #define META_DIR_SEPARATOR '/' |
Definition at line 1066 of file LibMkKernel_mk.h.
| #define META_EOL "\n" |
Definition at line 1067 of file LibMkKernel_mk.h.
| #define mk_append_fix_str | ( | t, | |
| s ) |
append fix string to storage and increment pointer …
Definition at line 1135 of file LibMkKernel_mk.h.
| #define MK_ARTIFICIAL __attribute__((__artificial__)) |
Definition at line 628 of file LibMkKernel_mk.h.
| #define MK_ATTR_COLD __attribute__((cold)) |
Definition at line 542 of file LibMkKernel_mk.h.
| #define MK_ATTR_HOT __attribute__((hot)) |
Definition at line 541 of file LibMkKernel_mk.h.
| #define mk_bit_compare | ( | t, | |
| f ) |
| #define MK_CDECL |
Definition at line 532 of file LibMkKernel_mk.h.
| #define MK_CLRCALL |
Definition at line 530 of file LibMkKernel_mk.h.
| #define MK_CONCAT | ( | a, | |
| b ) |
| #define MK_CONCAT2 | ( | a, | |
| b ) |
Definition at line 1128 of file LibMkKernel_mk.h.
| #define MK_CONCAT3 | ( | a, | |
| b, | |||
| c ) |
Definition at line 1129 of file LibMkKernel_mk.h.
| #define MK_CPPSTR | ( | s | ) |
| #define MK_CPPXSTR | ( | s | ) |
connecting of expressions, step 1 …
Definition at line 1123 of file LibMkKernel_mk.h.
| #define MK_DECL MK_CDECL |
Definition at line 551 of file LibMkKernel_mk.h.
| #define MK_DEPRECATED __attribute__ ((deprecated)) |
Definition at line 630 of file LibMkKernel_mk.h.
| #define MK_EXTERN |
static library
Definition at line 1094 of file LibMkKernel_mk.h.
| #define MK_EXTERN_DATA extern |
Definition at line 1117 of file LibMkKernel_mk.h.
| #define mk_inline static inline |
Definition at line 536 of file LibMkKernel_mk.h.
| #define MK_NO_RETURN __attribute__((noreturn)) |
dosable "MK_NO_RETURN" because C# require "return" from "MqExit" for thread-pool support
Definition at line 625 of file LibMkKernel_mk.h.
| #define MK_NULL NULL |
The Programming-Language-Micro-Kernel (PLMK) NULL value as null in C# …
This problem looks simpler than it is because NULL is not defined in every language.
TCL e.g. does not understand the NULL as a data type and an approximation with "" is only correct to the extent that the target API also understands the "" as a NULL-Value.
Unfortunately, this is not always the case and therefore:
NULL is explicitly required the null is used in C# . NULL as string (MK_STRN) is required then the string "MK_NULL" is used in C#.To support the NULL the following items are defined:
"MK_NULL" into the MK_NULL pointer wherever a pointer is expected as a return value.Definition at line 693 of file LibMkKernel_mk.h.
| #define MK_NULL_NO false |
flag, not allow NULL
Definition at line 699 of file LibMkKernel_mk.h.
| #define MK_NULL_STR "MK_NULL" |
the string "MK_NULL" value as MK_NULL_STR …
Definition at line 705 of file LibMkKernel_mk.h.
| #define MK_NULL_STR_LEN strlen(MK_NULL_STR) |
the integer strlen("MK_NULL") value as MK_NULL_STR_LEN …
Definition at line 711 of file LibMkKernel_mk.h.
| #define MK_NULL_YES true |
flag, allow NULL
Definition at line 696 of file LibMkKernel_mk.h.
| #define MK_OPTIMIZE_0 __attribute__((optimize("O0"))) |
Definition at line 632 of file LibMkKernel_mk.h.
| #define MK_PARSER_fmtobj MK_OBJN fmtobj __parser__(default=NULL) |
use param_fmtobj for documentation
Definition at line 495 of file LibMkKernel_mk.h.
| #define mk_snprintf snprintf |
Definition at line 539 of file LibMkKernel_mk.h.
| #define MK_STDCALL |
Definition at line 531 of file LibMkKernel_mk.h.
| #define mk_timeval timeval |
Definition at line 616 of file LibMkKernel_mk.h.
| #define mk_timezone timezone |
Definition at line 617 of file LibMkKernel_mk.h.
| #define mk_unlink unlink |
Definition at line 538 of file LibMkKernel_mk.h.
| #define MK_UNREACHABLE __builtin_unreachable() |
Definition at line 626 of file LibMkKernel_mk.h.
| #define MK_UNUSED __attribute__((unused)) |
mark unnused variables and functions
Definition at line 623 of file LibMkKernel_mk.h.
| #define unlikely | ( | x | ) |
Definition at line 581 of file LibMkKernel_mk.h.
| typedef void* MK_MACRO_TYP |
helper-type used to declare a prototype for a macro
Definition at line 652 of file LibMkKernel_mk.h.
|
inlinestatic |
check if __str is MK_NULL_STR return true or false …
| [in] | __str | the string pointer to test, if null than false is returned. |
| [in] | __len | the length pointer is tested against MK_NULL_STR_LEN, have to be the strlen of __str. |
boolean value → true if __str is a MK_NULL_STR. Definition at line 721 of file LibMkKernel_mk.h.
|
inlinestatic |
same as MK_NULL_STR_CHECK but without len parameter
Definition at line 727 of file LibMkKernel_mk.h.
|
inlinestatic |
same as MK_NULL_STR_CHECK together with "" check but without len parameter
Definition at line 733 of file LibMkKernel_mk.h.