17#define MkErrorVD(errcls,format,...) \
18 MkErrorSetV_3M(hdl,errcls,format, __VA_ARGS__)
20#define MkBufferC_CLS BUF
21#define MkBufferStreamC_CLS BUS
22#define MkBufferListC_CLS BFL
23#define MkLogFileC_CLS LFL
24#define MkRuntimeC_CLS RT
25#define MkObjectC_CLS OBJ
26#define MkErrorC_CLS ERR
28#define MkBufferC_constr OT_TMP_BUF_OBJ
29#define MkBufferStreamC_constr OT_TMP_BUS_OBJ
30#define MkBufferListC_constr OT_TMP_BFL_OBJ
31#define MkLogFileC_constr OT_TMP_LFL_OBJ
32#define MkRuntimeC_constr OT_TMP_RT_OBJ
33#define MkObjectC_constr OT_TMP_OBJ_OBJ
34#define MkErrorC_constr OT_TMP_OBJ_OBJ
36#define MkBufferC_check MkBufCheck
37#define MkBufferStreamC_check MkBusCheckI
38#define MkBufferListC_check MkBflCheck
39#define MkLogFileC_check MkLflCheckI
40#define MkErrorC_check MkErrCheck
41#define MkObjectC_check MkObjCheck
42#define MkTypeC_check MkTypCheck
43#define MkRuntimeC_check MkRtCheck
45#define MkBufferC_VAL2 VAL2BUF
46#define MkBufferStreamC_VAL2 VAL2BUS
47#define MkBufferListC_VAL2 VAL2BFL
48#define MkLogFileC_VAL2 VAL2LFL
49#define MkErrorC_VAL2 VAL2ERR
50#define MkObjectC_VAL2 VAL2OBJ
51#define MkRuntimeC_VAL2 VAL2RT
53#define MkBin2XXX(xxx,len,b) ({MK_##xxx __tmp; memcpy(&__tmp,b,len); __tmp;})
55#define MkBin2BOL(b) MkBin2XXX(BOL,1,b)
56#define MkBin2I8(b) MkBin2XXX(I8,1,b)
57#define MkBin2I16(b) MkBin2XXX(I16,2,b)
58#define MkBin2I32(b) MkBin2XXX(I32,4,b)
59#define MkBin2I64(b) MkBin2XXX(I64,8,b)
60#define MkBin2FLT(b) MkBin2XXX(FLT,4,b)
61#define MkBin2DBL(b) MkBin2XXX(DBL,8,b)
63#define MkMin_I8 SCHAR_MIN
64#define MkMax_I8 SCHAR_MAX
65#define MkMin_I16 SHRT_MIN
67#define MkMax_I16 SHRT_MAX
68#define MkMax_U16 USHRT_MAX
69#define MkMin_I32 INT_MIN
70#define MkMax_I32 INT_MAX
72#define MkMax_U32 UINT_MAX
73#define MkMin_LONG LONG_MIN
74#define MkMax_LONG LONG_MAX
80#define MkType_I8 "byte"
81#define MkType_I16 "short"
82#define MkType_U16 "unsigned short"
83#define MkType_I32 "integer"
84#define MkType_U32 "unsigned integer"
85#define MkType_FLT "float"
86#define MkType_DBL "double"
87#define MkType_LONG "long"
88#define MkType_I64 "long long"
89#define MkType_LLG "long long"
90#define MkType_BOOL "bool"
91#define MkType_BOL "bool"
92#define MkType_STRN "string"
94#define MkTypeT_I8 MK_I8T
95#define MkTypeT_I16 MK_I16T
96#define MkTypeT_I32 MK_I32T
97#define MkTypeT_FLT MK_FLTT
98#define MkTypeT_DBL MK_DBLT
99#define MkTypeT_I64 MK_I64T
100#define MkTypeT_LLG MK_LLGT
101#define MkTypeT_BOL MK_BOLT
102#define MkTypeT_STRN MK_STRT
103#define MkTypeT_BIN MK_BINT
106 #define MkTypeT_LONG MK_I64T
108 #define MkTypeT_LONG MK_I32T
114#define MkType1_U32 UI
118#define MkType1_LLG LL
120#define MkType1_STRN C
123#define MkAto_I8 ato.Y
124#define MkAto_I16 ato.S
125#define MkAto_I32 ato.I
126#define MkAto_FLT ato.F
127#define MkAto_DBL ato.D
128#define MkAto_I64 ato.W
129#define MkAto_LLG ato.W
130#define MkAto_BOL ato.O
131#define MkAto_STRN ato.C
132#define MkAto_BIN ato.B
135 #define MkAto_LONG ato.W
137 #define MkAto_LONG ato.I
140#define MK_LONGLONG long long
141#define MK_DOUBLE double
153#define MkTimeoutE_retT MK_TIME_T
155#define Overflow_Error_Full(_hdl,_var,_var_string,_type,_min,_max) \
157 MkErrorSetV_3M(_hdl,"OverflowError", \
158 "expect '%s' but '%s' is less than '%d'", _type, _var_string, _min \
161 } else if (_var > _max) { \
162 MkErrorSetV_3M(_hdl,"OverflowError", \
163 "expect '%s' but '%s' is more than '%d'", _type, _var_string, _max \
170 sprintf(buffer,
"%i",val);
176 sprintf(buffer,
"%hi",val);
180#define Overflow_Error_U32(_hdl,_var,_var_str) \
181 Overflow_Error_Full(_hdl,_var,_var_str,MkType_U32,MkMin_U32,MkMax_U32)
183#define Overflow_Error_U16(_hdl,_var,_var_str) \
184 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)