2 * (c) 2010 Alexander Warg <warg@os.inf.tu-dresden.de>
3 * economic rights: Technische Universität Dresden (Germany)
5 * This file is part of TUD:OS and distributed under the terms of the
6 * GNU General Public License 2.
7 * Please see the COPYING-GPL-2 file for details.
10 #include <l4/re/namespace>
11 #include <l4/re/util/cap_alloc>
12 #include <l4/re/util/object_registry>
13 #include <l4/re/error_helper>
15 #include <l4/cxx/ipc_server>
16 #include <l4/cxx/ipc_timeout_queue>
20 L4::Cap<void> rcv_cap = L4Re::Util::cap_alloc.alloc<void>();
23 public L4::Ipc_svr::Timeout_queue_hooks<Loop_hooks>,
24 public L4::Ipc_svr::Ignore_errors
27 static l4_kernel_clock_t now()
28 { return l4_kip_clock(l4re_kip()); }
30 static int timeout_br() { return 8; }
32 void setup_wait(L4::Ipc::Istream &istr, L4::Ipc_svr::Reply_mode mode)
34 L4::Ipc_svr::Timeout_queue_hooks<Loop_hooks>::setup_wait(istr, mode);
36 istr << L4::Ipc::Small_buf(rcv_cap.cap(), L4_RCV_ITEM_LOCAL_ID);
37 l4_utcb_br()->bdr = 0;
41 static L4Re::Util::Registry_server<Loop_hooks> server;
43 L4Re::Util::Object_registry *registry = server.registry();
44 L4::Ipc_svr::Timeout_queue *timeouts = &server.queue;