85 |
85 |
86 // variable getting macros |
86 // variable getting macros |
87 #define __GET_VAR(name, ...)\ |
87 #define __GET_VAR(name, ...)\ |
88 name.value __VA_ARGS__ |
88 name.value __VA_ARGS__ |
89 #define __GET_EXTERNAL(name, ...)\ |
89 #define __GET_EXTERNAL(name, ...)\ |
90 ((name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : (*(name.value)) __VA_ARGS__) |
90 ((*(name.value)) __VA_ARGS__) |
91 #define __GET_EXTERNAL_FB(name, ...)\ |
91 #define __GET_EXTERNAL_FB(name, ...)\ |
92 __GET_VAR(((*name) __VA_ARGS__)) |
92 __GET_VAR(((*name) __VA_ARGS__)) |
93 #define __GET_LOCATED(name, ...)\ |
93 #define __GET_LOCATED(name, ...)\ |
94 ((name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : (*(name.value)) __VA_ARGS__) |
94 ((*(name.value)) __VA_ARGS__) |
95 |
95 |
96 #define __GET_VAR_BY_REF(name, ...)\ |
96 #define __GET_VAR_BY_REF(name, ...)\ |
97 ((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(name.value __VA_ARGS__)) |
97 (&(name.value __VA_ARGS__)) |
98 #define __GET_EXTERNAL_BY_REF(name, ...)\ |
98 #define __GET_EXTERNAL_BY_REF(name, ...)\ |
99 ((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &((*(name.value)) __VA_ARGS__)) |
99 (&((*(name.value)) __VA_ARGS__)) |
100 #define __GET_EXTERNAL_FB_BY_REF(name, ...)\ |
100 #define __GET_EXTERNAL_FB_BY_REF(name, ...)\ |
101 __GET_EXTERNAL_BY_REF(((*name) __VA_ARGS__)) |
101 __GET_EXTERNAL_BY_REF(((*name) __VA_ARGS__)) |
102 #define __GET_LOCATED_BY_REF(name, ...)\ |
102 #define __GET_LOCATED_BY_REF(name, ...)\ |
103 ((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &((*(name.value)) __VA_ARGS__)) |
103 (&((*(name.value)) __VA_ARGS__)) |
104 |
104 |
105 #define __GET_VAR_REF(name, ...)\ |
105 #define __GET_VAR_REF(name, ...)\ |
106 (&(name.value __VA_ARGS__)) |
106 (&(name.value __VA_ARGS__)) |
107 #define __GET_EXTERNAL_REF(name, ...)\ |
107 #define __GET_EXTERNAL_REF(name, ...)\ |
108 (&((*(name.value)) __VA_ARGS__)) |
108 (&((*(name.value)) __VA_ARGS__)) |