summaryrefslogtreecommitdiff
path: root/libtrivfs/trivfs.h
diff options
context:
space:
mode:
Diffstat (limited to 'libtrivfs/trivfs.h')
-rw-r--r--libtrivfs/trivfs.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/libtrivfs/trivfs.h b/libtrivfs/trivfs.h
index 1e298dc4..6e087f31 100644
--- a/libtrivfs/trivfs.h
+++ b/libtrivfs/trivfs.h
@@ -261,4 +261,40 @@ error_t trivfs_add_port_bucket (struct port_bucket **bucket);
if it was allocated by trivfs_add_port_bucket. */
void trivfs_remove_port_bucket (struct port_bucket *bucket);
+
+/* This stuff is for the sake of MiG stubs and could be in a private
+ header. But it might be handy for users that override parts of the
+ library. Moreover, since the stub headers will use all the imports we
+ need for the stubs, we couldn't make the stub headers public without
+ making this public too. */
+
+typedef struct trivfs_protid *trivfs_protid_t;
+typedef struct trivfs_control *trivfs_control_t;
+
+struct trivfs_protid *_trivfs_begin_using_protid (mach_port_t);
+void _trivfs_end_using_protid (struct trivfs_protid *);
+struct trivfs_control *_trivfs_begin_using_control (mach_port_t);
+void _trivfs_end_using_control (struct trivfs_control *);
+
+/* Vectors of dynamically allocated port classes/buckets. */
+
+/* Protid port classes. */
+extern struct port_class **trivfs_dynamic_protid_port_classes;
+extern size_t trivfs_num_dynamic_protid_port_classes;
+
+/* Control port classes. */
+extern struct port_class **trivfs_dynamic_control_port_classes;
+extern size_t trivfs_num_dynamic_control_port_classes;
+
+/* Port buckets. */
+extern struct port_bucket **trivfs_dynamic_port_buckets;
+extern size_t trivfs_num_dynamic_port_buckets;
+
+/* These are the MiG-generated headers that declare prototypes
+ for the server functions. */
+#include <hurd/trivfs_fs_S.h>
+#include <hurd/trivfs_io_S.h>
+#include <hurd/trivfs_fsys_S.h>
+
+
#endif /* __TRIVFS_H__ */