theLink 10.0
Loading...
Searching...
No Matches
LibMqMsgque_atl.h File Reference

tag: nhi1-release-250425 More...

+ Include dependency graph for LibMqMsgque_atl.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  OT_MQ_RT_S
 

Macros

#define HEADER
 
#define MQ_ATL_EXTERN
 static library
 
#define MQ_ATL_EXTERN_DATA   extern
 
#define MQ(n)
 
#define NS(n)
 
#define MqContextC_ARGS   OBJECT_ARGS
 
#define MqContextC_ARGS_CALL   OBJECT_ARGS_CALL
 
#define MqDumpC_ARGS   OBJECT_ARGS
 
#define MqDumpC_ARGS_CALL   OBJECT_ARGS_CALL
 
#define MqFactoryC_ARGS   OBJECT_ARGS
 
#define MqFactoryC_ARGS_CALL   OBJECT_ARGS_CALL
 
#define OT_MQ_RT_SIG   0x22514966
 
#define regTclObj(t)
 
#define regTclObj2(t, v)
 
#define regTclCmd(t)
 
#define regTclArray(m, t)
 
#define OT_MQ_ARGS   OT_MQ_RT_T amqrt, OT_MK_RT_T amkrt, OT_ENV_T interp, MK_RT_ARGS
 
#define OT_MQ_CALL   amqrt, amkrt, interp, MK_RT_CALL
 
#define SETUP_amqrt_2(r)
 
#define SETUP_amqrt(r)
 
#define MqContextC_rt   (*amqrt)
 
#define MqContextC_lngO   (MqContextC_rt.AtlMqContextC)
 
#define MqContextCTT   (MqContextC_rt.AtlMqContextCTT)
 
#define MqContextC_ObjNew(nat)
 
#define OT_TMP_CTX_OBJ(nat)
 
#define OT_retObj_SET_CTX(nat)
 
#define MqDumpC_rt   (*amqrt)
 
#define MqDumpC_lngO   (MqDumpC_rt.AtlMqDumpC)
 
#define MqDumpCTT   (MqDumpC_rt.AtlMqDumpCTT)
 
#define MqDumpC_ObjNew(nat)
 
#define OT_TMP_DMP_OBJ(nat)
 
#define OT_retObj_SET_DMP(nat)
 
#define MqFactoryC_rt   (*amqrt)
 
#define MqFactoryC_lngO   (MqFactoryC_rt.AtlMqFactoryC)
 
#define MqFactoryCTT   (MqFactoryC_rt.AtlMqFactoryCTT)
 
#define MqFactoryC_ObjNew(nat)
 
#define OT_TMP_FCT_OBJ(nat)
 
#define OT_retObj_SET_FCT(nat)
 
#define Get_MqIdentE_FromObj_path   MQ(Get_MqIdentE_FromObj)
 
#define Get_MqSlaveE_FromObj_path   MQ(Get_MqSlaveE_FromObj)
 
#define Get_MqStartE_FromObj_path   MQ(Get_MqStartE_FromObj)
 
#define Get_MqStatusIsEF_FromObj_path   MQ(Get_MqStatusIsEF_FromObj)
 
#define Get_MqWaitOnEventE_FromObj_path   MQ(Get_MqWaitOnEventE_FromObj)
 
#define OT_NEW_Mq_enum_OBJ(typ, val)
 

Typedefs

typedef OT_MQ_RT_SOT_MQ_RT_T
 

Functions

int atlmqmsgque_pMqContextC_Init (OT_MQ_ARGS OT_NS_T)
 
static MK_ARTIFICIAL OT_OBJ_T atlmqmsgque_MqContextC_ObjNew (OT_MQ_ARGS MqContextC_type hdl)
 
int atlmqmsgque_pMqDumpC_Init (OT_MQ_ARGS OT_NS_T)
 
static MK_ARTIFICIAL OT_OBJ_T atlmqmsgque_MqDumpC_ObjNew (OT_MQ_ARGS MqDumpC_type hdl)
 
int atlmqmsgque_pMqFactoryC_Init (OT_MQ_ARGS OT_NS_T)
 
static MK_ARTIFICIAL OT_OBJ_T atlmqmsgque_MqFactoryC_ObjNew (OT_MQ_ARGS MqFactoryC_type hdl)
 
