summaryrefslogtreecommitdiff
path: root/hurd/startup.defs
diff options
context:
space:
mode:
Diffstat (limited to 'hurd/startup.defs')
-rw-r--r--hurd/startup.defs81
1 files changed, 81 insertions, 0 deletions
diff --git a/hurd/startup.defs b/hurd/startup.defs
new file mode 100644
index 00000000..bd5cd6e1
--- /dev/null
+++ b/hurd/startup.defs
@@ -0,0 +1,81 @@
+/* Definitions for startup server interface
+ Copyright (C) 1991, 1992, 1993, 1994, 1996, 1999 Free Software Foundation
+
+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. */
+
+/* Written by Michael I. Bushnell. */
+
+subsystem startup 29000;
+
+#include <hurd/hurd_types.defs>
+
+#ifdef STARTUP_IMPORTS
+STARTUP_IMPORTS
+#endif
+
+
+/* This call registers a task as "essential", which means that if it
+ dies, the system should crash. If the specified task dies or an
+ exception message is sent to the exception port, then we will print
+ a message on the console and do the crash. */
+routine startup_essential_task (
+ server: startup_t;
+ sreplyport reply_port: sreply_port_t;
+ task: task_t;
+ excpt: mach_port_move_receive_t;
+ name: string_t;
+ credential: host_priv_t);
+
+/* This call registers a task as "notified", which means that if the
+ system is going down, we should be told about it and get a chance to
+ run. A startup_dosync message (see startup_notify.defs) will be
+ sent to the notify port. NAME will be used to provide a helpful
+ message to the user when the system is shutting down. */
+routine startup_request_notification (
+ server: startup_t;
+ notify_port: mach_port_send_t;
+ name: string_t);
+
+/* This call causes the system to die. */
+routine startup_reboot (
+ server: startup_t;
+ refport: mach_port_t;
+ reboot_code: int);
+
+/* NOTE: All changes to these last two must be reflected in
+ startup_reply.defs. */
+
+/* This call is made by the proc server for its initialization, on its
+ bootstrap port. */
+routine startup_procinit (
+ server: startup_t;
+ sreplyport reply_port: sreply_port_t;
+ startup_proc: process_t;
+ out startup_task: task_t;
+ out auth: auth_t;
+ out host_priv: mach_port_send_t;
+ out device_master: mach_port_send_t);
+
+/* This call is made by the auth server for its initialization.
+ The auth server will create an all-root authentication handle
+ to give to the startup server. */
+routine startup_authinit (
+ server: startup_t;
+ sreplyport reply_port: sreply_port_t;
+ auth: mach_port_send_t;
+ out proc: mach_port_send_t);
+