theLink 10.0
Loading...
Searching...
No Matches
MqHigh_cs.c
Go to the documentation of this file.
1
9/* LABEL-START */
10
11#define META_FILE_NAME "MqHigh_cs.c"
12
13/* LABEL-END */
14
15#include "LibMqMsgque_cs.h"
16#include "string.h"
17#include "check_mq.h"
18
19#define META_CONTEXT_S mqctx
20
21// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
22
23#define getTRAN(out,size) (*atg) (MQ_RT_CALL hdl,objvH,skip++,MqSendE_TRAN,(MK_PTR*)&out,size)
24#define getTOKEN(out,size) (*atg) (MQ_RT_CALL hdl,objvH,skip++,MqSendE_TOKEN,(MK_PTR*)&out,size)
25#define getTIME(out,size) (*atg) (MQ_RT_CALL hdl,objvH,skip++,MqSendE_TIME,(MK_PTR*)&out,size)
26//#define getCALL(out,size) (*atg) (hdl,objvH,skip++,MqSendE_CALL,(MK_PTR*)&out,size)
27
28// #############################################################################
29// MqSend…
30
31enum MkErrorE MqCsSendHigh_RT (
33 MQ_CTX const hdl,
34 MK_STRN cstr,
35 MK_CBP const fCall,
36 MK_PTR const objvH,
37 MK_I32 const objc,
38 MK_I32 const skipSHIFT,
39 MK_BFL * bfl_out,
40 MK_STRB * highLastReturnListType_out,
41 // MqAtomReadFLT const atr,
42 MqAtomSendF const ats,
43 MqAtomGetF const atg,
44 MqTokenF const fCall_,
45 MqDataFreeF const fFree_,
46 MK_STRN const caller
47) {
49 MK_I32 skip = 0;
50
51#define highSELF caller
52#define mqctx hdl
53
54#define highSKIP skip
55#define highSKIP_SHIFT skipSHIFT
56#define highSIZE objc
57
58// -----------------------------------------------------------------------------
59
60#define highSIZE_AVAILABLE 1
61#define highREAD_RETURN_LIST 1
62#define highREAD_HAS_REFERENCE 0
63
64#define highTOKEN(s) MkErrorCheck(getTOKEN(s,MQ_SEND_TOKEN_SIGNATURE_SIZE))
65#define highTRAN(s) MkErrorCheck(getTRAN (s,MQ_SEND_TRANSACTION_TOKEN_SIZE))
66#define highCALL(f)
67#define highTIME(t) MkErrorCheck(getTIME (t,8))
68
69#define highINITcstr
70#define highRETok goto end
71#define highRETerror goto end
72#define highCMD "ctx.%s('%s', ..., '%s', ...)"
73
74// "C#" uses "longjmp" for error…
75#define highERRORnative
76
77#define highRETURN
78
79#define highFARGS(f) fCall_,f,fFree_
80
81#define highSend(T) MkErrorCheck((*ats)(MQ_RT_CALL hdl,objvH,skip++,MqSendE_##T));break;
82
83#define highSend_BOL highSend(BOL)
84#define highSend_I8 highSend(I8)
85#define highSend_I16 highSend(I16)
86#define highSend_I32 highSend(I32)
87#define highSend_I64 highSend(I64)
88#define highSend_HDL highSend(HDL)
89#define highSend_FLT highSend(FLT)
90#define highSend_DBL highSend(DBL)
91#define highSend_STR highSend(STR)
92#define highSend_BUF highSend(BUF)
93#define highSend_BFL highSend(BFL)
94#define highSend_BIN highSend(BIN)
95
96#define highREADprepare
97#define highREADinit
98
99/*
100#define highRead(T) MkErrorCheck((*atr)(hdl,retH_inout,MqSendE_##T)); break;
101
102#define highReadRef_I8 highRead(Y)
103#define highReadRef_BOL highRead(O)
104#define highReadRef_I16 highRead(S)
105#define highReadRef_I32 highRead(I)
106#define highReadRef_FLT highRead(F)
107#define highReadRef_I64 highRead(W)
108#define highReadRef_DBL highRead(D)
109#define highReadRef_STR highRead(C)
110#define highReadRef_BUF highRead(U)
111#define highReadRef_BFL highRead(L)
112#define highReadRef_BIN highRead(B)
113*/
114
115#include "tmpl/high_lng.h"
116
117end:
118 *highLastReturnListType_out = highLastReturnListType;
119 *bfl_out = RET;
120 return MkErrorGetCode_0E();
121}
122
#define MkErrorGetCode_0E()
MkErrorE
MK_PTRB * MK_PTR
const MK_STRB * MK_STRN
char MK_STRB
MK_PTRB * MK_CBP
signed int MK_I32
#define MK_RT_ARGS
enum MkErrorE(* MqTokenF)(MQ_SERVICE_CALL_ARGS)
prototype for an object method function …
void(* MqDataFreeF)(MQ_SERVICE_FREE_ARGS)
prototype for a free additional token data function …
#define MQ_INSTANCE_RT_X(x)
PUBLIC data structure for the csmqmsgque-specific-data