int atlmqmsgque_MqContextC_ReadLIST (MqContextC_ARGS)
 
int atlmqmsgque_MqContextC_ReadNEXT (MqContextC_ARGS)
 
void atlmqmsgque_ServiceFree (MQ_SERVICE_FREE_ARGS)
 
void atlmqmsgque_ServiceCopy (MQ_SERVICE_COPY_ARGS)
 
enum MkErrorE atlmqmsgque_ServiceCall (MQ_SERVICE_CALL_ARGS)
 
MQ_ATL_EXTERN int atlmqmsgque_Get_MqIdentE_FromObj (MK_RT mkrt, OT_ENV_T interp, OT_OBJ_T enumE, enum MqIdentE *ret)
 
MQ_ATL_EXTERN int atlmqmsgque_Get_MqSlaveE_FromObj (MK_RT mkrt, OT_ENV_T interp, OT_OBJ_T enumE, enum MqSlaveE *ret)
 
MQ_ATL_EXTERN int atlmqmsgque_Get_MqStartE_FromObj (MK_RT mkrt, OT_ENV_T interp, OT_OBJ_T enumE, enum MqStartE *ret)
 
MQ_ATL_EXTERN int atlmqmsgque_Get_MqStatusIsEF_FromObj (MK_RT mkrt, OT_ENV_T interp, OT_OBJ_T enumE, enum MqStatusIsEF *ret)
 
MQ_ATL_EXTERN int atlmqmsgque_Get_MqWaitOnEventE_FromObj (MK_RT mkrt, OT_ENV_T interp, OT_OBJ_T enumE, enum MqWaitOnEventE *ret)
 
MQ_ATL_EXTERN OT_OBJ_T atlmqmsgque_MqIdentE_ToString (const enum MqIdentE)
 
MQ_ATL_EXTERN OT_OBJ_T atlmqmsgque_MqSlaveE_ToString (const enum MqSlaveE)
 
MQ_ATL_EXTERN OT_OBJ_T atlmqmsgque_MqStartE_ToString (const enum MqStartE)
 
MQ_ATL_EXTERN OT_OBJ_T atlmqmsgque_MqStatusIsEF_ToString (const enum MqStatusIsEF)
 
MQ_ATL_EXTERN OT_OBJ_T atlmqmsgque_MqWaitOnEventE_ToString (const enum MqWaitOnEventE)
 

Variables

__thread OT_MQ_RT_S amqrtR
 

Detailed Description

tag: nhi1-release-250425

Definition in file LibMqMsgque_atl.h.

Macro Definition Documentation

◆ Get_MqIdentE_FromObj_path

#define Get_MqIdentE_FromObj_path   MQ(Get_MqIdentE_FromObj)

Definition at line 266 of file LibMqMsgque_atl.h.

◆ Get_MqSlaveE_FromObj_path

#define Get_MqSlaveE_FromObj_path   MQ(Get_MqSlaveE_FromObj)

Definition at line 269 of file LibMqMsgque_atl.h.

◆ Get_MqStartE_FromObj_path

#define Get_MqStartE_FromObj_path   MQ(Get_MqStartE_FromObj)

Definition at line 272 of file LibMqMsgque_atl.h.

◆ Get_MqStatusIsEF_FromObj_path

#define Get_MqStatusIsEF_FromObj_path   MQ(Get_MqStatusIsEF_FromObj)

Definition at line 275 of file LibMqMsgque_atl.h.

◆ Get_MqWaitOnEventE_FromObj_path

#define Get_MqWaitOnEventE_FromObj_path   MQ(Get_MqWaitOnEventE_FromObj)

Definition at line 278 of file LibMqMsgque_atl.h.

◆ HEADER

#define HEADER

Definition at line 24 of file LibMqMsgque_atl.h.

◆ MQ

#define MQ ( n)
Value:
atlmqmsgque_ ## n

Definition at line 75 of file LibMqMsgque_atl.h.

◆ MQ_ATL_EXTERN

#define MQ_ATL_EXTERN

static library

Definition at line 48 of file LibMqMsgque_atl.h.

◆ MQ_ATL_EXTERN_DATA

