theKernel 10.0
Loading...
Searching...
No Matches
MkKernel_String_C_API

MkKernel PACKAGE - operate on a string as struct of pointer and size … More...

+ Collaboration diagram for MkKernel_String_C_API:

Classes

struct  MkStringR
 string data default format … More...
 

Functions

static void MkStringLog_RT (MK_RT mkrt, MkStringR const str, MK_STRN func)
 log the string ...
 
static MkStringR MkStringCreate (MK_NUM len, MK_STRN str)
 create a str from ptr and len ...
 
static MkStringR MkStringCreate_1 (MK_STRN str)
 create a str from ptr use null as end-of-string ...
 
static MkStringR MkStringSlice (MkStringR strR, MK_NUM start, MK_NUM len)
 create a slice of strR start at start with max len bytes …
 
static void MkStringSplit (MkStringR strR, MK_NUM *len_out, MK_STRN *str_out)
 split a str into ptr and len
 
static MkStringR MkStringDup_RT (MK_RT mkrt, MkStringR const str)
 create a string as duplicate from an already existsing MkBinaryR ...
 
static MK_STRN MkStringGetData (MkStringR const str)
 get ptr pointer from the string ...
 
static MK_NUM MkStringGetSize (MkStringR const str)
 get len from the string ...
 
static bool MkStringIsNULL (MkStringR const strR)
 check if strR is MK_NULL_STR return true or false
 

MkKernel - MkKernel_String_C_API - function

MkStringR MkStringCreateP (MK_NUM len, MK_STRN str)
 Non-inline replacement for MkStringCreate
 
MkStringR MkStringCreate_1P (MK_STRN str)
 Non-inline replacement for MkStringCreate_1
 
MkStringR MkStringDupP (MK_RT mkrt, MkStringR const str)
 Non-inline replacement for MkStringDup
 
MK_STRN MkStringGetDataP (MkStringR const str)
 Non-inline replacement for MkStringGetData
 
MK_NUM MkStringGetSizeP (MkStringR const str)
 Non-inline replacement for MkStringGetSize
 
MK_BOOL MkStringIsNULLP (MkStringR const strR)
 Non-inline replacement for MkStringIsNULL
 
void MkStringLogP (MK_RT mkrt, MkStringR const str, MK_STRN func)
 Non-inline replacement for MkStringLog
 
MkStringR MkStringSliceP (MkStringR strR, MK_NUM start, MK_NUM len)
 Non-inline replacement for MkStringSlice
 
void MkStringSplitP (MkStringR strR, MK_NUM *len_out, MK_STRN *str_out)
 Non-inline replacement for MkStringSplit
 

MkKernel - MkKernel_String_C_API - overload

#define MkString2ATO_NULL(...)
 
#define MkString2ATO(...)
 
#define MkString2BOL_NULL(...)
 
#define MkString2BOL(...)
 
#define MkString2BOOL_NULL(...)
 
#define MkString2BOOL(...)
 
#define MkString2DBL_NULL(...)
 
#define MkString2DBL(...)
 
#define MkString2FLT_NULL(...)
 
#define MkString2FLT(...)
 
#define MkString2HDL_NULL(...)
 
#define MkString2HDL(...)
 
#define MkString2I16_NULL(...)
 
#define MkString2I16(...)
 
#define MkString2I32_NULL(...)
 
#define MkString2I32(...)
 
#define MkString2I64_NULL(...)
 
#define MkString2I64(...)
 
#define MkString2I8_NULL(...)
 
#define MkString2I8(...)
 
#define MkString2LONG_NULL(...)
 
#define MkString2LONG(...)
 
#define MkString2U16_NULL(...)
 
#define MkString2U16(...)
 
#define MkString2U32_NULL(...)
 
#define MkString2U32(...)
 
#define MkStringDup_NULL(...)
 
#define MkStringDup(...)
 
#define MkStringLog_NULL(...)
 
#define MkStringLog(...)
 

Detailed Description

MkKernel PACKAGE - operate on a string as struct of pointer and size …

Attention
In general MkStringR is owned by the called function, to get your own copy use MkStringDup.

Macro Definition Documentation

◆ MkString2ATO

