theSq3Lite 10.0 NHI1 - theKernel - theLink - theConfig - theSq3Lite - theCompiler - theBrain - theGuard - theLib - theATL
c - tcl - atl - cs - py - rb - jv - cc
Loading...
Searching...
No Matches
LibMkKernel_rb.h File Reference

LibMkKernel_rb.h - 10 Apr 2025 - aotto1968. More...

#include "ruby.h"
#include "nhi1_config.h"
#include "debug_mk.h"
#include "LibMkKernel_mk.h"
#include "tmpl/mk_type_S_lng.h"
#include "tmpl/mk_misc_check_lng.h"
#include "tmpl/mk_misc_ObjAs_lng.h"
+ Include dependency graph for LibMkKernel_rb.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  MkCallS
 

Macros

#define HEADER
 
#define MK_RB_EXTERN
 static library
 
#define MK_RB_EXTERN_DATA   extern
 
#define MK(n)
 
#define NS(n)
 
#define OT_PKG   MK(MkKernel)
 
#define OT_OBJ_T   VALUE
 
#define OT_ENUM_T   VALUE
 
#define OT_CLS_T   VALUE
 
#define OT_LNG_NULL   Qnil
 
#define OT_LNG_UNDEF   Qundef
 
#define OT_LNG_IS_NULL(val)
 
#define OT_LNG_RETURN(ret, cmd)
 
#define OT_LNG_NAME_FROM_OBJ(obj)
 
#define OT_LNG_NAME_FROM_CLASS(cls)
 
#define OT_LNG_OBJ_CLASSNAME(obj)
 
#define OT_LNG_OBJV(idx)
 
#define OT_LNG_OBJ_CLASS_IS(obj, cls)
 
#define OT_OBJ_TO_CLASS(str)
 
#define OT_OBJ_TO_ENUM(str)
 
#define OT_LNG_OBJECT_IS(obj)
 
#define OT_LNG_NULL_IS(obj)
 
#define OT_LNG_OBJ_ENUM_IS(obj, enm)
 
#define OT_LNG_ENUM_NAME(enm)
 
#define OT_ENUM_TO_I32(o, e)
 
#define OT_ENUM_TO_I32_2(o, e)
 
#define OT_LNG_ARRAY_IS(o)
 
#define OT_LNG_STRN_PRE(cs, obj)
 
#define OT_LNG_STRN_POST(cs, obj)
 
#define OT_LNG_LONG_IS(obj)
 
#define OT_LNG_I32_IS(obj)
 
#define OT_LNG_SKIP_TYPE   int
 
#define LNG_ARGS   int objc, VALUE *objv, VALUE self
 
#define LNG_ARGS_CALL   objc, objv, self
 
#define CONSTR_ARGS   LNG_ARGS
 
#define CONSTR_ARGS_CALL   LNG_ARGS_CALL
 
#define OtClass_ARGS   int objc, VALUE *objv, VALUE self
 
#define OtClass_ARGS_CALL   objc, objv, self
 
#define OT_OBJECT_DELETE_SOFT(obj)
 
#define OT_OBJECT_DELETE_HARD(obj)
 
#define OT_OBJECT_DELETE(obj)
 
#define OT_OBJECT_DISPOSE(obj)
 
#define MK_BASE_CLASS   MK(MkObjectC)
 
#define MkBufferListC_lngO   MK(MkBufferListC)
 
#define MkBufferListC_base   MK(MkObjectC)
 
#define MkBufferListC_MK_NULL   MK(MkBufferListC_MK_NULL)
 
#define MkBufferListC_ARGS   LNG_ARGS
 
#define MkBufferListC_ARGS_CALL   LNG_ARGS_CALL
 
#define OT_retObj_SET_BFL(nat)
 
#define OT_TMP_BFL_OBJ(val)
 
#define VAL2BFL(val)
 
#define MkBufferC_lngO   MK(MkBufferC)
 
#define MkBufferC_base   MK(MkObjectC)
 
#define MkBufferC_MK_NULL   MK(MkBufferC_MK_NULL)
 
#define MkBufferC_ARGS   LNG_ARGS
 
#define MkBufferC_ARGS_CALL   LNG_ARGS_CALL
 
#define OT_retObj_SET_BUF(nat)
 
#define OT_TMP_BUF_OBJ(val)
 
#define VAL2BUF(val)
 
#define MkBufferStreamC_lngO   MK(MkBufferStreamC)
 
#define MkBufferStreamC_base   MK(MkObjectC)
 
#define MkBufferStreamC_MK_NULL   MK(MkBufferStreamC_MK_NULL)
 
#define MkBufferStreamC_ARGS   LNG_ARGS
 
#define MkBufferStreamC_ARGS_CALL   LNG_ARGS_CALL
 
#define OT_retObj_SET_BUS(nat)
 
#define OT_TMP_BUS_OBJ(val)
 
#define VAL2BUS(val)
 
#define MkErrorC_lngO   MK(MkErrorC)
 
#define MkErrorC_base   MK(MkObjectC)
 
#define MkErrorC_MK_NULL   MK(MkErrorC_MK_NULL)
 
#define MkErrorC_ARGS   LNG_ARGS
 
#define MkErrorC_ARGS_CALL   LNG_ARGS_CALL
 
#define OT_retObj_SET_ERR(nat)
 
#define OT_TMP_ERR_OBJ(val)
 
#define VAL2ERR(val)
 
#define MkLogFileC_lngO   MK(MkLogFileC)
 
#define MkLogFileC_base   MK(MkObjectC)
 
#define MkLogFileC_MK_NULL   MK(MkLogFileC_MK_NULL)
 
#define MkLogFileC_ARGS   LNG_ARGS
 
#define MkLogFileC_ARGS_CALL   LNG_ARGS_CALL
 
#define OT_retObj_SET_LFL(nat)
 
#define OT_TMP_LFL_OBJ(val)
 
#define VAL2LFL(val)
 
#define MkObjectC_lngO   MK(MkObjectC)
 
#define MkObjectC_base   NULL
 
#define MkObjectC_MK_NULL   MK(MkObjectC_MK_NULL)
 
#define MkObjectC_ARGS   LNG_ARGS
 
#define MkObjectC_ARGS_CALL   LNG_ARGS_CALL
 
#define OT_retObj_SET_OBJ(nat)
 
#define OT_TMP_OBJ_OBJ(val)
 
#define VAL2OBJ(val)
 
#define MkRuntimeC_lngO   MK(MkRuntimeC)
 
#define MkRuntimeC_base   MK(MkObjectC)
 
#define MkRuntimeC_MK_NULL   MK(MkRuntimeC_MK_NULL)
 
#define MkRuntimeC_ARGS   LNG_ARGS
 
#define MkRuntimeC_ARGS_CALL   LNG_ARGS_CALL
 
#define OT_retObj_SET_RT(nat)
 
#define OT_TMP_RT_OBJ(val)
 
#define VAL2RT(val)
 
#define OT_ProcRet   VALUE
 
#define MK_CONTEXT_S   hdl
 
#define OT_METH_P(c, s, f)
 
#define OT_METH_C(c, s, f)
 
#define OT_METH_S(c, s, f)
 
#define OT_METH_O(c, s, f)
 
#define OT_SETUP_ALL(d)
 
#define OT_SETUP_CONSTRUCTOR_ARGS(min, max, d)
 
#define OT_SETUP_VARARGS(min, max, d)
 
#define OT_SETUP_ONEARG(d)
 
#define OT_SETUP_NOARG(d)
 
#define OT_FRAME_CLEANUP
 
#define SETUP_ARGS   MK_RT_ARGS LNG_ARGS
 
#define SETUP_ARGS_CALL   MK_RT_CALL LNG_ARGS_CALL
 
#define OT_SELF   self
 
#define OT_RET_SELF   OT_SELF
 
#define OBJ   &hdl->obj
 
#define OT_SETUP_hdl_tmpl(cls)
 
#define OT_SETUP_hdl_tmpl__null_allow(cls)
 
#define OT_SETUP_doc   __attribute__((unused)) const char *__doc = __func__;
 
#define OT_retObj_SET(val)
 
#define OT_retObj_SET_None   retObj = Qnil;
 
#define OT_retObj_SET_Error   retObj = Qundef;
 
#define OT_retObj_SET_List   retObj = rb_ary_new();
 
#define OT_retObj_APPEND(var)
 
#define OT_retObj_RETURN   return retObj;
 
#define OT_retObj_SET_BOL(nat)
 
#define OT_retObj_SET_I8(nat)
 
#define OT_retObj_SET_I16(nat)
 
#define OT_retObj_SET_I32(nat)
 
#define OT_retObj_SET_I64(nat)
 
#define OT_retObj_SET_FLT(nat)
 
#define OT_retObj_SET_DBL(nat)
 
#define OT_retObj_SET_BIN(nat, len)
 
#define OT_retObj_SET_STR(nat)
 
#define OT_retObj_SET_STRN(nat)
 
#define OT_retObj_SET_LONG(nat)
 
#define OT_retObj_SET_HDL(nat)
 
#define OT_MK_CALL_0(obj, cls, meth, ret)
 
#define OT_MK_CALL_0_0(ret, obj, cls, meth)
 
#define OT_retObj_CONSTR(mng)
 
#define OT_CONSTRUCTOR_POST(x)
 
#define OT_ERROR_LNG_RETURN
 
#define OT_ERROR_SOFT_CONSTRUCTOR(clazz)
 
#define OT_ERROR_CONSTRUCTOR(clazz)
 
#define OT_ERROR_TYPE(str)
 
#define OT_ERROR_RUNTIME(clazz, str)
 
#define OT_ERROR_NUMARGS(...)
 
#define MkErrorC_Check(mng, PROC)
 
#define MkErrorC_CheckD(PROC)
 
#define check_META(code)
 
#define OT_ERROR_VAR_DEFAULT(exp, ...)
 
#define OT_TMP_BOL_OBJ(val)
 
#define OT_TMP_I8_OBJ(val)
 
#define OT_TMP_I16_OBJ(val)
 
#define OT_TMP_I32_OBJ(val)
 
#define OT_TMP_I64_OBJ(val)
 
#define OT_TMP_FLT_OBJ(val)
 
#define OT_TMP_DBL_OBJ(val)
 
#define OT_TMP_BIN_OBJ(val, len)
 
#define OT_TMP_STR_OBJ(val)
 
#define OT_Prefix_ARGS   MK_RT_ARGS
 
#define OT_Prefix_CALL   MK_RT_CALL
 
#define OT_Check_ARGS   SETUP_ARGS, MK_MNG hdl, MK_STRN const arg, int *skipP
 
#define OT_Check_CALL(arg)
 
#define OT_Check_CALL2(arg)
 
#define OT_CHECK_OPTIONAL(val)
 
#define OT_CHECK_REQUIRED(val)
 
#define OT_CHECK_NUM_ARGS(min, max)
 
#define OT_CHECK_NOARGS
 
#define OT_CHECK_BNP(val, len)
 
#define OT_CHECK_BCP(val)
 
#define OT_GET_CONSTR_NAME(ctor)
 
#define printLngObj(val)
 
#define OT_NEW_Mk_enum_OBJ(typ, i)
 
#define OT_CHECK_LNGTMPL(val, func)
 
#define OT_CHECK_bool(val)
 
#define OT_CHECK_NB1(val)
 
#define OT_CHECK_NI1(val)
 
#define OT_CHECK_NI2(val)
 
#define OT_CHECK_NI4(val)
 
#define OT_CHECK_NI8(val)
 
