summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libfshelp/fshelp.h36
1 files changed, 10 insertions, 26 deletions
diff --git a/libfshelp/fshelp.h b/libfshelp/fshelp.h
index cf322c92..6df1ec27 100644
--- a/libfshelp/fshelp.h
+++ b/libfshelp/fshelp.h
@@ -52,15 +52,6 @@ extern int fshelp_transboot_port_type;
normally from your main node initialization routine. */
void fshelp_init_trans_link (struct trans_link *LINK);
-/* The user must define this function. This is used to create ports
- for translator startup from files. NODE identifies the file for
- which a port is required; UID and GID identifies the identity of
- the user for the open. Both arguments are opaque to the library
- (and must be provided to the fshelp_start_translator call). This
- should return the name of a receive right from which exactly one
- send right will be created. */
-mach_port_t fshelp_get_node_port (void *node, uid_t uid, gid_t gid);
-
/* Call to set the control field of translator LINK to CTL
directly. */
void fshelp_set_control (struct trans_link *link, mach_port_t ctl);
@@ -68,26 +59,19 @@ void fshelp_set_control (struct trans_link *link, mach_port_t ctl);
/* Call this when the control field of a translator is null and you
want to have the translator started so you can talk to it. LINK is
the trans_link structure for this node; NAME is the file to execute
- as the translator (*NAME may be modified). fshelp_get_node_port
- will be called with DIR and NODE as necessary. (These values must
- remain valid until fshelp_done_with_node is called.) DIR should
- refer to the directory holding the node being translater, and will
- be provided as the cwdir of the process and as the dotdot return
- value from fsys_startup. NODE will should refer to the node being
- translated, and will be provided as the realnode return value from
- fsys_startup. UID and GID will be provided as the second and third
- arguments to fshelp_get_node_port for both these calls. LOCK must
- be a mutex which you hold; it is assumed that the trans_link
- structure will not be changed unless this is held. */
+ as the translator (*NAME may be modified). DIR and NODE should be
+ send rights; both of them will be reauthenticated before being given
+ to the translator. DIR should refer to the directory holding the node being
+ translater, and will be provided as the cwdir of the process and as
+ the dotdot return value from fsys_startup. NODE should refer to the
+ node being translated, and will be provided as the realnode return value
+ from fsys_startup. UID and GID are the uid and gid of the process to
+ be started. LOCK must be a mutex which you hold; it is assumed
+ that the trans_link structure will not be changed unless this is held. */
error_t fshelp_start_translator (struct trans_link *link, char *name,
- int namelen, void *dir, void *node,
+ int namelen, file_t dir, file_t node,
uid_t uid, gid_t gid, struct mutex *lock);
-/* The user must define this function. This will be called for the
- DIR and NODE arguments to fshelp_start_translator when the library
- no longer needs them. */
-void fshelp_done_with_node (void *);
-
/* Call this when you receive a fsys_startup message on a port of type
fshelp_transboot_port_type. PORTSTRUCT is the result of
ports_check_port_type/ports_get_port; this routine does not call