-extern uint32_t num_uids;
-extern struct osl_table *dir_table;
-extern uint64_t num_dirs;
-extern uint64_t num_files;
-extern uint64_t num_bytes;
-extern struct gengetopt_args_info conf;
+/**
+ * Compare the size of two directories
+ *
+ * \param obj1 Pointer to the first object.
+ * \param obj2 Pointer to the second object.
+ *
+ * This function first compares the size values as usual integers. If they compare as
+ * equal, the address of \a obj1 and \a obj2 are compared. So this compare function
+ * returns zero if and only if \a obj1 and \a obj2 point to the same memory area.
+ */
+_static_inline_ int size_compare(const struct osl_object *obj1, const struct osl_object *obj2)
+{
+ uint64_t d1 = *(uint64_t *)obj1->data;
+ uint64_t d2 = *(uint64_t *)obj2->data;
+ int ret = NUM_COMPARE(d2, d1);
+
+ if (ret)
+ return ret;
+ //INFO_LOG("addresses: %p, %p\n", obj1->data, obj2->data);
+ return NUM_COMPARE(obj2->data, obj1->data);
+}