10#define META_FILE_NAME "MkObjectC_jv.c"
12#include "jni_h/jvmkkernel_MkObjectC.h"
13#include "LibMkKernel_private_jv.h"
27 JNIEnv *env = (JNIEnv*) envP;
28 return (*env)->NewObject(env, NS(Class_MkObjectC), NS(MID_MkObjectC_INIT), (jlong) obj, JNI_TRUE);
45 JNIEnv *env = (JNIEnv*) envP;
46 jobject self = (jobject) ptr;
47#ifndef META_STRONG_REF
48 if ((*env)->IsSameObject(env,self,NULL))
goto end;
51 (*env)->SetLongField(env,self,NS(FID_MkObjectC_hdl),0);
55 (*env)->DeleteGlobalRef(env, self);
57 (*env)->DeleteWeakGlobalRef(env, self);
62 (JNIEnv * env, jclass
class, jlong mng, jobject self)
65 (*env)->ThrowNew(env, NS(Class_MkInitError),
"MkObjectC");
70 (*env)->ThrowNew(env, NS(Class_RuntimeException),
"MkObjectC: signature check failed");
76 MK_PTR ref = (
MK_PTR) (*env)->NewWeakGlobalRef(env, self);
78 if ((*env)->IsSameObject(env,ref,NULL)) {
80 (*env)->ThrowNew(env, NS(Class_RuntimeException),
"MkObjectC: unable to create 'NewGlobalRef'");
82 (*env)->ThrowNew(env, NS(Class_RuntimeException),
"MkObjectC: unable to create 'NewWeakGlobalRef'");
93 (JNIEnv * env, jclass
class, jlong mng)
96 if (obj == NULL)
return 0;
103#define MkDbgDumpTmpl(obj,msg,cal) NS(printObj)(MK_RT_CALL env,NULL,self,cal,msg)
108 MkLogC(fmt,
"NULL\n", 0, caller);
111 if (OT_LNG_OBJ_CLASS_IS(val,MK(Class_MkObjectC))) {
112 obj = (
MK_OBJ)pObj2Hdl__null_allow(env,val);
115 "DUMP %s: { jval=%p }\n", (txt?txt:
"printObj"), val
119 "DUMP %s: { jval=%p }\n", (txt?txt:
"printObj"), val
123 jstring ret = (*env)->CallStaticObjectMethod(env, MK(Class_MkKernel), MK(MID_MkKernel_dump), val);
127 MK_STRN retCC = (*env)->GetStringUTFChars(env,ret,&isCopy);
131 while (start != NULL) {
132 MkLogV(fmt, caller, 0,
" | %s\n", start);
135 if (retC) (*env)->ReleaseStringUTFChars(env,ret,retCC);
136 if (!isCopy) free(retC);
141 OT_ERROR_LNG_2_META(mng);
145#define MkObjectErrorCatchTmpl(...) MK(MkExceptionC_Catch) (env,__VA_ARGS__, NULL)
165 jobject __retVal__S = MK(MkObjectC_ObjNew)(
MK_RT_CALL env,__retVal__L);
187 jboolean __retVal__S = __retVal__L;
199 jint __retVal__S = __retVal__L;
211 jint __retVal__S = __retVal__L;
223 jint __retVal__S = __retVal__L;
252 jobject __retVal__S = MK(MkObjectC_ObjNew)(
MK_RT_CALL env,__retVal__L);
264 jobject __retVal__S = MK(MkObjectC_ObjNew)(
MK_RT_CALL env,__retVal__L);
276 jobject __retVal__S = MK(MkObjectC_ObjNew)(
MK_RT_CALL env,__retVal__L);
293 jobject __retVal__S = MK(MkObjectC_ObjNew)(
MK_RT_CALL env,__retVal__L);
311 if (callfunc == NULL) {
312 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
314 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
315 MK_STRN message_ptr = (message?(*env)->GetStringUTFChars(env,message,NULL):NULL);
317 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
320 MkErrorC_Check(hdl, errVal)
321 if (message_ptr) (*env)->ReleaseStringUTFChars(env,message,message_ptr);
322 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
332 if (callfunc == NULL) {
333 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
335 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
337 MK_STRN message_ptr = (message?(*env)->GetStringUTFChars(env,message,NULL):NULL);
339 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
341 MkDbgL(hdl, message_ptr, debug, callfunc_ptr, lvl);
342 if (message_ptr) (*env)->ReleaseStringUTFChars(env,message,message_ptr);
343 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
353 if (callfunc == NULL) {
354 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
356 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
357 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
360 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
370 if (callfunc == NULL) {
371 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
373 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
374 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
376 MkDbgO(hdl, callfunc_ptr);
377 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
387 if (callfunc == NULL) {
388 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
390 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
391 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
394 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
404 if (callfunc == NULL) {
405 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
407 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
409 MK_STRN message_ptr = (message?(*env)->GetStringUTFChars(env,message,NULL):NULL);
411 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
413 MkDbgM(message_ptr, debug, callfunc_ptr, lvl);
414 if (message_ptr) (*env)->ReleaseStringUTFChars(env,message,message_ptr);
415 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
434 if (callfunc == NULL) {
435 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
437 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
439 MK_STRN message_ptr = (message?(*env)->GetStringUTFChars(env,message,NULL):NULL);
441 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
443 MkLogC(hdl, message_ptr, debug, callfunc_ptr);
444 if (message_ptr) (*env)->ReleaseStringUTFChars(env,message,message_ptr);
445 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
455 if (callfunc == NULL) {
456 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
458 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
459 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
461 MK_BINN data_data = (
MK_BINN) (*env)->GetByteArrayElements(env, data, NULL);
466 MkLogHEX(hdl, callfunc_ptr, data_ref);
467 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
468 (*env)->ReleaseByteArrayElements(env, data, (jbyte*)data_data, JNI_ABORT);
480 if (callfunc == NULL) {
481 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
483 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
485 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
487 MkObjectLog(hdl, fmtobj_hdl, debug, callfunc_ptr, lvl);
488 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
500 if (callfunc == NULL) {
501 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
503 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
505 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
508 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
520 if (callfunc == NULL) {
521 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
523 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
525 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
528 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
540 if (callfunc == NULL) {
541 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
543 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
545 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
548 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
567 if (callfunc == NULL) {
568 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
570 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
571 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
574 jobject __retVal__S = MK(MkErrorC_ObjNew)(
MK_RT_CALL env,__retVal__L);
575 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
587 jobject __retVal__S = MK(MkErrorC_ObjNew)(
MK_RT_CALL env,__retVal__L);
601 jboolean __retVal__S = __retVal__L;
613 jstring __retVal__S = JC2O(env,__retVal__L);
628 jstring __retVal__S = JC2O(env,__retVal__L);
640 jstring __retVal__S = JC2O(env,__retVal__L);
661 jint __retVal__S = __retVal__L;
682 MkErrorC_Check(hdl, errVal)
696 MkErrorC_Check(hdl, errVal)
697 jint __retVal__S = pid_out;
708 MK_STRN key_ptr = (key?(*env)->GetStringUTFChars(env,key,NULL):NULL);
711 jint __retVal__S = __retVal__L;
712 if (key_ptr) (*env)->ReleaseStringUTFChars(env,key,key_ptr);
721 MK_STRN key_ptr = (key?(*env)->GetStringUTFChars(env,key,NULL):NULL);
724 jstring __retVal__S = JC2O(env,__retVal__L);
725 if (key_ptr) (*env)->ReleaseStringUTFChars(env,key,key_ptr);
745 (*env)->CallObjectMethod(env,self,NS(MID_MkObjectC_Dispose),JNI_TRUE);
757 (*env)->CallObjectMethod(env,self,NS(MID_MkObjectC_Dispose),JNI_TRUE);
767 MK_STRN ident_ptr = (ident?(*env)->GetStringUTFChars(env,ident,NULL):NULL);
770 if (ident_ptr) (*env)->ReleaseStringUTFChars(env,ident,ident_ptr);
779 MK_STRN ident_ptr = (ident?(*env)->GetStringUTFChars(env,ident,NULL):NULL);
781 MK_CBP callback_ptr = MK(ProcCreate)(
MK_RT_CALL env, callback, NULL, NS(MID_callback),
true);
783 if (callback_ptr == NULL) fCall = NULL;
784 MK_STRN filter_ptr = (filter?(*env)->GetStringUTFChars(env,filter,NULL):NULL);
787 MkErrorC_Check(NULL, errVal)
788 if (ident_ptr) (*env)->ReleaseStringUTFChars(env,ident,ident_ptr);
789 if (filter_ptr) (*env)->ReleaseStringUTFChars(env,filter,filter_ptr);
805 jclass cs = (*env)->GetObjectClass(env, self);
806 return (*env)->CallObjectMethod(env, cs, NS(MID_Class_getName));
JNIEXPORT jlong JNICALL Java_jvmkkernel_MkObjectC_atomCreate(JNIEnv *env, jclass class, jlong mng, jobject self)
JNIEXPORT jlong JNICALL Java_jvmkkernel_MkObjectC_atomDelete(JNIEnv *env, jclass class, jlong mng)
#define MkDbgDumpTmpl(obj, msg, cal)
#define MkObjectErrorCatchTmpl(...)
static MkBinaryR MkBinaryCreate(MK_SIZE size, MK_BINN data)
create a binary from data and size ...
#define MK_UNUSED
mark unnused variables and functions
MkErrorE
collection for the different error-codes …
@ MK_ERROR
(persistent) raise an error-event, the calling-fucntion is interrupted.
@ MK_OK
(persistent) everything is OK.
MK_PTRB * MK_PTR
generic pointer data-type
const MK_STRB * MK_STRN
constant string pointer data-type
MK_PTRB * MK_MNG
managed object pointer, datatype will be checked at runtime
MK_PTRB * MK_CBP
generic pointer to call-back data
bool MK_BOOL
real bool data-type
MK_STRB * MK_STR
string pointer data-type with UTF8 ecoding (String)
int32_t MK_HDL
4 byte int handle data-type
MK_BINB const * MK_BINN
const byte-array pointer data-type
signed int MK_I32
4 byte integer data-type
#define MkObjectHandleResolve(...)
const struct MkObjectS * MK_OBJN
class-shortcut for const struct MkObjectS *, all const shortcut using the XX_YYYC syntax (only for pu...
#define MkObjectHandleGet(...)
static MK_HDL MkObjectHandleGetOfType(MK_OBJ const obj)
Export-Slot - returns typeHdl of the obj .
static MK_OBJ MkObjectGetNull(void)
Null-Slot - return a MkObjectC typed NULL instance …
#define MkObjectHandleDelete(...)
static MK_OBJ MkObjectPrev(MK_OBJ const obj)
get previous instance from linked-list of MkObjectS type
static MK_OBJ MkObjectNext(MK_OBJ const obj)
get next instance from linked-list of MkObjectS type
#define MkObjectInstances()
struct MkObjectS * MK_OBJ
class-shortcut for struct MkObjectS *, all shortcut using the XX_YYY syntax (only for public API) …
MK_HDL MkObjectHandleGetOr0(MK_OBJ const obj)
return export-hdl or 0 in not created…
bool MkObjectHandleExists(MK_OBJ const obj)
check if obj has already a handle defined…
#define MkObjectHandleDeleteByNetHdl(...)
#define MkObjectC_X2obj(x)
#define MkObjectC_TT
class as MkTypeS-class-type, useable in a class-macro as: class##_TT …
static MK_OBJ MkObj(MK_MNG mng)
cast a unknown-object into an MkObjectS pointer or NULL if not possible
JNIEXPORT jint JNICALL Java_jvmkkernel_MkObjectC_HandleGetOr0(JNIEnv *env, jobject self)
Java: int obj.HandleGetOr0() → C-API return export-hdl or 0 in not created…
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_HandleDelete(JNIEnv *env, jobject self)
Java: netObj.HandleDelete() → C-API Handle-Delete-Slot - delete a netObj from handle-storage …
JNIEXPORT jobject JNICALL Java_jvmkkernel_MkObjectC_HandleResolve(JNIEnv *env, jclass class, jint netHdl)
Java: [static] MkObjectC MkObjectC.HandleResolve(int netHdl) → C-API Handle-Resolve-Slot - retur...
JNIEXPORT jboolean JNICALL Java_jvmkkernel_MkObjectC_HandleExists(JNIEnv *env, jobject self)
Java: boolean obj.HandleExists() → C-API check if obj has already a handle defined…
JNIEXPORT jobject JNICALL Java_jvmkkernel_MkObjectC_Next(JNIEnv *env, jobject self)
Java: MkObjectC obj.Next() → C-API get next instance from linked-list of MkObjectS type
JNIEXPORT jint JNICALL Java_jvmkkernel_MkObjectC_HandleGetOfType(JNIEnv *env, jobject self)
Java: int obj.HandleGetOfType() → C-API Export-Slot - returns typeHdl of the obj .
JNIEXPORT jobject JNICALL Java_jvmkkernel_MkObjectC_GetNull(JNIEnv *env, jclass class)
Java: [static] MkObjectC MkObjectC.GetNull() → C-API Null-Slot - return a MkObjectC typed NULL i...
JNIEXPORT jobject JNICALL Java_jvmkkernel_MkObjectC_Prev(JNIEnv *env, jobject self)
Java: MkObjectC obj.Prev() → C-API get previous instance from linked-list of MkObjectS type
JNIEXPORT jint JNICALL Java_jvmkkernel_MkObjectC_HandleGet(JNIEnv *env, jobject self)
Java: int obj.HandleGet() → C-API Handle-Get-Slot - returns a export-hdl to the MkObjectC useab...
JNIEXPORT jobject JNICALL Java_jvmkkernel_MkObjectC_Instances(JNIEnv *env, jclass class)
Java: [static] MkObjectC MkObjectC.Instances() → C-API get head-instance from linked-list of MkO...
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_HandleDeleteByNetHdl(JNIEnv *env, jclass class, jint netHdl)
Java: [static] MkObjectC.HandleDeleteByNetHdl(int netHdl) → C-API Handle-Delete-Slot - delete a ...
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_DbgSTACK(JNIEnv *env, jobject self, jint skip, jint num, jstring callfunc)
Java: fmtobj.DbgSTACK(?int skip = 0?, ?int num = -1?, ?String callfunc = null?) → C-API debug: ...
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_DbgM(JNIEnv *env, jclass class, jstring message, jint debug, jstring callfunc, jint lvl)
Java: [static] MkObjectC.DbgM(String message, ?int debug = 0?, ?String callfunc = null?...
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_DbgL(JNIEnv *env, jobject self, jstring message, jint debug, jstring callfunc, jint lvl)
Java: fmtobj.DbgL(String message, ?int debug = 0?, ?String callfunc = null?, ?int lvl = 0?...
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_DbgLogC(JNIEnv *env, jobject self, jstring callfunc)
Java: obj.DbgLogC(?String callfunc = null?) → C-API debug: write a short-obj-summary to MkLogFi...
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_DbgDump(JNIEnv *env, jobject self, jstring message, jstring callfunc)
Java: obj.DbgDump(?String message = "var"?, ?String callfunc = null?) → C-API debug: Dump a ins...
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_DbgO(JNIEnv *env, jobject self, jstring callfunc)
Java: obj.DbgO(?String callfunc = null?) → C-API debug: write the object-details to MkLogFileC ...
#define MkObjectLogLong(...)
#define MkObjectLogShort(...)
#define MkObjectLogType(...)
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_LogLong(JNIEnv *env, jobject self, jobject fmtobj, jint debug, jstring callfunc, jint lvl)
Java: obj.LogLong(?MkObjectC fmtobj = null?, ?int debug = 0?, ?String callfunc = null?...
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_LogType(JNIEnv *env, jobject self, jobject fmtobj, jint debug, jstring callfunc, jint lvl)
Java: obj.LogType(?MkObjectC fmtobj = null?, ?int debug = 0?, ?String callfunc = null?...
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_LogC(JNIEnv *env, jobject self, jstring message, jint debug, jstring callfunc)
Java: fmtobj.LogC(String message, ?int debug = 0?, ?String callfunc = null?) → C-API write a lo...
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_LogHEX(JNIEnv *env, jobject self, jstring callfunc, jbyteArray data)
Java: fmtobj.LogHEX(?String callfunc = null?, byte[] data) → C-API log binaray data as HEX into...
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_Log(JNIEnv *env, jobject self, jobject fmtobj, jint debug, jstring callfunc, jint lvl)
Java: obj.Log(?MkObjectC fmtobj = null?, ?int debug = 0?, ?String callfunc = null?...
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_LogShort(JNIEnv *env, jobject self, jobject fmtobj, jint debug, jstring callfunc, jint lvl)
Java: obj.LogShort(?MkObjectC fmtobj = null?, ?int debug = 0?, ?String callfunc = null?...
static bool MkObjectIsNull(MK_OBJ const obj)
ckeck if the object is null
#define MkObjectToName(...)
#define MkObjectToString(...)
#define MkObjectToError(...)
#define MkObjectToNameOfType(...)
JNIEXPORT jobject JNICALL Java_jvmkkernel_MkObjectC_ErrorCatch(JNIEnv *env, jobject self, jthrowable exception, jstring callfunc)
Java: MkErrorC obj.ErrorCatch(?Throwable exception = null?, ?String callfunc = null?...
JNIEXPORT jstring JNICALL Java_jvmkkernel_MkObjectC_ToNameOfType(JNIEnv *env, jobject self)
Java: String obj.ToNameOfType() → C-API Type-Slot - returns the LibMkKernel-Type-Name of the ob...
JNIEXPORT jstring JNICALL Java_jvmkkernel_MkObjectC_ToNameOfClass(JNIEnv *env, jobject self)
Java: String obj.ToNameOfClass() → C-API Class-Slot - returns the Java-Class-Name of the obj as...
JNIEXPORT jstring JNICALL Java_jvmkkernel_MkObjectC_ToString(JNIEnv *env, jobject self)
Java: String inst.ToString() → C-API String-Slot - returns the string representation of the ins...
JNIEXPORT jboolean JNICALL Java_jvmkkernel_MkObjectC_IsNull(JNIEnv *env, jobject self)
Java: boolean obj.IsNull() → C-API ckeck if the object is null
JNIEXPORT jstring JNICALL Java_jvmkkernel_MkObjectC_ToName(JNIEnv *env, jobject self)
Java: String obj.ToName() → C-API Info-Slot - returns brief information about the obj as a stri...
JNIEXPORT jobject JNICALL Java_jvmkkernel_MkObjectC_ToError(JNIEnv *env, jobject self)
Java: MkErrorC obj.ToError() → C-API Error-Slot - return an error-object pre initialized with o...
#define MkRefDecrWithUnlinkSelf(...)
static MK_I32 MkRefGet(MK_OBJ const obj)
get the reference-count
static void MkRefIncrSelf(MK_OBJ const obj, MK_PTR const self, MK_PTR const env)
ATOMIC operation -> link self with reference-count.
JNIEXPORT jint JNICALL Java_jvmkkernel_MkObjectC_RefGet(JNIEnv *env, jobject self)
MkRefGet
enum MkErrorE MkSysKill(MK_OBJN fmtobj, MK_I32 pid, MK_I32 signal)
kill syscall with jvmkkernel error plugin
enum MkErrorE MkSysGetPid(MK_OBJN fmtobj, MK_I32 *pid_out)
getpid syscall with jvmkkernel error plugin
MK_STRN MkSysHashSTR(MK_STRN key, MK_NUM length)
compute the HASH from a string …
MK_I32 MkSysHashI32(MK_STRN key, MK_NUM length)
same as MkSysHashSTR but return MK_I32 …
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_SysKill(JNIEnv *env, jobject self, jint pid, jint signal)
MkSysKill
JNIEXPORT jstring JNICALL Java_jvmkkernel_MkObjectC_SysHashSTR(JNIEnv *env, jclass class, jstring key, jint length)
MkSysHashSTR
JNIEXPORT jint JNICALL Java_jvmkkernel_MkObjectC_SysHashI32(JNIEnv *env, jclass class, jstring key, jint length)
MkSysHashI32
JNIEXPORT jint JNICALL Java_jvmkkernel_MkObjectC_SysGetPid(JNIEnv *env, jobject self)
MkSysGetPid
#define MkObjectDeleteCallbackCleanup(...)
#define MkObjectDeleteCallbackSetup(...)
enum MkErrorE(* MkObjectDeleteCallF)(MK_RT mkrt, MK_OBJN const obj, MK_STRN const typeName, MK_HDL const typeHdl, MK_HDL const objHdl, MK_CBP const __data__)
static callback to delete an obj …
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_DeleteCallbackSetup(JNIEnv *env, jclass class, jstring ident, jobject callback, jstring filter)
Java: [static] MkObjectC.DeleteCallbackSetup(String ident, ?MkObjectDeleteIF callback = null?...
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_DeleteCallbackCleanup(JNIEnv *env, jclass class, jstring ident)
Java: [static] MkObjectC.DeleteCallbackCleanup(String ident) → C-API cleanup the DeleteCallback ...
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_Dispose(JNIEnv *env, jobject self)
Java: [destructor] obj.Dispose() → C-API Dispose-Slot - untie the connection between the Native-...
JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_Delete(JNIEnv *env, jobject self)
Java: [destructor] obj.Delete() → C-API Delete-Slot - delete an instance.
static MK_I32 MkRuntimeDebugGet(void)
get the MkRuntimeS::debug value …
binary data default format …
The data-type to store and handle the error-condition …