theSq3Lite 10.0
Loading...
Searching...
No Matches
mk_type_S_lng.h
Go to the documentation of this file.
1
9#pragma once
10
12
14#define MkErrorVD(errcls,format,...) \
15 MkErrorSetV_3M(hdl,errcls,format, __VA_ARGS__)
16
17#define MkBufferC_CLS BUF
18#define MkBufferStreamC_CLS BUS
19#define MkBufferListC_CLS BFL
20#define MkLogFileC_CLS LFL
21#define MkRuntimeC_CLS RT
22#define MkObjectC_CLS OBJ
23#define MkErrorC_CLS ERR
24
25#define MkBufferC_constr OT_TMP_BUF_OBJ
26#define MkBufferStreamC_constr OT_TMP_BUS_OBJ
27#define MkBufferListC_constr OT_TMP_BFL_OBJ
28#define MkLogFileC_constr OT_TMP_LFL_OBJ
29#define MkRuntimeC_constr OT_TMP_RT_OBJ
30#define MkObjectC_constr OT_TMP_OBJ_OBJ
31#define MkErrorC_constr OT_TMP_OBJ_OBJ
32
33#define MkBufferC_check MkBufCheck
34#define MkBufferStreamC_check MkBusCheckI
35#define MkBufferListC_check MkBflCheck
36#define MkLogFileC_check MkLflCheckI
37#define MkErrorC_check MkErrCheck
38#define MkObjectC_check MkObjCheck
39#define MkTypeC_check MkTypCheck
40#define MkRuntimeC_check MkRtCheck
41
42#define MkBufferC_VAL2 VAL2BUF
43#define MkBufferStreamC_VAL2 VAL2BUS
44#define MkBufferListC_VAL2 VAL2BFL
45#define MkLogFileC_VAL2 VAL2LFL
46#define MkErrorC_VAL2 VAL2ERR
47#define MkObjectC_VAL2 VAL2OBJ
48#define MkRuntimeC_VAL2 VAL2RT
49
50#define MkBin2XXX(xxx,len,b) ({MK_##xxx __tmp; memcpy(&__tmp,b,len); __tmp;})
51
52#define MkBin2BOL(b) MkBin2XXX(BOL,1,b)
53#define MkBin2I8(b) MkBin2XXX(I8,1,b)
54#define MkBin2I16(b) MkBin2XXX(I16,2,b)
55#define MkBin2I32(b) MkBin2XXX(I32,4,b)
56#define MkBin2I64(b) MkBin2XXX(I64,8,b)
57#define MkBin2FLT(b) MkBin2XXX(FLT,4,b)
58#define MkBin2DBL(b) MkBin2XXX(DBL,8,b)
59
60#define MkMin_I8 SCHAR_MIN
61#define MkMax_I8 SCHAR_MAX
62#define MkMin_I16 SHRT_MIN
63#define MkMin_U16 0
64#define MkMax_I16 SHRT_MAX
65#define MkMax_U16 USHRT_MAX
66#define MkMin_I32 INT_MIN
67#define MkMax_I32 INT_MAX
68#define MkMin_U32 0
69#define MkMax_U32 UINT_MAX
70#define MkMin_LONG LONG_MIN
71#define MkMax_LONG LONG_MAX
72
73#define MkSize_I8 1
74#define MkSize_I16 2
75#define MkSize_I32 4
76
77#define MkType_I8 "byte"
78#define MkType_I16 "short"
79#define MkType_U16 "unsigned short"
80#define MkType_I32 "integer"
81#define MkType_U32 "unsigned integer"
82#define MkType_FLT "float"
83#define MkType_DBL "double"
84#define MkType_LONG "long"
85#define MkType_I64 "long long"
86#define MkType_LLG "long long"
87#define MkType_BOOL "bool"
88#define MkType_BOL "bool"
89#define MkType_STRN "string"
90
91#define MkTypeT_I8 MK_I8T
92#define MkTypeT_I16 MK_I16T
93#define MkTypeT_I32 MK_I32T
94#define MkTypeT_FLT MK_FLTT
95#define MkTypeT_DBL MK_DBLT
96#define MkTypeT_I64 MK_I64T
97#define MkTypeT_LLG MK_LLGT
98#define MkTypeT_BOL MK_BOLT
99#define MkTypeT_STRN MK_STRT
100#define MkTypeT_BIN MK_BINT
101
102#if NHI1_bits == 64
103 #define MkTypeT_LONG MK_I64T
104#else
105 #define MkTypeT_LONG MK_I32T
106#endif
107
108#define MkType1_I8 Y
109#define MkType1_I16 S
110#define MkType1_I32 I
111#define MkType1_U32 UI
112#define MkType1_FLT F
113#define MkType1_DBL D
114#define MkType1_I64 W
115#define MkType1_LLG LL
116#define MkType1_BOL O
117#define MkType1_STRN C
118#define MkType1_BIN B
119
120#define MkAto_I8 ato.Y
121#define MkAto_I16 ato.S
122#define MkAto_I32 ato.I
123#define MkAto_FLT ato.F
124#define MkAto_DBL ato.D
125#define MkAto_I64 ato.W
126#define MkAto_LLG ato.W
127#define MkAto_BOL ato.O
128#define MkAto_STRN ato.C
129#define MkAto_BIN ato.B
130
131#if NHI1_bits == 64
132 #define MkAto_LONG ato.W
133#else
134 #define MkAto_LONG ato.I
135#endif
136
137#define MK_LONGLONG long long
138#define MK_DOUBLE double
139
140/* in msgque_mq.h
141#define MkType_O MK_BOL
142#define MkType_Y MK_I8
143#define MkType_S MK_I16
144#define MkType_I MK_I32
145#define MkType_W MK_I64
146#define MkType_F MK_FLT
147#define MkType_D MK_DBL
148*/
149
150#define MkTimeoutE_retT MK_TIME_T
151
152#define Overflow_Error_Full(_hdl,_var,_var_string,_type,_min,_max) \
153 if (_var < _min) { \
154 MkErrorSetV_3M(_hdl,"OverflowError", \
155 "expect '%s' but '%s' is less than '%d'", _type, _var_string, _min \
156 ); \
157 goto error; \
158 } else if (_var > _max) { \
159 MkErrorSetV_3M(_hdl,"OverflowError", \
160 "expect '%s' but '%s' is more than '%d'", _type, _var_string, _max \
161 ); \
162 goto error; \
163 }
164
166 static MkThreadLocal char buffer[20];
167 sprintf(buffer,"%i",val);
168 return buffer;
169}
170
172 static MkThreadLocal char buffer[10];
173 sprintf(buffer,"%hi",val);
174 return buffer;
175}
176
177#define Overflow_Error_U32(_hdl,_var,_var_str) \
178 Overflow_Error_Full(_hdl,_var,_var_str,MkType_U32,MkMin_U32,MkMax_U32)
179
180#define Overflow_Error_U16(_hdl,_var,_var_str) \
181 Overflow_Error_Full(_hdl,_var,_var_str,MkType_U16,MkMin_U16,MkMax_U16)
182
184
#define BEGIN_MK_C_DECLS
#define mk_inline
#define END_MK_C_DECLS
const MK_STRB * MK_STRN
signed short int MK_I16
signed int MK_I32
#define MkThreadLocal
mk_inline MK_STRN MkINT2String(MK_I32 val)
mk_inline MK_STRN MkSRT2String(MK_I16 val)