bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH hurd] Implement device_open_new for all the translators implement


From: Flavio Cruz
Subject: [PATCH hurd] Implement device_open_new for all the translators implementing the device interface.
Date: Sun, 7 May 2023 13:15:02 -0400

---
 boot/Makefile                 |  1 +
 boot/boot.c                   | 13 +++++++++++++
 devnode/Makefile              |  2 +-
 devnode/devnode.c             | 10 ++++++++++
 eth-multiplexer/Makefile      |  2 +-
 eth-multiplexer/device_impl.c | 10 ++++++++++
 libmachdev/Makefile           |  2 +-
 libmachdev/ds_routines.c      | 10 ++++++++++
 8 files changed, 47 insertions(+), 3 deletions(-)

diff --git a/boot/Makefile b/boot/Makefile
index e2eeb20b..bbf19ea9 100644
--- a/boot/Makefile
+++ b/boot/Makefile
@@ -26,6 +26,7 @@ MIGSTUBS = machServer.o mach_hostServer.o gnumachServer.o 
task_notifyServer.o
 OBJS = boot.o $(COMMON-OBJS) $(MIGSTUBS)
 target = boot
 MIGSFLAGS=-imacros $(srcdir)/mig-mutate.h -DHURD_DEFAULT_PAYLOAD_TO_PORT=1
+device-MIGSFLAGS=-DDEVICE_ENABLE_DEVICE_OPEN_NEW
 io-MIGSFLAGS=-DREPLY_PORTS -DHURD_DEFAULT_PAYLOAD_TO_PORT=1
 HURDLIBS = store shouldbeinlibc ihash
 LDLIBS += -lpthread
diff --git a/boot/boot.c b/boot/boot.c
index 3fa9ddab..b661f09c 100644
--- a/boot/boot.c
+++ b/boot/boot.c
@@ -991,6 +991,19 @@ ds_device_open (mach_port_t master_port,
   return device_open (master_device_port, mode, name, device);
 }
 
