52 name.value __VA_ARGS__ |
52 name.value __VA_ARGS__ |
53 #define __GET_EXTERNAL(name, ...)\ |
53 #define __GET_EXTERNAL(name, ...)\ |
54 (name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : *(name.value) __VA_ARGS__ |
54 (name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : *(name.value) __VA_ARGS__ |
55 #define __GET_LOCATED(name, ...)\ |
55 #define __GET_LOCATED(name, ...)\ |
56 (name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : *(name.value) __VA_ARGS__ |
56 (name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : *(name.value) __VA_ARGS__ |
57 #define __GET_VAR_BY_REF(name)\ |
57 #define __GET_VAR_BY_REF(name, ...)\ |
58 &(name) |
58 (name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(name.value __VA_ARGS__) |
59 #define __GET_EXTERNAL_BY_REF(name)\ |
59 #define __GET_EXTERNAL_BY_REF(name, ...)\ |
60 name.value |
60 (name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(*(name.value) __VA_ARGS__) |
61 #define __GET_LOCATED_BY_REF(name)\ |
61 #define __GET_LOCATED_BY_REF(name, ...)\ |
62 name.value |
62 (name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(*(name.value) __VA_ARGS__) |
63 |
63 |
64 // variable setting macros |
64 // variable setting macros |
65 #define __SET_VAR(name, new_value, ...)\ |
65 #define __SET_VAR(name, new_value, ...)\ |
66 if (!(name.flags & __IEC_FORCE_FLAG)) name.value __VA_ARGS__ = new_value |
66 if (!(name.flags & __IEC_FORCE_FLAG)) name.value __VA_ARGS__ = new_value |
67 #define __SET_EXTERNAL(global, name, new_value)\ |
67 #define __SET_EXTERNAL(global, name, new_value)\ |