theLink 10.0
Loading...
Searching...
No Matches
MqHigh_rb.c
Go to the documentation of this file.
1
9/* LABEL-NO */
10
11#define META_FILE_NAME "high_rb.c"
12
14
15/* LABEL-END */
16
17#define SetupRtFromObj_XN(o) AllRtSetup_XN(o)
18
19OT_ProcRet NS(MqContextC_Send) (MqContextC_ARGS) {
20
21#define highSELF "ctx.Send"
22
23#define highSKIP __skip
24#define highSKIP_SHIFT 0
25#define highSIZE objc
26
27#define highSIZE_AVAILABLE 1
28#define highREAD_RETURN_LIST 1
29#define highREAD_HAS_REFERENCE 0
30
31#define highINITcstr OT_CHECK_STR(cstr)
32#define highRETok goto end;
33#define highRETerror OT_ERROR_META_2_LNG(mqctx); OT_retObj_SET_Error
34#define highCMD "%s '%s' ... '%s' ..."
35
36#define highRETURN highRETURN_type_S
37#define highFARGS(f) NS(ServiceCall),f,NS(ServiceFree)
38
39#define highTRAN(str) OT_CHECK_C_COPY(str,MQ_SEND_TRANSACTION_TOKEN_SIZE)
40#define highTOKEN(str) OT_CHECK_C_COPY(str,MQ_SEND_TOKEN_SIGNATURE_SIZE)
41#define highTIME(t) OT_CHECK_TIME_T(timeout)
42#define highCALL(f) OT_CHECK_CALLABLE(f)
43
44// ruby has "long-jump" on error → there is NO error to retrieve !!
45#define highERRORnative
46
47// same as "OT_CHECK_xxx" on "LibMkKernel_rb.h" bit without "long-jump" in "MkErrorC_CheckD"
48#undef MkErrorC_CheckD
49#define MkErrorC_CheckD(p) MkErrorCheck(p)
50
51#define highSend(T) { \
52 high_T_##T val; \
53 OT_CHECK_REQUIRED(OT_CHECK_##T(val)); \
54 MkErrorCheck(MqSend##T(mqctx,val)); \
55 break; \
56}
57
58#define highSend2(T) { \
59 high_T_##T val; \
60 OT_CHECK_REQUIRED(OT_CHECK_##T(val,MK_NULL_NO)); \
61 MkErrorCheck(MqSend##T(mqctx,val)); \
62 break; \
63}
64
65#define highSend_I8 highSend(I8)
66#define highSend_BOL highSend(BOL)
67#define highSend_I16 highSend(I16)
68#define highSend_I32 highSend(I32)
69#define highSend_I64 highSend(I64)
70#define highSend_HDL highSend(HDL)
71#define highSend_FLT highSend(FLT)
72#define highSend_DBL highSend(DBL)
73#define highSend_STR highSend(STR)
74#define highSend_BUF highSend2(BUF)
75
76#define highSend_BFL { \
77 MkBufferListCreateTLS_T(bfl,5); \
78 OT_CHECK_REQUIRED(OT_CHECK_BFL(bfl,MK_NULL_NO)) \
79 enum MkErrorE ret = MqSendBFL(mqctx, bfl); \
80 MkErrorCheck(ret); \
81}
82
83#define highSend_BIN { \
84 MkBinaryR cbi = {0}; \
85 OT_CHECK_REQUIRED(OT_CHECK__ME_REF_MkBinaryR(cbi)) \
86 MkErrorCheck(MqSendBIN(mqctx, cbi)); \
87}
88
89#define highREADprepare OT_CHECK_NOARGS
90#define highREADinit
91
92/*
93#define highReadRef(T) { \
94 gigh_T_##T val; \
95 MkErrorCheck(MqRead##T(mqctx,&val)); \
96 OT_LNG_ARRAY_PUSH(RET, high_C_##T(val)); \
97 break; \
98}
99
100#define highReadRef_I8 highReadRef(Y);
101#define highReadRef_BOL highReadRef(O);
102#define highReadRef_I16 highReadRef(S);
103#define highReadRef_I32 highReadRef(I);
104#define highReadRef_FLT highReadRef(F);
105#define highReadRef_I64 highReadRef(W);
106#define highReadRef_DBL highReadRef(D);
107#define highReadRef_STR highReadRef(C);
108#define highReadRef_BUF highReadRef(U);
109
110#define highReadRef_BFL { \
111 VALUE val = (VALUE) NULL; \
112 LngErrorCheckNG(val = NS(MqContextC_ReadLIST)(0,NULL,self)); \
113 OT_LNG_ARRAY_PUSH(RET, val); \
114 break; \
115}
116
117#define highReadRef_BIN { \
118 MK_BINN cbi; \
119 MK_SIZE siz; \
120 MkErrorCheck(MqReadBIN(mqctx, &cbi, &siz)); \
121 OT_LNG_ARRAY_PUSH(RET, OT_TMP_BIN_OBJ(cbi,siz)); \
122 break; \
123}
124*/
125
126 OT_SETUP_hdl_tmpl(MqContextC);
127 OT_SETUP_VARARGS(0,99,"Send(...)");
128
129 #define mqctx hdl
130 MK_CBP fCall = NULL;
131 MK_STRN cstr = NULL;
132
133// **************************************************************************************************
134#include "tmpl/high_lng.h"
135// **************************************************************************************************
136
137 end:
139}
140
141// vim: nowrap
#define OT_SETUP_VARARGS(min, max, d)
#define OT_SETUP_hdl_tmpl(cls)
#define OT_retObj_RETURN
#define OT_ProcRet
tag: nhi1-release-250425
#define NS(n)
#define MqContextC_ARGS
const MK_STRB * MK_STRN
MK_PTRB * MK_CBP
tag: nhi1-release-250425