#define OT_CHECK_NF4(val)
 
#define OT_CHECK_NF8(val)
 
#define OT_CHECK_NIL(val)
 
#define OT_CHECK_STRN(val)
 
#define OT_CHECK_C_COPY(val, size)
 
#define OT_GET_CALL_PROC   MK(Get_Call_Proc) (1,&frame)
 
#define OT_GET_CALL_FILE   MK(Get_Call_Script) (1,&frame)
 
#define OT_GET_CALL_LINE   MK(Get_Call_Line) (1,&frame)
 
#define OT_GET_CALL_ALL    MK_STRN proc,file; MK_I32 line; MK(Get_Call_All)(0,&proc,&file,&line);
 
#define OT_ERROR_META_2_LNG(m)
 
#define OT_ERROR_LNG_2_META(m)
 
#define OT_ERROR_LNG_2_META_2(m, s)
 
#define NIL_Check(v)
 
#define INCR_REG(val)
 
#define DECR_REG(val)
 
#define INCR_REF(valP)
 
#define DECR_REF(valP)
 
#define VAL2I8(val)
 
#define VAL2BOL(val)
 
#define VAL2SRT(val)
 
#define VAL2I32(val)
 
#define VAL2I64(val)
 
#define VAL2FLT(val)
 
#define VAL2DBL(val)
 
#define VAL2STRN(val)
 
#define VAL2BIN(val)
 
#define VAL2PTR(val)
 
#define VAL2REF(val)
 
#define VAL2LONG(val)
 
#define VAL2MNG(val)
 
#define PTR2VAL(nat)
 
#define OBJ2VAL(nat)
 
#define I82VAL(nat)
 
#define BOL2VAL(nat)
 
#define I162VAL(nat)
 
#define INT2VAL(nat)
 
#define I642VAL(nat)
 
#define FLT2VAL(nat)
 
#define DBL2VAL(nat)
 
#define STRN2VAL(nat)
 
#define BIN2VAL(ptr, len)
 
#define STR2VAL(ptr, len)
 
#define LONG2VAL(nat)
 
#define HDL2VAL(nat)
 
#define ME_REF_MkBinaryR   MkBinaryR
 
#define OT_GET__ME_REF_MkBinaryR(b)
 
#define VAL2MkBinaryR(_obj)
 
#define OT_CHECK__ME_REF_MkBinaryR(val)
 
#define ME_REF_MkStringR   MkStringR
 
#define OT_GET__ME_REF_MkStringR(b)
 
#define VAL2MkStringR(_obj)
 
#define OT_CHECK__ME_REF_MkStringR(val)
 
#define __doc   "AtomObjNew"
 

Typedefs

typedef VALUE(* rbmkkernel_procCallF) (VALUE args)
 

Functions

static VALUE rbmkkernel_AtomObjNew (MK_RT mkrt, MK_OBJ obj)
 
static void rbmkkernel_AtomDeleteSoft (MK_MNG)
 
static void rbmkkernel_AtomDeleteHard (MK_RT mkrt, OT_OBJ_T)
 
static void rbmkkernel_AtomDelete (MK_RT mkrt, MK_MNG)
 
static void rbmkkernel_AtomDispose (MK_RT mkrt, MK_MNG)
 
static MK_ARTIFICIAL OT_OBJ_T rbmkkernel_MkBufferListC_ObjNew (MK_RT mkrt, MkBufferListC_type hdl)
 
static MK_ARTIFICIAL OT_OBJ_T rbmkkernel_MkBufferC_ObjNew (MK_RT mkrt, MkBufferC_type hdl)
 
static MK_ARTIFICIAL OT_OBJ_T rbmkkernel_MkBufferStreamC_ObjNew (MK_RT mkrt, MkBufferStreamC_type hdl)
 
static MK_ARTIFICIAL OT_OBJ_T rbmkkernel_MkErrorC_ObjNew (MK_RT mkrt, MkErrorC_type hdl)
 
static MK_ARTIFICIAL OT_OBJ_T rbmkkernel_MkLogFileC_ObjNew (MK_RT mkrt, MkLogFileC_type hdl)
 
static MK_ARTIFICIAL OT_OBJ_T rbmkkernel_MkObjectC_ObjNew (MK_RT mkrt, MkObjectC_type hdl)
 
static MK_ARTIFICIAL OT_OBJ_T rbmkkernel_MkRuntimeC_ObjNew (MK_RT mkrt, MkRuntimeC_type hdl)
 
MK_RB_EXTERN void rbmkkernel__printObj (MK_RT mkrt, OT_OBJ_T, MK_STRN)
 
static VALUE rbmkkernel_OtNewInstanceWithOneArg (VALUE type, VALUE arg)
 
void rbmkkernel_CallFree (MK_PTR *callP)
 
void rbmkkernel_CallFreeOnce (MK_PTR *callP)
 
MK_RB_EXTERN enum MkErrorE rbmkkernel_Obj_AsSTR_COPY (OT_Check_ARGS, MK_STR, size_t)
 
MK_RB_EXTERN MK_STRN rbmkkernel_Get_Call_Proc (int, VALUE *)
 
MK_RB_EXTERN MK_STRN rbmkkernel_Get_Call_Script (int, VALUE *)
 
MK_RB_EXTERN MK_I32 rbmkkernel_Get_Call_Line (int, VALUE *)
 
MK_RB_EXTERN void rbmkkernel_Get_Call_All (int, MK_STRN *, MK_STRN *, MK_I32 *)
 
void rbmkkernel_Get_Call_Stack (MK_RT mkrt, MK_ERR const, int)
 
void rbmkkernel_printLNG_STACK (MK_RT mkrt, MK_MNG mng)
 
MK_RB_EXTERN void rbmkkernel_MkExceptionC_Raise (OT_Prefix_ARGS MK_MNGN const, MK_STRN const, MK_STRN const, MK_I32)
 
MK_RB_EXTERN MK_ERR rbmkkernel_MkExceptionC_Catch (OT_Prefix_ARGS MK_MNG const, MK_EXP const, MK_STRN const, MK_STRN const)
 
OT_ProcRet rbmkkernel_MkBufferListC_ToList (MkBufferListC_ARGS)
 
static bool rbmkkernel__VAL2BOL (OT_OBJ_T val)
 
static OT_OBJ_T rbmkkernel__PTR2VAL (MK_PTR nat)
 
static MK_ARTIFICIAL OT_OBJ_T rbmkkernel__STRN2VAL (MK_STRN val)
 
static VALUE rbmkkernel_AtomObjCrt (OT_CLS_T clazz, MK_PTR type, MK_MNG mng, int objc, VALUE *objv)
 
static VALUE rbmkkernel_AtomCreate (MkObjectC_ARGS)
 

Variables

MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_MkKernel
 
MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_InitError
 
MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_MkBufferListC
 
MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_MkBufferListC_MK_NULL
 
MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_MkBufferC
 
MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_MkBufferC_MK_NULL
 
MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_MkBufferStreamC
 
MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_MkBufferStreamC_MK_NULL
 
MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_MkErrorC
 
MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_MkErrorC_MK_NULL
 
MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_MkLogFileC
 
MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_MkLogFileC_MK_NULL
 
MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_MkObjectC
 
MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_MkObjectC_MK_NULL
 
MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_MkRuntimeC
 
MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_MkRuntimeC_MK_NULL
 
MK_RB_EXTERN_DATA VALUE rbmkkernel_MkErrorE
 
MK_RB_EXTERN_DATA VALUE rbmkkernel_MkIdSE
 
MK_RB_EXTERN_DATA VALUE rbmkkernel_MkTimeoutE
 
MK_RB_EXTERN_DATA VALUE rbmkkernel_MkTypeE
 
MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_globalRef
 
MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_cEnum
 
MK_RB_EXTERN_DATA VALUE rbmkkernel_NULL_STR
 
MK_RB_EXTERN_DATA ID rbmkkernel_id_clone
 
MK_RB_EXTERN_DATA ID rbmkkernel_id_unbind
 
MK_RB_EXTERN_DATA ID rbmkkernel_id_bind
 
MK_RB_EXTERN_DATA ID rbmkkernel_id_receiver
 
MK_RB_EXTERN_DATA ID rbmkkernel_id_enum_attr
 
MK_RB_EXTERN_DATA ID rbmkkernel_id_to_i
 

Detailed Description

LibMkKernel_rb.h - 10 Apr 2025 - aotto1968.

Version
220e89cf9473580117e04029d678fcf7e7736959
Date
Thu Apr 10 14:00:03 2025 +0200
Author
aotto1968 aotto.nosp@m.1968.nosp@m.@t-on.nosp@m.line.nosp@m..de

Definition in file LibMkKernel_rb.h.

Macro Definition Documentation

◆ __doc

#define __doc   "AtomObjNew"

◆ BIN2VAL

#define BIN2VAL ( ptr,
len )
Value:
rb_str_new((const char*)ptr,(long)len)

Definition at line 748 of file LibMkKernel_rb.h.

◆ BOL2VAL

#define BOL2VAL ( nat)
Value:
((nat)?Qtrue:Qfalse)

Definition at line 741 of file LibMkKernel_rb.h.

◆ check_META

#define check_META ( code)
Value:
if (MkErrorCheckI(code))

Definition at line 530 of file LibMkKernel_rb.h.

◆ CONSTR_ARGS

#define CONSTR_ARGS   LNG_ARGS

Definition at line 152 of file LibMkKernel_rb.h.

◆ CONSTR_ARGS_CALL

#define CONSTR_ARGS_CALL   LNG_ARGS_CALL

Definition at line 153 of file LibMkKernel_rb.h.

◆ DBL2VAL

#define DBL2VAL ( nat)
Value:
DBL2NUM((double)nat)

Definition at line 746 of file LibMkKernel_rb.h.

◆ DECR_REF

#define DECR_REF ( valP)
Value:
rb_gc_unregister_address(valP)

Definition at line 713 of file LibMkKernel_rb.h.

◆ DECR_REG

#define DECR_REG ( val)
Value:
rb_ary_delete(MK(globalRef),val)
#define MK(n)

Definition at line 710 of file LibMkKernel_rb.h.

◆ FLT2VAL

#define FLT2VAL ( nat)
Value:
DBL2NUM((double)nat)

Definition at line 745 of file LibMkKernel_rb.h.

◆ HDL2VAL

#define HDL2VAL ( nat)
Value:
INT2NUM(nat)

Definition at line 751 of file LibMkKernel_rb.h.

◆ HEADER

#define HEADER

Definition at line 32 of file LibMkKernel_rb.h.

◆ I162VAL

#define I162VAL ( nat)
Value:
INT2FIX((MK_I16)nat)
signed short int MK_I16

Definition at line 742 of file LibMkKernel_rb.h.

◆ I642VAL

#define I642VAL ( nat)
Value:
LL2NUM((MK_I64)nat)
signed long long MK_I64

Definition at line 744 of file LibMkKernel_rb.h.

◆ I82VAL

#define I82VAL ( nat)
Value:
INT2FIX((MK_I8)nat)
signed char MK_I8

Definition at line 740 of file LibMkKernel_rb.h.

◆ INCR_REF

#define INCR_REF ( valP)
Value:
rb_gc_register_address(valP)

Definition at line 712 of file LibMkKernel_rb.h.

◆ INCR_REG

#define INCR_REG ( val)
Value:
rb_ary_push(MK(globalRef),val)

Definition at line 709 of file LibMkKernel_rb.h.

◆ INT2VAL

