/* Definitions for the filesystem control interface Copyright (C) 1992, 1993 Free Software Foundation 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; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ subsystem fsys 22000; #include #ifdef FSYS_IMPORTS FSYS_IMPORTS #endif /* Sent by filesystem on its bootstrap port upon startup. REALNODE is the node this filesystem is the translator for, with all permissions. */ routine fsys_startup ( bootstrap: mach_port_t; control_port: fsys_t; out realnode: file_t; out dotdot_node: file_t); /* Filesystem should go away. Bye. */ routine fsys_goaway ( fsys: fsys_t; flags: int); /* Return a file to the root of the filesystem. FLAGS are as for dir_pathtrans. AUTH_REALNODE is an authenticated node for the user doing the lookup to the real node underlying the port. */ routine fsys_getroot ( fsys: fsys_t; #ifdef FSYS_GETROOT_UREPLY ureplyport ureply: mig_reply_port_t; #endif flags: int; uids: idarray_t; gids: idarray_t; auth_realnode: mach_port_move_send_t; out file: mach_port_move_send_t); /* Get a file given a file handle (see file_getfh). */ routine fsys_getfile ( fsys: fsys_t; uids: idarray_t; gids: idarray_t; filehandle: data_t; out file: file_t);