+kern_return_t
+ds_device_open_new (mach_port_t master_port,
+               mach_port_t reply_port,
+               mach_msg_type_name_t reply_type,
+               dev_mode_t mode,
+               const_dev_name_t name,
+               mach_port_t *device,
+               mach_msg_type_name_t *devicetype)
+{
+  return ds_device_open (master_port, reply_port, reply_type, mode,
+      name, device, devicetype);
+}
+
 kern_return_t
 ds_device_close (device_t device)
 {
diff --git a/devnode/Makefile b/devnode/Makefile
index 0964f8d4..6172ec90 100644
--- a/devnode/Makefile
+++ b/devnode/Makefile
@@ -24,7 +24,7 @@ HURDLIBS = fshelp ihash iohelp ports shouldbeinlibc trivfs
 target = devnode
 MIGSTUBS = deviceServer.o notifyServer.o
 MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h
-device-MIGSFLAGS="-DMACH_PAYLOAD_TO_PORT=ports_payload_get_name"
+device-MIGSFLAGS=-DMACH_PAYLOAD_TO_PORT=ports_payload_get_name 
-DDEVICE_ENABLE_DEVICE_OPEN_NEW
 OBJS = $(SRCS:.c=.o) $(MIGSTUBS)
 
 include ../Makeconf
diff --git a/devnode/devnode.c b/devnode/devnode.c
index bf3378ea..f5a00f1b 100644
--- a/devnode/devnode.c
+++ b/devnode/devnode.c
@@ -174,6 +174,16 @@ ds_device_open (mach_port_t master_port, mach_port_t 
reply_port,
   return err;
 }
 
+kern_return_t
+ds_device_open_new (mach_port_t master_port, mach_port_t reply_port,
+               mach_msg_type_name_t reply_portPoly,
+               dev_mode_t mode, const_dev_name_t name, mach_port_t *device,
+               mach_msg_type_name_t *devicetype)
+{
+  return ds_device_open (master_port, reply_port, reply_portPoly, mode,
+      name, device, devicetype);
+}
+
 kern_return_t
 ds_device_close (device_t device)
 {
diff --git a/eth-multiplexer/Makefile b/eth-multiplexer/Makefile
index 5f3d2739..c9dd660d 100644
--- a/eth-multiplexer/Makefile
+++ b/eth-multiplexer/Makefile
@@ -23,7 +23,7 @@ target = eth-multiplexer
 SRCS = ethernet.c vdev.c multiplexer.c dev_stat.c netfs_impl.c device_impl.c 
dead-name.c demuxer.c
 MIGSTUBS = deviceServer.o
 MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h
-device-MIGSFLAGS="-DMACH_PAYLOAD_TO_PORT=ports_payload_get_name"
+device-MIGSFLAGS=-DMACH_PAYLOAD_TO_PORT=ports_payload_get_name 
-DDEVICE_ENABLE_DEVICE_OPEN_NEW
 OBJS = $(SRCS:.c=.o) $(MIGSTUBS)
 LCLHDRS = ethernet.h util.h vdev.h netfs_impl.h
 HURDLIBS = ports ihash iohelp fshelp shouldbeinlibc netfs bpf
diff --git a/eth-multiplexer/device_impl.c b/eth-multiplexer/device_impl.c
index 152dc7bc..6a67fbd9 100644
--- a/eth-multiplexer/device_impl.c
+++ b/eth-multiplexer/device_impl.c
@@ -83,6 +83,16 @@ ds_device_open (mach_port_t master_port, mach_port_t 
reply_port,
   return D_NO_SUCH_DEVICE;
 }
 
+kern_return_t
+ds_device_open_new (mach_port_t master_port, mach_port_t reply_port,
+               mach_msg_type_name_t reply_portPoly,
+               dev_mode_t mode, const_dev_name_t name, mach_port_t *device,
+               mach_msg_type_name_t *devicetype)
+{
+  return ds_device_open (master_port, reply_port, reply_portPoly, mode,
+      name, device, devicetype);
+}
+
 kern_return_t
 ds_device_close (struct vether_device *device)
 {
diff --git a/libmachdev/Makefile b/libmachdev/Makefile
index 7b07c926..8b1396f3 100644
--- a/libmachdev/Makefile
+++ b/libmachdev/Makefile
@@ -28,7 +28,7 @@ HURDLIBS = ports trivfs
 LDLIBS += -lpthread -lmachuser
 OBJS = $(SRCS:.c=.o) $(MIGSTUBS)
 MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h
-device-MIGSFLAGS="-DMACH_PAYLOAD_TO_PORT=ports_payload_get_name"
+device-MIGSFLAGS=-DMACH_PAYLOAD_TO_PORT=ports_payload_get_name 
-DDEVICE_ENABLE_DEVICE_OPEN_NEW
 mach_i386-MIGSFLAGS="-DMACH_PAYLOAD_TO_PORT=ports_payload_get_name" \
   "-DMACH_I386_IMPORTS=import \"$(srcdir)/../libports/ports.h\";"
 
diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c
index 0d60d589..6555d6e9 100644
--- a/libmachdev/ds_routines.c
+++ b/libmachdev/ds_routines.c
@@ -126,6 +126,16 @@ ds_device_open (mach_port_t open_port, mach_port_t 
reply_port,
   return err;
 }
 
+io_return_t
+ds_device_open_new (mach_port_t open_port, mach_port_t reply_port,
+                    mach_msg_type_name_t reply_port_type, dev_mode_t mode,
+                    const_dev_name_t name, device_t *devp,
+                    mach_msg_type_name_t *devicePoly)
+{
+  return ds_device_open (open_port, reply_port, reply_port_type, mode,
+      name, devp, devicePoly);
+}
+
 io_return_t
 ds_device_close (struct mach_device *device)
 {
-- 
2.39.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]