#define MkString2ATO ( ...)
Value:
enum MkErrorE MkString2ATO_RT(MK_RT mkrt, MK_STRN const str, MK_NUM const length, enum MkTypeE type, MK_ATO *val_out)
#define MK_RT_CALL

Definition at line 1399 of file kernel_overload_mk.h.

◆ MkString2ATO_NULL

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

Definition at line 1398 of file kernel_overload_mk.h.

◆ MkString2BOL

#define MkString2BOL ( ...)
Value:
enum MkErrorE MkString2BOL_RT(MK_RT mkrt, MK_STRN const str, MK_NUM const length, MK_BOL *val_out)
convert a string into a native

Definition at line 1401 of file kernel_overload_mk.h.

◆ MkString2BOL_NULL

#define MkString2BOL_NULL ( ...)
Value:

Definition at line 1400 of file kernel_overload_mk.h.

◆ MkString2BOOL

#define MkString2BOOL ( ...)
Value:
enum MkErrorE MkString2BOOL_RT(MK_RT mkrt, MK_STRN const str, MK_NUM const length, MK_BOOL *val_out)

Definition at line 1403 of file kernel_overload_mk.h.

◆ MkString2BOOL_NULL

#define MkString2BOOL_NULL ( ...)
Value:

Definition at line 1402 of file kernel_overload_mk.h.

◆ MkString2DBL

#define MkString2DBL ( ...)
Value:
enum MkErrorE MkString2DBL_RT(MK_RT mkrt, MK_STRN const str, MK_NUM const length, MK_DBL *val_out)

Definition at line 1405 of file kernel_overload_mk.h.

◆ MkString2DBL_NULL

#define MkString2DBL_NULL ( ...)
Value:

Definition at line 1404 of file kernel_overload_mk.h.

◆ MkString2FLT

#define MkString2FLT ( ...)
Value:
enum MkErrorE MkString2FLT_RT(MK_RT mkrt, MK_STRN const str, MK_NUM const length, MK_FLT *val_out)

Definition at line 1407 of file kernel_overload_mk.h.

◆ MkString2FLT_NULL

#define MkString2FLT_NULL ( ...)
Value:

Definition at line 1406 of file kernel_overload_mk.h.

◆ MkString2HDL

#define MkString2HDL ( ...)
Value:
enum MkErrorE MkString2HDL_RT(MK_RT mkrt, MK_STRN const str, MK_NUM const length, MK_HDL *val_out)

Definition at line 1409 of file kernel_overload_mk.h.

◆ MkString2HDL_NULL

#define MkString2HDL_NULL ( ...)
Value:

Definition at line 1408 of file kernel_overload_mk.h.

◆ MkString2I16

#define MkString2I16 ( ...)
Value:
enum MkErrorE MkString2I16_RT(MK_RT mkrt, MK_STRN const str, MK_NUM const length, MK_I16 *val_out)

Definition at line 1411 of file kernel_overload_mk.h.

◆ MkString2I16_NULL

#define MkString2I16_NULL ( ...)
Value:

Definition at line 1410 of file kernel_overload_mk.h.

◆ MkString2I32

#define MkString2I32 ( ...)
Value:
enum MkErrorE MkString2I32_RT(MK_RT mkrt, MK_STRN const str, MK_NUM const length, MK_I32 *val_out)

Definition at line 1413 of file kernel_overload_mk.h.

◆ MkString2I32_NULL

#define MkString2I32_NULL ( ...)
Value:

Definition at line 1412 of file kernel_overload_mk.h.

◆ MkString2I64

#define MkString2I64 ( ...)
Value:
enum MkErrorE MkString2I64_RT(MK_RT mkrt, MK_STRN const str, MK_NUM const length, MK_I64 *val_out)

Definition at line 1415 of file kernel_overload_mk.h.

◆ MkString2I64_NULL

#define MkString2I64_NULL ( ...)
Value:

Definition at line 1414 of file kernel_overload_mk.h.

◆ MkString2I8

#define MkString2I8 ( ...)
Value:
enum MkErrorE MkString2I8_RT(MK_RT mkrt, MK_STRN const str, MK_NUM const length, MK_I8 *val_out)

Definition at line 1417 of file kernel_overload_mk.h.

