/* server.h - Server loop interface. Copyright (C) 2007 Free Software Foundation, Inc. Written by Neal H. Walfield . 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 3 of the License, 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 this program. If not, see . */ #ifndef RM_SERVER_H #define RM_SERVER_H #include #include #include #include extern void dispatcher (uintptr_t flags, vg_addr_t recv_activity, vg_addr_t recv_messenger, vg_addr_t recv_buf, vg_addr_t recv_inline_cap, vg_addr_t send_activity, vg_addr_t target_messenger, vg_addr_t send_messenger, vg_addr_t send_buf, uintptr_t inline_word1, uintptr_t inline_word2, vg_addr_t inline_cap); extern bool page_fault_handler (struct thread *thread, uintptr_t fault, int access); #ifndef USE_L4 /* Begin serving requests. Never returns. */ extern void server_loop (void) __attribute__ ((noreturn)); #endif extern void server_bootstrap (void); #endif