summaryrefslogtreecommitdiff
path: root/libtrivfs/trivfs.h
diff options
context:
space:
mode:
authorThomas Bushnell <thomas@gnu.org>1999-02-19 07:45:38 +0000
committerThomas Bushnell <thomas@gnu.org>1999-02-19 07:45:38 +0000
commitb4d4e7e9b8ca92adddbb2c19bb1c3d1beda23441 (patch)
treed32663d27d6836afbc5ca79fcc852f7cd778b748 /libtrivfs/trivfs.h
parentb2a6f425757ea52463ec2353712cc79b3446f60c (diff)
1999-02-06 Mark Kettenis <kettenis@gnu.org>
* trivfs.h (trivfs_check_access_hook): New variable. * fsys-getroot.c (trivfs_S_fsys_getroot): Use trivfs_check_acces_hook. * dir-lookup.c (trivfs_S_dir_lookup): Likewise. * file-access.c (trivfs_S_file_check_access): Likewise.
Diffstat (limited to 'libtrivfs/trivfs.h')
-rw-r--r--libtrivfs/trivfs.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/libtrivfs/trivfs.h b/libtrivfs/trivfs.h
index 8e62db68..5f91cac3 100644
--- a/libtrivfs/trivfs.h
+++ b/libtrivfs/trivfs.h
@@ -100,6 +100,15 @@ extern int trivfs_cntl_nportclasses;
nothing. */
void trivfs_modify_stat (struct trivfs_protid *cred, struct stat *);
+/* If this variable is set, it is called to find out what access this
+ file permits to USER instead of checking the underlying node.
+ REALNODE is the underlying node, and CNTL is the trivfs control
+ object. The access permissions are returned in ALLOWED. */
+error_t (*trivfs_check_access_hook) (struct trivfs_control *cntl,
+ struct iouser *user,
+ mach_port_t realnode,
+ int *allowed);
+
/* If this variable is set, it is called every time an open happens.
USER and FLAGS are from the open; CNTL identifies the
node being opened. This call need not check permissions on the underlying