#define INT2VAL ( nat)
Value:
INT2NUM((MK_I32)nat)
signed int MK_I32

Definition at line 743 of file LibMkKernel_rb.h.

◆ LNG_ARGS

#define LNG_ARGS   int objc, VALUE *objv, VALUE self

Definition at line 149 of file LibMkKernel_rb.h.

◆ LNG_ARGS_CALL

#define LNG_ARGS_CALL   objc, objv, self

Definition at line 150 of file LibMkKernel_rb.h.

◆ LONG2VAL

#define LONG2VAL ( nat)
Value:
LONG2FIX(nat)

Definition at line 750 of file LibMkKernel_rb.h.

◆ ME_REF_MkBinaryR

#define ME_REF_MkBinaryR   MkBinaryR

Definition at line 774 of file LibMkKernel_rb.h.

◆ ME_REF_MkStringR

#define ME_REF_MkStringR   MkStringR

Definition at line 797 of file LibMkKernel_rb.h.

◆ MK

#define MK ( n)
Value:
rbmkkernel_ ## n

Definition at line 83 of file LibMkKernel_rb.h.

◆ MK_BASE_CLASS

#define MK_BASE_CLASS   MK(MkObjectC)

Definition at line 166 of file LibMkKernel_rb.h.

◆ MK_CONTEXT_S

#define MK_CONTEXT_S   hdl

Definition at line 386 of file LibMkKernel_rb.h.

◆ MK_RB_EXTERN

#define MK_RB_EXTERN

static library

Definition at line 56 of file LibMkKernel_rb.h.

◆ MK_RB_EXTERN_DATA

#define MK_RB_EXTERN_DATA   extern

Definition at line 79 of file LibMkKernel_rb.h.

◆ MkBufferC_ARGS

#define MkBufferC_ARGS   LNG_ARGS

Definition at line 221 of file LibMkKernel_rb.h.

◆ MkBufferC_ARGS_CALL

#define MkBufferC_ARGS_CALL   LNG_ARGS_CALL

Definition at line 222 of file LibMkKernel_rb.h.

◆ MkBufferC_base

#define MkBufferC_base   MK(MkObjectC)

Definition at line 214 of file LibMkKernel_rb.h.

◆ MkBufferC_lngO

#define MkBufferC_lngO   MK(MkBufferC)

Definition at line 213 of file LibMkKernel_rb.h.

◆ MkBufferC_MK_NULL

#define MkBufferC_MK_NULL   MK(MkBufferC_MK_NULL)

Definition at line 218 of file LibMkKernel_rb.h.

◆ MkBufferListC_ARGS

#define MkBufferListC_ARGS   LNG_ARGS

Definition at line 193 of file LibMkKernel_rb.h.

◆ MkBufferListC_ARGS_CALL

#define MkBufferListC_ARGS_CALL   LNG_ARGS_CALL

Definition at line 194 of file LibMkKernel_rb.h.

◆ MkBufferListC_base

#define MkBufferListC_base   MK(MkObjectC)

Definition at line 186 of file LibMkKernel_rb.h.

◆ MkBufferListC_lngO

#define MkBufferListC_lngO   MK(MkBufferListC)

Definition at line 185 of file LibMkKernel_rb.h.

◆ MkBufferListC_MK_NULL

#define MkBufferListC_MK_NULL   MK(MkBufferListC_MK_NULL)

Definition at line 190 of file LibMkKernel_rb.h.

◆ MkBufferStreamC_ARGS

#define MkBufferStreamC_ARGS   LNG_ARGS

Definition at line 249 of file LibMkKernel_rb.h.

◆ MkBufferStreamC_ARGS_CALL

#define MkBufferStreamC_ARGS_CALL   LNG_ARGS_CALL

Definition at line 250 of file LibMkKernel_rb.h.

◆ MkBufferStreamC_base

#define MkBufferStreamC_base   MK(MkObjectC)

Definition at line 242 of file LibMkKernel_rb.h.

◆ MkBufferStreamC_lngO

#define MkBufferStreamC_lngO   MK(MkBufferStreamC)

Definition at line 241 of file LibMkKernel_rb.h.

◆ MkBufferStreamC_MK_NULL

#define MkBufferStreamC_MK_NULL   MK(MkBufferStreamC_MK_NULL)

Definition at line 246 of file LibMkKernel_rb.h.

◆ MkErrorC_ARGS

#define MkErrorC_ARGS   LNG_ARGS

Definition at line 277 of file LibMkKernel_rb.h.

◆ MkErrorC_ARGS_CALL

#define MkErrorC_ARGS_CALL   LNG_ARGS_CALL

Definition at line 278 of file LibMkKernel_rb.h.

◆ MkErrorC_base

#define MkErrorC_base   MK(MkObjectC)

Definition at line 270 of file LibMkKernel_rb.h.

◆ MkErrorC_Check

#define MkErrorC_Check ( mng,
PROC )
Value:
if (unlikely(MkErrorCheckI(PROC))) { \
OT_ERROR_META_2_LNG(mng); \
} \
#define MK_UNREACHABLE
#define unlikely(x)

Definition at line 518 of file LibMkKernel_rb.h.

518#define MkErrorC_Check(mng,PROC) \
519 if (unlikely(MkErrorCheckI(PROC))) { \
520 OT_ERROR_META_2_LNG(mng); \
521 MK_UNREACHABLE; \
522 } \
523

◆ MkErrorC_CheckD

#define MkErrorC_CheckD ( PROC)
Value:
if (unlikely(MkErrorCheckI(PROC))) { \
OT_ERROR_META_2_LNG(hdl); \
} \

Definition at line 524 of file LibMkKernel_rb.h.

524#define MkErrorC_CheckD(PROC) \
525 if (unlikely(MkErrorCheckI(PROC))) { \
526 OT_ERROR_META_2_LNG(hdl); \
527 MK_UNREACHABLE; \
528 } \
529

◆ MkErrorC_lngO

#define MkErrorC_lngO   MK(MkErrorC)

Definition at line 269 of file LibMkKernel_rb.h.

◆ MkErrorC_MK_NULL

#define MkErrorC_MK_NULL   MK(MkErrorC_MK_NULL)

Definition at line 274 of file LibMkKernel_rb.h.

◆ MkLogFileC_ARGS

#define MkLogFileC_ARGS   LNG_ARGS

Definition at line 305 of file LibMkKernel_rb.h.

◆ MkLogFileC_ARGS_CALL

#define MkLogFileC_ARGS_CALL   LNG_ARGS_CALL

Definition at line 306 of file LibMkKernel_rb.h.

◆ MkLogFileC_base

#define MkLogFileC_base   MK(MkObjectC)

Definition at line 298 of file LibMkKernel_rb.h.

◆ MkLogFileC_lngO

#define MkLogFileC_lngO   MK(MkLogFileC)

Definition at line 297 of file LibMkKernel_rb.h.

◆ MkLogFileC_MK_NULL

#define MkLogFileC_MK_NULL   MK(MkLogFileC_MK_NULL)

Definition at line 302 of file LibMkKernel_rb.h.

◆ MkObjectC_ARGS

#define MkObjectC_ARGS   LNG_ARGS

Definition at line 333 of file LibMkKernel_rb.h.

◆ MkObjectC_ARGS_CALL

#define MkObjectC_ARGS_CALL   LNG_ARGS_CALL

Definition at line 334 of file LibMkKernel_rb.h.

◆ MkObjectC_base

#define MkObjectC_base   NULL

Definition at line 326 of file LibMkKernel_rb.h.

◆ MkObjectC_lngO

#define MkObjectC_lngO   MK(MkObjectC)

Definition at line 325 of file LibMkKernel_rb.h.

◆ MkObjectC_MK_NULL

#define MkObjectC_MK_NULL   MK(MkObjectC_MK_NULL)

Definition at line 330 of file LibMkKernel_rb.h.

◆ MkRuntimeC_ARGS

#define MkRuntimeC_ARGS   LNG_ARGS

Definition at line 361 of file LibMkKernel_rb.h.

◆ MkRuntimeC_ARGS_CALL

#define MkRuntimeC_ARGS_CALL   LNG_ARGS_CALL

Definition at line 362 of file LibMkKernel_rb.h.

◆ MkRuntimeC_base

#define MkRuntimeC_base   MK(MkObjectC)

Definition at line 354 of file LibMkKernel_rb.h.

◆ MkRuntimeC_lngO

#define MkRuntimeC_lngO   MK(MkRuntimeC)

Definition at line 353 of file LibMkKernel_rb.h.

◆ MkRuntimeC_MK_NULL

#define MkRuntimeC_MK_NULL   MK(MkRuntimeC_MK_NULL)

Definition at line 358 of file LibMkKernel_rb.h.

◆ NIL_Check

#define NIL_Check ( v)
Value:
if (NIL_P(v)) goto error;

Definition at line 701 of file LibMkKernel_rb.h.

◆ NS

#define NS ( n)
Value:
rbmkkernel_ ## n

Definition at line 85 of file LibMkKernel_rb.h.

◆ OBJ

#define OBJ   &hdl->obj

Definition at line 434 of file LibMkKernel_rb.h.

◆ OBJ2VAL

#define OBJ2VAL ( nat)
Value:
((OT_OBJ_T)((MK_OBJ)nat)->self)
#define OT_OBJ_T
struct MkObjectS * MK_OBJ

Definition at line 739 of file LibMkKernel_rb.h.

◆ OT_CHECK__ME_REF_MkBinaryR