#define MQ_ATL_EXTERN_DATA   extern

Definition at line 71 of file LibMqMsgque_atl.h.

◆ MqContextC_ARGS

#define MqContextC_ARGS   OBJECT_ARGS

Definition at line 83 of file LibMqMsgque_atl.h.

◆ MqContextC_ARGS_CALL

#define MqContextC_ARGS_CALL   OBJECT_ARGS_CALL

Definition at line 84 of file LibMqMsgque_atl.h.

◆ MqContextC_lngO

#define MqContextC_lngO   (MqContextC_rt.AtlMqContextC)

Definition at line 171 of file LibMqMsgque_atl.h.

◆ MqContextC_ObjNew

#define MqContextC_ObjNew ( nat)
Value:
#define MqContextC_ObjNew(nat)
#define MQ(n)
#define OT_MQ_CALL

Definition at line 177 of file LibMqMsgque_atl.h.

◆ MqContextC_rt

#define MqContextC_rt   (*amqrt)

Definition at line 170 of file LibMqMsgque_atl.h.

◆ MqContextCTT

#define MqContextCTT   (MqContextC_rt.AtlMqContextCTT)

Definition at line 173 of file LibMqMsgque_atl.h.

◆ MqDumpC_ARGS

#define MqDumpC_ARGS   OBJECT_ARGS

Definition at line 85 of file LibMqMsgque_atl.h.

◆ MqDumpC_ARGS_CALL

#define MqDumpC_ARGS_CALL   OBJECT_ARGS_CALL

Definition at line 86 of file LibMqMsgque_atl.h.

◆ MqDumpC_lngO

#define MqDumpC_lngO   (MqDumpC_rt.AtlMqDumpC)

Definition at line 190 of file LibMqMsgque_atl.h.

◆ MqDumpC_ObjNew

#define MqDumpC_ObjNew ( nat)
Value:
#define MqDumpC_ObjNew(nat)

Definition at line 196 of file LibMqMsgque_atl.h.

◆ MqDumpC_rt

#define MqDumpC_rt   (*amqrt)

Definition at line 189 of file LibMqMsgque_atl.h.

◆ MqDumpCTT

#define MqDumpCTT   (MqDumpC_rt.AtlMqDumpCTT)

Definition at line 192 of file LibMqMsgque_atl.h.

◆ MqFactoryC_ARGS

#define MqFactoryC_ARGS   OBJECT_ARGS

Definition at line 87 of file LibMqMsgque_atl.h.

◆ MqFactoryC_ARGS_CALL

#define MqFactoryC_ARGS_CALL   OBJECT_ARGS_CALL

Definition at line 88 of file LibMqMsgque_atl.h.

◆ MqFactoryC_lngO

#define MqFactoryC_lngO   (MqFactoryC_rt.AtlMqFactoryC)

Definition at line 209 of file LibMqMsgque_atl.h.

◆ MqFactoryC_ObjNew

#define MqFactoryC_ObjNew ( nat)
Value:
#define MqFactoryC_ObjNew(nat)

Definition at line 215 of file LibMqMsgque_atl.h.

◆ MqFactoryC_rt

#define MqFactoryC_rt   (*amqrt)

Definition at line 208 of file LibMqMsgque_atl.h.

◆ MqFactoryCTT

#define MqFactoryCTT   (MqFactoryC_rt.AtlMqFactoryCTT)

Definition at line 211 of file LibMqMsgque_atl.h.

◆ NS

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

Definition at line 77 of file LibMqMsgque_atl.h.

◆ OT_MQ_ARGS

#define OT_MQ_ARGS   OT_MQ_RT_T amqrt, OT_MK_RT_T amkrt, OT_ENV_T interp, MK_RT_ARGS

Definition at line 145 of file LibMqMsgque_atl.h.

◆ OT_MQ_CALL

#define OT_MQ_CALL   amqrt, amkrt, interp, MK_RT_CALL

Definition at line 146 of file LibMqMsgque_atl.h.

◆ OT_MQ_RT_SIG

#define OT_MQ_RT_SIG   0x22514966

Definition at line 103 of file LibMqMsgque_atl.h.

◆ OT_NEW_Mq_enum_OBJ

