diff options
-rw-r--r-- | exec/execmutations.h | 6 | ||||
-rw-r--r-- | exec/priv.h | 64 |
2 files changed, 70 insertions, 0 deletions
diff --git a/exec/execmutations.h b/exec/execmutations.h new file mode 100644 index 00000000..62ae5c55 --- /dev/null +++ b/exec/execmutations.h @@ -0,0 +1,6 @@ +/* CPP definitions for MiG processing of exec.defs for exec server. */ + +#define FILE_INTRAN trivfs_protid_t trivfs_begin_using_protid (file_t) +#define FILE_DESTRUCTOR trivfs_end_using_protid (trivfs_protid_t) + +#define EXEC_IMPORTS import "priv.h"; diff --git a/exec/priv.h b/exec/priv.h new file mode 100644 index 00000000..becb95aa --- /dev/null +++ b/exec/priv.h @@ -0,0 +1,64 @@ +/* GNU Hurd standard exec server, private declarations. + Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc. + Written by Roland McGrath. + +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. */ + +#include <assert.h> +#include <hurd/trivfs.h> +#include <hurd/ports.h> +#include <bfd.h> +#include <elf.h> +#include <fcntl.h> +#include "exec_S.h" + + +#ifndef exec_priv_h +#define exec_priv_h + +/* A BFD whose architecture and machine type are those of the host system. */ +extern bfd_arch_info_type host_bfd_arch_info; +extern bfd host_bfd; +extern Elf32_Half elf_machine; /* ELF e_machine for the host. */ + + +/* Information kept around to be given to a new task + in response to a message on the task's bootstrap port. */ +struct bootinfo + { + struct port_info pi; + vm_address_t stack_base; + vm_size_t stack_size; + int flags; + char *argv, *envp; + size_t argvlen, envplen, dtablesize, nports, nints; + mach_port_t *dtable, *portarray; + int *intarray; + vm_address_t phdr_addr, phdr_size, user_entry; + }; + + +/* Where to put the service ports. */ +struct port_bucket *port_bucket; +struct port_class *execboot_portclass; + + +typedef struct trivfs_protid *trivfs_protid_t; /* For MiG. */ + +extern mach_port_t procserver; /* Our proc port. */ + +#endif /* exec_priv_h */ |