* i386/i386/machine_routines.h: Define mig_external.
(mach_server_routine, mach_port_server_routine, mach_host_server_routine,
device_server_routine, device_pager_server_routine, mach4_server_routine,
gnumach_server_routine, mach_debug_server_routine, MACHINE_SERVER_ROUTINE): Add
prototypes.
* kern/ipc_kobject.c [MACH_MACHINE_ROUTINES]: Remove #if.
(mach_server_routine, mach_port_server_routine, mach_host_server_routine,
device_server_routine, device_pager_server_routine, mach4_server_routine,
gnumach_server_routine, mach_debug_server_routine, MACHINE_SERVER_ROUTINE):
Remove forward declarations.
---
i386/i386/machine_routines.h | 18 ++++++++++++++++++
kern/ipc_kobject.c | 19 +------------------
2 files changed, 19 insertions(+), 18 deletions(-)
diff --git a/i386/i386/machine_routines.h b/i386/i386/machine_routines.h
index d77849a..0fdf630 100644
--- a/i386/i386/machine_routines.h
+++ b/i386/i386/machine_routines.h
@@ -33,5 +33,23 @@
#define MACHINE_SERVER mach_i386_server
#define MACHINE_SERVER_ROUTINE mach_i386_server_routine
+#ifndef mig_external
+#define mig_external
+#endif
+
+extern mig_external mig_routine_t mach_server_routine(const mach_msg_header_t
*InHeadP);
+extern mig_external mig_routine_t mach_port_server_routine(const
mach_msg_header_t *InHeadP);
+extern mig_external mig_routine_t mach_host_server_routine(const
mach_msg_header_t *InHeadP);
+extern mig_external mig_routine_t device_server_routine(const
mach_msg_header_t *InHeadP);
+extern mig_external mig_routine_t device_pager_server_routine(const
mach_msg_header_t *InHeadP);
+extern mig_external mig_routine_t mach4_server_routine(const mach_msg_header_t
*InHeadP);
+extern mig_external mig_routine_t gnumach_server_routine(const
mach_msg_header_t *InHeadP);
+#if MACH_DEBUG
+extern mig_external mig_routine_t mach_debug_server_routine(const
mach_msg_header_t *InHeadP);
+#endif
+#if MACH_MACHINE_ROUTINES
+extern mig_external mig_routine_t MACHINE_SERVER_ROUTINE(const
mach_msg_header_t *InHeadP);
+#endif
+
#endif /* _I386_MACHINE_ROUTINES_H_ */
diff --git a/kern/ipc_kobject.c b/kern/ipc_kobject.c
index 37d4eb9..5b92ab1 100644
--- a/kern/ipc_kobject.c
+++ b/kern/ipc_kobject.c
@@ -48,10 +48,8 @@
#include <vm/vm_object.h>
#include <vm/memory_object_proxy.h>
#include <device/ds_routines.h>
-
-#if MACH_MACHINE_ROUTINES
#include <machine/machine_routines.h>
-#endif
+
/*
@@ -146,21 +144,6 @@ ipc_kobject_server(request)
* to perform the kernel function
*/
{
- extern mig_routine_t mach_server_routine(),
- mach_port_server_routine(),
- mach_host_server_routine(),
- device_server_routine(),
- device_pager_server_routine(),
- mach4_server_routine(),
- gnumach_server_routine();
-#if MACH_DEBUG
- extern mig_routine_t mach_debug_server_routine();
-#endif
-
-#if MACH_MACHINE_ROUTINES
- extern mig_routine_t MACHINE_SERVER_ROUTINE();
-#endif
-
check_simple_locks();
if ((routine = mach_server_routine(&request->ikm_header)) != 0
|| (routine = mach_port_server_routine(&request->ikm_header)) != 0
--
1.8.1.4