#define OT_NEW_Mq_enum_OBJ ( typ,
val )
Value:
MQ(Mq ## typ ## _ToString(val))

Definition at line 284 of file LibMqMsgque_atl.h.

◆ OT_retObj_SET_CTX

#define OT_retObj_SET_CTX ( nat)
Value:
retObj = MqContextC_ObjNew (nat)

Definition at line 179 of file LibMqMsgque_atl.h.

◆ OT_retObj_SET_DMP

#define OT_retObj_SET_DMP ( nat)
Value:
retObj = MqDumpC_ObjNew (nat)

Definition at line 198 of file LibMqMsgque_atl.h.

◆ OT_retObj_SET_FCT

#define OT_retObj_SET_FCT ( nat)
Value:
retObj = MqFactoryC_ObjNew (nat)

Definition at line 217 of file LibMqMsgque_atl.h.

◆ OT_TMP_CTX_OBJ

#define OT_TMP_CTX_OBJ ( nat)
Value:

Definition at line 178 of file LibMqMsgque_atl.h.

◆ OT_TMP_DMP_OBJ

#define OT_TMP_DMP_OBJ ( nat)
Value:

Definition at line 197 of file LibMqMsgque_atl.h.

◆ OT_TMP_FCT_OBJ

#define OT_TMP_FCT_OBJ ( nat)
Value:

Definition at line 216 of file LibMqMsgque_atl.h.

◆ regTclArray

#define regTclArray ( m,
t )
Value:
MOX_OBJ_T OT_OBJ_T
#define m

Definition at line 116 of file LibMqMsgque_atl.h.

◆ regTclCmd

#define regTclCmd ( t)
Value:

Definition at line 115 of file LibMqMsgque_atl.h.

◆ regTclObj

#define regTclObj ( t)
Value:

Definition at line 113 of file LibMqMsgque_atl.h.

◆ regTclObj2

#define regTclObj2 ( t,
v )
Value:

Definition at line 114 of file LibMqMsgque_atl.h.

◆ SETUP_amqrt

#define SETUP_amqrt ( r)
Value:
SETUP_amqrt_2(r)
#define MqRtSetup_NULL

Definition at line 156 of file LibMqMsgque_atl.h.

156#define SETUP_amqrt(r) MqRtSetup_NULL; \
157 SETUP_amqrt_2(r)

◆ SETUP_amqrt_2

#define SETUP_amqrt_2 ( r)
Value:
MK_UNUSED OT_MQ_RT_T amqrt = (r) ? (r) : &amqrtR; \
assert(amqrt && amqrt->signature == OT_MQ_RT_SIG); \
MK_UNUSED OT_MK_RT_T amkrt = amqrt->amkrt; \
assert(amkrt && amkrt->signature == OT_MK_RT_SIG); \
MK_UNUSED OT_ENV_T interp = amqrt->interp; \
MK_UNUSED MOX_RT_T moxrt = amkrt->moxrt; \
assert(moxrt && moxrt->signature == MOX_RT_SIG);
MOX_ENV_T OT_ENV_T
#define OT_MK_RT_SIG
__thread OT_MQ_RT_S amqrtR
#define OT_MQ_RT_SIG
#define MK_UNUSED

Definition at line 148 of file LibMqMsgque_atl.h.

148#define SETUP_amqrt_2(r) MK_UNUSED OT_MQ_RT_T amqrt = (r) ? (r) : &amqrtR; \
149 assert(amqrt && amqrt->signature == OT_MQ_RT_SIG); \
150 MK_UNUSED OT_MK_RT_T amkrt = amqrt->amkrt; \
151 assert(amkrt && amkrt->signature == OT_MK_RT_SIG); \
152 MK_UNUSED OT_ENV_T interp = amqrt->interp; \
153 MK_UNUSED MOX_RT_T moxrt = amkrt->moxrt; \
154 assert(moxrt && moxrt->signature == MOX_RT_SIG);

Typedef Documentation

◆ OT_MQ_RT_T

Definition at line 141 of file LibMqMsgque_atl.h.

Function Documentation

◆ atlmqmsgque_MqContextC_ObjNew()

static MK_ARTIFICIAL OT_OBJ_T atlmqmsgque_MqContextC_ObjNew ( OT_MQ_ARGS MqContextC_type hdl)
inlinestatic

