/* Generated by libdrgn/build-aux/gen_elf_sections.py -H. */

#ifndef DRGN_ELF_SECTIONS_H
#define DRGN_ELF_SECTIONS_H

/**
 * Identifiers for important ELF sections so that they can be referenced by
 * index rather than name.
 */
enum drgn_section_index {
	DRGN_SCN_DEBUG_INFO,
	DRGN_SCN_DEBUG_TYPES,
	DRGN_SCN_DEBUG_ABBREV,
	DRGN_SCN_DEBUG_STR,
	DRGN_SCN_DEBUG_STR_OFFSETS,
	/** Indices less than this are cached when the module is loaded. */
	DRGN_SECTION_INDEX_NUM_PRECACHE,
	DRGN_SCN_DEBUG_ADDR = DRGN_SECTION_INDEX_NUM_PRECACHE,
	DRGN_SCN_DEBUG_FRAME,
	DRGN_SCN_EH_FRAME,
	DRGN_SCN_DEBUG_LOC,
	DRGN_SCN_DEBUG_LOCLISTS,
	/** Indices less than this may have their data cached. */
	DRGN_SECTION_INDEX_NUM_DATA,
	DRGN_SCN_TEXT = DRGN_SECTION_INDEX_NUM_DATA,
	DRGN_SCN_GOT,
	/** Number of section indices. */
	DRGN_SECTION_INDEX_NUM
};

#endif /* DRGN_ELF_SECTIONS_H */
