From a096270c77b1f6461a2ef58660ad9cfa9cbb32bb Mon Sep 17 00:00:00 2001 From: Flavio Cruz Date: Sat, 8 Apr 2023 01:03:31 -0400 Subject: Further modernize Hurd code by enforcing strict prototypes and no implicit function declarations. Most of the changes land in one of these buckets: * Removed unused declarations. * Used (void) to represent no parameters instead of () which means an undeterminate number of parameters. * Included missing header files whenever necessary (stdlib.h, sys/mman.h, etc) * Typedefed function pointers to be able to fully declare the parameter types. * Added declarations of library functions that are used elsewhere (example is libps/ps.h). * Made functions static whenever they are only used in that file. * Forwarded declarations of some methods that were made static. Message-Id: --- libtrivfs/dyn-classes.c | 4 ++-- libtrivfs/trivfs.h | 12 +++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) (limited to 'libtrivfs') diff --git a/libtrivfs/dyn-classes.c b/libtrivfs/dyn-classes.c index edc13a0f..ad72192b 100644 --- a/libtrivfs/dyn-classes.c +++ b/libtrivfs/dyn-classes.c @@ -23,7 +23,7 @@ /* Auxiliary info for each vector element. */ struct aux { - void (*free_el)(); + void (*free_el)(void *); unsigned refs; }; @@ -63,7 +63,7 @@ static pthread_mutex_t dyn_lock = PTHREAD_MUTEX_INITIALIZER; cases: (1) An error is encountered trying to grow one of the vectors, (2) when the element is eventually freed by drop_el. */ static error_t -add_el (void *el, void (*free_el)(), +add_el (void *el, void (*free_el)(void *), void *vec_v, struct aux **aux_vec, size_t *sz, size_t *num) { diff --git a/libtrivfs/trivfs.h b/libtrivfs/trivfs.h index 4802f5fc..25b601ff 100644 --- a/libtrivfs/trivfs.h +++ b/libtrivfs/trivfs.h @@ -146,11 +146,7 @@ extern void (*trivfs_protid_destroy_hook) (struct trivfs_protid *); is about to be destroyed. */ extern void (*trivfs_peropen_destroy_hook) (struct trivfs_peropen *); -/* If this variable is set, it is called by trivfs_S_fsys_getroot before any - other processing takes place; if the return value is EAGAIN, normal trivfs - getroot processing continues, otherwise the rpc returns with that return - value. */ -extern error_t (*trivfs_getroot_hook) (struct trivfs_control *cntl, +typedef error_t (*trivfs_getroot_hook_fun) (struct trivfs_control *cntl, mach_port_t reply_port, mach_msg_type_name_t reply_port_type, mach_port_t dotdot, @@ -159,6 +155,12 @@ extern error_t (*trivfs_getroot_hook) (struct trivfs_control *cntl, retry_type *do_retry, char *retry_name, mach_port_t *node, mach_msg_type_name_t *node_type); +/* If this variable is set, it is called by trivfs_S_fsys_getroot before any + other processing takes place; if the return value is EAGAIN, normal trivfs + getroot processing continues, otherwise the rpc returns with that return + value. */ +extern trivfs_getroot_hook_fun trivfs_getroot_hook; + /* Creates a control port for this filesystem and sends it to BOOTSTRAP with fsys_startup. CONTROL_CLASS & CONTROL_BUCKET are passed to the ports library to create the control port, and PROTID_CLASS & PROTID_BUCKET are -- cgit v1.2.3