summaryrefslogtreecommitdiff
path: root/libnetfs
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>1997-03-02 21:11:18 +0000
committerMiles Bader <miles@gnu.org>1997-03-02 21:11:18 +0000
commit0fbec5e8bf04c081ccb3c2131d2e239d1e3a4866 (patch)
treeb4b41db75131c09cf74990de7a74a6b2b7672210 /libnetfs
parent52141c8b471f3d1b031338cfc4d752e67f4a4993 (diff)
(struct peropen):
Add shadow_root_parent & shadow_root fields. Removed depth field. Rename dotdotnode field to root_parent. (netfs_make_peropen): Add and use CONTEXT parameter.
Diffstat (limited to 'libnetfs')
-rw-r--r--libnetfs/netfs.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/libnetfs/netfs.h b/libnetfs/netfs.h
index bb9bcc32..692ee6de 100644
--- a/libnetfs/netfs.h
+++ b/libnetfs/netfs.h
@@ -1,6 +1,6 @@
/*
- Copyright (C) 1994, 1995, 1996 Free Software Foundation
+ Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -56,8 +56,16 @@ struct peropen
int lock_status;
int refcnt;
int openstat;
- mach_port_t dotdotport;
+
struct node *np;
+
+ /* The parent of the translator's root node. */
+ mach_port_t root_parent;
+
+ /* If this node is in a shadow tree, the parent of its root. */
+ mach_port_t shadow_root_parent;
+ /* If in a shadow tree, its root node in this translator. */
+ struct node *shadow_root;
};
/* A unique one of these exists for each node currently in use. */
@@ -302,7 +310,14 @@ extern int netfs_maxsymlinks;
void netfs_init (void);
void netfs_server_loop (void);
struct protid *netfs_make_protid (struct peropen *, struct iouser *);
-struct peropen *netfs_make_peropen (struct node *, int, mach_port_t);
+
+/* Create and return a new peropen structure on node NP with open
+ flags FLAGS. The initial values for the root_parent, shadow_root, and
+ shadow_root_parent fields are copied from CONTEXT if it's non-zero,
+ otherwise zerod. */
+struct peropen *netfs_make_peropen (struct node *, int,
+ struct peropen *context);
+
void netfs_drop_node (struct node *);
void netfs_release_protid (void *);
void netfs_release_peropen (struct peropen *);