lib/accessor.h
changeset 821 fa4569bf1538
parent 819 5aef7d20b0fc
child 881 e05d69c1ccb3
equal deleted inserted replaced
820:62b55ca5b879 821:fa4569bf1538
   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 	{extern IEC_BYTE __IS_GLOBAL_##name##_FORCED();\
   108 	{extern IEC_BYTE __IS_GLOBAL_##name##_FORCED(void);\
   109     if (!(prefix name.flags & __IEC_FORCE_FLAG || __IS_GLOBAL_##name##_FORCED()))\
   109      if (!(prefix name.flags & __IEC_FORCE_FLAG || __IS_GLOBAL_##name##_FORCED()))\
   110 		(*(prefix name.value)) __VA_ARGS__ = new_value;}
   110 		 (*(prefix name.value)) __VA_ARGS__ = new_value;}
   111 #define __SET_EXTERNAL_FB(prefix, name, new_value, ...)\
   111 #define __SET_EXTERNAL_FB(prefix, name, new_value, ...)\
   112 	__SET_VAR((*(prefix name)), __VA_ARGS__, new_value)
   112 	__SET_VAR((*(prefix name)), __VA_ARGS__, new_value)
   113 #define __SET_LOCATED(prefix, name, new_value, ...)\
   113 #define __SET_LOCATED(prefix, name, new_value, ...)\
   114 	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
   115 
   115