lib/accessor.h
changeset 394 8a04e93f9ef2
parent 392 9b88b8b6bccd
child 395 25f3b479a8ce
equal deleted inserted replaced
393:f09a5ffe1edc 394:8a04e93f9ef2
    71 
    71 
    72 // variable getting macros
    72 // variable getting macros
    73 #define __GET_VAR(name, ...)\
    73 #define __GET_VAR(name, ...)\
    74 	name.value __VA_ARGS__
    74 	name.value __VA_ARGS__
    75 #define __GET_EXTERNAL(name, ...)\
    75 #define __GET_EXTERNAL(name, ...)\
    76 	((name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : *(name.value) __VA_ARGS__)
    76 	((name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : (*(name.value)) __VA_ARGS__)
    77 #define __GET_LOCATED(name, ...)\
    77 #define __GET_LOCATED(name, ...)\
    78 	((name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : *(name.value) __VA_ARGS__)
    78 	((name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : (*(name.value)) __VA_ARGS__)
    79 #define __GET_VAR_BY_REF(name, ...)\
    79 #define __GET_VAR_BY_REF(name, ...)\
    80 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(name.value __VA_ARGS__))
    80 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(name.value __VA_ARGS__))
    81 #define __GET_EXTERNAL_BY_REF(name, ...)\
    81 #define __GET_EXTERNAL_BY_REF(name, ...)\
    82 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(*(name.value) __VA_ARGS__))
    82 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &((*(name.value)) __VA_ARGS__))
    83 #define __GET_LOCATED_BY_REF(name, ...)\
    83 #define __GET_LOCATED_BY_REF(name, ...)\
    84 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(*(name.value) __VA_ARGS__))
    84 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &((*(name.value)) __VA_ARGS__))
    85 
    85 
    86 // variable setting macros
    86 // variable setting macros
    87 #define __SET_VAR(prefix, name, new_value, ...)\
    87 #define __SET_VAR(prefix, name, new_value, ...)\
    88 	if (!(prefix name.flags & __IEC_FORCE_FLAG)) prefix name.value __VA_ARGS__ = new_value
    88 	if (!(prefix name.flags & __IEC_FORCE_FLAG)) prefix name.value __VA_ARGS__ = new_value
    89 #define __SET_EXTERNAL(prefix, name, new_value, ...)\
    89 #define __SET_EXTERNAL(prefix, name, new_value, ...)\