lib/accessor.h
changeset 881 e05d69c1ccb3
parent 873 dea39ef02847
parent 821 fa4569bf1538
child 884 a51a3bb4d613
child 894 39086e324665
equal deleted inserted replaced
880:599e88d12f9a 881:e05d69c1ccb3
   114 
   114 
   115 // variable setting macros
   115 // variable setting macros
   116 #define __SET_VAR(prefix, name, new_value, ...)\
   116 #define __SET_VAR(prefix, name, 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 __VA_ARGS__ = new_value
   118 #define __SET_EXTERNAL(prefix, name, new_value, ...)\
   118 #define __SET_EXTERNAL(prefix, name, new_value, ...)\
   119 	{extern IEC_BYTE __IS_GLOBAL_##name##_FORCED();\
   119 	{extern IEC_BYTE __IS_GLOBAL_##name##_FORCED(void);\
   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)) __VA_ARGS__ = new_value;}
   122 #define __SET_EXTERNAL_FB(prefix, name, new_value, ...)\
   122 #define __SET_EXTERNAL_FB(prefix, name, new_value, ...)\
   123 	__SET_VAR((*(prefix name)), __VA_ARGS__, new_value)
   123 	__SET_VAR((*(prefix name)), __VA_ARGS__, new_value)
   124 #define __SET_LOCATED(prefix, name, new_value, ...)\
   124 #define __SET_LOCATED(prefix, name, 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) __VA_ARGS__ = new_value
   126 
   126