lib/accessor.h
changeset 873 dea39ef02847
parent 819 5aef7d20b0fc
child 881 e05d69c1ccb3
child 885 b2604fc6d25c
equal deleted inserted replaced
872:3d682f87c870 873:dea39ef02847
    90 	((name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : (*(name.value)) __VA_ARGS__)
    90 	((name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : (*(name.value)) __VA_ARGS__)
    91 #define __GET_EXTERNAL_FB(name, ...)\
    91 #define __GET_EXTERNAL_FB(name, ...)\
    92 	__GET_VAR(((*name) __VA_ARGS__))
    92 	__GET_VAR(((*name) __VA_ARGS__))
    93 #define __GET_LOCATED(name, ...)\
    93 #define __GET_LOCATED(name, ...)\
    94 	((name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : (*(name.value)) __VA_ARGS__)
    94 	((name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : (*(name.value)) __VA_ARGS__)
       
    95 
    95 #define __GET_VAR_BY_REF(name, ...)\
    96 #define __GET_VAR_BY_REF(name, ...)\
    96 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(name.value __VA_ARGS__))
    97 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(name.value __VA_ARGS__))
    97 #define __GET_EXTERNAL_BY_REF(name, ...)\
    98 #define __GET_EXTERNAL_BY_REF(name, ...)\
    98 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &((*(name.value)) __VA_ARGS__))
    99 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &((*(name.value)) __VA_ARGS__))
    99 #define __GET_EXTERNAL_FB_BY_REF(name, ...)\
   100 #define __GET_EXTERNAL_FB_BY_REF(name, ...)\
   100 	__GET_EXTERNAL_BY_REF(((*name) __VA_ARGS__))
   101 	__GET_EXTERNAL_BY_REF(((*name) __VA_ARGS__))
   101 #define __GET_LOCATED_BY_REF(name, ...)\
   102 #define __GET_LOCATED_BY_REF(name, ...)\
   102 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &((*(name.value)) __VA_ARGS__))
   103 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &((*(name.value)) __VA_ARGS__))
       
   104 
       
   105 #define __GET_VAR_REF(name, ...)\
       
   106 	(&(name.value __VA_ARGS__))
       
   107 #define __GET_EXTERNAL_REF(name, ...)\
       
   108 	(&((*(name.value)) __VA_ARGS__))
       
   109 #define __GET_EXTERNAL_FB_REF(name, ...)\
       
   110 	(&(__GET_VAR(((*name) __VA_ARGS__))))
       
   111 #define __GET_LOCATED_REF(name, ...)\
       
   112 	(&((*(name.value)) __VA_ARGS__))
       
   113 
   103 
   114 
   104 // variable setting macros
   115 // variable setting macros
   105 #define __SET_VAR(prefix, name, new_value, ...)\
   116 #define __SET_VAR(prefix, name, new_value, ...)\
   106 	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
   107 #define __SET_EXTERNAL(prefix, name, new_value, ...)\
   118 #define __SET_EXTERNAL(prefix, name, new_value, ...)\