New function proc_each_symbol
diff --git a/proc.c b/proc.c
index 3134ce9..54909c9 100644
--- a/proc.c
+++ b/proc.c
@@ -999,3 +999,24 @@
 
 	return 0;
 }
+
+struct library_symbol *
+proc_each_symbol(struct Process *proc, struct library_symbol *start_after,
+		 enum callback_status (*cb)(struct library_symbol *, void *),
+		 void *data)
+{
+	struct library *lib;
+	if (start_after != NULL)
+		lib = start_after->lib;
+	else
+		lib = proc->libraries;
+
+	for (lib = start_after != NULL ? start_after->lib : proc->libraries;
+	     lib != NULL; lib = lib->next) {
+		start_after = library_each_symbol(lib, start_after, cb, data);
+		if (start_after != NULL)
+			return start_after;
+	}
+
+	return NULL;
+}