aboutsummaryrefslogtreecommitdiff
path: root/usart/include/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'usart/include/common.h')
-rw-r--r--usart/include/common.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/usart/include/common.h b/usart/include/common.h
index d88d82d..9d5c7cd 100644
--- a/usart/include/common.h
+++ b/usart/include/common.h
@@ -1,6 +1,8 @@
#ifndef COMMON__H
#define COMMON__H
+#include <stdint.h>
+
/* Define __IO to be volatile if it's not already. */
#ifndef __IO
#define __IO volatile
@@ -15,4 +17,14 @@
#define PACKED __attribute__((packed))
#define BIT(n) (1 << (n))
+#define RESERVED_CONCAT_IMPL(x, y) x ## y
+#define RESERVED_MACRO_CONCAT(x, y) RESERVED_CONCAT_IMPL(x, y)
+#define RESERVED(n) \
+ bits_t RESERVED_MACRO_CONCAT(_r, __COUNTER__) :n
+
+#define RESERVE(type) \
+ __IO type RESERVED_MACRO_CONCAT(_r, __COUNTER__)
+
+typedef uint32_t bits_t;
+
#endif /* COMMON_H */