#define OT_CHECK__ME_REF_MkBinaryR ( val)
Value:
if (__skip >= objc) { \
OT_ERROR_NUMARGS(hdl,__skip, objc, -999, +999, #val); \
} else { \
val=VAL2MkBinaryR(objv[__skip++]); \
}
#define VAL2MkBinaryR(_obj)

Definition at line 790 of file LibMkKernel_rb.h.

790#define OT_CHECK__ME_REF_MkBinaryR(val) \
791 if (__skip >= objc) { \
792 OT_ERROR_NUMARGS(hdl,__skip, objc, -999, +999, #val); \
793 } else { \
794 val=VAL2MkBinaryR(objv[__skip++]); \
795 }

◆ OT_CHECK__ME_REF_MkStringR

#define OT_CHECK__ME_REF_MkStringR ( val)
Value:
if (__skip >= objc) { \
OT_ERROR_NUMARGS(hdl,__skip, objc, -999, +999, #val); \
} else { \
val=VAL2MkStringR(objv[__skip++]); \
}
#define VAL2MkStringR(_obj)

Definition at line 809 of file LibMkKernel_rb.h.

809#define OT_CHECK__ME_REF_MkStringR(val) \
810 if (__skip >= objc) { \
811 OT_ERROR_NUMARGS(hdl,__skip, objc, -999, +999, #val); \
812 } else { \
813 val=VAL2MkStringR(objv[__skip++]); \
814 }

◆ OT_Check_ARGS

#define OT_Check_ARGS   SETUP_ARGS, MK_MNG hdl, MK_STRN const arg, int *skipP

Definition at line 556 of file LibMkKernel_rb.h.

◆ OT_CHECK_BCP

#define OT_CHECK_BCP ( val)
Value:
if (__skip >= objc) { \
OT_ERROR_NUMARGS(hdl, __skip, objc, -999, +999, #val); \
} else { \
OT_OBJ_T nat = objv[__skip++]; \
val = (MK_BINN) RSTRING_PTR(nat); \
} \
MK_BINB const * MK_BINN

Definition at line 582 of file LibMkKernel_rb.h.

582#define OT_CHECK_BCP(val) \
583 if (__skip >= objc) { \
584 OT_ERROR_NUMARGS(hdl, __skip, objc, -999, +999, #val); \
585 } else { \
586 OT_OBJ_T nat = objv[__skip++]; \
587 val = (MK_BINN) RSTRING_PTR(nat); \
588 } \
589

◆ OT_CHECK_BNP

#define OT_CHECK_BNP ( val,
len )
Value:
if (__skip >= objc) { \
OT_ERROR_NUMARGS(hdl, __skip, objc, -999, +999, #val); \
} else { \
OT_OBJ_T nat = objv[__skip++]; \
val = (MK_BIN) RSTRING_PTR(nat); \
len = (MK_SIZE) RSTRING_LEN(nat); \
} \
MK_BINB * MK_BIN
long MK_SIZE

Definition at line 573 of file LibMkKernel_rb.h.

573#define OT_CHECK_BNP(val,len) \
574 if (__skip >= objc) { \
575 OT_ERROR_NUMARGS(hdl, __skip, objc, -999, +999, #val); \
576 } else { \
577 OT_OBJ_T nat = objv[__skip++]; \
578 val = (MK_BIN) RSTRING_PTR(nat); \
579 len = (MK_SIZE) RSTRING_LEN(nat); \
580 } \
581

◆ OT_CHECK_bool

#define OT_CHECK_bool ( val)
Value:
#define OT_CHECK_LNGTMPL(val, func)
MK_ATTR_HOT MK_EXTERN enum MkErrorE MK_DECL MK Obj_AsBOOL(OT_Check_ARGS, bool *)

Definition at line 654 of file LibMkKernel_rb.h.

◆ OT_CHECK_C_COPY

#define OT_CHECK_C_COPY ( val,
size )
Value:
MkErrorCheck (MK(Obj_AsSTR_COPY)(OT_Check_CALL(#val),val,size));
#define OT_Check_CALL(arg)

Definition at line 666 of file LibMkKernel_rb.h.

◆ OT_Check_CALL

#define OT_Check_CALL ( arg)
Value:
SETUP_ARGS_CALL, hdl, arg, &__skip
#define SETUP_ARGS_CALL

Definition at line 557 of file LibMkKernel_rb.h.

◆ OT_Check_CALL2

#define OT_Check_CALL2 ( arg)
Value:
SETUP_ARGS_CALL, hdl, arg, skipP

Definition at line 558 of file LibMkKernel_rb.h.

◆ OT_CHECK_LNGTMPL

#define OT_CHECK_LNGTMPL ( val,
func )
Value:
MkErrorC_CheckD (func(OT_Check_CALL(#val),&val));
#define MkErrorC_CheckD(PROC)

Definition at line 652 of file LibMkKernel_rb.h.

◆ OT_CHECK_NB1

#define OT_CHECK_NB1 ( val)
Value:
MK_ATTR_HOT MK_EXTERN enum MkErrorE MK_DECL MK Obj_AsBOL(OT_Check_ARGS, MK_BOL *)

Definition at line 655 of file LibMkKernel_rb.h.

◆ OT_CHECK_NF4

#define OT_CHECK_NF4 ( val)
Value:
MK_ATTR_HOT MK_EXTERN enum MkErrorE MK_DECL MK Obj_AsFLT(OT_Check_ARGS, MK_FLT *)

Definition at line 660 of file LibMkKernel_rb.h.

◆ OT_CHECK_NF8

#define OT_CHECK_NF8 ( val)
Value:
MK_ATTR_HOT MK_EXTERN enum MkErrorE MK_DECL MK Obj_AsDBL(OT_Check_ARGS, MK_DBL *)

Definition at line 661 of file LibMkKernel_rb.h.

◆ OT_CHECK_NI1

#define OT_CHECK_NI1 ( val)
Value:
MK_ATTR_HOT MK_EXTERN enum MkErrorE MK_DECL MK Obj_AsI8(OT_Check_ARGS, MK_I8 *)

Definition at line 656 of file LibMkKernel_rb.h.

◆ OT_CHECK_NI2

#define OT_CHECK_NI2 ( val)
Value:
MK_ATTR_HOT MK_EXTERN enum MkErrorE MK_DECL MK Obj_AsI16(OT_Check_ARGS, MK_I16 *)

Definition at line 657 of file LibMkKernel_rb.h.

◆ OT_CHECK_NI4

#define OT_CHECK_NI4 ( val)
Value:
MK_ATTR_HOT MK_EXTERN enum MkErrorE MK_DECL MK Obj_AsI32(OT_Check_ARGS, MK_I32 *)

Definition at line 658 of file LibMkKernel_rb.h.

◆ OT_CHECK_NI8

#define OT_CHECK_NI8 ( val)
Value:
MK_ATTR_HOT MK_EXTERN enum MkErrorE MK_DECL MK Obj_AsI64(OT_Check_ARGS, MK_I64 *)

Definition at line 659 of file LibMkKernel_rb.h.

◆ OT_CHECK_NIL

#define OT_CHECK_NIL ( val)
Value:
MK_ATTR_HOT MK_EXTERN enum MkErrorE MK_DECL MK Obj_AsLONG(OT_Check_ARGS, long *)

Definition at line 662 of file LibMkKernel_rb.h.

◆ OT_CHECK_NOARGS

#define OT_CHECK_NOARGS
Value:
if (__skip != objc) { \
OT_ERROR_NUMARGS(hdl, __skip, objc, -999, +999, ""); \
} \

Definition at line 568 of file LibMkKernel_rb.h.

568#define OT_CHECK_NOARGS \
569 if (__skip != objc) { \
570 OT_ERROR_NUMARGS(hdl, __skip, objc, -999, +999, ""); \
571 } \
572

◆ OT_CHECK_NUM_ARGS

#define OT_CHECK_NUM_ARGS ( min,
max )
Value:
if ((objc-__skip) < min || (objc-__skip) > max) { \
OT_ERROR_NUMARGS(hdl, __skip, objc, min, max, ""); \
} \

Definition at line 563 of file LibMkKernel_rb.h.

563#define OT_CHECK_NUM_ARGS(min,max) \
564 if ((objc-__skip) < min || (objc-__skip) > max) { \
565 OT_ERROR_NUMARGS(hdl, __skip, objc, min, max, ""); \
566 } \
567

◆ OT_CHECK_OPTIONAL

#define OT_CHECK_OPTIONAL ( val)
Value:
if (__skip < objc) {val}

Definition at line 560 of file LibMkKernel_rb.h.

◆ OT_CHECK_REQUIRED

#define OT_CHECK_REQUIRED ( val)
Value:
val

Definition at line 561 of file LibMkKernel_rb.h.

◆ OT_CHECK_STRN

#define OT_CHECK_STRN ( val)
Value:
MK_ATTR_HOT MK_EXTERN enum MkErrorE MK_DECL MK Obj_AsSTRN(OT_Check_ARGS, MK_STRN *)

Definition at line 663 of file LibMkKernel_rb.h.

◆ OT_CLS_T

#define OT_CLS_T   VALUE

Definition at line 96 of file LibMkKernel_rb.h.

◆ OT_CONSTRUCTOR_POST

#define OT_CONSTRUCTOR_POST ( x)

Definition at line 488 of file LibMkKernel_rb.h.

◆ OT_ENUM_T

#define OT_ENUM_T   VALUE

Definition at line 95 of file LibMkKernel_rb.h.

◆ OT_ENUM_TO_I32

#define OT_ENUM_TO_I32 ( o,
e )
Value:
o = rb_funcallv(o,MK(id_to_i),0,NULL)

Definition at line 129 of file LibMkKernel_rb.h.

◆ OT_ENUM_TO_I32_2

#define OT_ENUM_TO_I32_2 ( o,
e )
Value:
o = rb_funcallv(o,MK(id_to_i),0,NULL)

Definition at line 130 of file LibMkKernel_rb.h.

◆ OT_ERROR_CONSTRUCTOR

#define OT_ERROR_CONSTRUCTOR ( clazz)
Value:
rb_raise(MK(InitError), "'%s' constructor return 'NULL' pointer", #clazz); \

Definition at line 500 of file LibMkKernel_rb.h.

500#define OT_ERROR_CONSTRUCTOR(clazz) \
501 rb_raise(MK(InitError), "'%s' constructor return 'NULL' pointer", #clazz); \
502 MK_UNREACHABLE;

◆ OT_ERROR_LNG_2_META

#define OT_ERROR_LNG_2_META ( m)
Value:
MK(MkExceptionC_Catch) (OT_Prefix_CALL m, NULL, __func__, NULL)
#define OT_Prefix_CALL

Definition at line 695 of file LibMkKernel_rb.h.

◆ OT_ERROR_LNG_2_META_2

#define OT_ERROR_LNG_2_META_2 ( m,
s )
Value:
MK(MkExceptionC_Catch) (OT_Prefix_CALL m, NULL, __func__, s)

Definition at line 696 of file LibMkKernel_rb.h.

◆ OT_ERROR_LNG_RETURN

#define OT_ERROR_LNG_RETURN
Value:
rb_raise(rb_eRuntimeError, "%s", "not implemented"); \

Definition at line 492 of file LibMkKernel_rb.h.

492#define OT_ERROR_LNG_RETURN \
493 rb_raise(rb_eRuntimeError, "%s", "not implemented"); \
494 MK_UNREACHABLE;

◆ OT_ERROR_META_2_LNG

#define OT_ERROR_META_2_LNG ( m)
Value:
MK(MkExceptionC_Raise) (OT_Prefix_CALL m, __doc, __FILE__, __LINE__)
#define __doc

Definition at line 694 of file LibMkKernel_rb.h.

◆ OT_ERROR_NUMARGS

#define OT_ERROR_NUMARGS ( ...)
Value:
MkErrorC_CheckD(WrongNumArgs(__VA_ARGS__)); \
#define WrongNumArgs(...)

Definition at line 514 of file LibMkKernel_rb.h.

514#define OT_ERROR_NUMARGS(...) \
515 MkErrorC_CheckD(WrongNumArgs(__VA_ARGS__)); \
516 MK_UNREACHABLE; \
517

◆ OT_ERROR_RUNTIME

#define OT_ERROR_RUNTIME ( clazz,
str )
Value:
rb_raise(rb_eRuntimeError, "in class %s: %s.", #clazz, str); \

Definition at line 508 of file LibMkKernel_rb.h.

508#define OT_ERROR_RUNTIME(clazz, str) \
509 rb_raise(rb_eRuntimeError, "in class %s: %s.", #clazz, str); \
510 MK_UNREACHABLE;

◆ OT_ERROR_SOFT_CONSTRUCTOR

#define OT_ERROR_SOFT_CONSTRUCTOR ( clazz)
Value:
rb_raise(MK(InitError), "InitSoftError: '%s' soft constructor return 'NULL' pointer", #clazz); \

Definition at line 496 of file LibMkKernel_rb.h.

496#define OT_ERROR_SOFT_CONSTRUCTOR(clazz) \
497 rb_raise(MK(InitError), "InitSoftError: '%s' soft constructor return 'NULL' pointer", #clazz); \
498 MK_UNREACHABLE;

◆ OT_ERROR_TYPE

#define OT_ERROR_TYPE ( str)
Value:
rb_raise(rb_eTypeError, "%s", str); \

Definition at line 504 of file LibMkKernel_rb.h.

504#define OT_ERROR_TYPE(str) \
505 rb_raise(rb_eTypeError, "%s", str); \
506 MK_UNREACHABLE;

◆ OT_ERROR_VAR_DEFAULT

#define OT_ERROR_VAR_DEFAULT ( exp,
... )
Value:
do { \
char buf[512]; \
ruby_snprintf(buf,512,__VA_ARGS__); \
rb_raise(exp,buf); \
} while (0)

Definition at line 532 of file LibMkKernel_rb.h.

532#define OT_ERROR_VAR_DEFAULT(exp,...) do { \
533 char buf[512]; \
534 ruby_snprintf(buf,512,__VA_ARGS__); \
535 rb_raise(exp,buf); \
536 MK_UNREACHABLE; \
537} while (0)

◆ OT_FRAME_CLEANUP

#define OT_FRAME_CLEANUP

Definition at line 423 of file LibMkKernel_rb.h.

◆ OT_GET__ME_REF_MkBinaryR

#define OT_GET__ME_REF_MkBinaryR ( b)
Value:
BIN2VAL(b.data,(int)b.size)
#define BIN2VAL(ptr, len)

Definition at line 775 of file LibMkKernel_rb.h.

◆ OT_GET__ME_REF_MkStringR

#define OT_GET__ME_REF_MkStringR ( b)
Value:
STR2VAL(b.ptr,b.len)
#define STR2VAL(ptr, len)

Definition at line 798 of file LibMkKernel_rb.h.

◆ OT_GET_CALL_ALL

#define OT_GET_CALL_ALL    MK_STRN proc,file; MK_I32 line; MK(Get_Call_All)(0,&proc,&file,&line);

Definition at line 681 of file LibMkKernel_rb.h.

681#define OT_GET_CALL_ALL \
682 MK_STRN proc,file; MK_I32 line; MK(Get_Call_All)(0,&proc,&file,&line);

◆ OT_GET_CALL_FILE

#define OT_GET_CALL_FILE   MK(Get_Call_Script) (1,&frame)

Definition at line 671 of file LibMkKernel_rb.h.

◆ OT_GET_CALL_LINE

#define OT_GET_CALL_LINE   MK(Get_Call_Line) (1,&frame)

Definition at line 672 of file LibMkKernel_rb.h.

◆ OT_GET_CALL_PROC

#define OT_GET_CALL_PROC   MK(Get_Call_Proc) (1,&frame)

Definition at line 670 of file LibMkKernel_rb.h.

◆ OT_GET_CONSTR_NAME

#define OT_GET_CONSTR_NAME ( ctor)
Value:
#define OT_LNG_NAME_FROM_OBJ(obj)

Definition at line 590 of file LibMkKernel_rb.h.

◆ OT_LNG_ARRAY_IS

#define OT_LNG_ARRAY_IS ( o)
Value:
(RB_TYPE_P(o,T_ARRAY))

Definition at line 132 of file LibMkKernel_rb.h.

◆ OT_LNG_ENUM_NAME

#define OT_LNG_ENUM_NAME ( enm)
Value:
#define OT_LNG_NAME_FROM_CLASS(cls)

Definition at line 128 of file LibMkKernel_rb.h.

◆ OT_LNG_I32_IS

#define OT_LNG_I32_IS ( obj)
Value:
(CHECK_LONG(obj) || CHECK_STRING(obj))

Definition at line 139 of file LibMkKernel_rb.h.

◆ OT_LNG_IS_NULL

#define OT_LNG_IS_NULL ( val)
Value:
RB_NIL_OR_UNDEF_P(val)

Definition at line 100 of file LibMkKernel_rb.h.

◆ OT_LNG_LONG_IS

#define OT_LNG_LONG_IS ( obj)
Value:
(CHECK_LONG(obj) || CHECK_STRING(obj))

Definition at line 138 of file LibMkKernel_rb.h.

◆ OT_LNG_NAME_FROM_CLASS

#define OT_LNG_NAME_FROM_CLASS ( cls)
Value:
rb_class2name(cls)

Definition at line 104 of file LibMkKernel_rb.h.

◆ OT_LNG_NAME_FROM_OBJ

#define OT_LNG_NAME_FROM_OBJ ( obj)
Value:
#define VAL2STRN(val)

Definition at line 103 of file LibMkKernel_rb.h.

◆ OT_LNG_NULL

#define OT_LNG_NULL   Qnil

Definition at line 98 of file LibMkKernel_rb.h.

◆ OT_LNG_NULL_IS

#define OT_LNG_NULL_IS ( obj)
Value:
(!RB_TEST(obj))

Definition at line 125 of file LibMkKernel_rb.h.

◆ OT_LNG_OBJ_CLASS_IS

#define OT_LNG_OBJ_CLASS_IS ( obj,
cls )
Value:
(rb_obj_is_kind_of(obj,cls) == Qtrue)

Definition at line 109 of file LibMkKernel_rb.h.

◆ OT_LNG_OBJ_CLASSNAME

#define OT_LNG_OBJ_CLASSNAME ( obj)
Value:
rb_obj_classname(obj)

Definition at line 105 of file LibMkKernel_rb.h.

◆ OT_LNG_OBJ_ENUM_IS

#define OT_LNG_OBJ_ENUM_IS ( obj,
enm )
Value:
(rb_obj_is_kind_of(obj,enm) == Qtrue)

Definition at line 127 of file LibMkKernel_rb.h.

◆ OT_LNG_OBJECT_IS

#define OT_LNG_OBJECT_IS ( obj)
Value:
OT_LNG_OBJ_CLASS_IS(obj,MK(MkObjectC))
#define OT_LNG_OBJ_CLASS_IS(obj, cls)

Definition at line 113 of file LibMkKernel_rb.h.

◆ OT_LNG_OBJV

#define OT_LNG_OBJV ( idx)
Value:
objv[idx]

Definition at line 107 of file LibMkKernel_rb.h.

◆ OT_LNG_RETURN

#define OT_LNG_RETURN ( ret,
cmd )
Value:
ret=cmd

Definition at line 101 of file LibMkKernel_rb.h.

◆ OT_LNG_SKIP_TYPE

#define OT_LNG_SKIP_TYPE   int

Definition at line 141 of file LibMkKernel_rb.h.

◆ OT_LNG_STRN_POST

#define OT_LNG_STRN_POST ( cs,
obj )

Definition at line 136 of file LibMkKernel_rb.h.

◆ OT_LNG_STRN_PRE

#define OT_LNG_STRN_PRE ( cs,
obj )
Value:
MK_STRN cs = VAL2STRN(obj)
const MK_STRB * MK_STRN

Definition at line 135 of file LibMkKernel_rb.h.

◆ OT_LNG_UNDEF

#define OT_LNG_UNDEF   Qundef

Definition at line 99 of file LibMkKernel_rb.h.

◆ OT_METH_C

#define OT_METH_C ( c,
s,
f )
Value:
rb_define_singleton_method (NS(c),#s,NS(f),-1);
#define NS(n)

Definition at line 389 of file LibMkKernel_rb.h.

◆ OT_METH_O

#define OT_METH_O ( c,
s,
f )
Value:
rb_define_method (NS(c),#s,NS(f),-1);

Definition at line 391 of file LibMkKernel_rb.h.

◆ OT_METH_P

#define OT_METH_P ( c,
s,
f )
Value:
rb_define_private_method (NS(c),#s,NS(f),-1);

Definition at line 388 of file LibMkKernel_rb.h.

◆ OT_METH_S

#define OT_METH_S ( c,
s,
f )
Value:
rb_define_singleton_method (NS(c),#s,NS(f),-1);

Definition at line 390 of file LibMkKernel_rb.h.

◆ OT_MK_CALL_0

#define OT_MK_CALL_0 ( obj,
cls,
meth,
ret )
Value:
{ \
static __thread ID methid = 0; \
if (methid == 0) methid = rb_intern(#meth); \
ret = rb_funcallv(cls##_constr(obj),methid,0,NULL); \
}

Definition at line 477 of file LibMkKernel_rb.h.

477#define OT_MK_CALL_0(obj,cls,meth,ret) { \
478 static __thread ID methid = 0; \
479 if (methid == 0) methid = rb_intern(#meth); \
480 ret = rb_funcallv(cls##_constr(obj),methid,0,NULL); \
481}

◆ OT_MK_CALL_0_0

#define OT_MK_CALL_0_0 ( ret,
obj,
cls,
meth )
Value:
ret = rb_funcallv(obj,meth,0,NULL)

Definition at line 483 of file LibMkKernel_rb.h.

◆ OT_NEW_Mk_enum_OBJ

#define OT_NEW_Mk_enum_OBJ ( typ,
i )
Value:
MK(OtNewInstanceWithOneArg)(MK(Mk##typ),INT2VAL(i))
#define INT2VAL(nat)

Definition at line 613 of file LibMkKernel_rb.h.

◆ OT_OBJ_T

#define OT_OBJ_T   VALUE

Definition at line 94 of file LibMkKernel_rb.h.

◆ OT_OBJ_TO_CLASS

#define OT_OBJ_TO_CLASS ( str)
Value:
str

Definition at line 110 of file LibMkKernel_rb.h.

◆ OT_OBJ_TO_ENUM

#define OT_OBJ_TO_ENUM ( str)
Value:
NS(str)

Definition at line 111 of file LibMkKernel_rb.h.

◆ OT_OBJECT_DELETE

#define OT_OBJECT_DELETE ( obj)
Value:
MK(AtomDelete)(MK_RT_CALL hdl);
#define MK_RT_CALL

Definition at line 162 of file LibMkKernel_rb.h.

◆ OT_OBJECT_DELETE_HARD

#define OT_OBJECT_DELETE_HARD ( obj)
Value:
MK(AtomDeleteHard)(MK_RT_CALL obj);

Definition at line 161 of file LibMkKernel_rb.h.

◆ OT_OBJECT_DELETE_SOFT

#define OT_OBJECT_DELETE_SOFT ( obj)
Value:
MK(AtomDeleteSoft)(VAL2MNG(obj));
#define VAL2MNG(val)

Definition at line 159 of file LibMkKernel_rb.h.

◆ OT_OBJECT_DISPOSE

#define OT_OBJECT_DISPOSE ( obj)
Value:
MK(AtomDispose)(MK_RT_CALL hdl);

Definition at line 163 of file LibMkKernel_rb.h.

◆ OT_PKG

#define OT_PKG   MK(MkKernel)

Definition at line 90 of file LibMkKernel_rb.h.

◆ OT_Prefix_ARGS

#define OT_Prefix_ARGS   MK_RT_ARGS

Definition at line 553 of file LibMkKernel_rb.h.

◆ OT_Prefix_CALL

#define OT_Prefix_CALL   MK_RT_CALL

Definition at line 554 of file LibMkKernel_rb.h.

◆ OT_ProcRet

#define OT_ProcRet   VALUE

Definition at line 385 of file LibMkKernel_rb.h.

◆ OT_RET_SELF

#define OT_RET_SELF   OT_SELF

Definition at line 429 of file LibMkKernel_rb.h.

◆ OT_retObj_APPEND

#define OT_retObj_APPEND ( var)
Value:
rb_ary_push(retObj,var);

Definition at line 459 of file LibMkKernel_rb.h.

◆ OT_retObj_CONSTR

#define OT_retObj_CONSTR ( mng)
Value:
OT_retObj_SET(NS(LNG_CONSTR)(clazz,mng,objc-__skip,objv+__skip))
#define OT_retObj_SET(val)

Definition at line 487 of file LibMkKernel_rb.h.

◆ OT_retObj_RETURN

#define OT_retObj_RETURN   return retObj;

Definition at line 460 of file LibMkKernel_rb.h.

◆ OT_retObj_SET

#define OT_retObj_SET ( val)
Value:
retObj = (val);

Definition at line 455 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_BFL

#define OT_retObj_SET_BFL ( nat)
Value:
retObj = MK(MkBufferListC_ObjNew) (MK_RT_CALL nat)

Definition at line 197 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_BIN

#define OT_retObj_SET_BIN ( nat,
len )
Value:
retObj = BIN2VAL(nat,len);

Definition at line 469 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_BOL

#define OT_retObj_SET_BOL ( nat)
Value:
retObj = BOL2VAL(nat);
#define BOL2VAL(nat)

Definition at line 462 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_BUF

#define OT_retObj_SET_BUF ( nat)
Value:
retObj = MK(MkBufferC_ObjNew) (MK_RT_CALL nat)

Definition at line 225 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_BUS

#define OT_retObj_SET_BUS ( nat)
Value:
retObj = MK(MkBufferStreamC_ObjNew) (MK_RT_CALL nat)

Definition at line 253 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_DBL

#define OT_retObj_SET_DBL ( nat)
Value:
retObj = DBL2VAL(nat);
#define DBL2VAL(nat)

Definition at line 468 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_ERR

#define OT_retObj_SET_ERR ( nat)
Value:
retObj = MK(MkErrorC_ObjNew) (MK_RT_CALL nat)

Definition at line 281 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_Error

#define OT_retObj_SET_Error   retObj = Qundef;

Definition at line 457 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_FLT

#define OT_retObj_SET_FLT ( nat)
Value:
retObj = FLT2VAL(nat);
#define FLT2VAL(nat)

Definition at line 467 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_HDL

#define OT_retObj_SET_HDL ( nat)
Value:
retObj = HDL2VAL(nat);
#define HDL2VAL(nat)

Definition at line 473 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_I16

#define OT_retObj_SET_I16 ( nat)
Value:
retObj = I162VAL(nat);
#define I162VAL(nat)

Definition at line 464 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_I32

#define OT_retObj_SET_I32 ( nat)
Value:
retObj = INT2VAL(nat);

Definition at line 465 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_I64

#define OT_retObj_SET_I64 ( nat)
Value:
retObj = I642VAL(nat);
#define I642VAL(nat)

Definition at line 466 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_I8

#define OT_retObj_SET_I8 ( nat)
Value:
retObj = I82VAL(nat);
#define I82VAL(nat)

Definition at line 463 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_LFL

#define OT_retObj_SET_LFL ( nat)
Value:
retObj = MK(MkLogFileC_ObjNew) (MK_RT_CALL nat)

Definition at line 309 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_List

#define OT_retObj_SET_List   retObj = rb_ary_new();

Definition at line 458 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_LONG

#define OT_retObj_SET_LONG ( nat)
Value:
retObj = LONG2VAL(nat);
#define LONG2VAL(nat)

Definition at line 472 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_None

#define OT_retObj_SET_None   retObj = Qnil;

Definition at line 456 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_OBJ

#define OT_retObj_SET_OBJ ( nat)
Value:
retObj = MK(MkObjectC_ObjNew) (MK_RT_CALL nat)

Definition at line 337 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_RT

#define OT_retObj_SET_RT ( nat)
Value:
retObj = MK(MkRuntimeC_ObjNew) (MK_RT_CALL nat)

Definition at line 365 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_STR

#define OT_retObj_SET_STR ( nat)
Value:
retObj = STRN2VAL(nat);
#define STRN2VAL(nat)

Definition at line 470 of file LibMkKernel_rb.h.

◆ OT_retObj_SET_STRN

#define OT_retObj_SET_STRN ( nat)
Value:
retObj = STRN2VAL(nat);

Definition at line 471 of file LibMkKernel_rb.h.

◆ OT_SELF

#define OT_SELF   self

Definition at line 428 of file LibMkKernel_rb.h.

◆ OT_SETUP_ALL

#define OT_SETUP_ALL ( d)
Value:
VALUE retObj=Qundef; \
int __skip=0; \
__attribute__((unused)) const static char __doc[]=d; \
__attribute__((unused)) VALUE frame=0;

Definition at line 401 of file LibMkKernel_rb.h.

401#define OT_SETUP_ALL(d) \
402 VALUE retObj=Qundef; \
403 int __skip=0; \
404 __attribute__((unused)) const static char __doc[]=d; \
405 __attribute__((unused)) VALUE frame=0;

◆ OT_SETUP_CONSTRUCTOR_ARGS

#define OT_SETUP_CONSTRUCTOR_ARGS ( min,
max,
d )
Value:
OT_CHECK_NUM_ARGS(min,99); \
#define OT_SETUP_ALL(d)

Definition at line 407 of file LibMkKernel_rb.h.

407#define OT_SETUP_CONSTRUCTOR_ARGS(min,max,d) \
408 OT_SETUP_ALL(d) \
409 OT_CHECK_NUM_ARGS(min,99); \
410

◆ OT_SETUP_doc

#define OT_SETUP_doc   __attribute__((unused)) const char *__doc = __func__;

Definition at line 453 of file LibMkKernel_rb.h.

◆ OT_SETUP_hdl_tmpl

#define OT_SETUP_hdl_tmpl ( cls)
Value:
cls##_type hdl = cls##_VAL2(OT_SELF); \
if (hdl == NULL) { \
OT_ERROR_VAR_DEFAULT(MK(InitError),"'%s' hdl is NULL",OT_LNG_OBJ_CLASSNAME(OT_SELF)); \
} \
SetupRtFromObj_XN(hdl); \
#define OT_SELF
#define OT_LNG_OBJ_CLASSNAME(obj)

Definition at line 442 of file LibMkKernel_rb.h.

442#define OT_SETUP_hdl_tmpl(cls) \
443 cls##_type hdl = cls##_VAL2(OT_SELF); \
444 if (hdl == NULL) { \
445 OT_ERROR_VAR_DEFAULT(MK(InitError),"'%s' hdl is NULL",OT_LNG_OBJ_CLASSNAME(OT_SELF)); \
446 } \
447 SetupRtFromObj_XN(hdl); \
448

◆ OT_SETUP_hdl_tmpl__null_allow

#define OT_SETUP_hdl_tmpl__null_allow ( cls)
Value:
cls##_type hdl = cls##_VAL2(OT_SELF); \
SetupRtFromObj_X(hdl); \

Definition at line 449 of file LibMkKernel_rb.h.

449#define OT_SETUP_hdl_tmpl__null_allow(cls) \
450 cls##_type hdl = cls##_VAL2(OT_SELF); \
451 SetupRtFromObj_X(hdl); \
452

◆ OT_SETUP_NOARG

#define OT_SETUP_NOARG ( d)
Value:
OT_CHECK_NUM_ARGS(0,0); \

Definition at line 419 of file LibMkKernel_rb.h.

419#define OT_SETUP_NOARG(d) \
420 OT_SETUP_ALL(d) \
421 OT_CHECK_NUM_ARGS(0,0); \
422

◆ OT_SETUP_ONEARG

#define OT_SETUP_ONEARG ( d)
Value:
OT_CHECK_NUM_ARGS(1,1); \

Definition at line 415 of file LibMkKernel_rb.h.

415#define OT_SETUP_ONEARG(d) \
416 OT_SETUP_ALL(d) \
417 OT_CHECK_NUM_ARGS(1,1); \
418

◆ OT_SETUP_VARARGS

#define OT_SETUP_VARARGS ( min,
max,
d )
Value:
OT_CHECK_NUM_ARGS(min,max); \

Definition at line 411 of file LibMkKernel_rb.h.

411#define OT_SETUP_VARARGS(min,max,d) \
412 OT_SETUP_ALL(d) \
413 OT_CHECK_NUM_ARGS(min,max); \
414

◆ OT_TMP_BFL_OBJ

#define OT_TMP_BFL_OBJ ( val)
Value:
MK(MkBufferListC_ObjNew)(MK_RT_CALL val)

Definition at line 200 of file LibMkKernel_rb.h.

◆ OT_TMP_BIN_OBJ

#define OT_TMP_BIN_OBJ ( val,
len )
Value:
BIN2VAL(val,len)

Definition at line 548 of file LibMkKernel_rb.h.

◆ OT_TMP_BOL_OBJ

#define OT_TMP_BOL_OBJ ( val)
Value:
BOL2VAL(val)

Definition at line 541 of file LibMkKernel_rb.h.

◆ OT_TMP_BUF_OBJ

#define OT_TMP_BUF_OBJ ( val)
Value:
MK(MkBufferC_ObjNew)(MK_RT_CALL val)

Definition at line 228 of file LibMkKernel_rb.h.

◆ OT_TMP_BUS_OBJ

#define OT_TMP_BUS_OBJ ( val)
Value:
MK(MkBufferStreamC_ObjNew)(MK_RT_CALL val)

Definition at line 256 of file LibMkKernel_rb.h.

◆ OT_TMP_DBL_OBJ

#define OT_TMP_DBL_OBJ ( val)
Value:
DBL2VAL(val)

Definition at line 547 of file LibMkKernel_rb.h.

◆ OT_TMP_ERR_OBJ

#define OT_TMP_ERR_OBJ ( val)
Value:
MK(MkErrorC_ObjNew)(MK_RT_CALL val)

Definition at line 284 of file LibMkKernel_rb.h.

◆ OT_TMP_FLT_OBJ

#define OT_TMP_FLT_OBJ ( val)
Value:
FLT2VAL(val)

Definition at line 546 of file LibMkKernel_rb.h.

◆ OT_TMP_I16_OBJ

#define OT_TMP_I16_OBJ ( val)
Value:
I162VAL(val)

Definition at line 543 of file LibMkKernel_rb.h.

◆ OT_TMP_I32_OBJ

#define OT_TMP_I32_OBJ ( val)
Value:
INT2VAL(val)

Definition at line 544 of file LibMkKernel_rb.h.

◆ OT_TMP_I64_OBJ

#define OT_TMP_I64_OBJ ( val)
Value:
I642VAL(val)

Definition at line 545 of file LibMkKernel_rb.h.

◆ OT_TMP_I8_OBJ

#define OT_TMP_I8_OBJ ( val)
Value:
I82VAL(val)

Definition at line 542 of file LibMkKernel_rb.h.

◆ OT_TMP_LFL_OBJ

#define OT_TMP_LFL_OBJ ( val)
Value:
MK(MkLogFileC_ObjNew)(MK_RT_CALL val)

Definition at line 312 of file LibMkKernel_rb.h.

◆ OT_TMP_OBJ_OBJ

#define OT_TMP_OBJ_OBJ ( val)
Value:
MK(MkObjectC_ObjNew)(MK_RT_CALL val)

Definition at line 340 of file LibMkKernel_rb.h.

◆ OT_TMP_RT_OBJ

#define OT_TMP_RT_OBJ ( val)
Value:
MK(MkRuntimeC_ObjNew)(MK_RT_CALL val)

Definition at line 368 of file LibMkKernel_rb.h.

◆ OT_TMP_STR_OBJ

#define OT_TMP_STR_OBJ ( val)
Value:

Definition at line 549 of file LibMkKernel_rb.h.

◆ OtClass_ARGS

#define OtClass_ARGS   int objc, VALUE *objv, VALUE self

Definition at line 155 of file LibMkKernel_rb.h.

◆ OtClass_ARGS_CALL

#define OtClass_ARGS_CALL   objc, objv, self

Definition at line 156 of file LibMkKernel_rb.h.

◆ printLngObj

#define printLngObj ( val)
Value:
MK(_printObj)(MK_RT_CALL val,__func__);

Definition at line 600 of file LibMkKernel_rb.h.

◆ PTR2VAL

#define PTR2VAL ( nat)
Value:
MK(_PTR2VAL)(nat)

Definition at line 738 of file LibMkKernel_rb.h.

◆ SETUP_ARGS

#define SETUP_ARGS   MK_RT_ARGS LNG_ARGS

Definition at line 425 of file LibMkKernel_rb.h.

◆ SETUP_ARGS_CALL

#define SETUP_ARGS_CALL   MK_RT_CALL LNG_ARGS_CALL

Definition at line 426 of file LibMkKernel_rb.h.

◆ STR2VAL

#define STR2VAL ( ptr,
len )
Value:
rb_str_new((const char*)ptr,(long)len)

Definition at line 749 of file LibMkKernel_rb.h.

◆ STRN2VAL

#define STRN2VAL ( nat)
Value:
MK(_STRN2VAL)(nat)

Definition at line 747 of file LibMkKernel_rb.h.

◆ VAL2BFL

#define VAL2BFL ( val)
Value:
((MK_BFL)DATA_PTR(val))
struct MkBufferListS * MK_BFL

Definition at line 207 of file LibMkKernel_rb.h.

◆ VAL2BIN

#define VAL2BIN ( val)
Value:
(MK_BINN)RSTRING_PTR(val),RSTRING_LEN(val)

Definition at line 732 of file LibMkKernel_rb.h.

◆ VAL2BOL

#define VAL2BOL ( val)
Value:
(MK_BOL)MK(_VAL2BOL)(val)
unsigned char MK_BOL

Definition at line 725 of file LibMkKernel_rb.h.

◆ VAL2BUF

#define VAL2BUF ( val)
Value:
((MK_BUF)DATA_PTR(val))
struct MkBufferS * MK_BUF

Definition at line 235 of file LibMkKernel_rb.h.

◆ VAL2BUS

#define VAL2BUS ( val)
Value:
((MK_BUS)DATA_PTR(val))
struct MkBufferStreamS * MK_BUS

Definition at line 263 of file LibMkKernel_rb.h.

◆ VAL2DBL

#define VAL2DBL ( val)
Value:
(MK_DBL)NUM2DBL(val)
double MK_DBL

Definition at line 730 of file LibMkKernel_rb.h.

◆ VAL2ERR

#define VAL2ERR ( val)
Value:
((MK_ERR)DATA_PTR(val))
struct MkErrorS * MK_ERR

Definition at line 291 of file LibMkKernel_rb.h.

◆ VAL2FLT

#define VAL2FLT ( val)
Value:
(MK_FLT)NUM2DBL(val)
float MK_FLT

Definition at line 729 of file LibMkKernel_rb.h.

◆ VAL2I32

#define VAL2I32 ( val)
Value:
(MK_I32)NUM2INT(val)

Definition at line 727 of file LibMkKernel_rb.h.

◆ VAL2I64

#define VAL2I64 ( val)
Value:
(MK_I64)NUM2LL(val)

Definition at line 728 of file LibMkKernel_rb.h.

◆ VAL2I8

#define VAL2I8 ( val)
Value:
(MK_I8)NUM2CHR(val)

Definition at line 724 of file LibMkKernel_rb.h.

◆ VAL2LFL

#define VAL2LFL ( val)
Value:
((MK_LFL)DATA_PTR(val))
struct MkLogFileS * MK_LFL

Definition at line 319 of file LibMkKernel_rb.h.

◆ VAL2LONG

#define VAL2LONG ( val)
Value:
NUM2LONG(val)

Definition at line 735 of file LibMkKernel_rb.h.

◆ VAL2MkBinaryR

#define VAL2MkBinaryR ( _obj)
Value:
({ \
OT_OBJ_T obj=_obj; \
MK_BIN bin=NULL; \
MK_SIZE len=0; \
if (!OT_LNG_IS_NULL(obj)) { \
if (RB_TYPE_P(obj, T_STRING)) { \
bin = (MK_BIN)RSTRING_PTR(obj); \
len = (MK_SIZE)RSTRING_LEN(obj); \
} else { \
OT_ERROR_TYPE("parameter '" #_obj "' must be a 'byte-array'."); \
} \
} \
MkBinaryCreate(len,bin); \
})
#define OT_LNG_IS_NULL(val)

Definition at line 776 of file LibMkKernel_rb.h.

776#define VAL2MkBinaryR(_obj) ({ \
777 OT_OBJ_T obj=_obj; \
778 MK_BIN bin=NULL; \
779 MK_SIZE len=0; \
780 if (!OT_LNG_IS_NULL(obj)) { \
781 if (RB_TYPE_P(obj, T_STRING)) { \
782 bin = (MK_BIN)RSTRING_PTR(obj); \
783 len = (MK_SIZE)RSTRING_LEN(obj); \
784 } else { \
785 OT_ERROR_TYPE("parameter '" #_obj "' must be a 'byte-array'."); \
786 } \
787 } \
788 MkBinaryCreate(len,bin); \
789})

◆ VAL2MkStringR

#define VAL2MkStringR ( _obj)
Value:
({ \
OT_OBJ_T obj=_obj; \
MK_STRN str=NULL; \
MK_NUM len=0; \
if (!OT_LNG_IS_NULL(obj)) { \
str=RSTRING_PTR(obj); \
len=RSTRING_LENINT(obj); \
} \
MkStringCreate(len,str); \
})
int32_t MK_NUM

Definition at line 799 of file LibMkKernel_rb.h.

799#define VAL2MkStringR(_obj) ({ \
800 OT_OBJ_T obj=_obj; \
801 MK_STRN str=NULL; \
802 MK_NUM len=0; \
803 if (!OT_LNG_IS_NULL(obj)) { \
804 str=RSTRING_PTR(obj); \
805 len=RSTRING_LENINT(obj); \
806 } \
807 MkStringCreate(len,str); \
808})

