summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/perk/perk_edefs.h46
-rw-r--r--project/headers.mk1
2 files changed, 47 insertions, 0 deletions
diff --git a/include/perk/perk_edefs.h b/include/perk/perk_edefs.h
new file mode 100644
index 0000000..d30744b
--- /dev/null
+++ b/include/perk/perk_edefs.h
@@ -0,0 +1,46 @@
+#ifndef PERK_EDEFS_H
+#define PERK_EDEFS_H
+
+/***************************************************/
+/* perk_edefs.h: PE backend extended definitions. */
+/***************************************************/
+
+/* symbol attributes (tulips) */
+#define PE_SYM_ATTR_TYPE_NOTYPE (0)
+#define PE_SYM_ATTR_TYPE_FILE (1 << 0)
+#define PE_SYM_ATTR_TYPE_OBJECT (1 << 1)
+#define PE_SYM_ATTR_TYPE_SECTION (1 << 2)
+#define PE_SYM_ATTR_TYPE_FUNCTION (1 << 3)
+#define PE_SYM_ATTR_TYPE_STRING (1 << 4)
+#define PE_SYM_ATTR_TYPE_COMMON (1 << 5)
+#define PE_SYM_ATTR_TYPE_STACK (1 << 6)
+#define PE_SYM_ATTR_TYPE_RDATA (1 << 7)
+#define PE_SYM_ATTR_TYPE_BSS (1 << 8)
+#define PE_SYM_ATTR_TYPE_TLS (1 << 9)
+#define PE_SYM_ATTR_TYPE_GOT (1 << 10)
+#define PE_SYM_ATTR_TYPE_PLT (1 << 11)
+#define PE_SYM_ATTR_TYPE_DSO (1 << 12)
+#define PE_SYM_ATTR_TYPE_REF (1 << 13)
+
+#define PE_SYM_ATTR_TYPE_IFUNC (1 << 14)
+#define PE_SYM_ATTR_TYPE_DEBUG (1 << 15)
+#define PE_SYM_ATTR_TYPE_PDATA (1 << 16)
+#define PE_SYM_ATTR_TYPE_XDATA (1 << 17)
+#define PE_SYM_ATTR_TYPE_XATTR (1 << 18)
+#define PE_SYM_ATTR_TYPE_RELOC (1 << 19)
+#define PE_SYM_ATTR_TYPE_RSRC (1 << 20)
+
+#define PE_SYM_ATTR_BIND_LOCAL (1 << 21)
+#define PE_SYM_ATTR_BIND_GLOBAL (1 << 22)
+#define PE_SYM_ATTR_BIND_UNIQUE (1 << 23)
+#define PE_SYM_ATTR_BIND_PENDING (1 << 24)
+#define PE_SYM_ATTR_BIND_WEAK_ALIAS (1 << 25)
+#define PE_SYM_ATTR_BIND_WEAK_EXTERN (1 << 26)
+#define PE_SYM_ATTR_BIND_WEAK_SYMBOL (1 << 27)
+
+#define PE_SYM_ATTR_VISIBILITY_DEFAULT (1 << 28)
+#define PE_SYM_ATTR_VISIBILITY_PROTECTED (1 << 29)
+#define PE_SYM_ATTR_VISIBILITY_HIDDEN (1 << 30)
+#define PE_SYM_ATTR_VISIBILITY_INTERNAL (1 << 31)
+
+#endif
diff --git a/project/headers.mk b/project/headers.mk
index 58aadfb..9b18d48 100644
--- a/project/headers.mk
+++ b/project/headers.mk
@@ -5,6 +5,7 @@ API_HEADERS = \
$(SOURCE_DIR)/include/$(PACKAGE)/perk_consts.h \
$(SOURCE_DIR)/include/$(PACKAGE)/perk_crc32.h \
$(SOURCE_DIR)/include/$(PACKAGE)/perk_crc64.h \
+ $(SOURCE_DIR)/include/$(PACKAGE)/perk_edefs.h \
$(SOURCE_DIR)/include/$(PACKAGE)/perk_meta.h \
$(SOURCE_DIR)/include/$(PACKAGE)/perk_output.h \
$(SOURCE_DIR)/include/$(PACKAGE)/perk_structs.h