1/**
2 * \file
3 * \brief Interrupt routing server header file
4 */
5
6/*
7 * Copyright (c) 2008, 2011, 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 INT_ROUTE_CLIENT_H_
16#define INT_ROUTE_CLIENT_H_
17
18typedef void (*interrupt_handler_fn)(void *);
19
20/* Setup the client */
21errval_t int_route_client_connect(void);
22
23/* Connect an interrupt source capability with a interrupt destination cap */
24errval_t int_route_client_route(struct capref intsrc, int irq_idx,
25        struct capref intdest);
26
27/* Do it all, route, allocate EP, connect to EP to handler */
28errval_t int_route_client_route_and_connect(struct capref intsrc, int irq_idx,
29        struct waitset *ws, interrupt_handler_fn handler, void *handler_arg);
30
31#endif /* INT_ROUTE_CLIENT_H_ */
32