nesc_annots.h -- This tells nesC how to translate new attributes like
@count into the appropriate Deputy macro
deputy_annots.h -- This tells CPP how to translate (our) Deputy macros
into the low-level form actually understood by Deputy.
--- /dev/null
+#define __DEPUTY_BOUND(__lo,__hi) __attribute__((bounds((__lo),(__hi))))
+#define __DEPUTY_COUNT(__n) _DEPUTY_BOUND(__this, __this + (__n))
+#define __DEPUTY_SINGLE(__n) _DEPUTY_COUNT(1)
+#define __DEPUTY_TRUSTED_CAST(__type,__expr) ((__type)((void * TRUSTED COPYTYPE)(__expr)))
+
+#define TC(__type,__expr) __DEPUTY_TRUSTED_CAST(__type,__expr)
--- /dev/null
+struct @bound @deputy_scope() @macro("_DEPUTY_BOUND") { void *lo, *hi; };
+struct @count @deputy_scope() @macro("_DEPUTY_COUNT") { int n; };
+struct @single @deputy_scope() @macro("_DEPUTY_SINGLE") { };