+typedef enum elf_visibility_tag_t {
+ ELF_VISIBILITY_DEFAULT,
+ ELF_VISIBILITY_HIDDEN,
+ ELF_VISIBILITY_INTERNAL,
+ ELF_VISIBILITY_PROTECTED,
+ ELF_VISIBILITY_ERROR
+} elf_visibility_tag_t;
+
+/**
+ * A scope containing entities.
+ */
+struct scope_t {
+ entity_t *entities;
+ entity_t *last_entity; /**< pointer to last entity (so appending is fast) */
+ unsigned depth; /**< while parsing, the depth of this scope in the
+ scope stack. */
+};