64 |
64 |
65 // variable getting macros |
65 // variable getting macros |
66 #define __GET_VAR(name, ...)\ |
66 #define __GET_VAR(name, ...)\ |
67 name.value __VA_ARGS__ |
67 name.value __VA_ARGS__ |
68 #define __GET_EXTERNAL(name, ...)\ |
68 #define __GET_EXTERNAL(name, ...)\ |
69 (name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : *(name.value) __VA_ARGS__ |
69 ((name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : *(name.value) __VA_ARGS__) |
70 #define __GET_LOCATED(name, ...)\ |
70 #define __GET_LOCATED(name, ...)\ |
71 (name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : *(name.value) __VA_ARGS__ |
71 ((name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : *(name.value) __VA_ARGS__) |
72 #define __GET_VAR_BY_REF(name, ...)\ |
72 #define __GET_VAR_BY_REF(name, ...)\ |
73 (name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(name.value __VA_ARGS__) |
73 ((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(name.value __VA_ARGS__)) |
74 #define __GET_EXTERNAL_BY_REF(name, ...)\ |
74 #define __GET_EXTERNAL_BY_REF(name, ...)\ |
75 (name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(*(name.value) __VA_ARGS__) |
75 ((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(*(name.value) __VA_ARGS__)) |
76 #define __GET_LOCATED_BY_REF(name, ...)\ |
76 #define __GET_LOCATED_BY_REF(name, ...)\ |
77 (name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(*(name.value) __VA_ARGS__) |
77 ((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(*(name.value) __VA_ARGS__)) |
78 |
78 |
79 // variable setting macros |
79 // variable setting macros |
80 #define __SET_VAR(name, new_value, ...)\ |
80 #define __SET_VAR(name, new_value, ...)\ |
81 if (!(name.flags & __IEC_FORCE_FLAG)) name.value __VA_ARGS__ = new_value |
81 if (!(name.flags & __IEC_FORCE_FLAG)) name.value __VA_ARGS__ = new_value |
82 #define __SET_EXTERNAL(global, name, new_value)\ |
82 #define __SET_EXTERNAL(global, name, new_value)\ |