1/**
2 * \file
3 * \brief Interface Definition: Flounder base definitions
4 */
5
6/*
7 * Copyright (c) 2010, ETH Zurich.
8 * All rights reserved.
9 *
10 * This file is distributed under the terms in the attached LICENSE file.
11 * If you do not find this file, copies can be found by writing to:
12 * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
13 */
14
15#ifndef __FLOUNDER_H
16#define __FLOUNDER_H
17
18// #include <setjmp.h>
19#include <barrelfish/waitset.h>
20#include <barrelfish/idc.h>
21#include <barrelfish/idc_export.h>
22#include <barrelfish/event_mutex.h>
23
24/// No-op continuation, to be passed to message send functions
25#define NOP_CONT    NOP_CLOSURE
26
27/// Blocking continuation, block until a sending completes
28void blocking_cont(void *v);
29#define BLOCKING_CONT   MKCLOSURE(blocking_cont, NULL)
30
31/// Utility macro to construct a continuation structure (handler & arg)
32#define MKCONT(h,a) MKCLOSURE(h,a)
33
34#endif // __FLOUNDER_H
35