◆ MkString2I8_NULL

#define MkString2I8_NULL ( ...)
Value:

Definition at line 1416 of file kernel_overload_mk.h.

◆ MkString2LONG

#define MkString2LONG ( ...)
Value:
enum MkErrorE MkString2LONG_RT(MK_RT mkrt, MK_STRN const str, MK_NUM const length, MK_LONG *val_out)

Definition at line 1419 of file kernel_overload_mk.h.

◆ MkString2LONG_NULL

#define MkString2LONG_NULL ( ...)
Value:

Definition at line 1418 of file kernel_overload_mk.h.

◆ MkString2U16

#define MkString2U16 ( ...)
Value:
enum MkErrorE MkString2U16_RT(MK_RT mkrt, MK_STRN const str, MK_NUM const length, MK_U16 *val_out)

Definition at line 1421 of file kernel_overload_mk.h.

◆ MkString2U16_NULL

#define MkString2U16_NULL ( ...)
Value:

Definition at line 1420 of file kernel_overload_mk.h.

◆ MkString2U32

#define MkString2U32 ( ...)
Value:
enum MkErrorE MkString2U32_RT(MK_RT mkrt, MK_STRN const str, MK_NUM const length, MK_U32 *val_out)

Definition at line 1423 of file kernel_overload_mk.h.

◆ MkString2U32_NULL

#define MkString2U32_NULL ( ...)
Value:

Definition at line 1422 of file kernel_overload_mk.h.

◆ MkStringDup

#define MkStringDup ( ...)
Value:
static MkStringR MkStringDup_RT(MK_RT mkrt, MkStringR const str)
create a string as duplicate from an already existsing MkBinaryR ...

Definition at line 1427 of file kernel_overload_mk.h.

◆ MkStringDup_NULL

#define MkStringDup_NULL ( ...)
Value:

Definition at line 1426 of file kernel_overload_mk.h.

◆ MkStringLog

#define MkStringLog ( ...)
Value:
static void MkStringLog_RT(MK_RT mkrt, MkStringR const str, MK_STRN func)
log the string ...

Definition at line 1429 of file kernel_overload_mk.h.

◆ MkStringLog_NULL

#define MkStringLog_NULL ( ...)
Value:

Definition at line 1428 of file kernel_overload_mk.h.

Function Documentation

◆ MkStringCreate()

static MkStringR MkStringCreate ( MK_NUM len,
MK_STRN str )
static

create a str from ptr and len ...

Definition at line 1759 of file LibMkKernel_mk.h.

