/* -*- 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<