L4Re - L4 Runtime Environment
namespace.h
Go to the documentation of this file.
1 
5 /*
6  * (c) 2008-2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de>,
7  * Alexander Warg <warg@os.inf.tu-dresden.de>
8  * economic rights: Technische Universit├Ąt Dresden (Germany)
9  *
10  * This file is part of TUD:OS and distributed under the terms of the
11  * GNU General Public License 2.
12  * Please see the COPYING-GPL-2 file for details.
13  *
14  * As a special exception, you may use this file as part of a free software
15  * library without restriction. Specifically, if other files instantiate
16  * templates or use macros or inline functions from this file, or you compile
17  * this file and link it with other files to produce an executable, this
18  * file does not by itself cause the resulting executable to be covered by
19  * the GNU General Public License. This exception does not however
20  * invalidate any other reasons why the executable file might be covered by
21  * the GNU General Public License.
22  */
23 #pragma once
24 
31 #include <l4/re/env.h>
32 
40  L4RE_NS_REGISTER_RO = L4_FPAGE_RO,
41  L4RE_NS_REGISTER_DIR = 0x10,
42  L4RE_NS_REGISTER_RW = L4_FPAGE_RX,
43  L4RE_NS_REGISTER_RWS = L4_FPAGE_RWX,
44  L4RE_NS_REGISTER_S = L4_FPAGE_W,
45 };
46 
48 
54 
55 
56 
65 L4_CV long
66 l4re_ns_query_to_srv(l4re_namespace_t srv, char const *name,
67  l4_cap_idx_t const cap, int timeout) L4_NOTHROW;
68 
85 L4_CV L4_INLINE long
86 l4re_ns_query_srv(l4re_namespace_t srv, char const *name,
87  l4_cap_idx_t const cap) L4_NOTHROW;
88 
96 L4_CV long
97 l4re_ns_register_obj_srv(l4re_namespace_t srv, char const *name,
98  l4_cap_idx_t const obj, unsigned flags) L4_NOTHROW;
99 
100 
101 
102 /****** Implementation ***********/
103 
104 L4_CV L4_INLINE long
105 l4re_ns_query_srv(l4re_namespace_t srv, char const *name,
106  l4_cap_idx_t const cap) L4_NOTHROW
107 {
108  return l4re_ns_query_to_srv(srv, name, cap, 40000);
109 }
110 
111 
long l4re_ns_query_srv(l4re_namespace_t srv, char const *name, l4_cap_idx_t const cap) L4_NOTHROW
Query the name space for the object named by name.
Definition: namespace.h:105
long l4re_ns_query_to_srv(l4re_namespace_t srv, char const *name, l4_cap_idx_t const cap, int timeout) L4_NOTHROW
Query the name space for the object named by name.
Read-write-execute flex page.
Definition: __l4_fpage.h:114
#define EXTERN_C_END
End section with C types and functions.
Definition: compiler.h:187
unsigned long l4_cap_idx_t
L4 Capability selector Type.
Definition: types.h:342
Environment interface.
Read-execute flex page.
Definition: __l4_fpage.h:113
l4_cap_idx_t l4re_namespace_t
Namespace type.
Definition: namespace.h:53
#define EXTERN_C_BEGIN
Start section with C types and functions.
Definition: compiler.h:186
#define L4_CV
Define calling convention.
Definition: linkage.h:44
Read-only flex page.
Definition: __l4_fpage.h:111
long l4re_ns_register_obj_srv(l4re_namespace_t srv, char const *name, l4_cap_idx_t const obj, unsigned flags) L4_NOTHROW
Register an object with a name.
l4re_ns_register_flags
Namespace register flags.
Definition: namespace.h:39
Writable flex page.
Definition: __l4_fpage.h:110
#define L4_NOTHROW
Mark a function declaration and definition as never throwing an exception.
Definition: compiler.h:185