lib/accessor.h
changeset 235 ed66dc50f31a
parent 231 b8527b0abe75
child 242 0036357a990f
equal deleted inserted replaced
234:e4d31cd0e6d8 235:ed66dc50f31a
    52 	name.value __VA_ARGS__
    52 	name.value __VA_ARGS__
    53 #define __GET_EXTERNAL(name, ...)\
    53 #define __GET_EXTERNAL(name, ...)\
    54 	(name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : *(name.value) __VA_ARGS__
    54 	(name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : *(name.value) __VA_ARGS__
    55 #define __GET_LOCATED(name, ...)\
    55 #define __GET_LOCATED(name, ...)\
    56 	(name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : *(name.value) __VA_ARGS__
    56 	(name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : *(name.value) __VA_ARGS__
    57 #define __GET_VAR_BY_REF(name)\
    57 #define __GET_VAR_BY_REF(name, ...)\
    58 	&(name)
    58 	(name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(name.value __VA_ARGS__)
    59 #define __GET_EXTERNAL_BY_REF(name)\
    59 #define __GET_EXTERNAL_BY_REF(name, ...)\
    60 	name.value
    60 	(name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(*(name.value) __VA_ARGS__)
    61 #define __GET_LOCATED_BY_REF(name)\
    61 #define __GET_LOCATED_BY_REF(name, ...)\
    62 	name.value
    62 	(name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(*(name.value) __VA_ARGS__)
    63 
    63 
    64 // variable setting macros
    64 // variable setting macros
    65 #define __SET_VAR(name, new_value, ...)\
    65 #define __SET_VAR(name, new_value, ...)\
    66 	if (!(name.flags & __IEC_FORCE_FLAG)) name.value __VA_ARGS__ = new_value
    66 	if (!(name.flags & __IEC_FORCE_FLAG)) name.value __VA_ARGS__ = new_value
    67 #define __SET_EXTERNAL(global, name, new_value)\
    67 #define __SET_EXTERNAL(global, name, new_value)\