[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
- [PATCH hurd] Implement device_open_new for all the translators implementing the device interface.,
Flavio Cruz <=