[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH hurd-dde 3/4] eth-multiplexer: add payload-aware intrans function
From: |
Justus Winter |
Subject: |
[PATCH hurd-dde 3/4] eth-multiplexer: add payload-aware intrans functions |
Date: |
Thu, 27 Nov 2014 14:20:10 +0100 |
* eth-multiplexer/mig-mutate.h: Add mutators.
* eth-multiplexer/mig-decls.h (begin_using_device_payload): New function.
* eth-multiplexer/Makefile (device-MIGSFLAGS): Define MACH_PAYLOAD_TO_PORT.
---
eth-multiplexer/Makefile | 1 +
eth-multiplexer/mig-decls.h | 6 ++++++
eth-multiplexer/mig-mutate.h | 4 ++++
3 files changed, 11 insertions(+)
diff --git a/eth-multiplexer/Makefile b/eth-multiplexer/Makefile
index fbee1ca..bfd065a 100644
--- a/eth-multiplexer/Makefile
+++ b/eth-multiplexer/Makefile
@@ -23,6 +23,7 @@ target = eth-multiplexer
SRCS = ethernet.c vdev.c multiplexer.c dev_stat.c netfs_impl.c notify_impl.c
device_impl.c demuxer.c
MIGSTUBS = deviceServer.o notifyServer.o
MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h
+device-MIGSFLAGS="-DMACH_PAYLOAD_TO_PORT=ports_payload_get_name"
OBJS = $(SRCS:.c=.o) $(MIGSTUBS)
LCLHDRS = ethernet.h util.h vdev.h netfs_impl.h
HURDLIBS=ports fshelp shouldbeinlibc netfs bpf
diff --git a/eth-multiplexer/mig-decls.h b/eth-multiplexer/mig-decls.h
index a68e2ec..6ad9ebf 100644
--- a/eth-multiplexer/mig-decls.h
+++ b/eth-multiplexer/mig-decls.h
@@ -35,6 +35,12 @@ begin_using_device_port (mach_port_t port)
return ports_lookup_port (port_bucket, port, vdev_portclass);
}
+static inline struct vether_device * __attribute__ ((unused))
+begin_using_device_payload (unsigned long payload)
+{
+ return ports_lookup_payload (port_bucket, payload, vdev_portclass);
+}
+
static inline void __attribute__ ((unused))
end_using_device (struct vether_device *p)
{
diff --git a/eth-multiplexer/mig-mutate.h b/eth-multiplexer/mig-mutate.h
index 2403c29..55eca31 100644
--- a/eth-multiplexer/mig-mutate.h
+++ b/eth-multiplexer/mig-mutate.h
@@ -19,6 +19,8 @@
#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 \
@@ -26,6 +28,8 @@
#define DEVICE_INTRAN \
vether_device_t begin_using_device_port (mach_port_t)
+#define DEVICE_INTRAN_PAYLOAD \
+ vether_device_t begin_using_device_payload
#define DEVICE_DESTRUCTOR \
end_using_device (vether_device_t)
#define DEVICE_IMPORTS \
--
2.1.3
- [PATCH hurd 29/30] libports: Fix build, (continued)
- [PATCH hurd 29/30] libports: Fix build, Justus Winter, 2014/11/27
- [PATCH hurd 25/30] trans/symlink: disable default payload to port mapping, Justus Winter, 2014/11/27
- [PATCH hurd 27/30] hurd: add intranpayload functions to all hurd types, Justus Winter, 2014/11/27
- [PATCH hurd 26/30] utils/rpctrace: make `trace_and_forward' payload-aware, Justus Winter, 2014/11/27
- [PATCH hurd 30/30] mach-defpager: fix build, Justus Winter, 2014/11/27
- [PATCH hurd 28/30] libports: use protected payloads to optimize the object lookup, Justus Winter, 2014/11/27
- [PATCH hurd 07/30] libnetfs: add a payload-aware intrans function, Justus Winter, 2014/11/27
- Re: [PATCH hurd 01/30] proc: fix NULL dereference, Samuel Thibault, 2014/11/27
- [PATCH hurd-dde 1/4] devnode: add a payload-aware intrans function, Justus Winter, 2014/11/27