Definition at line 182 of file LibMqMsgque_atl.h.

182 {
183 return ( hdl ? MK(AtomObjNew) (OT_MK_CALL MqContextC_X2obj(hdl), amqrt) : MqContextC_rt.AtlMqContextC_MK_NULL );
184 }
#define MK(n)
#define OT_MK_CALL
#define MqContextC_rt
#define MqContextC_X2obj(x)

◆ atlmqmsgque_MqContextC_ReadLIST()

int atlmqmsgque_MqContextC_ReadLIST ( MqContextC_ARGS )

◆ atlmqmsgque_MqContextC_ReadNEXT()

int atlmqmsgque_MqContextC_ReadNEXT ( MqContextC_ARGS )

◆ atlmqmsgque_MqDumpC_ObjNew()

static MK_ARTIFICIAL OT_OBJ_T atlmqmsgque_MqDumpC_ObjNew ( OT_MQ_ARGS MqDumpC_type hdl)
inlinestatic

Definition at line 201 of file LibMqMsgque_atl.h.

201 {
202 return ( hdl ? MK(AtomObjNew) (OT_MK_CALL MqDumpC_X2obj(hdl), amqrt) : MqDumpC_rt.AtlMqDumpC_MK_NULL );
203 }
#define MqDumpC_rt
#define MqDumpC_X2obj(x)

◆ atlmqmsgque_MqFactoryC_ObjNew()

static MK_ARTIFICIAL OT_OBJ_T atlmqmsgque_MqFactoryC_ObjNew ( OT_MQ_ARGS MqFactoryC_type hdl)
inlinestatic

Definition at line 220 of file LibMqMsgque_atl.h.

220 {
221 return ( hdl ? MK(AtomObjNew) (OT_MK_CALL MqFactoryC_X2obj(hdl), amqrt) : MqFactoryC_rt.AtlMqFactoryC_MK_NULL );
222 }
#define MqFactoryC_rt
#define MqFactoryC_X2obj(x)

◆ atlmqmsgque_pMqContextC_Init()

int atlmqmsgque_pMqContextC_Init ( OT_MQ_ARGS OT_NS_T)

Definition at line 3968 of file MqContextC_atl.c.

3969{
3971
3972 // define type
3973 if (MqContextCTT == NULL) {
3974
3975 // register a new type
3976 MkRuntimeCallbackAdd( MK_RT_CALL &sAtlMqRuntimeCallback, NS(sMqContextC_Type) , "AtlMqContextC" );
3977
3978 // tcl does !not! support fork for a threaded interpreter
3979 if (Tcl_GetVar2Ex(interp,"tcl_platform","threaded",TCL_GLOBAL_ONLY) != NULL) {
3980 MqContextCT->ignoreFork = true;
3981 }
3982 }
3983
3984 ClassInit
3985
3986 return TCL_OK;
3987error:
3988 return TCL_ERROR;
3989}
#define MqContextCTT
#define NS(n)
static MK_UNUSED struct MkRuntimeCallbackS sAtlMqRuntimeCallback
#define ClassInit
#define error
Definition high_lng.h:339
size_t MkRuntimeCallbackAdd(MK_RT mkrt, MkRuntimeCallbackS *cbdata, MkRuntimeInitF rt_callback, MK_STRN ident)
#define MK_RT_CALL
#define MqContextCT
class as MqTypeCtxS-class-type for MqContextC in the Target-Programming-Language (TPL) …
#define MQ_STATIC_RT

◆ atlmqmsgque_pMqDumpC_Init()

int atlmqmsgque_pMqDumpC_Init ( OT_MQ_ARGS OT_NS_T ns)

Public API

Definition at line 442 of file MqDumpC_atl.c.

443{
446
447 return TCL_OK;
448error:
449 return TCL_ERROR;
450}
#define ClassInit
Definition MqDumpC_atl.c:57

◆ atlmqmsgque_pMqFactoryC_Init()

int atlmqmsgque_pMqFactoryC_Init ( OT_MQ_ARGS OT_NS_T)

Definition at line 822 of file MqFactoryC_atl.c.

