summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2013-11-28 10:40:56 +0100
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-12-07 15:38:18 +0100
commit4191267e600e4ff1d54cf42baa2b3a0c9a842844 (patch)
treec950c9a5adc1edd58bbb9fd6aa704c52d04c0038
parentedfeb493f9d95e64b747a11abb528d81da47b16a (diff)
console: add a payload-aware intrans function
* console/priv.h (begin_using_protid_payload): New function. * console/mutations.h: Add mutators.
-rw-r--r--console/mutations.h3
-rw-r--r--libnetfs/priv.h6
2 files changed, 9 insertions, 0 deletions
diff --git a/console/mutations.h b/console/mutations.h
index 4e1cc7e1..87906ccd 100644
--- a/console/mutations.h
+++ b/console/mutations.h
@@ -21,12 +21,15 @@
/* Only CPP macro definitions should go in this file. */
#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 TIOCTL_IMPORTS import "libnetfs/priv.h";
#define NOTIFY_INTRAN \
port_info_t begin_using_port_info_port (mach_port_t)
+#define NOTIFY_INTRAN_PAYLOAD \
+ port_info_t begin_using_port_info_payload
#define NOTIFY_DESTRUCTOR \
end_using_port_info (port_info_t)
#define NOTIFY_IMPORTS \
diff --git a/libnetfs/priv.h b/libnetfs/priv.h
index 36c8f536..3c5bcd4f 100644
--- a/libnetfs/priv.h
+++ b/libnetfs/priv.h
@@ -31,6 +31,12 @@ begin_using_protid_port (file_t port)
return ports_lookup_port (netfs_port_bucket, port, netfs_protid_class);
}
+static inline struct protid * __attribute__ ((unused))
+begin_using_protid_payload (unsigned long payload)
+{
+ return ports_lookup_payload (netfs_port_bucket, payload, netfs_protid_class);
+}
+
static inline void __attribute__ ((unused))
end_using_protid_port (struct protid *cred)
{