From ab741d845af6fac6313ed40b8f2ae148d96aa716 Mon Sep 17 00:00:00 2001 From: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Thu, 28 Nov 2013 11:13:29 +0100 Subject: pflocal: add payload-aware intrans functions * pflocal/mig-mutate.h: Add mutators. * pflocal/mig-decls.c (begin_using_sock_user_payload): New function. (begin_using_addr_payload): Likewise. --- pflocal/mig-decls.h | 12 ++++++++++++ pflocal/mig-mutate.h | 3 +++ 2 files changed, 15 insertions(+) (limited to 'pflocal') diff --git a/pflocal/mig-decls.h b/pflocal/mig-decls.h index 983de9d1..b1da797d 100644 --- a/pflocal/mig-decls.h +++ b/pflocal/mig-decls.h @@ -36,6 +36,12 @@ begin_using_sock_user_port(mach_port_t port) return (sock_user_t)ports_lookup_port (0, port, sock_user_port_class); } +static inline sock_user_t __attribute__ ((unused)) +begin_using_sock_user_payload (unsigned long payload) +{ + return ports_lookup_payload (NULL, payload, sock_user_port_class); +} + static inline void __attribute__ ((unused)) end_using_sock_user_port (sock_user_t sock_user) { @@ -49,6 +55,12 @@ begin_using_addr_port(mach_port_t port) return (addr_t)ports_lookup_port (0, port, addr_port_class); } +static inline addr_t __attribute__ ((unused)) +begin_using_addr_payload (unsigned long payload) +{ + return ports_lookup_port (NULL, payload, addr_port_class); +} + static inline void __attribute__ ((unused)) end_using_addr_port (addr_t addr) { diff --git a/pflocal/mig-mutate.h b/pflocal/mig-mutate.h index b1494730..238c806b 100644 --- a/pflocal/mig-mutate.h +++ b/pflocal/mig-mutate.h @@ -21,13 +21,16 @@ #define IO_SELECT_REPLY_PORT #define IO_INTRAN sock_user_t begin_using_sock_user_port (io_t) +#define IO_INTRAN_PAYLOAD sock_user_t begin_using_sock_user_payload #define IO_DESTRUCTOR end_using_sock_user_port (sock_user_t) #define IO_IMPORTS import "mig-decls.h"; #define SOCKET_INTRAN sock_user_t begin_using_sock_user_port (socket_t) +#define SOCKET_INTRAN_PAYLOAD sock_user_t begin_using_sock_user_payload #define SOCKET_DESTRUCTOR end_using_sock_user_port (sock_user_t) #define ADDRPORT_INTRAN addr_t begin_using_addr_port (addr_port_t) +#define ADDRPORT_INTRAN_PAYLOAD addr_t begin_using_addr_payload #define ADDRPORT_DESTRUCTOR end_using_addr_port (addr_t) #define SOCKET_IMPORTS import "mig-decls.h"; -- cgit v1.2.3