◆ VAL2MNG

#define VAL2MNG ( val)
Value:
(MK_MNG)DATA_PTR(val)
MK_PTRB * MK_MNG

Definition at line 736 of file LibMkKernel_rb.h.

◆ VAL2OBJ

#define VAL2OBJ ( val)
Value:
((MK_OBJ)DATA_PTR(val))

Definition at line 347 of file LibMkKernel_rb.h.

◆ VAL2PTR

#define VAL2PTR ( val)
Value:
(MK_PTR)(val)
MK_PTRB * MK_PTR

Definition at line 733 of file LibMkKernel_rb.h.

◆ VAL2REF

#define VAL2REF ( val)
Value:
(MK_PTR)(val)

Definition at line 734 of file LibMkKernel_rb.h.

◆ VAL2RT

#define VAL2RT ( val)
Value:
((MK_RT)DATA_PTR(val))
struct MkRuntimeS * MK_RT

Definition at line 375 of file LibMkKernel_rb.h.

◆ VAL2SRT

#define VAL2SRT ( val)
Value:
(MK_I16)NUM2SHORT(val)

Definition at line 726 of file LibMkKernel_rb.h.

◆ VAL2STRN

#define VAL2STRN ( val)
Value:
(MK_STRN)RSTRING_PTR(rb_obj_as_string(val))

