diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-03-05 18:44:10 +0100 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-03-25 08:55:55 +0100 |
commit | 1e981ffc8654910d868bac129c48b1381b935945 (patch) | |
tree | 5a833fb7bfeee063e9323790a40b1c4595d1fb6a /mach-defpager/mig-decls.h | |
parent | 71ee95fecd6b8afb2b19914b2395f63c44a8e812 (diff) |
mach-defpager: fix receiver lookups
Previously, the receiver lookup was done manually in all the server
functions. Use mig translator functions instead.
* mach-defpager/mig-decls.h: New file.
* mach-defpager/mig-mutate.h: Likewise.
* mach-defpager/Makefile (MIGSFLAGS): Include mig-mutate.h.
* mach-defpager/mach-defpager.c: Fix receiver lookups, move type
definitions...
* mach-defpager/priv.h: ... here, so that they can be used in
mig-decls.h.
Diffstat (limited to 'mach-defpager/mig-decls.h')
-rw-r--r-- | mach-defpager/mig-decls.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/mach-defpager/mig-decls.h b/mach-defpager/mig-decls.h new file mode 100644 index 00000000..f63fef20 --- /dev/null +++ b/mach-defpager/mig-decls.h @@ -0,0 +1,37 @@ +/* + Copyright (C) 2014 Free Software Foundation, Inc. + Written by Justus Winter. + + 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. If not, see <http://www.gnu.org/licenses/>. */ + +#ifndef __MACH_DEFPAGER_MIG_DECLS_H__ +#define __MACH_DEFPAGER_MIG_DECLS_H__ + +#include "priv.h" + +/* Called by server stub functions. */ + +static inline struct dstruct * __attribute__ ((unused)) +begin_using_default_pager (mach_port_t port) +{ + if (! MACH_PORT_VALID(port) + || ((default_pager_t) dnameof(port))->pager != (port)) + return DEFAULT_PAGER_NULL; + + return (default_pager_t) dnameof(port); +} + +#endif /* __MACH_DEFPAGER_MIG_DECLS_H__ */ |