lib/accessor.h
changeset 817 6a67fbc7bea7
parent 713 e3ca0f4d47b3
child 819 5aef7d20b0fc
equal deleted inserted replaced
816:dcd861dda04a 817:6a67fbc7bea7
   103 
   103 
   104 // variable setting macros
   104 // variable setting macros
   105 #define __SET_VAR(prefix, name, new_value, ...)\
   105 #define __SET_VAR(prefix, name, new_value, ...)\
   106 	if (!(prefix name.flags & __IEC_FORCE_FLAG)) prefix name.value __VA_ARGS__ = new_value
   106 	if (!(prefix name.flags & __IEC_FORCE_FLAG)) prefix name.value __VA_ARGS__ = new_value
   107 #define __SET_EXTERNAL(prefix, name, new_value, ...)\
   107 #define __SET_EXTERNAL(prefix, name, new_value, ...)\
   108 	if (!(prefix name.flags & __IEC_FORCE_FLAG || __IS_GLOBAL_##name##_FORCED()))\
   108 	extern IEC_BYTE __IS_GLOBAL_##name##_FORCED();\
       
   109     if (!(prefix name.flags & __IEC_FORCE_FLAG || __IS_GLOBAL_##name##_FORCED()))\
   109 		(*(prefix name.value)) __VA_ARGS__ = new_value
   110 		(*(prefix name.value)) __VA_ARGS__ = new_value
   110 #define __SET_EXTERNAL_FB(prefix, name, new_value, ...)\
   111 #define __SET_EXTERNAL_FB(prefix, name, new_value, ...)\
   111 	__SET_VAR((*(prefix name)), __VA_ARGS__, new_value)
   112 	__SET_VAR((*(prefix name)), __VA_ARGS__, new_value)
   112 #define __SET_LOCATED(prefix, name, new_value, ...)\
   113 #define __SET_LOCATED(prefix, name, new_value, ...)\
   113 	if (!(prefix name.flags & __IEC_FORCE_FLAG)) *(prefix name.value) __VA_ARGS__ = new_value
   114 	if (!(prefix name.flags & __IEC_FORCE_FLAG)) *(prefix name.value) __VA_ARGS__ = new_value