summaryrefslogtreecommitdiff
path: root/mount.h
diff options
context:
space:
mode:
authorSergiu Ivanov <unlimitedscolobb@gmail.com>2009-07-05 23:08:44 +0300
committerSergiu Ivanov <unlimitedscolobb@gmail.com>2009-12-10 21:32:41 +0000
commitd711d1eb2ac42911690a107f80e7fb5df09a4782 (patch)
tree9e4dd8dbc7e61cafa96fed475766ae7219b3db00 /mount.h
parentf7309c9bf8e75c829da8bb983b28284b9a119340 (diff)
Implement mountee startup.
* mount.c (mountee_node): New variable. (mountee_root): Likewise. (mountee_started): Likewise. (start_mountee): New function (based on node_set_translator in nsmux). (setup_unionmount): New function. * mount.h (mountee_root): New variable. (mountee_started): Likewise. (start_mountee): New function. (setup_unionmount): New function. * netfs.c (netfs_validate_stat): Start the mountee at the first invocation.
Diffstat (limited to 'mount.h')
-rw-r--r--mount.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/mount.h b/mount.h
index a7dd933..fd265f0 100644
--- a/mount.h
+++ b/mount.h
@@ -23,10 +23,27 @@
#ifndef INCLUDED_MOUNT_H
#define INCLUDED_MOUNT_H
+#include <error.h>
#include <unistd.h>
+#include <hurd/hurd_types.h>
+
+#include "node.h"
/* The command line for starting the mountee. */
extern char * mountee_argz;
extern size_t mountee_argz_len;
+extern mach_port_t mountee_root;
+
+extern int mountee_started;
+
+/* Starts the mountee (given by `argz` and `argz_len`), attaches it to
+ the node `np` and opens a port `port` to the mountee. */
+error_t
+start_mountee (node_t * np, char * argz, size_t argz_len, mach_port_t * port);
+
+/* Sets up a proxy node and sets the translator on it. */
+error_t
+setup_unionmount (void);
+
#endif /* not INCLUDED_MOUNT_H */