X-Git-Url: https://gitweb.dragonflybsd.org/dragonfly.git/blobdiff_plain/19e5aed475a8aa68fd1e03d4bf5be40ec4ba05fa..66021a66c00b6f376e593c818e837499ac1982c3:/sys/kern/kern_linker.c diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index 301e109c8c..0a0c740142 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -411,6 +411,22 @@ linker_find_file_by_id(int fileid) return lf; } +int +linker_file_foreach(linker_predicate_t *predicate, void *context) +{ + linker_file_t lf; + int retval = 0; + + lockmgr(&lock, LK_SHARED); + TAILQ_FOREACH(lf, &linker_files, link) { + retval = predicate(lf, context); + if (retval != 0) + break; + } + lockmgr(&lock, LK_RELEASE); + return (retval); +} + linker_file_t linker_make_file(const char* pathname, void* priv, struct linker_file_ops* ops) {