From 83d2175c4345e612195059709f16a7d83bc5832e Mon Sep 17 00:00:00 2001 From: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Mon, 14 Apr 2014 14:21:16 +0200 Subject: [PATCH hurd 17/29] term: add a payload-aware intrans function * term/mig-mutate.h: Add mutator. --- term/Makefile | 1 + term/mig-decls.h | 6 ++++++ term/mig-mutate.h | 3 +++ 3 files changed, 10 insertions(+) diff --git a/term/Makefile b/term/Makefile index 5006c0d..1419d2a 100644 --- a/term/Makefile +++ b/term/Makefile @@ -33,5 +33,6 @@ include ../Makeconf device_replyServer-CPPFLAGS = -DTypeCheck=0 -Wno-unused # XXX +device_reply-MIGSFLAGS = -DMACH_PAYLOAD_TO_PORT=ports_payload_get_name tioctl-MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h term-MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h diff --git a/term/mig-decls.h b/term/mig-decls.h index c91b133..09b45c6 100644 --- a/term/mig-decls.h +++ b/term/mig-decls.h @@ -32,6 +32,12 @@ begin_using_ctty_port (mach_port_t port) return ports_lookup_port (term_bucket, port, cttyid_class); } +static inline struct port_info * __attribute__ ((unused)) +begin_using_ctty_payload (unsigned long payload) +{ + return ports_lookup_payload (term_bucket, payload, cttyid_class); +} + static inline void __attribute__ ((unused)) end_using_ctty (struct port_info *p) { diff --git a/term/mig-mutate.h b/term/mig-mutate.h index 1545719..af8877e 100644 --- a/term/mig-mutate.h +++ b/term/mig-mutate.h @@ -20,10 +20,13 @@ /* Only CPP macro definitions should go in this file. */ #define IO_INTRAN trivfs_protid_t trivfs_begin_using_protid (io_t) +#define IO_INTRAN_PAYLOAD trivfs_protid_t trivfs_begin_using_protid_payload #define IO_DESTRUCTOR trivfs_end_using_protid (trivfs_protid_t) #define CTTY_INTRAN \ port_info_t begin_using_ctty_port (mach_port_t) +#define CTTY_INTRAN_PAYLOAD \ + port_info_t begin_using_ctty_payload #define CTTY_DESTRUCTOR \ end_using_ctty (port_info_t) -- 2.1.3