From 9366d6b2e48ba409366adc0516825c41a86dec9b Mon Sep 17 00:00:00 2001 From: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Thu, 30 Jan 2014 10:53:46 +0100 Subject: hurd: fix the get-children and get-source procedures * hurd/fs.defs: Add file_get_children and file_get_source. * hurd/fsys.defs: Remove fsys_get_children and fsys_get_source. * libdiskfs/fsys-get-children.c: Rename and adapt accordingly. * libdiskfs/fsys-get-source.c: Likewise. * libnetfs/fsys-get-children.c: Likewise. * libnetfs/fsys-get-source.c: Likewise. * libtrivfs/fsys-get-children.c: Likewise. * libtrivfs/fsys-get-source.c: Likewise. * libdiskfs/diskfs.h: Adapt prototype and comment. * libnetfs/netfs.h: Likewise. * libtrivfs/trivfs.h: Likewise. * libdiskfs/get-source.c: Adapt default implementation, provide diskfs_disk_name by default. * libnetfs/netfs.h: Adapt default implementation. * libtrivfs/get-source.c: Likewise. * libdiskfs/Makefile: Adapt accordingly. * libnetfs/Makefile: Likewise. * libtrivfs/Makefile: Likewise. * trans/symlink.c: Likewise. * trans/mtab.c: Likewise. --- libtrivfs/Makefile | 2 +- libtrivfs/file-get-children.c | 35 +++++++++++++++++++++++++++++++++++ libtrivfs/file-get-source.c | 33 +++++++++++++++++++++++++++++++++ libtrivfs/fsys-get-children.c | 35 ----------------------------------- libtrivfs/fsys-get-source.c | 33 --------------------------------- libtrivfs/get-source.c | 2 +- libtrivfs/trivfs.h | 9 +++++---- 7 files changed, 75 insertions(+), 74 deletions(-) create mode 100644 libtrivfs/file-get-children.c create mode 100644 libtrivfs/file-get-source.c delete mode 100644 libtrivfs/fsys-get-children.c delete mode 100644 libtrivfs/fsys-get-source.c (limited to 'libtrivfs') diff --git a/libtrivfs/Makefile b/libtrivfs/Makefile index 241b76df..3e4c0393 100644 --- a/libtrivfs/Makefile +++ b/libtrivfs/Makefile @@ -35,7 +35,7 @@ IOSRCS=io-async-icky.c io-async.c io-duplicate.c io-map.c io-modes-get.c \ FSYSSRCS=fsys-getroot.c fsys-goaway.c fsys-stubs.c fsys-syncfs.c \ fsys-forward.c fsys-set-options.c fsys-get-options.c \ - fsys-get-children.c fsys-get-source.c + file-get-children.c file-get-source.c OTHERSRCS=demuxer.c protid-clean.c protid-dup.c cntl-create.c \ cntl-clean.c migsupport.c times.c startup.c open.c \ diff --git a/libtrivfs/file-get-children.c b/libtrivfs/file-get-children.c new file mode 100644 index 00000000..a3afbba2 --- /dev/null +++ b/libtrivfs/file-get-children.c @@ -0,0 +1,35 @@ +/* file_get_children + + Copyright (C) 2013 Free Software Foundation, Inc. + + Written by Justus Winter <4winter@informatik.uni-hamburg.de> + + This file is part of the GNU Hurd. + + The GNU Hurd is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + The GNU Hurd is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the GNU Hurd. If not, see . */ + +#include "priv.h" + +/* Return any active translators bound to nodes of the receiving + filesystem. CHILDREN is an argz vector containing file names + relative to the root of the receiving translator. */ +error_t +trivfs_S_file_get_children (struct trivfs_protid *cred, + mach_port_t reply, + mach_msg_type_name_t replyPoly, + char **children, + mach_msg_type_number_t *children_len) +{ + return EOPNOTSUPP; +} diff --git a/libtrivfs/file-get-source.c b/libtrivfs/file-get-source.c new file mode 100644 index 00000000..35636b56 --- /dev/null +++ b/libtrivfs/file-get-source.c @@ -0,0 +1,33 @@ +/* file_get_source + + Copyright (C) 2013 Free Software Foundation, Inc. + + Written by Justus Winter <4winter@informatik.uni-hamburg.de> + + This file is part of the GNU Hurd. + + The GNU Hurd is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + The GNU Hurd is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the GNU Hurd. If not, see . */ + +#include "priv.h" + +/* Return information about the source of the receiving + filesystem. */ +error_t +trivfs_S_file_get_source (struct trivfs_protid *cred, + mach_port_t reply, + mach_msg_type_name_t replyPoly, + char *source) +{ + return cred? trivfs_get_source (cred, source, 1024 /* XXX */): EOPNOTSUPP; +} diff --git a/libtrivfs/fsys-get-children.c b/libtrivfs/fsys-get-children.c deleted file mode 100644 index 4697cc5d..00000000 --- a/libtrivfs/fsys-get-children.c +++ /dev/null @@ -1,35 +0,0 @@ -/* fsys_get_children - - Copyright (C) 2013 Free Software Foundation, Inc. - - Written by Justus Winter <4winter@informatik.uni-hamburg.de> - - This file is part of the GNU Hurd. - - The GNU Hurd is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - The GNU Hurd is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with the GNU Hurd. If not, see . */ - -#include "priv.h" - -/* Return any active translators bound to nodes of the receiving - filesystem. CHILDREN is an argz vector containing file names - relative to the root of the receiving translator. */ -error_t -trivfs_S_fsys_get_children (trivfs_control_t server, - mach_port_t reply, - mach_msg_type_name_t replyPoly, - char **children, - mach_msg_type_number_t *children_len) -{ - return EOPNOTSUPP; -} diff --git a/libtrivfs/fsys-get-source.c b/libtrivfs/fsys-get-source.c deleted file mode 100644 index 64aec2fb..00000000 --- a/libtrivfs/fsys-get-source.c +++ /dev/null @@ -1,33 +0,0 @@ -/* fsys_get_source - - Copyright (C) 2013 Free Software Foundation, Inc. - - Written by Justus Winter <4winter@informatik.uni-hamburg.de> - - This file is part of the GNU Hurd. - - The GNU Hurd is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - The GNU Hurd is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with the GNU Hurd. If not, see . */ - -#include "priv.h" - -/* Return information about the source of the receiving - filesystem. */ -error_t -trivfs_S_fsys_get_source (trivfs_control_t server, - mach_port_t reply, - mach_msg_type_name_t replyPoly, - char *source) -{ - return trivfs_get_source (source); -} diff --git a/libtrivfs/get-source.c b/libtrivfs/get-source.c index 9ea56930..2605dacc 100644 --- a/libtrivfs/get-source.c +++ b/libtrivfs/get-source.c @@ -22,7 +22,7 @@ #include "priv.h" error_t -trivfs_get_source (char *source) +trivfs_get_source (struct trivfs_protid *cred, char *source, size_t source_len) { return EOPNOTSUPP; } diff --git a/libtrivfs/trivfs.h b/libtrivfs/trivfs.h index cf817b50..306a4302 100644 --- a/libtrivfs/trivfs.h +++ b/libtrivfs/trivfs.h @@ -235,10 +235,11 @@ error_t trivfs_append_args (struct trivfs_control *fsys, char **argz, size_t *argz_len); /* The user may define this function. The function must set source to - the source device of the filesystem. The function may return an - EOPNOTSUPP to indicate that the concept of a source device is not - applicable. The default function always returns EOPNOTSUPP. */ -error_t trivfs_get_source (char *source); + the source device of CRED. The function may return an EOPNOTSUPP to + indicate that the concept of a source device is not applicable. The + default function always returns EOPNOTSUPP. */ +error_t trivfs_get_source (struct trivfs_protid *cred, + char *source, size_t source_len); /* Add the port class *CLASS to the list of control port classes recognized by trivfs; if *CLASS is 0, an attempt is made to allocate a new port -- cgit v1.2.3