lib/accessor.h
changeset 873 dea39ef02847
parent 819 5aef7d20b0fc
child 881 e05d69c1ccb3
child 885 b2604fc6d25c
--- a/lib/accessor.h	Mon Feb 24 22:00:55 2014 +0000
+++ b/lib/accessor.h	Sun Mar 02 16:42:56 2014 +0000
@@ -92,6 +92,7 @@
 	__GET_VAR(((*name) __VA_ARGS__))
 #define __GET_LOCATED(name, ...)\
 	((name.flags & __IEC_FORCE_FLAG) ? name.fvalue __VA_ARGS__ : (*(name.value)) __VA_ARGS__)
+
 #define __GET_VAR_BY_REF(name, ...)\
 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &(name.value __VA_ARGS__))
 #define __GET_EXTERNAL_BY_REF(name, ...)\
@@ -101,6 +102,16 @@
 #define __GET_LOCATED_BY_REF(name, ...)\
 	((name.flags & __IEC_FORCE_FLAG) ? &(name.fvalue __VA_ARGS__) : &((*(name.value)) __VA_ARGS__))
 
+#define __GET_VAR_REF(name, ...)\
+	(&(name.value __VA_ARGS__))
+#define __GET_EXTERNAL_REF(name, ...)\
+	(&((*(name.value)) __VA_ARGS__))
+#define __GET_EXTERNAL_FB_REF(name, ...)\
+	(&(__GET_VAR(((*name) __VA_ARGS__))))
+#define __GET_LOCATED_REF(name, ...)\
+	(&((*(name.value)) __VA_ARGS__))
+
+
 // variable setting macros
 #define __SET_VAR(prefix, name, new_value, ...)\
 	if (!(prefix name.flags & __IEC_FORCE_FLAG)) prefix name.value __VA_ARGS__ = new_value