lib/C/accessor.h
changeset 1096 fad6e7a818e2
parent 1095 36bbd0b64816
equal deleted inserted replaced
1095:36bbd0b64816 1096:fad6e7a818e2
    85 
    85 
    86 // variable getting macros
    86 // variable getting macros
    87 #define __GET_VAR(name, ...)\
    87 #define __GET_VAR(name, ...)\
    88 	name.value __VA_ARGS__
    88 	name.value __VA_ARGS__
    89 #define __GET_EXTERNAL(name, ...)\
    89 #define __GET_EXTERNAL(name, ...)\
    90 	((name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : (*(name.value)) __VA_ARGS__)
    90 	((*(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.value)) __VA_ARGS__)
    95 
    95 
    96 #define __GET_VAR_BY_REF(name, ...)\
    96 #define __GET_VAR_BY_REF(name, ...)\
    97 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(name.value __VA_ARGS__))
    97 	(&(name.value __VA_ARGS__))
    98 #define __GET_EXTERNAL_BY_REF(name, ...)\
    98 #define __GET_EXTERNAL_BY_REF(name, ...)\
    99 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &((*(name.value)) __VA_ARGS__))
    99 	(&((*(name.value)) __VA_ARGS__))
   100 #define __GET_EXTERNAL_FB_BY_REF(name, ...)\
   100 #define __GET_EXTERNAL_FB_BY_REF(name, ...)\
   101 	__GET_EXTERNAL_BY_REF(((*name) __VA_ARGS__))
   101 	__GET_EXTERNAL_BY_REF(((*name) __VA_ARGS__))
   102 #define __GET_LOCATED_BY_REF(name, ...)\
   102 #define __GET_LOCATED_BY_REF(name, ...)\
   103 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &((*(name.value)) __VA_ARGS__))
   103 	(&((*(name.value)) __VA_ARGS__))
   104 
   104 
   105 #define __GET_VAR_REF(name, ...)\
   105 #define __GET_VAR_REF(name, ...)\
   106 	(&(name.value __VA_ARGS__))
   106 	(&(name.value __VA_ARGS__))
   107 #define __GET_EXTERNAL_REF(name, ...)\
   107 #define __GET_EXTERNAL_REF(name, ...)\
   108 	(&((*(name.value)) __VA_ARGS__))
   108 	(&((*(name.value)) __VA_ARGS__))