]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/ferret/include/monitor.h
update
[l4.git] / l4 / pkg / ferret / include / monitor.h
1 /**
2  * \file   ferret/include/monitor.h
3  * \brief  Interface for client applications to sensor directory
4  *
5  * \date   07/11/2005
6  * \author Martin Pohlack  <mp26@os.inf.tu-dresden.de>
7  * \author Bjoern Doebel   <doebel@os.inf.tu-dresden.de>
8  */
9 /*
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.
14  */
15 #ifndef __FERRET_INCLUDE_MONITOR_H_
16 #define __FERRET_INCLUDE_MONITOR_H_
17
18 #include <l4/ferret/types.h>
19 #include <l4/ferret/monitor_list.h>
20
21 #include <l4/sys/compiler.h>
22
23 EXTERN_C_BEGIN
24
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))
28
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,
37                       int offset);
38
39 EXTERN_C_END
40
41 #endif