109 #define __GET_EXTERNAL_FB_REF(name, ...)\ |
109 #define __GET_EXTERNAL_FB_REF(name, ...)\ |
110 (&(__GET_VAR(((*name) __VA_ARGS__)))) |
110 (&(__GET_VAR(((*name) __VA_ARGS__)))) |
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 #define __GET_VAR_DREF(name, ...)\ |
|
115 (*(name.value __VA_ARGS__)) |
|
116 #define __GET_EXTERNAL_DREF(name, ...)\ |
|
117 (*((*(name.value)) __VA_ARGS__)) |
|
118 #define __GET_EXTERNAL_FB_DREF(name, ...)\ |
|
119 (*(__GET_VAR(((*name) __VA_ARGS__)))) |
|
120 #define __GET_LOCATED_DREF(name, ...)\ |
|
121 (*((*(name.value)) __VA_ARGS__)) |
|
122 |
114 |
123 |
115 // variable setting macros |
124 // variable setting macros |
116 #define __SET_VAR(prefix, name, suffix, new_value)\ |
125 #define __SET_VAR(prefix, name, suffix, new_value)\ |
117 if (!(prefix name.flags & __IEC_FORCE_FLAG)) prefix name.value suffix = new_value |
126 if (!(prefix name.flags & __IEC_FORCE_FLAG)) prefix name.value suffix = new_value |
118 #define __SET_EXTERNAL(prefix, name, suffix, new_value)\ |
127 #define __SET_EXTERNAL(prefix, name, suffix, new_value)\ |