Index: generic/include/elf32.h
===================================================================
--- generic/include/elf32.h	(revision 8b80b72bc933011825a2ff4663337fac00213667)
+++ generic/include/elf32.h	(revision 4aa16d7717b71e9fa76aab547eb703124a745846)
@@ -106,5 +106,33 @@
 
 
-/*
+/**
+ * ELF section types
+ */
+#define SHT_NULL		0
+#define SHT_PROGBITS		1
+#define SHT_SYMTAB		2
+#define SHT_STRTAB		3
+#define SHT_RELA		4
+#define SHT_HASH		5
+#define SHT_DYNAMIC		6
+#define SHT_NOTE		7
+#define SHT_NOBITS		8
+#define SHT_REL			9
+#define SHT_SHLIB		10
+#define SHT_DYNSYM		11
+#define SHT_LOPROC		0x70000000
+#define SHT_HIPROC		0x7fffffff
+#define SHT_LOUSER		0x80000000
+#define SHT_HIUSER		0xffffffff
+
+/**
+ * ELF section flags
+ */
+#define SHF_WRITE		0x1 
+#define SHF_ALLOC		0x2
+#define SHF_EXECINSTR		0x4
+#define SHF_MASKPROC		0xf0000000
+
+/**
  * 32-bit ELF data types
  */
@@ -115,5 +143,5 @@
 typedef __u32 elf32_word;
 
-/*
+/**
  * 32-bit ELF header
  */
@@ -135,4 +163,26 @@
 };
 
+
+/*
+ * 32-bit ELF section header
+ */
+struct elf32_section_header {
+	elf32_word sh_name;
+	elf32_word sh_type;
+	elf32_word sh_flags;
+	elf32_addr sh_addr;
+	elf32_off sh_offset;
+	elf32_word sh_size;
+	elf32_word sh_link;
+	elf32_word sh_info;
+	elf32_word sh_addralign;
+	elf32_word sh_entsize;
+}
+
+
+typedef struct elf32_header elf32_header_t;
+typedef struct elf32_section_header elf32_section_header_t;
+
+
 extern int elf32_load(__address header, as_t * as);
 
