summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libnetfs/mutations.h3
-rw-r--r--libnetfs/priv.h6
2 files changed, 9 insertions, 0 deletions
diff --git a/libnetfs/mutations.h b/libnetfs/mutations.h
index e60a2208..088d8a06 100644
--- a/libnetfs/mutations.h
+++ b/libnetfs/mutations.h
@@ -23,12 +23,15 @@
#define IO_SELECT_REPLY_PORT
#define FILE_INTRAN protid_t begin_using_protid_port (file_t)
+#define FILE_INTRAN_PAYLOAD protid_t begin_using_protid_payload
#define FILE_DESTRUCTOR end_using_protid_port (protid_t)
#define IO_INTRAN protid_t begin_using_protid_port (io_t)
+#define IO_INTRAN_PAYLOAD protid_t begin_using_protid_payload
#define IO_DESTRUCTOR end_using_protid_port (protid_t)
#define FSYS_INTRAN control_t begin_using_control_port (fsys_t)
+#define FSYS_INTRAN_PAYLOAD control_t begin_using_control_payload
#define FSYS_DESTRUCTOR end_using_control_port (control_t)
#define FILE_IMPORTS import "libnetfs/netfs.h"; import "libnetfs/priv.h";
diff --git a/libnetfs/priv.h b/libnetfs/priv.h
index ba310802..36c8f536 100644
--- a/libnetfs/priv.h
+++ b/libnetfs/priv.h
@@ -44,6 +44,12 @@ begin_using_control_port (fsys_t port)
return ports_lookup_port (netfs_port_bucket, port, netfs_control_class);
}
+static inline struct netfs_control * __attribute__ ((unused))
+begin_using_control_payload (unsigned long payload)
+{
+ return ports_lookup_payload (netfs_port_bucket, payload, netfs_control_class);
+}
+
static inline void __attribute__ ((unused))
end_using_control_port (struct netfs_control *cred)
{