From 5fef1b7f22ec0ee3730b80bbf972dbf9a8995091 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Wed, 5 Oct 2016 15:38:58 +0200 Subject: libfshelp: Add function to map over all active translators. * libdiskfs/file-syncfs.c (diskfs_S_file_syncfs): Use the new function. * libdiskfs/fsys-options.c (diskfs_S_fsys_set_options): Likewise. * libdiskfs/fsys-syncfs.c (diskfs_S_fsys_syncfs): Likewise. * libdiskfs/shutdown.c (diskfs_shutdown): Likewise. * libfshelp/fshelp.h (fshelp_map_active_translators): New declaration. * libfshelp/translator-list.c (fshelp_map_active_translators): New function. * libnetfs/file-syncfs.c (netfs_S_file_syncfs): Use the new function. * libnetfs/fsys-set-options.c (netfs_S_fsys_set_options): Likewise. * libnetfs/fsys-syncfs.c (netfs_S_fsys_syncfs): Likewise. * libnetfs/shutdown.c (netfs_shutdown): Likewise. --- libfshelp/fshelp.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'libfshelp/fshelp.h') diff --git a/libfshelp/fshelp.h b/libfshelp/fshelp.h index ecd9335d..d1dd49c4 100644 --- a/libfshelp/fshelp.h +++ b/libfshelp/fshelp.h @@ -71,6 +71,16 @@ fshelp_get_active_translators (char **translators, fshelp_filter filter, const char *prefix); +/* Call FUN for each active translator. If FUN returns non-zero, the + iteration immediately stops, and returns that value. FUN is called + with COOKIE, the name of the translator, and the translators + control port. */ +error_t +fshelp_map_active_translators (error_t (*fun)(void *cookie, + const char *name, + mach_port_t control), + void *cookie); + /* Passive translator linkage */ /* These routines are self-contained and start passive translators, -- cgit v1.2.3