111 #define __GET_LOCATED_REF(name, ...)\ |
111 #define __GET_LOCATED_REF(name, ...)\ |
112 (&((*(name.value)) __VA_ARGS__)) |
112 (&((*(name.value)) __VA_ARGS__)) |
113 |
113 |
114 |
114 |
115 // variable setting macros |
115 // variable setting macros |
116 #define __SET_VAR(prefix, name, new_value, ...)\ |
116 #define __SET_VAR(prefix, name, suffix, new_value)\ |
117 if (!(prefix name.flags & __IEC_FORCE_FLAG)) prefix name.value __VA_ARGS__ = new_value |
117 if (!(prefix name.flags & __IEC_FORCE_FLAG)) prefix name.value suffix = new_value |
118 #define __SET_EXTERNAL(prefix, name, new_value, ...)\ |
118 #define __SET_EXTERNAL(prefix, name, suffix, new_value)\ |
119 {extern IEC_BYTE __IS_GLOBAL_##name##_FORCED();\ |
119 {extern IEC_BYTE __IS_GLOBAL_##name##_FORCED();\ |
120 if (!(prefix name.flags & __IEC_FORCE_FLAG || __IS_GLOBAL_##name##_FORCED()))\ |
120 if (!(prefix name.flags & __IEC_FORCE_FLAG || __IS_GLOBAL_##name##_FORCED()))\ |
121 (*(prefix name.value)) __VA_ARGS__ = new_value;} |
121 (*(prefix name.value)) suffix = new_value;} |
122 #define __SET_EXTERNAL_FB(prefix, name, new_value, ...)\ |
122 #define __SET_EXTERNAL_FB(prefix, name, suffix, new_value)\ |
123 __SET_VAR((*(prefix name)), __VA_ARGS__, new_value) |
123 __SET_VAR((*(prefix name)), suffix, new_value) |
124 #define __SET_LOCATED(prefix, name, new_value, ...)\ |
124 #define __SET_LOCATED(prefix, name, suffix, new_value)\ |
125 if (!(prefix name.flags & __IEC_FORCE_FLAG)) *(prefix name.value) __VA_ARGS__ = new_value |
125 if (!(prefix name.flags & __IEC_FORCE_FLAG)) *(prefix name.value) suffix = new_value |
126 |
126 |
127 #endif //__ACCESSOR_H |
127 #endif //__ACCESSOR_H |