Object file injection, first part
[centaur.git] / src / model / count.c
index 274b9d8f3d36f45d4116f7d2801dda00c0bb6c35..671767e04b1b0fa01967a09bfaec1865a8d806a5 100644 (file)
@@ -3,9 +3,29 @@
 #include <libelfu/libelfu.h>
 
 
+size_t elfu_mScnIndex(ElfuElf *me, ElfuScn *ms)
+{
+  ElfuScn *ms2;
+  size_t i = 1;
+
+  assert(me);
+  assert(ms);
+
+  CIRCLEQ_FOREACH(ms2, &me->scnList, elem) {
+    if (ms2 == ms) {
+      return i;
+    }
+
+    i++;
+  }
+
+  /* Section is not in ELF model. This means the calling code is broken. */
+  assert(0);
+}
+
 
 /* NULL section is not counted! */
-size_t elfu_countSections(ElfuElf *me)
+size_t elfu_mCountScns(ElfuElf *me)
 {
   ElfuScn *ms;
   size_t i = 0;
@@ -20,7 +40,7 @@ size_t elfu_countSections(ElfuElf *me)
 }
 
 
-size_t elfu_countPHDRs(ElfuElf *me)
+size_t elfu_mCountPhdrs(ElfuElf *me)
 {
   ElfuPhdr *mp;
   size_t i = 0;