Definition at line 731 of file LibMkKernel_rb.h.

Typedef Documentation

◆ rbmkkernel_procCallF

typedef VALUE(* rbmkkernel_procCallF) (VALUE args)

Definition at line 614 of file LibMkKernel_rb.h.

Function Documentation

◆ rbmkkernel__printObj()

MK_RB_EXTERN void rbmkkernel__printObj ( MK_RT mkrt,
OT_OBJ_T ,
MK_STRN  )

◆ rbmkkernel__PTR2VAL()

static OT_OBJ_T rbmkkernel__PTR2VAL ( MK_PTR nat)
inlinestatic

Definition at line 757 of file LibMkKernel_rb.h.

757{return (nat != NULL ? (OT_OBJ_T)(nat) : Qnil);}

◆ rbmkkernel__STRN2VAL()

static MK_ARTIFICIAL OT_OBJ_T rbmkkernel__STRN2VAL ( MK_STRN val)
inlinestatic

Definition at line 759 of file LibMkKernel_rb.h.

759 {
760 // mark=MK_NULL
761 if (val==MK_NULL) {
762 return MK(NULL_STR);
763 } else {
764 return rb_str_new_cstr(val);
765 }
766}
#define MK_NULL

◆ rbmkkernel__VAL2BOL()

static bool rbmkkernel__VAL2BOL ( OT_OBJ_T val)
inlinestatic

