2 * \file ferret/include/monitor.h
3 * \brief Interface for client applications to sensor directory
6 * \author Martin Pohlack <mp26@os.inf.tu-dresden.de>
7 * \author Bjoern Doebel <doebel@os.inf.tu-dresden.de>
10 * (c) 2005-2009 Technische Universität Dresden
11 * This file is part of TUD:OS and distributed under the terms of the
12 * GNU General Public License 2.
13 * Please see the COPYING-GPL-2 file for details.
15 #ifndef __FERRET_INCLUDE_MONITOR_H_
16 #define __FERRET_INCLUDE_MONITOR_H_
18 #include <l4/ferret/types.h>
19 #include <l4/ferret/monitor_list.h>
21 #include <l4/sys/compiler.h>
25 // macro to hide the casting to void ** of addr
26 #define ferret_att(srv, major, minor, instance, addr) \
27 ferret_attach((srv), (major), (minor), (instance), (void **)&(addr))
29 L4_CV int ferret_attach(l4_cap_idx_t srv,
30 uint16_t major, uint16_t minor,
31 uint16_t instance, void ** addr);
32 L4_CV int ferret_detach(l4_cap_idx_t srv,
33 uint16_t major, uint16_t minor,
34 uint16_t instance, void ** addr);
35 L4_CV int ferret_list(l4_cap_idx_t srv,
36 ferret_monitor_list_entry_t ** entries, int count,