14#define MkErrorVD(errcls,format,...) \
15 MkErrorSetV_3M(hdl,errcls,format, __VA_ARGS__)
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
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
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
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
50#define MkBin2XXX(xxx,len,b) ({MK_##xxx __tmp; memcpy(&__tmp,b,len); __tmp;})
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)
60#define MkMin_I8 SCHAR_MIN
61#define MkMax_I8 SCHAR_MAX
62#define MkMin_I16 SHRT_MIN
64#define MkMax_I16 SHRT_MAX
65#define MkMax_U16 USHRT_MAX
66#define MkMin_I32 INT_MIN
67#define MkMax_I32 INT_MAX
69#define MkMax_U32 UINT_MAX
70#define MkMin_LONG LONG_MIN
71#define MkMax_LONG LONG_MAX
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"
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
103 #define MkTypeT_LONG MK_I64T
105 #define MkTypeT_LONG MK_I32T
111#define MkType1_U32 UI
115#define MkType1_LLG LL
117#define MkType1_STRN C
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
132 #define MkAto_LONG ato.W
134 #define MkAto_LONG ato.I
137#define MK_LONGLONG long long
138#define MK_DOUBLE double
150#define MkTimeoutE_retT MK_TIME_T
152#define Overflow_Error_Full(_hdl,_var,_var_string,_type,_min,_max) \
154 MkErrorSetV_3M(_hdl,"OverflowError", \
155 "expect '%s' but '%s' is less than '%d'", _type, _var_string, _min \
158 } else if (_var > _max) { \
159 MkErrorSetV_3M(_hdl,"OverflowError", \
160 "expect '%s' but '%s' is more than '%d'", _type, _var_string, _max \
167 sprintf(buffer,
"%i",val);
173 sprintf(buffer,
"%hi",val);
177#define Overflow_Error_U32(_hdl,_var,_var_str) \
178 Overflow_Error_Full(_hdl,_var,_var_str,MkType_U32,MkMin_U32,MkMax_U32)
180#define Overflow_Error_U16(_hdl,_var,_var_str) \
181 Overflow_Error_Full(_hdl,_var,_var_str,MkType_U16,MkMin_U16,MkMax_U16)
mk_inline MK_STRN MkINT2String(MK_I32 val)
mk_inline MK_STRN MkSRT2String(MK_I16 val)