Definition at line 756 of file LibMkKernel_rb.h.

756{return RTEST(val); }

◆ rbmkkernel_AtomCreate()

static VALUE rbmkkernel_AtomCreate ( MkObjectC_ARGS )
inlinestatic

Definition at line 849 of file LibMkKernel_rb.h.

850{
851 MK_MNG mng = VAL2MNG(self);
852 if (mng == 0L) {
853 rb_raise(rb_eRuntimeError, "MkObjectC: the constructor has a NULL pointer");
855 }
856 MK_OBJ obj = MkObj((MK_MNG)mng);
857 if (obj == NULL) {
858 rb_raise(rb_eRuntimeError, "MkObjectC: signature check failed");
860 }
861 MK_PTR ref = VAL2PTR(self);
862 if (ref == NULL) {
863 rb_raise(rb_eRuntimeError, "MkObjectC: unable to create 'NewGlobalRef'");
865 }
866 MkRefIncrSelf(obj,ref,NULL);
867 // incr GC reference of SELF → decr in "AtomDeleteHard"
868 INCR_REF((VALUE*)&obj->self);
869 return Qnil;
870}
#define INCR_REF(valP)
#define VAL2PTR(val)
static MK_OBJ MkObj(MK_MNG mng)
static void MkRefIncrSelf(MK_OBJ const obj, MK_PTR const self, MK_PTR const env)
MK_PTR self

◆ rbmkkernel_AtomDelete()

static void rbmkkernel_AtomDelete ( MK_RT mkrt,
MK_MNG mng )
inlinestatic

Definition at line 913 of file LibMkKernel_rb.h.

914{
915 // object
916 MK_OBJ obj = MkObj(mng);
917 if (obj == NULL) return;
918 // delete link between META and RUBY
920}
#define MkRefDecrWithUnlinkSelf(...)

◆ rbmkkernel_AtomDeleteHard()

static void rbmkkernel_AtomDeleteHard ( MK_RT mkrt,
OT_OBJ_T self )
inlinestatic

Definition at line 874 of file LibMkKernel_rb.h.

875{
876 if (OT_LNG_IS_NULL(self)) return;
877 // self
878 MK_MNG mng = VAL2MNG(self);
879 if (mng == NULL) return;
880 // object
881 MK_OBJ obj = MkObj(mng);
882 if (obj == NULL) return;
883 // delete link between SELF and META
884 // MkSelfUnlink(obj); → this does NOT work because the "self" is already NULL
885 DATA_PTR(self) = NULL;
886 // decr GC reference of SELF → incr in "AtomCreate"
887 DECR_REF((VALUE*)&obj->self);
888 // delete link between META and RELF
890}
#define DECR_REF(valP)
#define MkRefDecrWithoutSelf(...)

◆ rbmkkernel_AtomDeleteSoft()

static void rbmkkernel_AtomDeleteSoft ( MK_MNG mng)
inlinestatic

Definition at line 894 of file LibMkKernel_rb.h.

