1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
From 49ef73be6f46e264ff1511c464d2bbe01b6a5f6a 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: [PATCH hurd 14/28] 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(+)
diff --git a/pflocal/mig-decls.h b/pflocal/mig-decls.h
index 983de9d..b1da797 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 b149473..238c806 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";
--
2.1.3
|