1759 {
1760 return (MkStringR) {(len>0?len:(str?(MK_NUM)strlen(str):0)), str};
1761}
int32_t MK_NUM
array size data-type ('num' items in array …
string data default format …
+ Here is the caller graph for this function:

◆ MkStringCreate_1()

static MkStringR MkStringCreate_1 ( MK_STRN str)
static

create a str from ptr use null as end-of-string ...

Definition at line 1765 of file LibMkKernel_mk.h.

1765 {
1766 return (MkStringR) {str?(MK_NUM)strlen(str):0, str};
1767}

◆ MkStringCreate_1P()

MkStringR MkStringCreate_1P ( MK_STRN str)

Non-inline replacement for MkStringCreate_1

◆ MkStringCreateP()

MkStringR MkStringCreateP ( MK_NUM len,
MK_STRN str )

Non-inline replacement for MkStringCreate

◆ MkStringDup_RT()

static MkStringR MkStringDup_RT ( MK_RT mkrt,
MkStringR const str )
static

create a string as duplicate from an already existsing MkBinaryR ...

Definition at line 13569 of file LibMkKernel_mk.h.

13569 {
13571 return MkStringCreate(str.len,(MK_STRN)MkSysMemDup(MK_ERROR_PANIC,str.ptr,(size_t)str.len));
13572}
#define MK_ERROR_PANIC
static MkStringR MkStringCreate(MK_NUM len, MK_STRN str)
create a str from ptr and len ...
const MK_STRB * MK_STRN
constant string pointer data-type
MK_PTR MkSysMemDup(MK_OBJN fmtobj, MK_PTRN const blck, size_t const size)
memdup syscall with jvmkkernel error plugin
#define MK_STATIC_RT

◆ MkStringDupP()

MkStringR MkStringDupP ( MK_RT mkrt,
MkStringR const str )

Non-inline replacement for MkStringDup

◆ MkStringGetData()

static MK_STRN MkStringGetData ( MkStringR const str)
static

get ptr pointer from the string ...

Definition at line 1803 of file LibMkKernel_mk.h.

1803 {
1804 return str.ptr;
1805}

◆ MkStringGetDataP()

MK_STRN MkStringGetDataP ( MkStringR const str)

Non-inline replacement for MkStringGetData

◆ MkStringGetSize()

static MK_NUM MkStringGetSize ( MkStringR const str)
static

get len from the string ...

Definition at line 1809 of file LibMkKernel_mk.h.

1809 {
1810 return str.len;
1811}

◆ MkStringGetSizeP()

MK_NUM MkStringGetSizeP ( MkStringR const str)

Non-inline replacement for MkStringGetSize

◆ MkStringIsNULL()

static bool MkStringIsNULL ( MkStringR const strR)
static

check if strR is MK_NULL_STR return true or false

See also
MK_NULL
Parameters
[in]strRthe string reference to test.
Returns
the a boolean value → true if strR is a MK_NULL_STR.

Definition at line 1820 of file LibMkKernel_mk.h.

1820 {
1821 return ((strR.ptr) && (strR.len) == MK_NULL_STR_LEN && strcmp((strR.ptr),MK_NULL_STR)==0);
1822}
#define MK_NULL_STR
the string "MK_NULL" value as MK_NULL_STR …
#define MK_NULL_STR_LEN
the integer strlen("MK_NULL") value as MK_NULL_STR_LEN …

◆ MkStringIsNULLP()

MK_BOOL MkStringIsNULLP ( MkStringR const strR)

Non-inline replacement for MkStringIsNULL

◆ MkStringLog_RT()

static void MkStringLog_RT ( MK_RT mkrt,
MkStringR const str,
MK_STRN func )
static

log the string ...

Definition at line 13576 of file LibMkKernel_mk.h.

13576 {
13578 MkLogV(MK_ERROR_FORMAT,func,0,"MkStringR: len=%i -> %.*s\n", str.len, str.len, str.ptr);
13579}
#define MK_ERROR_FORMAT
#define MkLogV(...)

◆ MkStringLogP()

void MkStringLogP ( MK_RT mkrt,
MkStringR const str,
MK_STRN func )

Non-inline replacement for MkStringLog

◆ MkStringSlice()

static MkStringR MkStringSlice ( MkStringR strR,
MK_NUM start,
MK_NUM len )
static

create a slice of strR start at start with max len bytes …

Parameters
[in]strRthe string reference to operate on
[in]startthe start-index, will be strR.ptr + start
[in]lenthe size of the new slize, <0 will be to end of string
Returns
The new MkStringR

Definition at line 1778 of file LibMkKernel_mk.h.

1778 {
1779 if (len < 0) len = strR.len;
1780 if (start > strR.len) {
1781 return MkStringCreate(0,NULL);
1782 } else if ((start+len) > strR.len) {
1783 return MkStringCreate(strR.len-start,strR.ptr+start);
1784 } else {
1785 return MkStringCreate(len,strR.ptr+start);
1786 }
1787}
MK_STRN ptr
pointer to the string data
MK_NUM len
len of the string data

◆ MkStringSliceP()

MkStringR MkStringSliceP ( MkStringR strR,
MK_NUM start,
MK_NUM len )

Non-inline replacement for MkStringSlice

◆ MkStringSplit()

static void MkStringSplit ( MkStringR strR,
MK_NUM * len_out,
MK_STRN * str_out )
static

split a str into ptr and len

Definition at line 1791 of file LibMkKernel_mk.h.

1791 {
1792 assert(len_out != NULL);
1793 assert(str_out != NULL);
1794 *len_out = strR.len; *str_out = strR.ptr;
1795}

◆ MkStringSplitP()

void MkStringSplitP ( MkStringR strR,
MK_NUM * len_out,
MK_STRN * str_out )

Non-inline replacement for MkStringSplit