895{
896 MK_OBJ obj = MkObj(mng);
897//printXV(obj,"111111111111111111 → mng=%p, obj=%p, self=%#lx\n", mng , obj, (obj?OBJ2VAL(obj):0))
898 if (obj == NULL) return;
899 MkRtSetup_ON(obj);
900
901// if (MkBflCheck(obj)) {
902// printTxt(MkObjectToName(obj));
903// printSTACK_1(obj);
904// }
905
906 // delete link between MQ and RUBY
907//printV("mng<%p>, valid<%d>\n",mng,MkObjCheck(mng))
909}
#define MkRtSetup_ON(o)

◆ rbmkkernel_AtomDispose()

static void rbmkkernel_AtomDispose ( MK_RT mkrt,
MK_MNG mng )
inlinestatic

Definition at line 924 of file LibMkKernel_rb.h.

925{
926 // object
927 MK_OBJ obj = MkObj(mng);
928 if (obj == NULL) return;
929 // delete link between META and RUBY
931}

◆ rbmkkernel_AtomObjCrt()

static VALUE rbmkkernel_AtomObjCrt ( OT_CLS_T clazz,
MK_PTR type,
MK_MNG mng,
int objc,
VALUE * objv )
inlinestatic

Definition at line 841 of file LibMkKernel_rb.h.

842{
843 OT_OBJ_T self = TypedData_Wrap_Struct (clazz, type, mng);
844 rb_obj_call_init(self, objc, objv);
845 rb_gc_register_mark_object(self);
846 return self;
847}

◆ rbmkkernel_AtomObjNew()

static VALUE rbmkkernel_AtomObjNew ( MK_RT mkrt,
MK_OBJ obj )
inlinestatic

Definition at line 830 of file LibMkKernel_rb.h.

831{
832 if (obj == NULL) return Qnil;
833 #define __doc "AtomObjNew"
834 MK_PTR self = NULL;
835 MkErrorC_Check(obj, MkSelfNew(obj,&self,NULL))
836 return (VALUE) self;
837 #undef __doc
838}
#define MkErrorC_Check(mng, PROC)
#define MkSelfNew(...)

◆ rbmkkernel_CallFree()

void rbmkkernel_CallFree ( MK_PTR * callP)

◆ rbmkkernel_CallFreeOnce()

void rbmkkernel_CallFreeOnce ( MK_PTR * callP)

◆ rbmkkernel_Get_Call_All()

MK_RB_EXTERN void rbmkkernel_Get_Call_All ( int ,
MK_STRN * ,
MK_STRN * ,
MK_I32 *  )

◆ rbmkkernel_Get_Call_Line()

MK_RB_EXTERN MK_I32 rbmkkernel_Get_Call_Line ( int ,
VALUE *  )

◆ rbmkkernel_Get_Call_Proc()

MK_RB_EXTERN MK_STRN rbmkkernel_Get_Call_Proc ( int ,
VALUE *  )

◆ rbmkkernel_Get_Call_Script()

MK_RB_EXTERN MK_STRN rbmkkernel_Get_Call_Script ( int ,
VALUE *  )

◆ rbmkkernel_Get_Call_Stack()

void rbmkkernel_Get_Call_Stack ( MK_RT mkrt,
MK_ERR const ,
int  )

◆ rbmkkernel_MkBufferC_ObjNew()

static MK_ARTIFICIAL OT_OBJ_T rbmkkernel_MkBufferC_ObjNew ( MK_RT mkrt,
MkBufferC_type hdl )
inlinestatic

Definition at line 230 of file LibMkKernel_rb.h.

230 {
231 return hdl ? MK(AtomObjNew) (MK_RT_CALL MkBufferC_X2obj(hdl)) : MkBufferC_MK_NULL;
232 }
#define MkBufferC_MK_NULL
#define MkBufferC_X2obj(x)

◆ rbmkkernel_MkBufferListC_ObjNew()

static MK_ARTIFICIAL OT_OBJ_T rbmkkernel_MkBufferListC_ObjNew ( MK_RT mkrt,
MkBufferListC_type hdl )
inlinestatic

Definition at line 202 of file LibMkKernel_rb.h.

202 {
203 return hdl ? MK(AtomObjNew) (MK_RT_CALL MkBufferListC_X2obj(hdl)) : MkBufferListC_MK_NULL;
204 }
#define MkBufferListC_MK_NULL
#define MkBufferListC_X2obj(x)

◆ rbmkkernel_MkBufferStreamC_ObjNew()

static MK_ARTIFICIAL OT_OBJ_T rbmkkernel_MkBufferStreamC_ObjNew ( MK_RT mkrt,
MkBufferStreamC_type hdl )
inlinestatic

Definition at line 258 of file LibMkKernel_rb.h.

258 {
259 return hdl ? MK(AtomObjNew) (MK_RT_CALL MkBufferStreamC_X2obj(hdl)) : MkBufferStreamC_MK_NULL;
260 }
#define MkBufferStreamC_MK_NULL
#define MkBufferStreamC_X2obj(x)

◆ rbmkkernel_MkErrorC_ObjNew()

static MK_ARTIFICIAL OT_OBJ_T rbmkkernel_MkErrorC_ObjNew ( MK_RT mkrt,
MkErrorC_type hdl )
inlinestatic

Definition at line 286 of file LibMkKernel_rb.h.

286 {
287 return hdl ? MK(AtomObjNew) (MK_RT_CALL MkErrorC_X2obj(hdl)) : MkErrorC_MK_NULL;
288 }
#define MkErrorC_MK_NULL
#define MkErrorC_X2obj(x)

◆ rbmkkernel_MkLogFileC_ObjNew()

static MK_ARTIFICIAL OT_OBJ_T rbmkkernel_MkLogFileC_ObjNew ( MK_RT mkrt,
MkLogFileC_type hdl )
inlinestatic

Definition at line 314 of file LibMkKernel_rb.h.

314 {
315 return hdl ? MK(AtomObjNew) (MK_RT_CALL MkLogFileC_X2obj(hdl)) : MkLogFileC_MK_NULL;
316 }
#define MkLogFileC_MK_NULL
#define MkLogFileC_X2obj(x)

◆ rbmkkernel_MkObjectC_ObjNew()

static MK_ARTIFICIAL OT_OBJ_T rbmkkernel_MkObjectC_ObjNew ( MK_RT mkrt,
MkObjectC_type hdl )
inlinestatic

Definition at line 342 of file LibMkKernel_rb.h.

342 {
343 return hdl ? MK(AtomObjNew) (MK_RT_CALL MkObjectC_X2obj(hdl)) : MkObjectC_MK_NULL;
344 }
#define MkObjectC_MK_NULL
#define MkObjectC_X2obj(x)

◆ rbmkkernel_MkRuntimeC_ObjNew()

static MK_ARTIFICIAL OT_OBJ_T rbmkkernel_MkRuntimeC_ObjNew ( MK_RT mkrt,
MkRuntimeC_type hdl )
inlinestatic

Definition at line 370 of file LibMkKernel_rb.h.

370 {
371 return hdl ? MK(AtomObjNew) (MK_RT_CALL MkRuntimeC_X2obj(hdl)) : MkRuntimeC_MK_NULL;
372 }
#define MkRuntimeC_MK_NULL
#define MkRuntimeC_X2obj(x)

◆ rbmkkernel_Obj_AsSTR_COPY()

MK_RB_EXTERN enum MkErrorE rbmkkernel_Obj_AsSTR_COPY ( OT_Check_ARGS ,
MK_STR ,
size_t  )

◆ rbmkkernel_OtNewInstanceWithOneArg()

static VALUE rbmkkernel_OtNewInstanceWithOneArg ( VALUE type,
VALUE arg )
inlinestatic

Definition at line 606 of file LibMkKernel_rb.h.

606 {
607 VALUE args[1];
608 args[0] = arg;
609 VALUE ret = rb_class_new_instance(1,args,type);
610 return ret;
611}

◆ rbmkkernel_printLNG_STACK()

void rbmkkernel_printLNG_STACK ( MK_RT mkrt,
MK_MNG mng )

Variable Documentation

◆ rbmkkernel_cEnum

MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_cEnum

Definition at line 716 of file LibMkKernel_rb.h.

◆ rbmkkernel_globalRef

MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_globalRef

Definition at line 715 of file LibMkKernel_rb.h.

◆ rbmkkernel_id_bind

MK_RB_EXTERN_DATA ID rbmkkernel_id_bind

Definition at line 824 of file LibMkKernel_rb.h.

◆ rbmkkernel_id_clone

MK_RB_EXTERN_DATA ID rbmkkernel_id_clone

Definition at line 822 of file LibMkKernel_rb.h.

◆ rbmkkernel_id_enum_attr

MK_RB_EXTERN_DATA ID rbmkkernel_id_enum_attr

Definition at line 826 of file LibMkKernel_rb.h.

◆ rbmkkernel_id_receiver

MK_RB_EXTERN_DATA ID rbmkkernel_id_receiver

Definition at line 825 of file LibMkKernel_rb.h.

◆ rbmkkernel_id_to_i

MK_RB_EXTERN_DATA ID rbmkkernel_id_to_i

Definition at line 827 of file LibMkKernel_rb.h.

◆ rbmkkernel_id_unbind

MK_RB_EXTERN_DATA ID rbmkkernel_id_unbind

Definition at line 823 of file LibMkKernel_rb.h.

◆ rbmkkernel_InitError

MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_InitError

Definition at line 177 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkBufferC

MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_MkBufferC

Definition at line 212 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkBufferC_MK_NULL

MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_MkBufferC_MK_NULL

Definition at line 217 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkBufferListC

MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_MkBufferListC

Definition at line 184 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkBufferListC_MK_NULL

MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_MkBufferListC_MK_NULL

Definition at line 189 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkBufferStreamC

MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_MkBufferStreamC

Definition at line 240 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkBufferStreamC_MK_NULL

MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_MkBufferStreamC_MK_NULL

Definition at line 245 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkErrorC

MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_MkErrorC

Definition at line 268 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkErrorC_MK_NULL

MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_MkErrorC_MK_NULL

Definition at line 273 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkErrorE

MK_RB_EXTERN_DATA VALUE rbmkkernel_MkErrorE

Definition at line 639 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkIdSE

MK_RB_EXTERN_DATA VALUE rbmkkernel_MkIdSE

Definition at line 640 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkKernel

MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_MkKernel

Definition at line 176 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkLogFileC

MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_MkLogFileC

Definition at line 296 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkLogFileC_MK_NULL

MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_MkLogFileC_MK_NULL

Definition at line 301 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkObjectC

MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_MkObjectC

Definition at line 324 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkObjectC_MK_NULL

MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_MkObjectC_MK_NULL

Definition at line 329 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkRuntimeC

MK_RB_EXTERN_DATA OT_CLS_T rbmkkernel_MkRuntimeC

Definition at line 352 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkRuntimeC_MK_NULL

MK_RB_EXTERN_DATA OT_OBJ_T rbmkkernel_MkRuntimeC_MK_NULL

Definition at line 357 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkTimeoutE

MK_RB_EXTERN_DATA VALUE rbmkkernel_MkTimeoutE

Definition at line 641 of file LibMkKernel_rb.h.

◆ rbmkkernel_MkTypeE

MK_RB_EXTERN_DATA VALUE rbmkkernel_MkTypeE

Definition at line 642 of file LibMkKernel_rb.h.

◆ rbmkkernel_NULL_STR

MK_RB_EXTERN_DATA VALUE rbmkkernel_NULL_STR

Definition at line 758 of file LibMkKernel_rb.h.