theKernel 10.0
Loading...
Searching...
No Matches
MkObjectC_jv.c
Go to the documentation of this file.
1
9/* LABEL-START */
10#define META_FILE_NAME "MkObjectC_jv.c"
11
12#include "jni_h/jvmkkernel_MkObjectC.h"
13#include "LibMkKernel_private_jv.h"
14
15
16jobject NS(MkObjectC_ObjNew) (MK_RT_ARGS JNIEnv *env, MK_OBJ hdl) {
17 static MkThreadLocal jobject NS_NULL = NULL;
18 return (hdl ? MK(AtomObjNew)(MK_RT_CALL env, MkObjectC_X2obj(hdl)) : MK_GET__NS_NULL(MkObjectC));
19}
20
22static jobject NS(MkObjectC_ObjCreate) (MK_RT_ARGS JNIEnv *env, MK_OBJ hdl) {
23 return MK(AtomObjCreate)(MK_RT_CALL env, MkObjectC_X2obj(hdl));
24}
25
26static MK_PTR NS(MkObjectC_selfCreate) (MK_RT_ARGS MK_OBJ obj, MK_PTR envP) {
27 JNIEnv *env = (JNIEnv*) envP;
28 return (*env)->NewObject(env, NS(Class_MkObjectC), NS(MID_MkObjectC_INIT), (jlong) obj, JNI_TRUE);
29}
30
31#define ClassInit \
32
33// printTxt("init: MkObjectC");
34
35/* LABEL-END */
36
42
43void NS(AtomSelfUnlink) (MK_RT_ARGS MK_PTR ptr, MK_PTR envP) {
44 if (!envP) return;
45 JNIEnv *env = (JNIEnv*) envP;
46 jobject self = (jobject) ptr;
47#ifndef META_STRONG_REF
48 if ((*env)->IsSameObject(env,self,NULL)) goto end;
49#endif
50//X0(pObj2Hdl(env, self))
51 (*env)->SetLongField(env,self,NS(FID_MkObjectC_hdl),0);
52 JavaErrorReport
53end: MK_UNUSED
54#if META_STRONG_REF
55 (*env)->DeleteGlobalRef(env, self);
56#else
57 (*env)->DeleteWeakGlobalRef(env, self);
58#endif
59}
60
62 (JNIEnv * env, jclass class, jlong mng, jobject self)
63{
64 if (mng == 0L) {
65 (*env)->ThrowNew(env, NS(Class_MkInitError), "MkObjectC");
66 goto error;
67 }
68 MK_OBJ hdl = MkObj((MK_MNG)mng);
69 if (hdl == NULL) {
70 (*env)->ThrowNew(env, NS(Class_RuntimeException), "MkObjectC: signature check failed");
71 goto error;
72 }
73#if META_STRONG_REF
74 MK_PTR ref = (MK_PTR) (*env)->NewGlobalRef(env, self);
75#else
76 MK_PTR ref = (MK_PTR) (*env)->NewWeakGlobalRef(env, self);
77#endif
78 if ((*env)->IsSameObject(env,ref,NULL)) {
79#if META_STRONG_REF
80 (*env)->ThrowNew(env, NS(Class_RuntimeException), "MkObjectC: unable to create 'NewGlobalRef'");
81#else
82 (*env)->ThrowNew(env, NS(Class_RuntimeException), "MkObjectC: unable to create 'NewWeakGlobalRef'");
83#endif
84 goto error;
85 }
86 MkRefIncrSelf(hdl,ref,env);
87 return mng;
88error:
89 return 0;
90}
91
93 (JNIEnv * env, jclass class, jlong mng)
94{
95 MK_OBJ obj = MkObj((MK_PTR)mng);
96 if (obj == NULL) return 0;
97 MkRtSetup_ON(obj);
98//printXTxt(obj,MkObjectToName(obj))
100 return 0;
101}
102
103#define MkDbgDumpTmpl(obj,msg,cal) NS(printObj)(MK_RT_CALL env,NULL,self,cal,msg)
104
105static enum MkErrorE NS(printObj)(MK_RT_ARGS JNIEnv *env, MK_MNG mng, jobject val, MK_STRN caller, MK_STRN txt) {
106 MK_OBJ fmt = mng ? MkObj(mng) : MK_ERROR_DEFAULT;
107 if (val == NULL) {
108 MkLogC(fmt, "NULL\n", 0, caller);
109 } else {
110 MK_OBJ obj = NULL;
111 if (OT_LNG_OBJ_CLASS_IS(val,MK(Class_MkObjectC))) {
112 obj = (MK_OBJ)pObj2Hdl__null_allow(env,val);
113 if (fmt == MK_ERROR_DEFAULT && obj != NULL) fmt = obj;
114 MkLogV(fmt, caller, 0,
115 "DUMP %s: { jval=%p }\n", (txt?txt:"printObj"), val
116 );
117 } else {
118 MkLogV(fmt, caller, 0,
119 "DUMP %s: { jval=%p }\n", (txt?txt:"printObj"), val
120 );
121 }
122 if (obj) MkObjectLogShort(obj,NULL,0,caller,1);
123 jstring ret = (*env)->CallStaticObjectMethod(env, MK(Class_MkKernel), MK(MID_MkKernel_dump), val);
124 JavaErrorCheck;
125 if (ret) {
126 jboolean isCopy;
127 MK_STRN retCC = (*env)->GetStringUTFChars(env,ret,&isCopy);
128 MK_STR retC = isCopy ? (MK_STR) retCC : strdup(retCC);
129 JavaErrorCheck;
130 MK_STR start = strtok(retC,META_EOL);
131 while (start != NULL) {
132 MkLogV(fmt, caller, 0, " | %s\n", start);
133 start = strtok(NULL,META_EOL);
134 }
135 if (retC) (*env)->ReleaseStringUTFChars(env,ret,retCC);
136 if (!isCopy) free(retC);
137 }
138 }
139 return MK_OK;
140error:
141 OT_ERROR_LNG_2_META(mng);
142 return MK_ERROR;
143}
144
145#define MkObjectErrorCatchTmpl(...) MK(MkExceptionC_Catch) (env,__VA_ARGS__, NULL)
146
152
153// BEGIN-MkObjectC - created by 'jv_MqC.tcl -i NHI1_HOME/theKernel/c/gen/c_mkkernel.meta' - DO NOT change
154
158
159// doc-key: MkObjectC,MkObjectC-Class-Export,sc_
160
162JNIEXPORT jobject JNICALL Java_jvmkkernel_MkObjectC_HandleResolve (JNIEnv *env, jclass class, jint netHdl) {
164 MK_OBJ __retVal__L = MkObjectHandleResolve(netHdl);
165 jobject __retVal__S = MK(MkObjectC_ObjNew)(MK_RT_CALL env,__retVal__L);
166 return __retVal__S;
167}
168
169// doc-key: MkObjectC,MkObjectC-Class-Export,om_
170
172JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_HandleDelete (JNIEnv *env, jobject self) {
173 MK_OBJ hdl = (MK_OBJ)pObj2Hdl(env,"MkObjectC",self);
174 JavaErrorCheck;
175 MkRtSetup_O(hdl);
177error:
178 return;
179}
180
182JNIEXPORT jboolean JNICALL Java_jvmkkernel_MkObjectC_HandleExists (JNIEnv *env, jobject self) {
183 MK_OBJ hdl = (MK_OBJ)pObj2Hdl__null_allow(env,self);
184 JavaErrorCheck;
185 MkRtSetup_O(hdl);
186 MK_BOOL __retVal__L = MkObjectHandleExists(hdl);
187 jboolean __retVal__S = __retVal__L;
188 return __retVal__S;
189error:
190 return 0;
191}
192
194JNIEXPORT jint JNICALL Java_jvmkkernel_MkObjectC_HandleGet (JNIEnv *env, jobject self) {
195 MK_OBJ hdl = (MK_OBJ)pObj2Hdl__null_allow(env,self);
196 JavaErrorCheck;
197 MkRtSetup_O(hdl);
198 MK_HDL __retVal__L = MkObjectHandleGet(hdl);
199 jint __retVal__S = __retVal__L;
200 return __retVal__S;
201error:
202 return 0;
203}
204
206JNIEXPORT jint JNICALL Java_jvmkkernel_MkObjectC_HandleGetOfType (JNIEnv *env, jobject self) {
207 MK_OBJ hdl = (MK_OBJ)pObj2Hdl(env,"MkObjectC",self);
208 JavaErrorCheck;
209 MkRtSetup_O(hdl);
210 MK_HDL __retVal__L = MkObjectHandleGetOfType(hdl);
211 jint __retVal__S = __retVal__L;
212 return __retVal__S;
213error:
214 return 0;
215}
216
218JNIEXPORT jint JNICALL Java_jvmkkernel_MkObjectC_HandleGetOr0 (JNIEnv *env, jobject self) {
219 MK_OBJ hdl = (MK_OBJ)pObj2Hdl__null_allow(env,self);
220 JavaErrorCheck;
221 MkRtSetup_O(hdl);
222 MK_HDL __retVal__L = MkObjectHandleGetOr0(hdl);
223 jint __retVal__S = __retVal__L;
224 return __retVal__S;
225error:
226 return 0;
227}
228
229// doc-key: MkObjectC,MkObjectC-Class-Export,sm_
230
232JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_HandleDeleteByNetHdl (JNIEnv *env, jclass class, jint netHdl) {
235}
236
238// MkObjectC_Class_JV_API
239
243
244// doc-key: MkObjectC,MkObjectC-Class-Introspection,oc_
245
247JNIEXPORT jobject JNICALL Java_jvmkkernel_MkObjectC_Next (JNIEnv *env, jobject self) {
248 MK_OBJ hdl = (MK_OBJ)pObj2Hdl(env,"MkObjectC",self);
249 JavaErrorCheck;
250 MkRtSetup_O(hdl);
251 MK_OBJ __retVal__L = MkObjectNext(hdl);
252 jobject __retVal__S = MK(MkObjectC_ObjNew)(MK_RT_CALL env,__retVal__L);
253 return __retVal__S;
254error:
255 return 0;
256}
257
259JNIEXPORT jobject JNICALL Java_jvmkkernel_MkObjectC_Prev (JNIEnv *env, jobject self) {
260 MK_OBJ hdl = (MK_OBJ)pObj2Hdl(env,"MkObjectC",self);
261 JavaErrorCheck;
262 MkRtSetup_O(hdl);
263 MK_OBJ __retVal__L = MkObjectPrev(hdl);
264 jobject __retVal__S = MK(MkObjectC_ObjNew)(MK_RT_CALL env,__retVal__L);
265 return __retVal__S;
266error:
267 return 0;
268}
269
270// doc-key: MkObjectC,MkObjectC-Class-Introspection,sc_
271
273JNIEXPORT jobject JNICALL Java_jvmkkernel_MkObjectC_Instances (JNIEnv *env, jclass class) {
275 MK_OBJ __retVal__L = MkObjectInstances();
276 jobject __retVal__S = MK(MkObjectC_ObjNew)(MK_RT_CALL env,__retVal__L);
277 return __retVal__S;
278}
279
281// MkObjectC_Class_JV_API
282
286
287// doc-key: MkObjectC,MkObjectC-Class-Misc,sc_
288
290JNIEXPORT jobject JNICALL Java_jvmkkernel_MkObjectC_GetNull (JNIEnv *env, jclass class) {
292 MK_OBJ __retVal__L = MkObjectGetNull();
293 jobject __retVal__S = MK(MkObjectC_ObjNew)(MK_RT_CALL env,__retVal__L);
294 return __retVal__S;
295}
296
298// MkObjectC_Class_JV_API
299
303
304// doc-key: MkObjectC,MkObjectC-Dbg,om_
305
307JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_DbgDump (JNIEnv *env, jobject self, jstring message, jstring callfunc) {
308 MK_OBJN hdl = (MK_OBJN)pObj2Hdl(env,"MkObjectC",self);
309 JavaErrorCheck;
310 MkRtSetup_O(hdl);
311 if (callfunc == NULL) {
312 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
313 }
314 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
315 MK_STRN message_ptr = (message?(*env)->GetStringUTFChars(env,message,NULL):NULL);
316 JavaErrorCheck;
317 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
318 JavaErrorCheck;
319 enum MkErrorE errVal = MkDbgDumpTmpl(hdl, message_ptr, callfunc_ptr);
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);
323error:
324 return;
325}
326
328JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_DbgL (JNIEnv *env, jobject self, jstring message, jint debug, jstring callfunc, jint lvl) {
329 MK_OBJN hdl = (MK_OBJN)pObj2Hdl__null_allow(env,self);
330 JavaErrorCheck;
331 MkRtSetup_O(hdl);
332 if (callfunc == NULL) {
333 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
334 }
335 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
336 if (debug > (jint)(MkRuntimeDebugGet())) {return;}
337 MK_STRN message_ptr = (message?(*env)->GetStringUTFChars(env,message,NULL):NULL);
338 JavaErrorCheck;
339 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
340 JavaErrorCheck;
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);
344error:
345 return;
346}
347
349JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_DbgLogC (JNIEnv *env, jobject self, jstring callfunc) {
350 MK_OBJN hdl = (MK_OBJN)pObj2Hdl(env,"MkObjectC",self);
351 JavaErrorCheck;
352 MkRtSetup_O(hdl);
353 if (callfunc == NULL) {
354 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
355 }
356 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
357 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
358 JavaErrorCheck;
359 MkDbgLogC(hdl, callfunc_ptr);
360 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
361error:
362 return;
363}
364
366JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_DbgO (JNIEnv *env, jobject self, jstring callfunc) {
367 MK_OBJN hdl = (MK_OBJN)pObj2Hdl(env,"MkObjectC",self);
368 JavaErrorCheck;
369 MkRtSetup_O(hdl);
370 if (callfunc == NULL) {
371 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
372 }
373 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
374 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
375 JavaErrorCheck;
376 MkDbgO(hdl, callfunc_ptr);
377 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
378error:
379 return;
380}
381
383JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_DbgSTACK (JNIEnv *env, jobject self, jint skip, jint num, jstring callfunc) {
384 MK_OBJN hdl = (MK_OBJN)pObj2Hdl__null_allow(env,self);
385 JavaErrorCheck;
386 MkRtSetup_O(hdl);
387 if (callfunc == NULL) {
388 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
389 }
390 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
391 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
392 JavaErrorCheck;
393 MkDbgSTACK(hdl, skip, num, callfunc_ptr);
394 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
395error:
396 return;
397}
398
399// doc-key: MkObjectC,MkObjectC-Dbg,sm_
400
402JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_DbgM (JNIEnv *env, jclass class, jstring message, jint debug, jstring callfunc, jint lvl) {
404 if (callfunc == NULL) {
405 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
406 }
407 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
408 if (debug > (jint)(MkRuntimeDebugGet())) {return;}
409 MK_STRN message_ptr = (message?(*env)->GetStringUTFChars(env,message,NULL):NULL);
410 JavaErrorCheck;
411 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
412 JavaErrorCheck;
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);
416error:
417 return;
418}
419
421// MkObjectC_Dbg_JV_API
422
426
427// doc-key: MkObjectC,MkObjectC-Log,om_
428
430JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_LogC (JNIEnv *env, jobject self, jstring message, jint debug, jstring callfunc) {
431 MK_OBJN hdl = (MK_OBJN)pObj2Hdl__null_allow(env,self);
432 JavaErrorCheck;
433 MkRtSetup_O(hdl);
434 if (callfunc == NULL) {
435 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
436 }
437 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
438 if (debug > (jint)(MkRuntimeDebugGet())) {return;}
439 MK_STRN message_ptr = (message?(*env)->GetStringUTFChars(env,message,NULL):NULL);
440 JavaErrorCheck;
441 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
442 JavaErrorCheck;
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);
446error:
447 return;
448}
449
451JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_LogHEX (JNIEnv *env, jobject self, jstring callfunc, jbyteArray data) {
452 MK_OBJN hdl = (MK_OBJN)pObj2Hdl__null_allow(env,self);
453 JavaErrorCheck;
454 MkRtSetup_O(hdl);
455 if (callfunc == NULL) {
456 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
457 }
458 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
459 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
460 JavaErrorCheck;
461 MK_BINN data_data = (MK_BINN) (*env)->GetByteArrayElements(env, data, NULL);
462 JavaErrorCheck;
463 MK_SIZE data_size = (MK_SIZE) (*env)->GetArrayLength (env, data);
464 JavaErrorCheck;
465 MkBinaryR data_ref = MkBinaryCreate(data_size,data_data);
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);
469error:
470 return;
471}
472
474JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_Log (JNIEnv *env, jobject self, jobject fmtobj, jint debug, jstring callfunc, jint lvl) {
475 MK_OBJN hdl = (MK_OBJN)pObj2Hdl(env,"MkObjectC",self);
476 JavaErrorCheck;
477 MkRtSetup_O(hdl);
478 MK_OBJN fmtobj_hdl = (MK_OBJN)pObj2Hdl__null_allow(env,fmtobj);
479 JavaErrorCheck;
480 if (callfunc == NULL) {
481 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
482 }
483 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
484 if (debug > (jint)(MkRuntimeDebugGet())) {return;}
485 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
486 JavaErrorCheck;
487 MkObjectLog(hdl, fmtobj_hdl, debug, callfunc_ptr, lvl);
488 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
489error:
490 return;
491}
492
494JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_LogLong (JNIEnv *env, jobject self, jobject fmtobj, jint debug, jstring callfunc, jint lvl) {
495 MK_OBJN hdl = (MK_OBJN)pObj2Hdl(env,"MkObjectC",self);
496 JavaErrorCheck;
497 MkRtSetup_O(hdl);
498 MK_OBJN fmtobj_hdl = (MK_OBJN)pObj2Hdl__null_allow(env,fmtobj);
499 JavaErrorCheck;
500 if (callfunc == NULL) {
501 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
502 }
503 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
504 if (debug > (jint)(MkRuntimeDebugGet())) {return;}
505 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
506 JavaErrorCheck;
507 MkObjectLogLong(hdl, fmtobj_hdl, debug, callfunc_ptr, lvl);
508 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
509error:
510 return;
511}
512
514JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_LogShort (JNIEnv *env, jobject self, jobject fmtobj, jint debug, jstring callfunc, jint lvl) {
515 MK_OBJN hdl = (MK_OBJN)pObj2Hdl(env,"MkObjectC",self);
516 JavaErrorCheck;
517 MkRtSetup_O(hdl);
518 MK_OBJN fmtobj_hdl = (MK_OBJN)pObj2Hdl__null_allow(env,fmtobj);
519 JavaErrorCheck;
520 if (callfunc == NULL) {
521 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
522 }
523 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
524 if (debug > (jint)(MkRuntimeDebugGet())) {return;}
525 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
526 JavaErrorCheck;
527 MkObjectLogShort(hdl, fmtobj_hdl, debug, callfunc_ptr, lvl);
528 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
529error:
530 return;
531}
532
534JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_LogType (JNIEnv *env, jobject self, jobject fmtobj, jint debug, jstring callfunc, jint lvl) {
535 MK_OBJN hdl = (MK_OBJN)pObj2Hdl(env,"MkObjectC",self);
536 JavaErrorCheck;
537 MkRtSetup_O(hdl);
538 MK_OBJN fmtobj_hdl = (MK_OBJN)pObj2Hdl__null_allow(env,fmtobj);
539 JavaErrorCheck;
540 if (callfunc == NULL) {
541 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
542 }
543 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
544 if (debug > (jint)(MkRuntimeDebugGet())) {return;}
545 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
546 JavaErrorCheck;
547 MkObjectLogType(hdl, fmtobj_hdl, debug, callfunc_ptr, lvl);
548 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
549error:
550 return;
551}
552
554// MkObjectC_Log_JV_API
555
559
560// doc-key: MkObjectC,MkObjectC-Misc,oc_
561
563JNIEXPORT jobject JNICALL Java_jvmkkernel_MkObjectC_ErrorCatch (JNIEnv *env, jobject self, jthrowable exception, jstring callfunc) {
564 MK_OBJN hdl = (MK_OBJN)pObj2Hdl(env,"MkObjectC",self);
565 JavaErrorCheck;
566 MkRtSetup_O(hdl);
567 if (callfunc == NULL) {
568 (*env)->CallStaticVoidMethod(env,MK(Class_MkKernel),MK(MID_MkKernel_getCallerStack));
569 }
570 if (callfunc == NULL) {callfunc = MK(pGetCallerProc)(env);}
571 MK_STRN callfunc_ptr = (callfunc?(*env)->GetStringUTFChars(env,callfunc,NULL):NULL);
572 JavaErrorCheck;
573 MK_ERR __retVal__L = MkObjectErrorCatchTmpl(hdl, exception, callfunc_ptr);
574 jobject __retVal__S = MK(MkErrorC_ObjNew)(MK_RT_CALL env,__retVal__L);
575 if (callfunc_ptr) (*env)->ReleaseStringUTFChars(env,callfunc,callfunc_ptr);
576 return __retVal__S;
577error:
578 return 0;
579}
580
582JNIEXPORT jobject JNICALL Java_jvmkkernel_MkObjectC_ToError (JNIEnv *env, jobject self) {
583 MK_OBJ hdl = (MK_OBJ)pObj2Hdl(env,"MkObjectC",self);
584 JavaErrorCheck;
585 MkRtSetup_O(hdl);
586 MK_ERR __retVal__L = MkObjectToError(hdl);
587 jobject __retVal__S = MK(MkErrorC_ObjNew)(MK_RT_CALL env,__retVal__L);
588 return __retVal__S;
589error:
590 return 0;
591}
592
593// doc-key: MkObjectC,MkObjectC-Misc,om_
594
596JNIEXPORT jboolean JNICALL Java_jvmkkernel_MkObjectC_IsNull (JNIEnv *env, jobject self) {
597 MK_OBJ hdl = (MK_OBJ)pObj2Hdl__null_allow(env,self);
598 JavaErrorCheck;
599 MkRtSetup_O(hdl);
600 MK_BOOL __retVal__L = MkObjectIsNull(hdl);
601 jboolean __retVal__S = __retVal__L;
602 return __retVal__S;
603error:
604 return 0;
605}
606
608JNIEXPORT jstring JNICALL Java_jvmkkernel_MkObjectC_ToName (JNIEnv *env, jobject self) {
609 MK_OBJN hdl = (MK_OBJN)pObj2Hdl__null_allow(env,self);
610 JavaErrorCheck;
611 MkRtSetup_O(hdl);
612 MK_STRN __retVal__L = MkObjectToName(hdl);
613 jstring __retVal__S = JC2O(env,__retVal__L);
614 return __retVal__S;
615error:
616 return 0;
617}
618
620JNIEXPORT jstring JNICALL Java_jvmkkernel_MkObjectC_ToNameOfClass (JNIEnv *env, jobject self) ; // skip template-required
621
623JNIEXPORT jstring JNICALL Java_jvmkkernel_MkObjectC_ToNameOfType (JNIEnv *env, jobject self) {
624 MK_OBJN hdl = (MK_OBJN)pObj2Hdl(env,"MkObjectC",self);
625 JavaErrorCheck;
626 MkRtSetup_O(hdl);
627 MK_STRN __retVal__L = MkObjectToNameOfType(hdl);
628 jstring __retVal__S = JC2O(env,__retVal__L);
629 return __retVal__S;
630error:
631 return 0;
632}
633
635JNIEXPORT jstring JNICALL Java_jvmkkernel_MkObjectC_ToString (JNIEnv *env, jobject self) {
636 MK_OBJN hdl = (MK_OBJN)pObj2Hdl__null_allow(env,self);
637 JavaErrorCheck;
638 MkRtSetup_O(hdl);
639 MK_STRN __retVal__L = MkObjectToString(hdl);
640 jstring __retVal__S = JC2O(env,__retVal__L);
641 return __retVal__S;
642error:
643 return 0;
644}
645
647// MkObjectC_Misc_JV_API
648
652
653// doc-key: MkObjectC,MkObjectC-Obj,om_
654
656JNIEXPORT jint JNICALL Java_jvmkkernel_MkObjectC_RefGet (JNIEnv *env, jobject self) {
657 MK_OBJ hdl = (MK_OBJ)pObj2Hdl(env,"MkObjectC",self);
658 JavaErrorCheck;
659 MkRtSetup_O(hdl);
660 MK_I32 __retVal__L = MkRefGet(hdl);
661 jint __retVal__S = __retVal__L;
662 return __retVal__S;
663error:
664 return 0;
665}
666
668// MkObjectC_Obj_JV_API
669
673
674// doc-key: MkObjectC,MkObjectC-Sys,om_
675
677JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_SysKill (JNIEnv *env, jobject self, jint pid, jint signal) {
678 MK_OBJN hdl = (MK_OBJN)pObj2Hdl__null_allow(env,self);
679 JavaErrorCheck;
680 MkRtSetup_O(hdl);
681 enum MkErrorE errVal = MkSysKill(hdl, pid, signal);
682 MkErrorC_Check(hdl, errVal)
683error:
684 return;
685}
686
687// doc-key: MkObjectC,MkObjectC-Sys,omo
688
690JNIEXPORT jint JNICALL Java_jvmkkernel_MkObjectC_SysGetPid (JNIEnv *env, jobject self) {
691 MK_OBJN hdl = (MK_OBJN)pObj2Hdl__null_allow(env,self);
692 JavaErrorCheck;
693 MkRtSetup_O(hdl);
694 MK_I32 pid_out;
695 enum MkErrorE errVal = MkSysGetPid(hdl, &pid_out);
696 MkErrorC_Check(hdl, errVal)
697 jint __retVal__S = pid_out;
698 return __retVal__S;
699error:
700 return 0;
701}
702
703// doc-key: MkObjectC,MkObjectC-Sys,sm_
704
706JNIEXPORT jint JNICALL Java_jvmkkernel_MkObjectC_SysHashI32 (JNIEnv *env, jclass class, jstring key, jint length) {
708 MK_STRN key_ptr = (key?(*env)->GetStringUTFChars(env,key,NULL):NULL);
709 JavaErrorCheck;
710 MK_I32 __retVal__L = MkSysHashI32(key_ptr, length);
711 jint __retVal__S = __retVal__L;
712 if (key_ptr) (*env)->ReleaseStringUTFChars(env,key,key_ptr);
713 return __retVal__S;
714error:
715 return 0;
716}
717
719JNIEXPORT jstring JNICALL Java_jvmkkernel_MkObjectC_SysHashSTR (JNIEnv *env, jclass class, jstring key, jint length) {
721 MK_STRN key_ptr = (key?(*env)->GetStringUTFChars(env,key,NULL):NULL);
722 JavaErrorCheck;
723 MK_STRN __retVal__L = MkSysHashSTR(key_ptr, length);
724 jstring __retVal__S = JC2O(env,__retVal__L);
725 if (key_ptr) (*env)->ReleaseStringUTFChars(env,key,key_ptr);
726 return __retVal__S;
727error:
728 return 0;
729}
730
732// MkObjectC_Sys_JV_API
733
737
738// doc-key: MkObjectC,MkObjectC-TOR,od_
739
741JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_Dispose (JNIEnv *env, jobject self) {
742 MK_OBJ hdl = (MK_OBJ)pObj2Hdl(env,"MkObjectC",self);
743 JavaErrorCheck;
744 MkRtSetup_O(hdl);
745 (*env)->CallObjectMethod(env,self,NS(MID_MkObjectC_Dispose),JNI_TRUE);
746error:
747 return;
748}
749
750// doc-key: MkObjectC,MkObjectC-TOR,oD_
751
753JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_Delete (JNIEnv *env, jobject self) {
754 MK_OBJ hdl = (MK_OBJ)pObj2Hdl(env,"MkObjectC",self);
755 JavaErrorCheck;
756 MkRtSetup_O(hdl);
757 (*env)->CallObjectMethod(env,self,NS(MID_MkObjectC_Dispose),JNI_TRUE);
758error:
759 return;
760}
761
762// doc-key: MkObjectC,MkObjectC-TOR,sm_
763
765JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_DeleteCallbackCleanup (JNIEnv *env, jclass class, jstring ident) {
767 MK_STRN ident_ptr = (ident?(*env)->GetStringUTFChars(env,ident,NULL):NULL);
768 JavaErrorCheck;
770 if (ident_ptr) (*env)->ReleaseStringUTFChars(env,ident,ident_ptr);
771error:
772 return;
773}
774
776JNIEXPORT void JNICALL Java_jvmkkernel_MkObjectC_DeleteCallbackSetup (JNIEnv *env, jclass class, jstring ident, jobject callback, jstring filter) {
778 MkObjectDeleteCallF fCall = NS(ObjectDeleteCall);
779 MK_STRN ident_ptr = (ident?(*env)->GetStringUTFChars(env,ident,NULL):NULL);
780 JavaErrorCheck;
781 MK_CBP callback_ptr = MK(ProcCreate)(MK_RT_CALL env, callback, NULL, NS(MID_callback), true);
782 JavaErrorCheck;
783 if (callback_ptr == NULL) fCall = NULL;
784 MK_STRN filter_ptr = (filter?(*env)->GetStringUTFChars(env,filter,NULL):NULL);
785 JavaErrorCheck;
786 enum MkErrorE errVal = MkObjectDeleteCallbackSetup(ident_ptr, fCall, callback_ptr, NS(ObjectDeleteFree), filter_ptr);
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);
790error:
791 return;
792}
793
795// MkObjectC_TOR_JV_API
796
797// END-MkObjectC - created by 'jv_MqC.tcl -i NHI1_HOME/theKernel/c/gen/c_mkkernel.meta' - DO NOT change
798
799// ########################################################################################
800// OVERLOAD
801
804JNIEXPORT jstring JNICALL Java_jvmkkernel_MkObjectC_ToNameOfClass (JNIEnv *env, jobject self) {
805 jclass cs = (*env)->GetObjectClass(env, self);
806 return (*env)->CallObjectMethod(env, cs, NS(MID_Class_getName));
807}
808
809// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
810
811void NS(MkObjectC_Init)(MK_RT_ARGS_ONLY) {
813
814 MkObjectC_TT->selfCreate = NS(MkObjectC_selfCreate);
815 MkObjectC_TT->selfUnlink = MK(AtomSelfUnlink);
816}
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(...)
#define ClassInit
#define MK_ERROR_DEFAULT
static MkBinaryR MkBinaryCreate(MK_SIZE size, MK_BINN data)
create a binary from data and size ...
#define META_EOL
#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)
long MK_SIZE
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 ...
#define MkDbgM(...)
#define MkDbgLogC(...)
#define MkDbgL(...)
#define MkDbgO(...)
#define MkDbgSTACK(...)
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 MkObjectLog(...)
#define MkLogC(...)
#define MkLogV(...)
#define MkLogHEX(...)
#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 …
#define MkThreadLocal
#define MkRtSetup_O(o)
#define MkRtSetup_ON(o)
#define MK_RT_CALL
#define MK_RT_ARGS
#define MkRtSetup_NULL
#define MK_RT_ARGS_ONLY
binary data default format …
The data-type to store and handle the error-condition …
object header …