/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */ /* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */ /* Copyright (C) 2014 Stony Brook University This file is part of Graphene Library OS. Graphene Library OS is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Graphene Library OS 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* * shim_ipc_ns.h * * Definitions of types and functions for IPC namespace bookkeeping. */ #ifndef __SHIM_IPC_NS_H__ #define __SHIM_IPC_NS_H__ #include #include #define IPC_NS_CALLBACKS(ns) \ /* FINDNS */ &ipc_##ns##_findns_callback, \ /* TELLNS */ &ipc_##ns##_tellns_callback, \ /* LEASE */ &ipc_##ns##_lease_callback, \ /* OFFER */ &ipc_##ns##_offer_callback, \ /* RENEW */ &ipc_##ns##_renew_callback, \ /* REVOKE */ &ipc_##ns##_revoke_callback, \ /* SUBLEASE */ &ipc_##ns##_sublease_callback, \ /* QUERY */ &ipc_##ns##_query_callback, \ /* QUERYALL */ &ipc_##ns##_queryall_callback, \ /* ANSWER */ &ipc_##ns##_answer_callback, #define IPC_NS_KEY_CALLBACKS(ns) \ /* FINDKEY */ &ipc_##ns##_findkey_callback, \ /* TELLKEY */ &ipc_##ns##_tellkey_callback, #define NS_PORT_CONSTS(n) \ n##CLT, \ n##LDR, \ n##CON, \ n##OWN, #define NS_PORT_TYPES(n) \ IPC_PORT_##n##CLT = 1<