From f203e7d6703710fe7415cb9a1e562e6ac41798d2 Mon Sep 17 00:00:00 2001 From: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Thu, 28 Nov 2013 10:45:44 +0100 Subject: [PATCH hurd 05/29] libnetfs: add a payload-aware intrans function * libnetfs/priv.h (begin_using_protid_payload): New function. * libnetfs/mutations.h: Add mutator. --- libnetfs/mutations.h | 3 +++ libnetfs/priv.h | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/libnetfs/mutations.h b/libnetfs/mutations.h index e60a220..088d8a0 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 ba31080..36c8f53 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) { -- 2.1.3