- void* elfu_mScnForall(ElfuElf *me, SectionHandlerFunc f, void *aux1, void *aux2);
- size_t elfu_mScnCount(ElfuElf *me);
- size_t elfu_mScnIndex(ElfuElf *me, ElfuScn *ms);
- ElfuScn* elfu_mScnByOldscn(ElfuElf *me, ElfuScn *oldscn);
- char* elfu_mScnName(ElfuElf *me, ElfuScn *ms);
+
+/*!
+ * @brief Iterate over all sections.
+ * @param me Entire ELF model.
+ * @param f Callback function.
+ * @param aux1 User defined.
+ * @param aux2 User defined.
+ * @result NULL if all items have been processed.
+ * Otherwise the return value of the last handler function
+ * call before aborting.
+ */
+void* elfu_mScnForall(ElfuElf *me, SectionHandlerFunc f, void *aux1, void *aux2);
+
+/*!
+ * @brief Calculate number of sections in an ElfuElf.
+ * @param me Entire ELF model.
+ * @result Total number of sections.
+ */
+size_t elfu_mScnCount(ElfuElf *me);
+
+/*!
+ * @brief Calculate index a section would currently have in its ElfuElf.
+ * @param me Entire ELF model.
+ * @param ms A section in *me.
+ * @result Estimated index.
+ */
+size_t elfu_mScnIndex(ElfuElf *me, ElfuScn *ms);
+
+/*!
+ * @brief Find a cloned section by its oldscn value.
+ * @param me Entire ELF model.
+ * @param oldscn Original section to find the clone of.
+ * @result A section that is a clone of *oldscn.
+ * NULL if none found.
+ */
+ElfuScn* elfu_mScnByOldscn(ElfuElf *me, ElfuScn *oldscn);
+
+/*!
+ * @brief Get a section's name.
+ * @param me Entire ELF model.
+ * @param ms A section in *me.
+ * @result Pointer to the section's name in .shstrtab.
+ */
+char* elfu_mScnName(ElfuElf *me, ElfuScn *ms);
+
+/*!
+ * @brief Allocate an array of pointers to all sections,
+ * and sort them by offset.
+ * @param me Entire ELF model.
+ * @param count Where to write total count of sections to.
+ * @result Pointer to the section's name in .shstrtab.
+ * NULL if an error occurred.
+ */