823{
826
827 return TCL_OK;
828error:
829 return TCL_ERROR;
830}
#define ClassInit

◆ atlmqmsgque_ServiceCall()

enum MkErrorE atlmqmsgque_ServiceCall ( MQ_SERVICE_CALL_ARGS )

Definition at line 46 of file MqCall_atl.c.

47{
49
50 // 1. setup environment
51 MkCallS *call = __data__;
52 assert(call->signature == MkCallS_SIG);
53
54//MkCallLog(call);
55
56 // 2. prolog
57#if 0
59#else
60# define m mqctx
61 /* 1. setup runtime */
62 OT_MK_RT_T const amkrt = call->amkrt;
63 assert (amkrt->signature == OT_MK_RT_SIG);
64 OT_ENV_T const interp = amkrt->interp;
65 assert (!Tcl_InterpDeleted(interp));
66 Tcl_ResetResult(interp);
67
68 /* 2. setup arguments */
69 Tcl_Obj *objv[5+MkProcResolve_maxArgsLen];
70
71 rescan:
72 int objc = 1;
73
74 /* 1. setup methode */
75 objv[0] = call->mth;
76
77 /* 2. setup my */
78 switch (call->type) {
80 dbgMsg("%s","MkCallS_own_method");
81 break;
82 case MkCallS_static:
83 dbgMsg("%s","MkCallS_static");
84 break;
85 case MkCallS_proc:
86 dbgMsg("%s","MkCallS_proc");
87 break;
89 dbgMsg("%s","MkCallS_other_method");
90 objv[objc++] = call->my;
91 break;
92 case MkCallS_init: {
93 dbgMsg("%s","MkCallS_init");
94 check_META(MK(ProcResolve)(OT_MK_CALL (m), call)) goto error_mq;
95 goto rescan;
96 }
97 case MkCallS_null:
98 dbgMsg("%s","MkCallS_null");
99 return MK_OK;
100 case MkCallS_error:
101 dbgMsg("%s","MkCallS_error");
102 goto error;
103 }
104# undef m
105#endif
106
107 // 3. setup CTX arg
108 objv[objc++] = META2VAL_X(mqctx);
109
110 // 4. setup user arg(s)
111 if (call->args) MK(ProcResolveAppendArgs)(call,&objc,objv);
112
113 // 3. call the callback
114 int ret = Atl_EvalObjv (interp, objc, objv, 0); /* "MK(EvalObjv)" IS NOT required !! */
115 if (ret != TCL_OK) goto error;
116
117 return MkErrorGetCodeI(&MkERROR); /* MkErrorGetCode_0E() */
118
119error:
121
122error_mq:
123 return MkErrorStack_0E();
124}
#define CallProlog(m)
#define MkCallS_SIG
#define check_META(code)
#define META2VAL_X(x)
#define OT_ERROR_LNG_2_META(m)
@ MkCallS_init
@ MkCallS_null
@ MkCallS_error
@ MkCallS_own_method
@ MkCallS_other_method
@ MkCallS_proc
@ MkCallS_static
#define MkProcResolve_maxArgsLen
#define Atl_EvalObjv(...)
#define mqctx
Definition MqCall_atl.c:13
#define dbgMsg(fmt,...)
Definition MqCall_atl.c:42
#define MkErrorGetCodeI(e)
#define MkErrorStack_0E()
#define MkERROR
MK_OK
#define MQ_SERVICE_CALL_CHECK
enum MqCallE call
OT_ENV_T interp

◆ atlmqmsgque_ServiceCopy()

void atlmqmsgque_ServiceCopy ( MQ_SERVICE_COPY_ARGS )

Definition at line 131 of file MqCall_atl.c.

132{
133 MK(CallCopy)(MK_RT_CALL MkOBJ(mqctx), dataP);
134}
#define MkOBJ(x)

◆ atlmqmsgque_ServiceFree()

void atlmqmsgque_ServiceFree ( MQ_SERVICE_FREE_ARGS )

Definition at line 126 of file MqCall_atl.c.

127{
128 MK(CallFree) (dataP);
129}

Variable Documentation

◆ amqrtR

__thread OT_MQ_RT_S amqrtR
extern

Definition at line 1101 of file LibMqMsgque_atl.c.

1101{0};