+int tracepoint_register_lib(struct tracepoint *tracepoints_start, int tracepoints_count)
+{
+ struct tracepoint_lib *pl;
+
+ pl = (struct tracepoint_lib *) malloc(sizeof(struct tracepoint_lib));
+
+ pl->tracepoints_start = tracepoints_start;
+ pl->tracepoints_count = tracepoints_count;
+
+ /* FIXME: maybe protect this with its own mutex? */
+ mutex_lock(&tracepoints_mutex);
+ list_add(&pl->list, &libs);
+ mutex_unlock(&tracepoints_mutex);
+
+ new_tracepoints(tracepoints_start, tracepoints_start + tracepoints_count);
+
+ /* FIXME: update just the loaded lib */
+ lib_update_tracepoints();
+
+ DBG("just registered a tracepoints section from %p and having %d tracepoints", tracepoints_start, tracepoints_count);
+
+ return 0;
+}
+
+int tracepoint_unregister_lib(struct tracepoint *tracepoints_start, int tracepoints_count)
+{
+ /*FIXME: implement; but before implementing, tracepoint_register_lib must
+ have appropriate locking. */
+
+ return 0;
+}