summaryrefslogtreecommitdiff
path: root/hurd
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2019-03-02 15:31:04 -0800
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2019-03-02 15:32:08 -0800
commit99a69fd8b6034214c0729e9a3a684bbe9d541eb0 (patch)
tree5c6faf43f8e14bbfdb5647e396362a592ce08772 /hurd
parent33421955afb21c5e89a85f0b8f19c3644b18c8ae (diff)
Add shutdown RPC && ACPI specific disappear routine
* Makefile (prog-subdirs): Add shutdown. * hurd/hurd_types.defs (shutdown_t): New type. * hurd/hurd_types.h (shutdown_t): New type. * hurd/shutdown.defs: New file. * shutdown: New directory.
Diffstat (limited to 'hurd')
-rw-r--r--hurd/hurd_types.defs18
-rw-r--r--hurd/hurd_types.h1
-rw-r--r--hurd/shutdown.defs33
3 files changed, 52 insertions, 0 deletions
diff --git a/hurd/hurd_types.defs b/hurd/hurd_types.defs
index 0e9b990e..f0d1a351 100644
--- a/hurd/hurd_types.defs
+++ b/hurd/hurd_types.defs
@@ -314,6 +314,24 @@ destructor: PCI_DESTRUCTOR
#endif
;
+/* Shutdown */
+type shutdown_t = mach_port_copy_send_t
+#ifdef SHUTDOWN_INTRAN
+intran: SHUTDOWN_INTRAN
+intranpayload: SHUTDOWN_INTRAN_PAYLOAD
+#else
+#ifdef HURD_DEFAULT_PAYLOAD_TO_PORT
+intranpayload: shutdown_t HURD_DEFAULT_PAYLOAD_TO_PORT
+#endif
+#endif
+#ifdef SHUTDOWN_OUTTRAN
+outtran: SHUTDOWN_OUTTRAN
+#endif
+#ifdef SHUTDOWN_DESTRUCTOR
+destructor: SHUTDOWN_DESTRUCTOR
+#endif
+;
+
type proccoll_t = mach_port_copy_send_t;
type sreply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE | polymorphic
diff --git a/hurd/hurd_types.h b/hurd/hurd_types.h
index a77a9e43..bc6b618b 100644
--- a/hurd/hurd_types.h
+++ b/hurd/hurd_types.h
@@ -52,6 +52,7 @@ typedef mach_port_t interrupt_t;
typedef mach_port_t proccoll_t;
typedef mach_port_t ctty_t;
typedef mach_port_t pci_t;
+typedef mach_port_t shutdown_t;
#include <errno.h> /* Defines `error_t'. */
diff --git a/hurd/shutdown.defs b/hurd/shutdown.defs
new file mode 100644
index 00000000..b2ceb751
--- /dev/null
+++ b/hurd/shutdown.defs
@@ -0,0 +1,33 @@
+/* Definitions for shutdown
+ Copyright (C) 2018 Free Software Foundation, Inc.
+
+This file is part of the GNU Hurd.
+
+The GNU Hurd is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+The GNU Hurd is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with the GNU Hurd; see the file COPYING. If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+subsystem shutdown 40000;
+
+#include <hurd/hurd_types.defs>
+
+#ifdef SHUTDOWN_IMPORTS
+SHUTDOWN_IMPORTS
+#endif
+
+/*
+ * Shut down the computer
+ */
+routine shutdown (
+ server : shutdown_t
+);